Track
Führe LLMs vor Ort durch: 7 einfache Methoden
Die Verwendung von großen Sprachmodellen (LLMs) auf lokalen Systemen wird immer beliebter, da sie den Datenschutz, die Kontrolle und die Zuverlässigkeit verbessern. Manchmal können diese Modelle sogar genauer und schneller sein als ChatGPT.
Wir zeigen sieben Möglichkeiten, LLMs lokal mit GPU-Beschleunigung unter Windows 11 auszuführen, aber die Methoden, die wir behandeln, funktionieren auch unter macOS und Linux.
LLM-Frameworks, die uns helfen, LLMs lokal durchzuführen. Bild von Abid Ali Awan.
Wenn du LLMs von Grund auf kennenlernen willst, ist dieser Kurs über große Lernmodelle (LLMs) ein guter Anfang.
Beginnen wir mit der Erkundung unseres ersten LLM-Rahmens.
1. GPT4All
Das nomic-ai/gpt4all ist ein LLM-Framework und eine Chatbot-Anwendung für alle Betriebssysteme. Wir können die LLMs lokal ausführen und dann die API nutzen, um sie in eine beliebige Anwendung zu integrieren, z. B. in einen KI-Codierassistenten auf VSCode. Dies ist die anfängerfreundlichste und einfachste Methode, um LLMs herunterzuladen und auf deinen lokalen Rechnern auszuführen.
A. Herunterladen des Clients
Lade den Installer aus dem nomic-ai/gpt4all GitHub Repository herunter. Deine Wahl hängt von deinem Betriebssystem ab - für dieses Tutorial wählen wir Windows.
B. Herunterladen des Modells
Installiere das GPT4All-Paket, indem du die Standardoptionen auswählst. Wenn wir die GPT4All-Anwendung starten, werden wir aufgefordert, das Sprachmodell herunterzuladen, bevor wir es verwenden. Lade ein Modell deiner Wahl herunter.
C. Auswahl des Modells
Wenn das Herunterladen abgeschlossen ist, schließe die Modellseite, um auf die Chat-Benutzeroberfläche zuzugreifen.
Wähle das Modell aus, das du heruntergeladen hast - wir haben uns für Nous Hermes 2 Mistral DPO entschieden.
D. Antwort generieren
Wenn du eine CUDA-Installation hast, wird automatisch ein Grafikprozessor verwendet, um die Antwortgenerierung zu beschleunigen. Wenn nicht und du einen Nvidia-Grafikprozessor hast, solltest du vielleicht zuerst das CUDA Toolkit 12.4 installieren.
Wir können die Anwendung ähnlich nutzen, wie wir ChatGPT online nutzen. Beachte, dass sie viel schneller ist als die typische GPT-4 Antwort.
E. Modell Einstellungen
Wir können die Reaktion des Modells anpassen, indem wir zu den Einstellungen gehen und mit den Modellparametern herumspielen.
Wir können auch einen lokalen Ordner mit den Dateien verbinden, um eine kontextabhängige Antwort zu erhalten.
Außerdem können wir den API-Server aktivieren, damit jede Anwendung unser Modell mit einem API-Schlüssel nutzen kann.
F. Zugriff auf OpenAI Modelle
Wir können auf die Modelle GPT-3.5 und GPT-4 zugreifen, indem wir den OpenAI-API-Schlüssel angeben.
Wir müssen auf die Seite des Modells gehen, nach unten scrollen, den API-Schlüssel für das GPT-4-Modell eingeben und auf die Schaltfläche Installieren klicken.
Dann wählen wir das Modell ChatGPT-4 auf der Chat-Benutzeroberfläche aus.
Jetzt können wir es so benutzen, als ob wir es in unserem Browser verwenden würden.
Weiter geht's mit dem nächsten LLM. Dieses Tutorial zur LLM-Klassifizierung hilft dir, den besten LLM für deine Bewerbung auszuwählen.
2. LM Studio
LM Studio bietet ähnliche Optionen wie GPT4All, allerdings ist es nicht möglich, einen lokalen Ordner zu verbinden, um kontextbezogene Antworten zu generieren.
A. Installation
Wir können das Installationsprogramm von der Homepage von LM Studioherunterladen.
Sobald der Download abgeschlossen ist, installieren wir die App mit den Standardoptionen.
Endlich starten wir LM Studio!
B. Herunterladen des Modells
Wir können jedes Modell von Hugging Face über die Suchfunktion herunterladen.
In unserem Fall laden wir das kleinste Modell herunter, Googles Gemma 2B Instruct.
C. Generierung der Antwort
Wir können das heruntergeladene Modell aus dem Dropdown-Menü oben auswählen und wie gewohnt mit ihm chatten. LM Studio bietet mehr Anpassungsmöglichkeiten als GPT4All.
D. Lokaler Inferenzserver
Wie bei GPT4All können wir das Modell anpassen und den API-Server mit einem Klick starten. Um auf das Modell zuzugreifen, können wir das OpenAI-API-Python-Paket, CURL oder eine direkte Integration in eine Anwendung verwenden.
E. Mehrere Modelle verwenden
Das wichtigste Merkmal von LM Studio ist, dass es die Möglichkeit bietet, mehrere Modelle gleichzeitig auszuführen und zu bedienen. So können die Nutzer/innen verschiedene Modellergebnisse vergleichen und sie für verschiedene Anwendungen nutzen. Um mehrere Modellsitzungen durchführen zu können, brauchen wir einen hohen GPU-VRAM.
Die Feinabstimmung ist eine weitere Möglichkeit, kontextbezogene und maßgeschneiderte Antworten zu geben. Du kannst die Feinabstimmung deines Google Gemma-Modells lernen, indem du dem Tutorial Feinabstimmung Google Gemma folgst: Verbesserung der LLMs mit maßgeschneiderten Anweisungen. Du lernst, wie du Inferenzen auf GPUs/TPUs durchführst und das neueste Gemma 7b-it Modell auf einem Rollenspiel-Datensatz fein abstimmst.
3. Jan
Eine der beliebtesten und am besten aussehenden lokalen LLM-Bewerbungen ist Jan. Sie ist schneller als jede lokale LLM-Anwendung - sie erzeugt eine Antwort mit 53,26 Token/Sekunde. Zum Vergleich: GPT4Alls Rate liegt bei 31 Token/Sekunde.
A. Installation
Wir können den Installer von Jan.ai herunterladen.
Nachdem wir die Jan-Anwendung mit den Standardeinstellungen installiert haben, können wir die Anwendung starten.
B. Importieren des Modells
Als wir über GPT4All und LM Studio berichtet haben, haben wir bereits zwei Modelle heruntergeladen. Anstatt ein weiteres herunterzuladen, importieren wir die bereits vorhandenen Modelle, indem wir auf die Modellseite gehen und auf die Schaltfläche Modell importieren klicken.
Dann gehen wir in das Anwendungsverzeichnis, wählen die Modelle GPT4All und LM Studio aus und importieren beide.
- GPT4All: "C:/Users/<user_name>/AppData/Local/nomic.ai/GPT4All/"
- LM Studio: "C:/Users/<user_name>/.cache/lm-studio/models"
C. Zugriff auf die lokalen Modelle
Um auf die lokalen Modelle zuzugreifen, gehst du zur Chat-Benutzeroberfläche und öffnest den Modellbereich im rechten Panel.
Wir sehen, dass unsere importierten Modelle bereits dort sind. Wir können die gewünschte Option auswählen und sie sofort nutzen!
D. Generierung der Antwort
Die Antwortgenerierung ist sehr schnell. Die Benutzeroberfläche fühlt sich natürlich an, ähnlich wie bei ChatGPT, und verlangsamt deinen Laptop oder PC nicht.
Die Besonderheit von Jan ist, dass wir Erweiterungen installieren und proprietäre Modelle von OpenAI, MistralAI, Groq, TensorRT und Triton RT verwenden können.
E. Lokaler API-Server
Wie LM Studio und GPT4All können wir auch Jan als lokalen API-Server verwenden. Sie bietet mehr Protokollierungsmöglichkeiten und Kontrolle über die LLM-Antwort.
4. llama.cpp
Ein weiteres beliebtes Open-Source LLM-Framework ist llama.cpp. Es ist rein in C/C++ geschrieben, was es schnell und effizient macht.
Viele lokale und webbasierte KI-Anwendungen basieren auf llama.cpp. Wenn du also lernst, sie vor Ort zu benutzen, kannst du besser verstehen, wie andere LLM-Anwendungen hinter den Kulissen funktionieren.
A. Herunterladen der Datei llama.cpp
Zuerst müssen wir mit dem Befehl cd
in der Shell zu unserem Projektverzeichnis gehen - mehr über das Terminal erfährst du in diesem Kurs Einführung in die Shell.
Dann klonen wir alle Dateien vom GitHub-Server mit dem unten stehenden Befehl:
$ git clone --depth 1 https://github.com/ggerganov/llama.cpp.git
B. Verwendung von MakeFile unter Windows
Das Kommandozeilentool make
ist unter Linux und MacOS standardmäßig verfügbar. Für Windows müssen wir jedoch die folgenden Schritte durchführen:
- Lade die neueste w64devkit Fortran Version von w64devkit für Windows herunter.
- Entpacke w64devkit in unser lokales Verzeichnis.
- Im Hauptordner müssen wir die Datei w64devkit.exe finden und sie ausführen.
- Verwende den Befehl
$ cd C:/Repository/GitHub/llama.cpp
, um auf den Ordner llama.cpp zuzugreifen. - Gib
$ make
ein und drücke die Eingabetaste, um llama.cpp zu installieren.
B. Den WebUI-Server der llama.cpp starten
Nachdem wir die Installation abgeschlossen haben, führen wir den Web-UI-Server llama.cpp aus, indem wir den folgenden Befehl eingeben. (Hinweis: Wir haben die Modelldatei aus dem Ordner GPT4All in den Ordner llama.cpp kopiert, damit wir leicht auf das Modell zugreifen können).
$ ./server -m Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf -ngl 27 -c 2048 --port 6589
Der Webserver läuft unter http://127.0.0.1:6589/. Du kannst diese URL kopieren und in deinen Browser einfügen, um auf das Webinterface llama.cpp zuzugreifen.
Bevor wir mit dem Chatbot interagieren, sollten wir die Einstellungen und Parameter des Modells ändern.
Schau dir dieses llama.cpp-Tutorial an, wenn du mehr erfahren willst!
D. Generierung der Antwort
Die Antwortgenerierung ist langsam, weil wir sie auf der CPU und nicht auf der GPU ausführen. Wir müssen eine andere Version von llama.cpp installieren, um sie auf der GPU auszuführen.
$ make LLAMA_CUDA=1
5. lamafile
Wenn dir llama.cpp zu komplex ist, kannst du llamafile ausprobieren. Dieses Framework vereinfacht LLMs sowohl für Entwickler als auch für Endbenutzer, indem es llama.cpp mit Cosmopolitan Libc in einer einzigen ausführbaren Datei kombiniert. Es beseitigt alle Komplexitäten, die mit LLMs verbunden sind, und macht sie leichter zugänglich.
A. Herunterladen der Modelldatei
Wir können die gewünschte Modelldatei aus dem GitHub-Repository von llamafile herunterladen.
Wir werden LLaVA 1.5 herunterladen, weil es auch Bilder verstehen kann.
B. Änderungen für Windows vornehmen
Windows-Nutzer müssen im Terminal .exe an den Dateinamen anhängen. Dazu klickst du mit der rechten Maustaste auf die heruntergeladene Datei und wählst Umbenennen.
C. Ausführen der LlamaDatei
Zuerst gehen wir in das Verzeichnis llamafile, indem wir den Befehl cd
im Terminal verwenden. Dann führen wir den folgenden Befehl aus, um den Webserver llama.cpp zu starten.
$ ./llava-v1.5-7b-q4.llamafile -ngl 9999
Der Webserver nutzt die GPU, ohne dass du etwas installieren oder konfigurieren musst.
Außerdem wird automatisch der Standard-Webbrowser gestartet, in dem die Webanwendung llama.cpp läuft. Wenn das nicht der Fall ist, können wir die URL http://127.0.0.1:8080/ verwenden, um direkt auf sie zuzugreifen.
D. Generierung der Antwort
Nachdem wir uns auf die Konfiguration des Modells geeinigt haben, können wir mit der Webanwendung beginnen.
Das Ausführen der llama.cpp mit der llamafile ist einfacher und effizienter. Wir haben die Antwort mit 53,18 Token/Sekunde generiert (ohne llamafile lag die Rate bei 10,99 Token/Sekunde).
6. Ollama
Ollama ist ein Tool, mit dem wir ganz einfach über die Endgeräte LLMs wie Llama 3, Mistral und Gemma erreichen können.
Außerdem akzeptieren mehrere Anwendungen eine Ollama-Integration, was es zu einem ausgezeichneten Werkzeug für einen schnelleren und einfacheren Zugriff auf Sprachmodelle auf unserem lokalen Rechner macht.
A. Ollama installieren
Wir können Ollama von der Download-Seite herunterladen.
Nach der Installation (mit den Standardeinstellungen) wird das Ollama-Logo in der Taskleiste angezeigt.
B. Running Ollama
Wir können das Llama 3 Modell herunterladen, indem wir den folgenden Terminalbefehl eingeben:
$ ollama run llama3
Llama 3 ist jetzt einsatzbereit! Unten sehen wir eine Liste von Befehlen, die wir verwenden müssen, wenn wir andere LLMs verwenden wollen:
C. Benutzerdefinierte Modelle ausführen
Um auf Modelle zuzugreifen, die bereits heruntergeladen wurden und im Ordner llama.cpp verfügbar sind, müssen wir:
- Gehe mit dem Befehl
cd
in den Ordner llama.cpp.
$ cd C:/Repository/GitHub/llama.cpp
- Erstelle einen Dateinamen namens
Modelfile
und füge die Zeile"FROM ./Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf"
hinzu.
$ echo "FROM ./Nous-Hermes-2-Mistral-7B-DPO.Q4_0.gguf" > Modelfile
- Erstelle das Modell, indem du den Namen des Modells angibst.
$ ollama create NHM-7b -f Modelfile
- Führe das Modell NHM-7b aus.
$ ollama run NHM-7b
- Verwende sie wie jede andere Chat-Anwendung.
Mit dieser Methode können wir jede LLM von Hugging Face mit der Erweiterung .gguf herunterladen und im Terminal verwenden. Wenn du mehr darüber erfahren möchtest, schau dir diesen Kurs über die Arbeit mit Hugging Face an.
7. NextChat
NextChat, früher bekannt als ChatGPT-Next-Web, ist eine Chat-Anwendung, mit der wir GPT-3, GPT-4 und Gemini Pro über einen API-Schlüssel nutzen können.
Sie ist auch auf der Web-UI verfügbar, und wir können sogar unser eigenes Web-Instant mit einem Klick auf Vercel bereitstellen.
Du kannst mehr über NextChat erfahren, indem du dieser ausführlichen Einführung zu ChatGPT Next Web (NextChat) folgst.
A. Installation
Wir können den Installer aus dem GitHub-Repository herunterladen. Unter Windows wählst du die .exe-Datei aus.
Wie zuvor installieren wir das Paket mit den Standardeinstellungen.
B. Den API-Schlüssel einrichten
Die NextChat-Anwendung läuft erst, wenn wir einen Google AI- oder OpenAI-API-Schlüssel hinzufügen.
Um den API-Schlüssel für Google AI zu erhalten, müssen wir zu Gemini API gehen und auf die blaue Schaltfläche Get API key in Google AI Studio klicken.
Danach müssen wir auf die Schaltfläche API-Schlüssel abrufen klicken und dann den API-Schlüssel erstellen und kopieren. Es ist kostenlos und hat keine Token-Begrenzung.
Sobald wir den API-Schlüssel haben, navigieren wir zu den Einstellungen von NextChat und scrollen nach unten zum Abschnitt Model Provider. Wir wählen Google als Modellanbieter aus und fügen den API-Schlüssel in das dafür vorgesehene Feld ein.
C. Generierung der Antwort
Auf der Hauptseite der Chat-Benutzeroberfläche klickst du auf die Schaltfläche Roboter (🤖) über dem Chat-Eingang und wählst das Modell gemini-pro aus.
Wir nutzen Google Gemini lokal und haben die volle Kontrolle über die Anpassung. Die Nutzerdaten werden ebenfalls lokal gespeichert.
Ebenso können wir mit dem OpenAI-API-Schlüssel auf GPT-4-Modelle zugreifen, sie lokal nutzen und die monatliche Abonnementgebühr sparen.
Fazit
Die Installation und Nutzung von LLMs vor Ort kann eine lustige und spannende Erfahrung sein. Wir können selbst mit den neuesten Open-Source-Modellen experimentieren, genießen Privatsphäre, Kontrolle und ein verbessertes Chat-Erlebnis.
Die lokale Nutzung von LLMs hat auch praktische Anwendungen, wie z. B. die Integration mit anderen Anwendungen über API-Server und die Verbindung lokaler Ordner, um kontextbezogene Antworten zu liefern. In manchen Fällen ist es unerlässlich, LLMs vor Ort einzusetzen, vor allem wenn Datenschutz und Sicherheit kritische Faktoren sind.
Du kannst mehr über LLMs und die Entwicklung von KI-Anwendungen erfahren, indem du diesen Ressourcen folgst:
Als zertifizierter Data Scientist ist es meine Leidenschaft, modernste Technologien zu nutzen, um innovative Machine Learning-Anwendungen zu entwickeln. Mit meinem fundierten Hintergrund in den Bereichen Spracherkennung, Datenanalyse und Reporting, MLOps, KI und NLP habe ich meine Fähigkeiten bei der Entwicklung intelligenter Systeme verfeinert, die wirklich etwas bewirken können. Neben meinem technischen Fachwissen bin ich auch ein geschickter Kommunikator mit dem Talent, komplexe Konzepte in eine klare und prägnante Sprache zu fassen. Das hat dazu geführt, dass ich ein gefragter Blogger zum Thema Datenwissenschaft geworden bin und meine Erkenntnisse und Erfahrungen mit einer wachsenden Gemeinschaft von Datenexperten teile. Zurzeit konzentriere ich mich auf die Erstellung und Bearbeitung von Inhalten und arbeite mit großen Sprachmodellen, um aussagekräftige und ansprechende Inhalte zu entwickeln, die sowohl Unternehmen als auch Privatpersonen helfen, das Beste aus ihren Daten zu machen.
Baue deine KI-Karriere mit DataCamp auf!
Course
Große Sprachmodelle für Unternehmen
Course