News
Künstliche Intelligenz auf Smartphones: Die Zukunft der mobilen Sprachmodelle
LLMs auf dem Smartphone: KI in der Hosentasche
Große Sprachmodelle (LLMs) werden immer kompakter und leistungsfähiger und ermöglichen so die Ausführung direkt auf dem Smartphone. Modelle wie DeepSeek R1 Distil Qwen 2.5 mit 1,5 Milliarden Parametern demonstrieren eindrucksvoll, wie fortschrittliche KI in die Hosentasche passt.
Dieser Artikel erklärt die Entwicklung einer mobilen App, die die lokale Kommunikation mit diesen leistungsstarken Modellen ermöglicht. Inspiriert von der Pocket Pal App, wird hier eine einfache React Native Anwendung erstellt, die LLMs vom Hugging Face Hub herunterlädt und so Privatsphäre und Offline-Funktionalität gewährleistet. Llama.rn, eine Schnittstelle zu llama.cpp, wird für das effiziente Laden von GGUF-Dateien verwendet.
Die Wahl des richtigen Modells
Die Größe des Modells spielt bei der Ausführung auf mobilen Geräten eine entscheidende Rolle:
-
- Kleine Modelle (1-3B Parameter): Ideal für die meisten Geräte, gute Leistung und geringe Latenz.
- Mittlere Modelle (4-7B Parameter): Funktionieren gut auf neueren High-End-Geräten, können aber auf älteren Smartphones zu Verzögerungen führen.
- Große Modelle (8B+ Parameter): Generell zu ressourcenintensiv, können aber durch Quantisierung auf niedrige Präzisionsformate wie Q2_K oder Q4_K_M verwendet werden.
GGUF-Quantisierungsformate beeinflussen die Balance zwischen Modellgröße und Leistung:
Legacy Quants (Q4_0, Q4_1, Q8_0):
-
- Einfachere Quantisierungsmethoden.
- Jeder Block wird mit quantisierten Werten und ein oder zwei Skalierungskonstanten gespeichert.
- Schnell, aber weniger effizient als neuere Methoden.
K-Quants (Q3_K_S, Q5_K_M, ...):
-
- Intelligentere Bit-Allokation.
- "K" steht für ein gemischtes Quantisierungsformat.
- Suffixe (_XS, _S, _M) beziehen sich auf spezifische Quantisierungsmixe (kleiner = mehr Kompression).
I-Quants (IQ2_XXS, IQ3_S, ...):
-
- Blockbasierte Quantisierung mit neuen Funktionen, inspiriert von QuIP.
- Kleinere Dateigrößen, möglicherweise langsamer auf bestimmter Hardware.
- Ideal für Geräte mit hoher Rechenleistung, aber begrenztem Speicher.
Empfohlene Modelle:
-
- SmolLM2-1.7B-Instruct
- Qwen2-0.5B-Instruct
- Llama-3.2-1B-Instruct
- DeepSeek-R1-Distill-Qwen-1.5B
Entwicklungsumgebung einrichten
React Native ermöglicht die Entwicklung plattformübergreifender mobiler Anwendungen mit JavaScript und React. Folgende Tools werden benötigt:
-
- Node.js: JavaScript-Laufzeitumgebung.
- react-native-community/cli: Kommandozeilenschnittstelle für React Native.
- Virtuelles Gerät: Emulator oder Simulator für Android und iOS.
Die App erstellen
Die App-Struktur umfasst folgende Ordner und Dateien:
-
- android/: Native Android-Projektdateien.
- ios/: Native iOS-Projektdateien.
- node_modules/: NPM-Abhängigkeiten.
- App.tsx: Hauptkomponente der App.
- index.js: Registriert die Hauptkomponente.
Die App wird mit folgendem Befehl initialisiert:
npx @react-native-community/cli@latest init <Projektname>
Demo und Projekt ausführen
Zum Ausführen der Demo:
-
- Repository klonen:
git clone https://github.com/MekkCyber/EdgeLLM.git
- Zum Projektverzeichnis navigieren: cd EdgeLLMPlus oder cd EdgeLLMBasic
- Abhängigkeiten installieren: npm install
- In den iOS-Ordner navigieren und installieren: cd ios && pod install
- Metro Bundler starten: npm start
- App im Simulator starten: npm run ios oder npm run android.
App-Implementierung
Zunächst werden die benötigten Pakete installiert:
npm install axios react-native-fs llama.rn
Das State-Management in React Native verfolgt verschiedene Zustände der App, wie z.B. den Chatverlauf, die Benutzereingabe, das ausgewählte Modellformat, den Download-Fortschritt und den Modell-Ladezustand.
Die verfügbaren GGUF-Modelle werden vom Hugging Face Hub abgerufen. Die Modellformate und ihre Repositories werden definiert. Ein API-Aufruf an Hugging Face liefert die verfügbaren GGUF-Dateien, die dann in der App angezeigt werden.
Die Download-Funktionalität lädt die ausgewählte GGUF-Datei herunter und speichert sie im Dokumentenverzeichnis der App. Das react-native-fs Modul ermöglicht den Zugriff auf das Dateisystem des Geräts.
Weitere News-Artikel
Alle ansehen- Künstliche Intelligenz in der Softwarearchitektur: Chancen und Herausforderungen
- Künstliche Intelligenz in der Softwareentwicklung: Chancen und Herausforderungen
- Die Rolle der Künstlichen Intelligenz in der Softwareentwicklung: Chancen und Herausforderungen
- Künstliche Intelligenz in der Softwareentwicklung: Chancen, Herausforderungen und Sicherheitsaspekte
- Künstliche Intelligenz in der Softwareentwicklung: Potenziale und Herausforderungen der Codegenerierung
- Künstliche Intelligenz und die Realität der Software-Schwachstellen: Ein Überblick über Entdeckungen und Ausnutzungen
KI, die in Deutschland zu Hause ist.
Testen Sie Mindverse Studio oder sprechen Sie mit unserem Team über Ihren Anwendungsfall.