Maison  >  Article  >  Périphériques technologiques  >  Apple construit un framework open source MLX pour ses propres puces, implémente Llama 7B et l'exécute sur M2 Ultra

Apple construit un framework open source MLX pour ses propres puces, implémente Llama 7B et l'exécute sur M2 Ultra

王林
王林avant
2023-12-14 23:49:01438parcourir

En novembre 2020, Apple a lancé la puce M1, étonnante par sa rapidité et ses fonctions puissantes. Apple lancera M2 en 2022 et en octobre de cette année, la puce M3 fera officiellement ses débuts.

Lorsque Apple lance ses puces, elle attache une grande importance aux capacités de formation et de déploiement de modèles d'IA de ses puces

Le ML Compute lancé par Apple peut être utilisé pour entraîner des modèles TensorFlow sur Mac. PyTorch prend en charge la formation du modèle d'apprentissage automatique PyTorch accélérée par GPU sur la version M1 de Mac, en utilisant Apple Metal Performance Shaders (MPS) comme backend. Ceux-ci permettent aux utilisateurs de Mac de former des réseaux de neurones localement.

Apple a annoncé le lancement d'un framework de matrice open source spécifiquement pour l'apprentissage automatique, qui fonctionnera sur des puces Apple et s'appelle MLX

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行

MLX est un framework spécialement conçu pour les chercheurs en apprentissage automatique, conçu pour efficacement former et déployer des modèles d’IA. Le concept de conception de ce framework est simple et facile à comprendre. Les chercheurs peuvent facilement étendre et améliorer MLX pour explorer et tester rapidement de nouvelles idées. La conception de MLX s'inspire de frameworks tels que NumPy, PyTorch, Jax et ArrayFire

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行

Adresse du projet : https://github.com/ml-explore/mlx

Un des contributeurs Au projet MLX, Awni Hannun, chercheur scientifique au sein de l'équipe de recherche sur l'apprentissage automatique (MLR) d'Apple, a montré une vidéo montrant l'utilisation du framework MLX pour implémenter Llama 7B et son exécution sur M2 Ultra.

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行

MLX a rapidement attiré l'attention des chercheurs en apprentissage automatique. Chen Tianqi, l'auteur de TVM, MXNET et Commentaires sur MLX

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行

Afin de conserver le sens original inchangé, le contenu doit être réécrit en chinois. Aucune phrase originale requise

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行Fonctionnalités MLX, exemples

Dans ce projet, nous pouvons observer que MLX a les fonctionnalités principales suivantes

API familière

. MLX possède une API Python très similaire à NumPy, ainsi qu'une API C++ complète très similaire à l'API Python. MLX propose également des packages plus avancés (tels que mlx.nn et mlx.optimizers) avec des API similaires à PyTorch qui simplifient la création de modèles plus complexes.

Transformation de fonctions combinables. MLX propose des transformations de fonctions composables avec différenciation automatique, vectorisation automatique et optimisation des graphiques informatiques.

Calcul paresseux. Le calcul dans MLX est paresseux, les tableaux ne sont instanciés qu'en cas de besoin.

Construction graphique dynamique. La construction du graphique de calcul dans MLX est dynamique, la modification de la forme des paramètres de fonction ne ralentira pas la compilation et le débogage est simple et facile à utiliser.

Plusieurs appareils. Les opérations peuvent être exécutées sur n'importe quel appareil pris en charge tel que le CPU et le GPU.

Mémoire unifiée. La différence significative entre MLX et les autres frameworks est la mémoire unifiée, la mémoire partagée par matrice. Les opérations sur MLX peuvent s'exécuter sur n'importe quel type d'appareil pris en charge sans déplacer de données.

De plus, le projet fournit une variété d'exemples utilisant le framework MLX, comme l'exemple MNIST, qui peut très bien vous aider à apprendre à utiliser MLX

Source de l'image : https://github .com/ ml-explore/mlx-examples/tree/main/mnist

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行En plus des exemples ci-dessus, MLX fournit également d'autres exemples plus pratiques, tels que :

  • Formation du modèle de langage Transformer ;
  • Génération de texte à grande échelle LLaMA et réglage fin de LoRA ;
  • Diffusion stable pour générer des images
  • Reconnaissance vocale Whisper d'OpenAI.

Pour une documentation plus détaillée, veuillez vous référer à : https://ml-explore.github.io/mlx/build/html/install.html#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer