Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Apple baut ein Open-Source-Framework MLX für seine eigenen Chips, implementiert Llama 7B und führt es auf M2 Ultra aus

Apple baut ein Open-Source-Framework MLX für seine eigenen Chips, implementiert Llama 7B und führt es auf M2 Ultra aus

王林
王林nach vorne
2023-12-14 23:49:01438Durchsuche

Im November 2020 brachte Apple den M1-Chip auf den Markt, der durch seine Geschwindigkeit und leistungsstarken Funktionen überraschte. Apple wird den M2 im Jahr 2022 auf den Markt bringen und im Oktober dieses Jahres wird der M3-Chip offiziell sein Debüt geben.

Wenn Apple seine Chips auf den Markt bringt, legt es großen Wert auf die KI-Modell-Trainings- und Bereitstellungsfähigkeiten seiner Chips

Mit dem von Apple eingeführten ML Compute können TensorFlow-Modelle auf dem Mac trainiert werden. PyTorch unterstützt GPU-beschleunigtes PyTorch-Modelltraining für maschinelles Lernen auf der M1-Version von Mac unter Verwendung von Apple Metal Performance Shaders (MPS) als Backend. Diese ermöglichen es Mac-Nutzern, neuronale Netze lokal zu trainieren.

Apple kündigte die Einführung eines Open-Source-Array-Frameworks speziell für maschinelles Lernen an, das auf Apple-Chips läuft und den Namen MLX trägt. MLX ist ein Framework, das speziell für Forscher im Bereich maschinelles Lernen entwickelt wurde, um effizient zu arbeiten KI-Modelle trainieren und einsetzen. Das Designkonzept dieses Frameworks ist einfach und leicht zu verstehen. Forscher können MLX einfach erweitern und verbessern, um neue Ideen schnell zu erkunden und zu testen. Das Design von MLX ist von Frameworks wie NumPy, PyTorch, Jax und ArrayFire inspiriert Zum MLX-Projekt zeigte Awni Hannun, Forscher im Machine Learning Research Team (MLR) von Apple, ein Video über die Verwendung des MLX-Frameworks zur Implementierung von Llama 7B und dessen Ausführung auf M2 Ultra.

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

MLX erregte schnell die Aufmerksamkeit von Forschern im Bereich maschinelles Lernen. Chen Tianqi, der Autor von TVM, MXNET und Comments on MLX

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

Um die ursprüngliche Bedeutung unverändert beizubehalten, muss der Inhalt ins Chinesische umgeschrieben werden. Kein Originalsatz erforderlich

MLX-Funktionen, Beispiele

In diesem Projekt können wir beobachten, dass MLX die folgenden Hauptfunktionen aufweist:

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

Vertraute API

. MLX verfügt über eine Python-API, die NumPy sehr ähnelt, sowie über eine C++-API mit vollem Funktionsumfang, die der Python-API sehr ähnlich ist. MLX verfügt auch über erweiterte Pakete (wie mlx.nn und mlx.optimizers) mit APIs ähnlich wie PyTorch, die die Erstellung komplexerer Modelle vereinfachen. 苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行

Kombinierbare Funktionstransformation

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行. MLX bietet zusammensetzbare Funktionstransformationen mit automatischer Differenzierung, automatischer Vektorisierung und rechnerischer Graphoptimierung.

Lazy-Rechnung

. Die Berechnung in MLX ist verzögert, Arrays werden nur bei Bedarf instanziiert.

Dynamische Grafikkonstruktion

. Der Aufbau des Berechnungsdiagramms in MLX ist dynamisch, eine Änderung der Form von Funktionsparametern führt nicht zu einer Verlangsamung der Kompilierung und das Debuggen ist einfach und benutzerfreundlich.

Mehrere Geräte

. Vorgänge können auf jedem unterstützten Gerät wie CPU und GPU ausgeführt werden.

Einheitlicher Speicher

. Der wesentliche Unterschied zwischen MLX und anderen Frameworks ist Unified Memory, Array Shared Memory. Vorgänge auf MLX können auf jedem unterstützten Gerätetyp ausgeführt werden, ohne dass Daten verschoben werden müssen. Darüber hinaus bietet das Projekt eine Vielzahl von Beispielen für die Verwendung des MLX-Frameworks, wie z. B. das MNIST-Beispiel, das Ihnen beim Erlernen der Verwendung von MLX helfen kann

Bildquelle: https://github .com/ ml-explore/mlx-examples/tree/main/mnist

Zusätzlich zu den oben genannten Beispielen bietet MLX auch andere praktischere Beispiele, wie zum Beispiel:

  • Transformer-Sprachmodelltraining;
  • LLaMA-Textgenerierung in großem Maßstab und LoRA-Feinabstimmung;
  • Eine ausführlichere Dokumentation finden Sie unter: https://ml-explore.github.io/mlx/build/html/install.html#

Das obige ist der detaillierte Inhalt vonApple baut ein Open-Source-Framework MLX für seine eigenen Chips, implementiert Llama 7B und führt es auf M2 Ultra aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen