📱Wie man LLMs auf deinem iOS- oder Android-Telefon ausführt und bereitstellt
Tutorial zum Feinabstimmen deines eigenen LLM und zur Bereitstellung auf deinem Android oder iPhone mit ExecuTorch.
Wir freuen uns, Ihnen zu zeigen, wie Sie LLMs trainieren können und dann sie lokal bereitstellen auf Android-Telefonen und iPhones. Wir haben mit ExecuTorch von PyTorch & Meta zusammengearbeitet, um einen optimierten Workflow mit quantisierungsbewusstem Training (QAT) zu erstellen und diese dann direkt auf Edge-Geräten bereitzustellen. Mit UnslothTorchAO und ExecuTorch zeigen wir, wie Sie:
Die gleiche Technik (ExecuTorch) nutzen, die Meta verwendet, um Milliarden von Nutzern auf Instagram, WhatsApp zu ermöglichen
Qwen3-0.6B lokal zu deployen auf Pixel 8 und iPhone 15 Pro mit ~40 Tokens/s
QAT über TorchAO anwenden, um 70% der Genauigkeit wiederherzustellen
Privatsphäre zuerst, sofortige Antworten und Offline-Fähigkeiten erhalten
Verwenden Sie unser kostenloses Colab-Notebook um Qwen3 0.6B feinzujustieren und für die Bereitstellung auf dem Telefon zu exportieren
iOS-AnleitungAndroid-Anleitung
Qwen3-4B bereitgestellt auf einem iPhone 15 Pro

Qwen3-0.6B läuft mit ~40 Tokens/s

🦥 Ihr Modell trainieren
Wir unterstützen Qwen3, Gemma3, Llama3, Qwen2.5, Phi4 und viele andere Modelle für die Bereitstellung auf Telefonen! Befolgen Sie die kostenloses Colab-Notebook für die Bereitstellung von Qwen3-0.6B:
Aktualisieren Sie zuerst Unsloth und installieren Sie TorchAO und ExecuTorch.
Verwenden Sie dann einfach qat_scheme = "phone-deployment" um anzuzeigen, dass wir es auf einem Telefon bereitstellen wollen. Beachten Sie, dass wir auch full_finetuning = True für vollständiges Finetuning setzen!
Wir verwenden qat_scheme = "phone-deployment" wir verwenden tatsächlich qat_scheme = "int8-int4" unter der Haube, um Unsloth/TorchAO QAT zu ermöglichen, das simuliert INT8 dynamische Aktivierungsquantisierung mit INT4 Gewichtquantisierung für Linear-Schichten während des Trainings (über Fake-Quantisierungsoperationen), während Berechnungen in 16 Bit verbleiben. Nach dem Training wird das Modell in eine echte quantisierte Version konvertiert, sodass das Gerätmodell kleiner ist und typischerweise die Genauigkeit besser beibehält als naive PTQ.
Nach dem Finetuning wie im Colab-Notebookbeschrieben, speichern wir es dann als eine .pte Datei über ExecuTorch:
🏁 Bereitstellung nach dem Training
Und jetzt mit Ihrer qwen3_0.6B_model.pte Datei, die etwa 472 MB groß ist, können wir sie bereitstellen! Wählen Sie Ihr Gerät und legen Sie direkt los:
Run LLMs on your Phone – Xcode-Route, Simulator oder Gerät
Run LLMs on your Phone – Befehlszeilen-Route, kein Studio erforderlich
iOS-Bereitstellung
Anleitung, um Ihr Modell unter iOS auszuführen (getestet auf einem iPhone 16 Pro, funktioniert aber auch auf anderen iPhones). Sie benötigen ein physisches macOS-Gerät, das Xcode 15 ausführen kann.
Einrichtung der macOS-Entwicklungsumgebung
Xcode & Command Line Tools installieren
Installieren Sie Xcode aus dem Mac App Store (muss Version 15 oder höher sein)
Öffnen Sie das Terminal und überprüfen Sie Ihre Installation:
xcode-select -pInstallieren Sie die Befehlszeilentools und akzeptieren Sie die Lizenz:
xcode-select --installsudo xcodebuild -license accept
Starten Sie Xcode zum ersten Mal und installieren Sie gegebenenfalls zusätzliche Komponenten, wenn Sie dazu aufgefordert werden
Wenn Sie aufgefordert werden, Plattformen auszuwählen, wählen Sie iOS 18 und laden Sie es für den Simulator herunter
Überprüfen Sie, ob alles funktioniert: xcode-select -p
Sie sollten einen Pfad sehen. Falls nicht, wiederholen Sie Schritt 3.

Apple-Entwicklerkonto einrichten
Nur für physische Geräte!
Überspringen Sie diesen Abschnitt, wenn Sie nur den iOS-Simulator verwenden. Sie benötigen nur für die Bereitstellung auf einem physischen iPhone ein kostenpflichtiges Entwicklerkonto.
Erstellen Sie Ihre Apple ID
Sie haben noch keine Apple ID? Hier registrieren.
Fügen Sie Ihr Konto zu Xcode hinzu
Xcode öffnen
Navigieren Sie zu Xcode → Einstellungen → Accounts
Klicken Sie auf die + Schaltfläche und wählen Sie Apple ID
Melden Sie sich mit Ihrer regulären Apple ID an

Im Apple Developer Program anmelden
ExecuTorch erfordert die Increased-Memory-Limit-Fähigkeit, die ein kostenpflichtiges Entwicklerkonto benötigt:
Besuchen Sie developer.apple.com
Melden Sie sich mit Ihrer Apple ID an
Im Apple Developer Program anmelden
Einrichten der ExecuTorch-Demo-App
Beispielcode herunterladen:
In Xcode öffnen
Öffnen Sie
apple/etLLM.xcodeprojin XcodeWählen Sie in der oberen Werkzeugleiste
iPhone 16 ProSimulator als ZielgerätKlicken Sie auf Play (▶️), um zu bauen und auszuführen
🎉 Erfolg! Die App sollte jetzt im Simulator starten. Sie wird noch nicht funktionieren, wir müssen Ihr Modell hinzufügen.

Bereitstellung im Simulator
Kein Entwicklerkonto erforderlich.
Bereiten Sie Ihre Modell-Dateien vor
Stoppen Sie den Simulator in Xcode (drücken Sie die Stopp-Schaltfläche)
Navigieren Sie zu Ihrem HuggingFace Hub-Repo (falls nicht lokal gespeichert)
Laden Sie diese beiden Dateien herunter:
qwen3_0.6B_model.pte(Ihr exportiertes Modell)tokenizer.json (der Tokenizer)
Erstellen Sie einen gemeinsamen Ordner im Simulator
Klicken Sie auf die virtuelle Home-Taste im Simulator
Öffnen Sie die Dateien-App → Durchsuchen → Auf meinem iPhone
Tippen Sie auf die Ellipsen-Schaltfläche (•••) und erstellen Sie einen neuen Ordner mit dem Namen
Qwen3test
Dateien mit dem Terminal übertragen
Wenn Sie den Ordner sehen, führen Sie Folgendes aus:
Laden & Chatten
Gehen Sie zurück zur etLLM-App im Simulator. Tippen Sie darauf, um sie zu starten.

Laden Sie das Modell und den Tokenizer aus dem Qwen3test-Ordner

Beginnen Sie, mit Ihrem feinabgestimmten Modell zu chatten! 🎉

Bereitstellung auf Ihrem physischen iPhone
Erstgerät-Einrichtung
Verbinden Sie Ihr iPhone über USB mit Ihrem Mac
Entsperren Sie Ihr iPhone und tippen Sie auf „Diesem Gerät vertrauen“
Gehen Sie in Xcode zu Fenster → Geräte und Simulatoren
Warten Sie, bis Ihr Gerät links erscheint (es kann kurz „Vorbereitung“ anzeigen)
Xcode-Signierung konfigurieren
Fügen Sie Ihr Apple-Konto hinzu: Xcode → Einstellungen → Accounts →
+Klicken Sie im Projekt-Navigator auf das etLLM-Projekt (blaues Symbol)
Wählen Sie etLLM unter TARGETS
Gehen Sie zum Tab Signing & Capabilities
Aktivieren Sie „Automatically manage signing“
Wählen Sie Ihr Team aus dem Dropdown-Menü

Ändern Sie die Bundle Identifier in etwas Einzigartiges (z. B. com.ihreName.etLLM). Das behebt 99% der Fehler mit Bereitstellungsprofilen
Fügen Sie die erforderliche Fähigkeit hinzu
Immer noch unter Signing & Capabilities, klicken Sie auf + Capability
Suchen Sie nach „Increased Memory Limit“ und fügen Sie es hinzu
Build & Run
Wählen Sie in der oberen Werkzeugleiste Ihr physisches iPhone aus dem Gerätewähler aus
Klicken Sie auf Play (▶️) oder drücken Sie Cmd + R
Dem Entwicklerzertifikat vertrauen
Ihr erster Build wird fehlschlagen—das ist normal!
Gehen Sie auf Ihrem iPhone zu Einstellungen → Datenschutz & Sicherheit → Entwicklermodus
Schalten Sie ihn ein
Zustimmen und Meldungen akzeptieren
Starten Sie das Gerät neu, kehren Sie zu Xcode zurück und klicken Sie erneut auf Play
Der Entwicklermodus ermöglicht Xcode, Apps auf Ihrem iPhone auszuführen und zu installieren
Modelldateien auf Ihr iPhone übertragen

Sobald die App läuft, öffnen Sie den Finder auf Ihrem Mac
Wählen Sie Ihr iPhone in der Seitenleiste aus
Klicken Sie auf den Dateien-Tab
Erweitern Sie etLLM
Ziehen Sie Ihre .pte- und tokenizer.json-Dateien direkt in diesen Ordner
Seien Sie geduldig! Diese Dateien sind groß und können ein paar Minuten dauern
Laden & Chatten
Wechseln Sie auf Ihrem iPhone zurück zur etLLM-App

Laden Sie das Modell und den Tokenizer über die App-Oberfläche

Ihr feinabgestimmtes Qwen3 läuft jetzt nativ auf Ihrem iPhone!

Android-Bereitstellung
Dieser Leitfaden erklärt, wie man die ExecuTorch Llama-Demo-App auf einem Android-Gerät erstellt und installiert (getestet mit Pixel 8, funktioniert aber auch auf anderen Android-Telefonen) und verwendet eine Linux/Mac-Befehlszeilenumgebung. Dieser Ansatz minimiert Abhängigkeiten (kein Android Studio erforderlich) und verlagert den schweren Build-Prozess auf Ihren Computer.
Anforderungen
Stellen Sie sicher, dass Ihre Entwicklungsmaschine Folgendes installiert hat:
Java 17 (Java 21 ist oft Standard, kann aber Build-Probleme verursachen)
Git
Wget / Curl
Android Command Line Tools
Anleitung zur Installation und Einrichtung von
adbauf Ihrem Android und Ihrem Computer
Überprüfung
Prüfen Sie, ob Ihre Java-Version mit 17.x übereinstimmt:
Wenn es nicht übereinstimmt, installieren Sie es unter Ubuntu/Debian:
Setzen Sie es dann als Standard oder exportieren Sie JAVA_HOME:
Wenn Sie ein anderes OS oder eine andere Distribution verwenden, sollten Sie diesen Leitfaden oder einfach Ihr bevorzugtes LLM fragen, um Sie durchzuführen.
Schritt 1: Android SDK & NDK installieren
Richten Sie eine minimale Android-SDK-Umgebung ohne das vollständige Android Studio ein.
1. Erstellen Sie das SDK-Verzeichnis:
Android Command Line Tools installieren
Schritt 2: Umgebungsvariablen konfigurieren
Fügen Sie diese zu Ihrer ~/.bashrc oder ~/.zshrc:
Laden Sie sie neu:
Schritt 3: SDK-Komponenten installieren
ExecuTorch benötigt bestimmte NDK-Versionen.
Setzen Sie die NDK-Variable:
Schritt 4: Code holen
Wir verwenden das executorch-examples Repository, das die aktualisierte Llama-Demo enthält.
Schritt 5: Häufige Kompilationsprobleme beheben
Beachten Sie, dass der aktuelle Code diese Probleme nicht hat, wir sie jedoch zuvor erlebt haben und die folgenden Hinweise hilfreich sein können:
Beheben von „SDK Location not found":
Erstellen Sie eine local.properties Datei, um Gradle explizit zu sagen, wo sich das SDK befindet:
Beheben von cannot find symbol Fehler:
Der aktuelle Code verwendet eine veraltete Methode getDetailedError(). Patchen Sie sie mit diesem Befehl:
Schritt 6: APK bauen
Dieser Schritt kompiliert die App und die nativen Bibliotheken.
Wechseln Sie zum Android-Projekt:
Mit Gradle bauen (setzen Sie explizit
JAVA_HOMEauf 17, um Toolchain-Fehler zu vermeiden):Hinweis: Der erste Lauf dauert einige Minuten.
Die erzeugte finale APK finden Sie unter:
Schritt 7: Auf Ihrem Android-Gerät installieren
Sie haben zwei Optionen, um die App zu installieren.
Option A: Mit ADB (kabelgebunden/drahtlos)
Wenn Sie adb Zugriff auf Ihr Telefon haben:
Option B: Direkter Dateitransfer
Wenn Sie auf einer Remote-VM sind oder kein Kabel haben:
Laden Sie die app-debug.apk an einen Ort hoch, von dem Sie sie auf dem Telefon herunterladen können
Laden Sie sie auf Ihrem Telefon herunter
Tippen Sie zum Installieren (aktivieren Sie „Installation aus unbekannten Quellen zulassen“, falls aufgefordert).
Schritt 8: Modelldateien übertragen
Die App benötigt die .pte-Modell- und Tokenizer-Dateien.
Dateien übertragen: Verschieben Sie Ihre model.pte und tokenizer.bin (oder tokenizer.model) in den Speicher Ihres Telefons (z. B. in den Downloads-Ordner).
LlamaDemo-App öffnen: Starten Sie die App auf Ihrem Telefon.
Modell auswählen
Tippen Sie auf Einstellungen (Zahnrad-Symbol) oder den Dateiauswähler.
Navigieren Sie zu Ihrem Download-Ordner.
Wählen Sie Ihre .pte-Datei aus.
Wählen Sie Ihre Tokenizer-Datei aus.
Fertig! Sie können jetzt direkt auf Ihrem Gerät mit dem LLM chatten.
Fehlerbehebung
Build schlägt fehl? Prüfen Sie java -version. Es MUSS 17 sein.
Modell lädt nicht? Stellen Sie sicher, dass Sie sowohl das
.pteALS AUCH dasTokenizer.App stürzt ab? Gültige
.pteDateien müssen speziell für ExecuTorch exportiert werden (üblicherweise XNNPACK-Backend für CPU).
Modell auf Ihr Telefon übertragen
Derzeit unterstützt die executorchllama App, die wir gebaut haben, nur das Laden des Modells aus einem bestimmten Verzeichnis auf Android, das leider über normale Dateimanager nicht zugänglich ist. Aber wir können die Modell-Dateien mit adb in das genannte Verzeichnis speichern.
Stellen Sie sicher, dass adb ordnungsgemäß läuft und verbunden ist
Wenn Sie über drahtloses Debugging verbunden sind, sehen Sie so etwas:

Oder wenn Sie über ein Kabel verbunden sind:

Wenn Sie dem Computer keine Berechtigungen zum Zugriff auf Ihr Telefon gegeben haben:

Dann müssen Sie Ihr Telefon auf ein Popup-Dialog prüfen, das so aussieht (das Sie erlauben möchten)

Sobald dies erledigt ist, ist es Zeit, den Ordner zu erstellen, in den wir die .pte und tokenizer.json Dateien ablegen müssen.
Erstellen Sie das genannte Verzeichnis im Telefonpfad.
Überprüfen Sie, ob das Verzeichnis richtig erstellt wurde.
Schieben Sie die Inhalte in das genannte Verzeichnis. Dies kann je nach Computer, Verbindung und Telefon ein paar Minuten oder länger dauern. Bitte haben Sie Geduld.

Öffnen Sie die
executorchllamademoApp, die Sie in Schritt 5 installiert haben, und tippen Sie dann auf das Zahnrad-Symbol oben rechts, um die Einstellungen zu öffnen.Tippen Sie auf den Pfeil neben Model, um den Auswähler zu öffnen und ein Modell auszuwählen. Wenn Sie ein weißes leeres Dialogfeld ohne Dateinamen sehen, ist Ihr ADB-Modell-Push wahrscheinlich fehlgeschlagen - wiederholen Sie diesen Schritt. Beachten Sie auch, dass anfangs „kein Modell ausgewählt“ angezeigt werden kann.
Nachdem Sie ein Modell ausgewählt haben, sollte die App den Modell-Dateinamen anzeigen.


Wiederholen Sie nun dasselbe für den Tokenizer. Klicken Sie auf den Pfeil neben dem Tokenizer-Feld und wählen Sie die entsprechende Datei aus.

Möglicherweise müssen Sie den Modelltyp je nach hochgeladenem Modell auswählen. Hier ist Qwen3 ausgewählt.

Sobald Sie beide Dateien ausgewählt haben, klicken Sie auf die Schaltfläche „Load Model“.

Sie kehren zum ursprünglichen Bildschirm mit dem Chatfenster zurück, und es kann „model loading“ anzeigen. Das Laden kann je nach RAM und Speichergeschwindigkeit Ihres Telefons einige Sekunden dauern.

Sobald „successfully loaded model“ angezeigt wird, können Sie beginnen, mit dem Modell zu chatten. Et Voila, Sie haben nun ein LLM, das nativ auf Ihrem Android-Telefon läuft!

📱ExecuTorch betreibt Milliarden
ExecuTorch ermöglicht On-Device-ML-Erlebnisse für Milliarden von Menschen auf Instagram, WhatsApp, Messenger und Facebook. Instagram Cutouts verwendet ExecuTorch, um editierbare Sticker aus Fotos zu extrahieren. In verschlüsselten Anwendungen wie Messenger ermöglicht ExecuTorch gerätebasiertes, datenschutzbewusstes Sprachidentifikations- und Übersetzungserlebnis. ExecuTorch unterstützt über ein Dutzend Hardware-Backends über Apple, Qualcomm, ARM und Metas Quest 3 und Ray-Bans.
Weitere Modellunterstützung
Alle Qwen 3 Dense-Modelle (Qwen3-0.6B, Qwen3-4B, Qwen3-32B usw.)
Alle Gemma 3 Modelle (Gemma3-270M, Gemma3-4B, Gemma3-27B usw.)
Alle Llama 3 Modelle (Llama 3.1 8B, Llama 3.3 70B Instruct usw.)
Qwen 2.5, Phi 4 Mini-Modelle und vieles mehr!
Sie können das kostenloses Colab-Notebook für Qwen3-0.6B anpassen, um Telefonbereitstellung für eines der oben genannten Modelle zu ermöglichen!
Haupt-Notebook zur Telefon-Bereitstellung von Qwen3 0.6B
Funktioniert mit Gemma 3
Funktioniert mit Llama 3
Gehen Sie zu unserer Du kannst Unsloth auf zwei Hauptwegen nutzen: unsere kostenlosen Notebooks oder lokal. Seite für alle anderen Notebooks.
Zuletzt aktualisiert
War das hilfreich?

