Zum Hauptinhalt springen

LLMs auf dem Smartphone inferieren

Vor einigen Tagen habe ich PocketPal auf meinem Smartphone installiert – einen datenschutzfreundlichen KI-Assistenten für die Hosentasche. Die App ermöglicht es, kleine Sprachmodelle (LLMs) direkt auf dem Smartphone auszuführen. Alles bloß Spielerei oder ein erster Schritt in eine neue Ära der KI-Nutzung, die Privatsphäre und Offline-Funktionalität in den Vordergrund stellt?

PocketPal


Die Vorstellung, dass generative KI nicht mehr nur in riesigen Rechenzentren, sondern auch auf unseren Smartphones läuft, klingt für mich noch immer irgendwie nach Science-Fiction. Die Möglichkeit zur lokalen Ausführung kleiner Sprachmodelle auf Mobilgeräten markiert nicht nur einen technologischen Meilenstein, sondern könnte grundlegend verändern, wie wir mit KI arbeiten – hin zu mehr Privatsphäre, Unabhängigkeit und persönlicher Kontrolle.

PocketPal ist insofern eine interessante Alternative zu cloudbasierten KI-Assistenten, besonders eben für Nutzer, die großen Wert auf Datenschutz legen oder unabhängig vom Internet arbeiten möchten. Im Gegensatz zu Cloud-Diensten, wo Daten analysiert, gespeichert und möglicherweise für Trainingszwecke genutzt werden, erfolgt die Datenverarbeitung bei PocketPal ausschließlich lokal auf dem Smartphone. Sensible Dokumente, persönliche Notizen oder vertrauliche Gespräche werden nicht an Dritte übertragen.

Ich wollte wissen: Welche Sprachmodelle stehen für mein Pixel 8 Pro zur Verfügung und bleibt es bei einer technischen Spielerei oder kann man wirklich etwas Sinnvolles damit anstellen? Das habe ich mir mal genauer angeschaut und einen Screencast dazu aufgezeichnet. Im Screencast zeige ich:

  • wie man einen Systemprompt als Vorlage erstellt – in PocketPal als Pal bezeichnet
  • und einen Chat mit einem lokalen Sprachmodell startet
  • ich stelle eine Frage zur Konfiguration des DNS
  • deren Antwort ich dann aber abbreche und mit dem zuvor erstellten Systemprompt neu generieren lasse
  • wodurch die Antwort deutlich besser ausfällt
  • anschließend stelle ich die Frage, wieso der Himmel blau ist
  • auch diese Antwort lasse ich neu generieren – diesmal aber mit einem anderen LLM
flowchart TD A[Modell von Hugging Face laden] --> B[Systemprompt konfigurieren] B --> C{Chat starten} C --> D[Eingabe verarbeiten] D --> E[Lokale Inferenz auf Gerät] E --> F[Antwort generieren] F --> G{Option: Antwort neu generieren?} G -->|Ja| H[Modell/Parameter anpassen] G -->|Nein| I[Ergebnis anzeigen] H --> E

Modelle installieren

Sprachmodelle lassen sich ganz einfach aus der App heraus von Hugging Face1 downloaden. Entsprechend groß ist das Angebot. Wer das nicht nutzen möchte, kann man der App aber auch den Internetzugriff entziehen (in GrapheneOS geht das) und stattdessen ein bereits lokal vorliegendes LLM im GGUF2-Format auswählen. Die kleinen Modelle von Gemma oder Granite, mit denen ich hauptsächlich experimentiert habe, lassen sich binnen weniger Minuten installieren und benötigen nur 2-4 GB Speicherplatz.

Modell Hersteller Parameter Kontextlänge Token/sek3
Granite 4 Tiny IBM 6,94 Milliarden 1.048.576 ~6
Gemma 3n Google 6,87 Milliarden 32.768 ~4

Praktischer Nutzen für den Alltag

Was kann man nun aber von einem – im Vergleich zu ChatGPT etwa – winzigen Sprachmodell, das auch noch auf leistungsschwacher Hardware läuft, überhaupt erwarten? Lässt sich damit irgendwas Nützliches anstellen?

Ja, durchaus. Man kann etwa Texte übersetzen oder Dinge erklären (wieso ist der Himmel blau?). Man kann die KI auch zur Lernunterstützung nutzen, etwa um eine neue Sprache zu erlernen.

Handle als mein persönlicher Englischlehrer und führe ein interaktives Sprachtraining durch, das sich dynamisch an meinen Fortschritt auf der Cambridge English Scale (A1-C2) anpasst und führe mich schrittweise zu höheren Kompetenzstufen. Beginne jede Lerneinheit mit einer natürlichen Konversationseröffnung zu Alltagsthemen, die meinem aktuellen Sprachniveau entspricht. Korrigiere Fehler in Grammatik und Wortwahl direkt im Dialogfluss durch subtile Reformulierungen und präzise Erklärungen, wobei du auch idiomatische Ausdrücke und kulturelle Besonderheiten der englischen Sprache berücksichtigst. Stelle nach jedem korrigierten Beitrag eine offene Folgefrage. Hab kontinuierlich meine Fortschritte im Blick und passe den Schwierigkeitsgrad entsprechend an. Lockere den Text gern mit Emojis auf.

Die Verarbeitung des Systemprompts durch das LLM erfordert zwar auch einige Zeit, jedoch passiert das mit einer deutlich höheren Anzahl an Token pro Sekunde als bei der darauf folgenden Antwortgenerierung. Daher kann es sich lohnen, den Prompt präzise zu formulieren.

Da das Tippen auf dem Smartphone langsam und umständlich sein kann, möchte ich auf die App Sayboard hinweisen, die Sprache in Text umwandelt. Auch hier findet die Verarbeitung wieder nur auf dem Gerät statt. Die App nutzt die Vosk-Bibliothek für die Spracherkennung und benötigt ein Sprachmodell, das auch hier entweder über einen integrierten Downloader oder manuell heruntergeladen werden kann.

Ich finde auch meinen Linux Terminal Systemprompt in manchen Situationen ganz nützlich: Wenn ich im Serverraum sitze und keinen Internetzugang habe, liefert PocketPal als stets verfügbarer KI-Assistent konkrete Antworten auf meine Fragen zur Systemadministration. Zum Beispiel: Wie füge ich einen alternativen DNS hinzu? Mit dem folgenden Systemprompt erhalte ich kurze und präzise Antworten, was besonders auf leistungsschwachen Endgeräten von Vorteil ist.

Du bist ein Experte für Linux und Shell-Skripting mit tiefgreifendem technischem Wissen und praktischer Erfahrung. Beantworte jede Anfrage mit einem direkt nutzbaren, vollständigen und syntaktisch korrekten Code-Snippet als Hauptantwort. Der Code muss minimal, funktional und sofort ausführbar sein. Füge nur dann eine Erklärung hinzu, wenn sie für das Verständnis oder die Sicherheit unerlässlich ist – beschränkt auf maximal drei präzise, sachliche Sätze ohne Füllwörter. Orientiere dich an bewährten Praktiken: Priorisiere praktische Anwendbarkeit vor theoretischen Details, Sicherheitsaspekte vor Einfachheit und Standard-Tools vor individuellen Sonderlösungen. Vermeide jegliche Einleitungen, Abschweifungen oder überflüssige Erklärungen.

Nette Features

Eines der Features von PocketPal: Prompts lassen sich als Vorlage abspeichern (wie das Linux Terminal Beispiel oben) und können sogar mit der Community geteilt werden. Das habe ich allerdings nicht ausprobiert. Auf die Vorlagen kann über die Chat-Zeile zugegriffen werden. So lässt sich auch während eines Dialogs der Systemprompt oder das Sprachmodell schnell ändern.

Ganz praktikabel finde ich auch die Möglichkeit, Antworten der KI neu generieren zu lassen, wenn man mit dem Ergebnis nicht zufrieden ist. Dabei besteht sogar die Möglichkeit, auf ein anderes Sprachmodell zu wechseln.

Um das beste Ergebnis aus einem Systemprompt herauszuholen, bietet PocketPal umfassende Einstellungen. Diese wirken sich gezielt auf das Antwortverhalten des Sprachmodells aus. Neben der Wahl des Modells selbst lässt sich damit also präzise beeinflussen, wie dieses agieren soll:

Für nähere Informationen zu den umfassenden Einstellungsmöglichkeiten hier klicken
Option Bedeutung
N PREDICT Bestimmt die Länge der Antwort in Token.
TEMPERATURE Steuert die Kreativität. Ein hoher Wert sorgt für überraschendere Ideen, ein niedriger Wert für vorhersehbare, sichere Antworten.
TOP K Begrenzt die Auswahl an Wörtern auf die wahrscheinlichsten Optionen. Ein niedriger Wert hält die Antwort präziser, ein höherer macht sie abwechslungsreicher.
TOP P Ähnlich wie TOP K: Ein hoher Wert erlaubt kreativere Wortwahl, ein niedriger Wert sorgt für fokussierte und kohärente Antworten.
MIN P Filtert sehr unwahrscheinliche Wörter heraus. Hilft dabei, unsinnige oder themenfremde Antworten zu vermeiden.
XTC THRESHOLD Legt eine Mindestwahrscheinlichkeit für Wörter fest, die entfernt werden. Ein Wert über 0,5 schaltet diese Funktion aus.
XTC PROBABILITY Bestimmt, wie wahrscheinlich es ist, dass ein Wort entfernt wird. Bei 0 ist diese Funktion deaktiviert.
TYPICAL P Passt die Wortwahl so an, dass sie typisch für das Gespräch ist. Der Wert 1.0 schaltet dies aus.
PENALTY LAST_N Legt fest, wie viele der zuletzt genutzten Wörter auf Wiederholungen geprüft werden. Ein größerer Wert verhindert Wiederholungen über längere Texte.
PENALTY REPEAT Bestraft direkte Wortwiederholungen. Ein höherer Wert sorgt für abwechslungsreichere Formulierungen.
PENALTY FREQ Bestraft häufig genutzte Wörter allgemein. Ermutigt die KI, einen größeren Wortschatz zu verwenden.
PENALTY PRESENT Sorgt dafür, dass Themen und Ideen nicht ständig wiederholt werden. Fördert vielfältigere Inhalte.
MIROSTAT Eine intelligente Automatik-Einstellung für Kreativität und Kohärenz. V1 und V2 passen die Antworten selbstständig und clever an.
SEED Ein fester Startwert für die Generierung. Mit der gleichen Zahl erhält man immer das gleiche Ergebnis.
JINJA Aktiviert ein erweitertes Formatierungssystem für die Konversation. Sorgt für eine bessere Verarbeitung moderner KI-Modelle.

Diese Einstellungen erlauben es, das Antwortverhalten präzise auf bestimmte Anwendungsfälle abzustimmen.

Benchmarktest

PocketPal bringt einen integrierten Benchmarktest mit. Man wählt ein LLM aus und nach wenigen Minuten liegt das Ergebnis vor. Die Historie bleibt erhalten, was ich ganz praktisch finde, denn so kann man an verschiedenen Stellschrauben drehen und deren Auswirkungen auf die Inferenzgeschwindigkeit messen und mit den vorherigen Ergebnissen vergleichen. Die Ergebnisse können auch öffentlich geteilet werden – wenn man das möchte.

Mein Pixel 8 Pro hat es im AI Phone Leaderboard auf Platz 264 von insgesamt 1191 Geräten geschafft. Die Spitzenplätze werden dabei überwiegend von iOS-Geräten belegt.

Die Rangliste vom AI Phone Leaderboard

Mein Fazit

PocketPal bedient eine Nische, in der Unabhängigkeit und Privatsphäre die oberste Priorität haben. Für mich ist es ein erster, äußerst vielversprechender Schritt in eine dezentralere KI-Zukunft, die die Kontrolle zurück zum Nutzer bringt.

Die wahre Stärke von PocketPal liegt in der Kombination aus Benutzerfreundlichkeit und mächtigen Features. Die Integration von Hugging Face, die Möglichkeit, eigene Prompts als wiederverwendbare Pals zu speichern, und die granularen Einstellungen zur Steuerung des Antwortverhaltens machen die App zu einem äußerst flexiblen Werkzeug.

Die Antwortgeschwindigkeit von 4–6 Token pro Sekunde ist für Anwendungsfälle wie Übersetzungen, Nachschlagen oder das Generieren von kurzen Texten und Code-Snippets vollkommen ausreichend. Die Entwicklung schreitet rasant voran und effizientere Modelle werden diese Grenzen kontinuierlich verschieben.


  1. Hugging Face ist eine Open-Source-Plattform und Community, die KI-Modelle, Tools und Ressourcen zur gemeinsamen Entwicklung und Nutzung von Machine-Learning-Anwendungen bereitstellt. ↩︎

  2. GGUF (GPT-Generated Unified Format) ist ein Dateiformat für KI-Modelle, um Sprachmodelle effizient auf normaler Hardware auszuführen. ↩︎

  3. Ein Token entspricht ungefähr ¾ eines Wortes im Deutschen. Je höher der Wert, desto länger und detaillierter kann die generierte Antwort werden. ↩︎

Tim Peters
Autor
Tim Peters
Ich bin ein Detektiv im Dienste der Technologie! Immer auf der Suche und doch ganz in meinem Element. Softwaretester aus Leidenschaft. Ein weiteres spannendes Feld, das mich intensiv beschäftigt, ist die Künstliche Intelligenz. Mein Interesse gilt hier besonders der Wissensdestillation und der lokalen Inferenz.



Kommentare

Wenn Du einen Kommentar hinterlassen möchtest, dann anworte im Fediverse auf diesen Beitrag. Alle eingegangenen Antworten werden dann hier angezeigt.


Mastodon