In letzter Zeit kann man oft sehen, dass jemand mit NVIDIA DGX Spark 10 Milliarden, 100 Milliarden große Modelle bereitstellt, die viele Menschen herzen klitzen sehen.
Allerdings ist der DGX Spark sehr leistungsfähig und der Preis ist nicht sehr günstig. Für die meisten Entwickler ist es wirklich toll, einen Computer zu haben, der schon seit einigen Jahren im Dienst ist.
Kürzlich teilte ein netz-mitglied einen Mac Studio 2022 (M1 Max / 32GB) Auf dem deployment Ling - 3.0 - Tiny INT4 das komplette Programm.
Ursprünglich glaubte der Nutzer, dass diese Maschine bereits sehr schwierig ist, die heutigen großen Modell-Trägerungsaufgaben zu übernehmen.
Die tatsächlichen Testergebnisse waren jedoch etwas überraschend.
Das Modell unterstützt nicht nur Chat, Denken (Think Mode) und Tool-Aufruf (Tool-Calling), sondern kann auch auf Apple Silicon übertragen werden. 64 Token / s Die stabile Generierungsgeschwindigkeit ist für Szenarien wie lokalen Chat, Code-Assistenz, Übersetzungen und persönlichen Agenten ziemlich reibungslos.
Es ist nicht das traditionelle „1B-Modell".
Warum sollte Ling - 3.0 - tiny interessiert sein?
Die Gesamtparametergröße von Ling - 3.0 - tiny ist ca. 7.9B。
Allerdings verwendet es MoE (Mix of Experts) - Expertenstruktur。
Einfach ausgedrückt:
- Das Modell besteht aus ca. 128 Experten.
- Jeder Token aktiviert nur 8 Experten
- Gemeinsame Berechnung mit Experten
- Die tatsächliche Teilnahme an der Argumentation ist nur etwa 1.3B-Parameter
Dieses Design berücksichtigt die Modellkapazität und die Inferenzkosten und ermöglicht es, eine gute Inferenzgeschwindigkeit auf Apple Silicon zu erzielen.
Testumgebung
Die Geräte, die der Nutzer verwendet, sind wie folgt:
- Apple Mac Studio (2022) für Mac Studio
- Apple M1 Max
- 24 - Kern GPU
- 32 GB Unified Memory
- macOS 15.7.4
- Arme64
Obwohl Ling - 3.0 - tiny längere Kontexte unterstützt, wurde für diesen Test Context auf Context gesetzt, um Speicherverbrauch und Stabilität auszugleichen. 8k。
Dies reicht für Chat, Code-Vervollständigung und tägliche Agent-Anwendungen aus und vermeidet gleichzeitig den kontinuierlichen Einsatz von viel Unified-Speicher durch KV Cache.
Die gesamte Deployment-Architektur sieht folgendermaßen aus:
Ling-3.0-tiny INT4
│
支持 Ling 的 Ollama 实验分支
│
MLX Runner
│
Metal / Apple Silicon GPU
│
Ollama API(11434)
Der Grund, warum die stabile Ollama nicht direkt verwendet wird, ist, dass der Support von Ling und Bailing MoE V3 immer noch auf den experimentellen Zweig von Ollama angewiesen ist.
Inferenz-Frameworks wie vLLM und SGLang eignen sich besser für NVIDIA CUDA-Umgebungen und sind nicht die beste Wahl auf Apple Silicon.
Planen Sie vor dem Deployment den Speicherplatz.
Das am leichtesten unterschätzte während des gesamten Bereitstellungsprozesses ist nicht das Modell selbst, sondern die Festplattenbesetzung.
Der endgültige Katalog ist ungefähr wie folgt besetzt:
| Inhalt | Größe |
|---|---|
| Hugging Face INT4 Originalgewicht | Ungefähr 5,4 GB |
| Ollama Importmodell | Ungefähr 5,8 GB |
| Ollama-Quellcode, MLX und Kompilierungsergebnisse | ca. 1,3GB |
| Cache und Konfiguration | Dutzende MB |
Das gesamte Projekt schließlich 13GB。
Erwägen Sie das Herunterladen von temporären Dateien, Compile-Cache und macOS Swap, empfehlen Sie mindestens eine Reservierung 20GB Verfügbarer Platz, empfehlen Vorbereitung 30GB über.
Ein leicht zu übersehener Grube: Git
Die größte Erfahrung, die dieser Nutzer geteilt hat, ist nicht das Modell, sondern Git.
Da der gesamte Bereitstellungsprozess im Codex-Projektverzeichnis erfolgt, sind Versionshnapshots standardmäßig für das Projekt aktiviert.
Nachdem das Modell heruntergeladen ist, speichert Git eine Kopie des gesamten Modellkatalogs.
Das Ergebnis war ein Modell von etwa 5 GB, das sich schnell auf ein Dutzend GB erweiterte, und der Speicherplatz des Systems ging schnell zurück.
Die schließliche Untersuchung fand heraus, dass das Modellverzeichnis nicht im Voraus hinzugefügt wurde. .gitignore。
Es wird empfohlen, im Voraus hinzuzufügen:
.cache/
models/
ollama-models/
ollama-ling/
Nachdem Sie Git-Objekte wieder bereinigt haben, .git Der Katalog bleibt nur noch. 132 KB。
Wenn Sie ein großes Modell bereitstellen möchten, ist es am besten, diesen Schritt im Voraus zu erledigen.
Herunterladen von Ling - 3.0 - tiny INT4
Das Hugging Face INT4 - Gewicht wurde offiziell angeboten.
Das gesamte Lagerhaus enthält:
- 44 Dokumente
- 32 Safetensoren Gewichtsegmente
Während des Downloads hatte der Nutzer zwei Probleme:
Erstens stagniert die Xet-Download - Geschwindigkeit für eine lange Zeit.
Später schließen Sie Xet und wechseln Sie zu normalen HTTP-Downloads.
Zweitens kommt es häufig zu Zeitüberschreitungen während des Downloads.
Da die Hugging Face CLI Breakpoint-Fortsetzung unterstützt, müssen Sie nur die Timeout-Zeit angemessen erhöhen, um den Download fortzusetzen.
Nach dem Herunterladen ist es nicht direkt anzunehmen, dass das Modell vollständig ist.
Stattdessen wurden drei Tests durchgeführt:
- Überprüfen Sie, ob alle 32 Gewichtsteile vorhanden sind.
- Prüfen Sie, ob der Modellindex vollständig ist
- Berechnung von SHA - 256 für alle Slices
Endergebnis:
- Ausnahme-Dateien: 0
- Ungewöhnlich: 0
- Fehlende Teile: 0
Für Modelle mit mehreren GB wird empfohlen, mindestens eine Fragmentierungs - oder Hash-Prüf durchzuführen, anstatt die Vollständigkeit des Modells nur anhand der Anforderung zum Abschluss des Downloads zu beurteilen.
Kompilieren Unterstützung von Ollama von Ling
Derzeit kann die offizielle stabile Version von Ollama nicht direkt mit Ling ausgeführt werden, daher muss der experimentelle Zweig selbst kompiliert werden.
Was den ganzen Internet-Friend wirklich verdrängt hat, ist Metallwerkzeugkette。
Die Maschine ist bereits installiert:
- Xcode
- Befehlszeilen Tools
Der MLX-Compiler meldet jedoch immer wieder Fehler.
Später stellte sich heraus, dass Metal Toolchain separat installiert werden muss.
Noch problematischer ist, dass das System möglicherweise den Metal-Compiler auch nach Abschluss der Installation nicht findet.
Nachdem Sie schließlich den Toolchain Identifier überprüft haben, müssen Sie es manuell einrichten:
export TOOLCHAINS=...
Beachten Sie, dass dieser Wert je nach macOS - und Xcode-Version variiert, und es wird nicht empfohlen, die Konfiguration von anderen zu kopieren.
Nach Abschluss der Kompilierung erzeugt man:
- Ollama-Hauptprogramm
- Der MLX Runner
- Metall-Kernel
- Dynamische Bibliothek
Besondere Aufmerksamkeit braucht, nicht nur zu behalten. ollama Durchführbares Dokument.
Um das Modell wirklich auszuführen, hängt man auch von Runner und Dynamic Library im Build-Verzeichnis ab.
Importieren von INT4 - Modellen
Um nicht mit der stabilen Version von Ollama im System zu verwechseln, hat der Nutzer den Modellkatalog separat innerhalb des Projekts gesetzt.
Nachdem der Import abgeschlossen ist, exportiert Ollama:
26947 tensors
479 layers
preserving source quantization
Beschreibung Die INT4 - Gewichte bleiben im ursprünglichen Quantifizierungsformat und müssen nicht erneut konvertiert werden.
Der endgültige Modellnamen lautet:
ling-tiny-int4:latest
Wie kann man sicherstellen, dass die GPU wirklich funktioniert?
Das ist sehr wichtig.
Es ist möglich, dass das Modell stumm an die CPU zurückgeht.
Nachdem die Bereitstellung abgeschlossen ist, können Sie die Bestätigung des Protokolls überprüfen, ob ähnliche Informationen angezeigt werden:
library=Metal
Apple M1 Max
MLX engine initialized device=gpu
Nur wenn Sie diese Protokolle sehen, können Sie bestätigen, dass der gesamte Inferenzprozess tatsächlich auf der Apple GPU läuft.
M1 max Geschwindigkeit
Um zu vermeiden, dass sich die Verzögerung des ersten Tokens auf das Ergebnis auswirkt, hat der Nutzer das Modell zuerst aufwärmt.
Anschließend wurden drei aufeinanderfolgende Runden vollständiger Generierungstests durchgeführt.
Die Testbedingungen sind wie folgt vereinheitlicht:
- Inhalt: 8192
- Temperatur: 0
- Think: Schließen
- Ausgabelänge: 384 Token
Die endgültigen Ergebnisse sind wie folgt:
| Testen Sie | Token / s |
|---|---|
| Die erste Runde | 64.26 |
| zweite Runde. | 65.18 |
| 3. Runde | 63.67 |
Endgültiger Durchschnitt:
64.37 Token / s
Das erste Laden des Modells dauert ungefähr:
6.93 Sekunde.
Nach dem Aufenthalt des Modells ist die Besetzung einheitlich:
6.48GB
Für eine M1 Max, die schon seit einigen Jahren auf den Markt ist, ist die Leistung schon ziemlich gut.
Wie ist die praktische Erfahrung?
Nachdem die Bereitstellung abgeschlossen war, schloss der Nutzer das Modell mit dem Screenshot - Übersetzerwerkzeug an, das auf dem Mac häufig verwendet wird. Bob ist。
Da Bob die Ollama-API direkt aufrufen kann, ist keine zusätzliche Konfiguration der Cloud-Schnittstelle erforderlich.
Aus der praktischen Erfahrung ist die lokale Übersetzung sehr schnell zu reagieren.
Insbesondere in der Screenshot - Übersetzungs-Szenario können die Ergebnisse fast nach einem Klick zurückgegeben werden.
Obwohl die Qualität der Übersetzungen im Vergleich zu Online - Übersetzungsdiensten unterschiedlich ist, bietet das lokale Modell zwei deutliche Vorteile:
schneller zu reagieren;
Zweitens werden alle Daten lokal aufbewahrt und sind besser geeignet für die Behandlung von privaten Inhalten.
Darüber hinaus funktioniert es auch in folgenden Szenarien gut:
- täglichen Gesprächs
- Dokument Zusammenfassung
- Übersetzt AI
- Code-Hilfe
- Lokale Wissensdatenbank
- Persönlicher Agent
Das Gesamterlebnis erfüllt bereits die Bedürfnisse des täglichen Gebrauchs.
Schrieben am Ende.
Aus dem gesamten Bereitstellungsprozess ist der größte Gewinn dieses Netizen nicht "Mac kann ein großes Modell laufen".
Stattdessen wird das lokale KI - Ökosystem von Apple Silicon zunehmend ausgereift.
Mit der Entwicklung von MLX, Metall, MoE und effizienteren Quantifizierungsszenarien bietet ein M1 Max vor einigen Jahren bereits eine gute lokale Inferenz-Erfahrung.
Natürlich ist es immer noch kein Ersatz für High-End - NVIDIA-GPUs und eignet sich auch nicht für Produktionsumgebungen mit hoher Parallelität.
Für die einzelnen Entwickler reicht es jedoch aus:
- Lokale Gespräche
- Übersetzt AI
- Programmierungshilfen
- Private Wissensdatenbank
- Persönlicher Agent
- Privatsphäre Textverarbeitung
Wenn Sie ein begrenztes Budget haben und ein echtes großes lokale Modell erleben möchten, dann Ling - 3.0 - winzig INT4 + Apple Silicon + MLX + OllamaEs ist eine Kombination, die es wert ist, auszuprobieren.
Zumindest ist es ein Beweis dafür, dass Mac Studio, das vor einigen Jahren veröffentlicht wurde, immer noch eine gute lokale KI-Inferenzfähigkeit hat.