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 erregte schnell die Aufmerksamkeit von Forschern im Bereich maschinelles Lernen. Chen Tianqi, der Autor von TVM, MXNET und Comments on MLX
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:
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.
Kombinierbare Funktionstransformation
. MLX bietet zusammensetzbare Funktionstransformationen mit automatischer Differenzierung, automatischer Vektorisierung und rechnerischer Graphoptimierung.
Lazy-Rechnung
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:
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!