9 Sprachmodelle lokal ausführen
Large Language Models (LLMs) sind seit dem bahnbrechenden Erfolg von ChatGPT in aller Munde. Egal, ob es sich um Gemini, Claude oder ChatGPT handelt, eines haben sie alle gemein: Sie werden von Unternehmen zur Verfügung gestellt. Diese stellen die Schnittstellen zu ihren Modellen meist sogar kostenlos zur Verfügung. Bestimmte Features wie die bevorzugte Bearbeitung der Anfragen oder die neuesten und besten Modellvarianten erhalten Sie dann als Pro-Kunde für eine überschaubare Gebühr.
Egal, für welche Variante Sie sich entscheiden, Sie haben es immer mit einem Dienst zu tun, der in der Cloud gehostet wird, und wissen daher nicht sicher, was mit den Daten passiert, die Sie über Ihre Prompts an die Dienste übermitteln. Ein weiterer Kritikpunkt an diesen Online-Diensten ist, dass Sie von dem jeweiligen Anbieter abhängig sind. Momentan gibt es zwar genug Angebote, sodass Sie kein Problem haben, sollte ein Anbieter sein Angebot zurückziehen, aber die Abhängigkeit bleibt bestehen.
Gerade Bedenken beim Datenschutz und die Abhängigkeit von einem Anbieter lassen einige Personen und Unternehmen nach Alternativen suchen, wenn es um den Einsatz von Sprachmodellen geht. Deswegen besteht ein wachsendes Interesse daran, LLMs lokal auszuführen. Wie gut das funktioniert, verrät dieses Kapitel:
-
Zuerst geben wir Ihnen einen Überblick über frei verfügbare LLMs. Wir gehen auch auf die Frage ein, wie leistungsstark Ihre Hardware sein muss, um Sprachmodelle in einer vernünftigen Geschwindigkeit lokal auszuführen.
-
Dann beschreiben wir die Installation und Anwendung der kostenlosen Programme GPT4All und Ollama. Beide Programme sind kompatibel mit einer Vielzahl von LLMs und können beim Erzeugen der Antwort sogar lokale Dokumente berücksichtigen. Während sich GPT4All eher an Einsteiger richtet, bietet Ollama eine gute Grundlage für viele professionelle Anwendungen, vom Coding bis zur API-Nutzung.
-
Ollama ist eigentlich ein rein textorientiertes Tool. Sie können das Programm aber mit der Oberfläche Open WebUI kombinieren und dann Prompts ähnlich wie in den Webauftritten von ChatGPT & Co ausführen.
-
Das Plug-in Continue realisiert einen Code-Assistenten, den Sie anstelle von GitHub Copilot oder anderen kommerziellen Diensten nutzen können. Continue kann mit einer lokalen Ollama-Installation oder mit externen LLM-APIs kommunizieren.
-
Ollama kann auch über eine API genutzt werden. Damit können Sie eigene Programme schreiben, die nicht auf kommerzielle LLMs angewiesen sind, sondern auf ein lokal ausgeführtes Sprachmodell zurückgreifen.
-
Eine Alternative zur Kombination aus Ollama und Continue bietet das Projekt Tabby: Es besteht aus einem LLM-Server, der auf dem eigenen Rechner oder auf einer leistungsstarken Workstation im Betrieb installiert werden kann, und einem Editor-Plug-in mit Code-Assistant-Funktionen.
9.1 Die Qual der LLM-Wahl
Beschäftigen Sie sich mit generativer KI, kommen Sie unweigerlich mit verschiedenen LLMs in Berührung. Dieser Abschnitt soll Ihnen einen groben Überblick über die verschiedenen Modellfamilien, ihren Einsatzzweck sowie den Ressourcenbedarf bei lokalen Modellen geben.
Welche Modelle lösen welche Probleme?
Generell müssen Sie bei LLMs zwischen kommerziellen und frei verfügbaren Modellen unterscheiden. Die kommerziellen Modelle werden von Anbietern als Dienste bereitgestellt. ChatGPT ist ein Beispiel für einen solchen Dienst. In der Basisvariante können Sie ChatGPT im Browser kostenlos für Ihre Anfragen nutzen. OpenAI, der Anbieter hinter ChatGPT, bietet ein monatliches Abo-Modell mit einigen Vorteilen an, wie z. B. den Zugriff auf bessere Modelle, höheres Nachrichtenvolumen oder früheren Zugriff auf neue Features. Ähnliche Strategien verfolgen auch Anthropic mit Claude oder Google mit Gemini.
Zusätzlich zur bekannten Browser-Schnittstelle oder zu Apps können Sie diese Modelle auch über eine API verwenden. Hier ist das Abrechnungsmodell meist anders, und Sie müssen pro Token bezahlen, sowohl für Ein- als auch Ausgabetoken. Die Gebühren pro Token sind meist sehr gering. So können Sie bei OpenAI für 5 $ eine Million Eingabetoken und für 15 $ eine Million Ausgabetoken kaufen. Das kleinere GPT-4o-mini-Modell kostet 0,15 $ für eine Million Eingabetoken und 0,60 $ für eine Million Ausgabetoken (Stand: September 2024).
Für die lokale Ausführung frei verfügbarer Modelle wie Llama, Gemma oder Mistral fallen keine Kosten an. Allerdings müssen Sie nun die Infrastruktur selbst bereitstellen, auf der die Modelle ausgeführt werden. Deshalb sollten Sie sehr genau abwägen, welche Variante Sie wählen. Die Kosten können Sie meist durch die Qualität des Modells und die Antwortzeit steuern.
Derzeit gibt es viele verschiedene LLMs auf dem Markt. Einige Modelle teilen sich die gleiche Architektur und können deshalb in Familien eingeordnet werden. Mit GPT, Llama, Mistral und Claude lernen Sie im Folgenden einige Beispiele und ihre jeweiligen Besonderheiten kennen.
-
GPT – Generative Pre-trained Transformers von OpenAI: Die wohl bekanntesten Modelle gehören zur GPT-Familie von OpenAI. Sie bilden die Grundlage für ChatGPT. GPT basiert auf dem Transformer-Modell und nutzt eine spezielle Variante davon, die auf Textgenerierung optimiert ist. Ein Schlüssel zum Erfolg dieser Modelle ist das umfassende Training mit einer großen Menge an Text sowie das nachfolgende Fine-Tuning.
OpenAI stellt die GPT-Modelle über eigene Dienste zur Verfügung. Die Nutzung ist teilweise kostenlos, teilweise kostenpflichtig. Die Modelle der GPT-Familie können multimodal sein, also nicht nur mit Text, sondern auch mit Bildern oder Audio arbeiten. Leider können die LLM-Dateien von OpenAI nicht frei heruntergeladen werden.
Typische Aufgabenstellungen: Chatbots, Content-Generierung, Code-Generierung
-
Llama – Large Language Model Meta AI: Llama, die Sprachmodelle aus dem Hause Meta, setzen auf eine ähnliche Architektur wie GPT und basieren auf der Transformer-Architektur. Durch verschiedene Optimierungen und Designentscheidungen liegt der Fokus dieser Modelle mehr auf Effizienz und Leistung bei einer geringeren Modellgröße.
Die Llama-Modelle von Meta unterliegen dem Llama Community License Agreement. Diese Lizenz ist für private Zwecke und Forschung gedacht, schränkt die kommerzielle Nutzung der Modelle jedoch ein.
Typische Aufgabenstellungen: NLP-Aufgaben wie Textgenerierung, Übersetzung, Forschungsaufgaben. CodeLlama ist eine für Coding-Aufgaben optimierte Variante von Llama.
-
Mistral/Mixtral: Die Mistral- und Mixtral-Modelle stammen von Mistral, einem französischen Unternehmen, das sich auf künstliche Intelligenz spezialisiert hat. Das Unternehmen ist bekannt für seine Open-Source-Modelle, die der Apache-2-Lizenz unterliegen. Neben diesen bietet Mistral auch weitere nicht freie Modelle über eigene APIs an.
Mixtral, die neuesten Modelle von Mistral, sind sogenannte Mixture-of-Experts-Sprachmodelle (MoE-LLMs). Sie kombinieren mehrere Expertenmodelle und erreichen dadurch eine bessere Leistung und hohe Genauigkeit. Mixtral ist im Gegensatz zu GPT und Llama kein vollständiges Transformer-Modell, sondern ein reines Decoder-Modell.
Typische Aufgabenstellungen: Textzusammenfassung, Strukturierung, Beantwortung von Fragen, Code-Vervollständigung
-
Claude: Die Claude-Modelle werden von Anthropic entwickelt. Der Fokus der Entwicklung liegt nicht nur auf der Leistungsfähigkeit der Modelle, sondern auch auf Sicherheit und Ethik.
Im Kern basieren die Claude-Modelle ebenfalls auf einer Transformer-Architektur. Der Unterschied liegt jedoch in der sogenannten Constitutional AI, einer speziellen Trainingsmethode, die auf überwachtem Lernen und Verstärkungslernen basiert. Eine weitere Besonderheit der modernen Claude-Modelle ist ihre Kontextgröße von 200.000 Token, was im Vergleich zur Konkurrenz sehr groß ist. Leider bietet Anthropic wie OpenAI keine Download-Möglichkeit für seine Modelle.
Typische Aufgabenstellungen: kommerzielle Anwendungen, komplexe Analysen, Zusammenfassung umfangreicher Datenmengen, Coding
Ein objektiver Vergleich, welches Sprachmodell für welche Anwendung das optimale Ergebnis liefert, ist äußerst schwierig. Es gibt dafür noch keinen allgemein akzeptierten Standard, aber natürlich viele Projekte und wissenschaftliche Untersuchungen. Die Lektüre der folgenden Seiten, ausgewählt im Hinblick auf Coding-Anwendungen, vermittelt einen ersten Eindruck:
https://lmarena.ai/?leaderboard
https://artificialanalysis.ai/models/gpt-4o/providers
https://github.com/continuedev/what-llm-to-use
https://evalplus.github.io/leaderboard.html
https://symflower.com/en/company/blog/2024/comparing-llm-benchmarks
Letztlich bleibt Ihnen aber nicht erspart, selbst zu experimentieren, welche LLM sich auf Ihrer Hardware und für Ihre Anforderungen am besten bewährt.
Kostenlos oder wirklich open source?
»Freie« LLMs wie Llama, Gemma, StarCoder oder Mistral sind zwar kostenlos verfügbar, unterliegen aber eigenen Lizenzen, die die Anwendung einschränken können. Bei den meisten LLMs gibt es mehr Restriktionen, als Sie dies z. B. aus der Linux-Welt gewohnt sind.
Gerade vor dem kommerziellen Einsatz von freien LLMs müssen Sie sich mit den Nutzungsbedingungen auseinandersetzen. Diese finden Sie auf der jeweiligen Projektseite sowie auf der Website https://huggingface.co bei der Beschreibung des jeweiligen Sprachmodells.
Hardware-Anforderungen
Es ist natürlich erfreulich, dass Sie viele Sprachmodelle kostenlos herunterladen können; die lokale Ausführung solcher Modelle mit Programmen wie GPT4All oder Ollama scheitert aber oft an den hohen Hardware-Voraussetzungen. Wenn Sie beispielsweise versuchen, das Llama-3.1-Modell in der qualitativ besten 405B-Variante auf einem handelsüblichen Rechner auszuführen, werden Sie feststellen, dass das schlichtweg nicht möglich ist. Aus diesem Grund werfen wir im Folgenden einen Blick auf die allgemeinen Hardware-Anforderungen, um ein LLM auszuführen:
-
CPU: Sie sollten mindestens einen Intel-Chip ab der 11. Generation oder eine Zen4-basierte AMD-CPU verwenden. Sehr gut geeignet sind auch die M-CPUs von Apple. Wichtiger als die reine Anzahl der Kerne ist das Feature-Set der Prozessoren, insbesondere die beschleunigte Matrixmultiplikation, die von KI-Modellen benötigt wird.
-
RAM: Für ein 7B-Modell sollte Ihr System über mindestens 16 GB Arbeitsspeicher verfügen. (7B bedeutet 7 Milliarden Parameter.)
-
Festplattenspeicher: Sie sollten etwa 50 GB freien Speicherplatz auf Ihrer Festplatte einplanen, damit Sie dort einige Modelle zum Ausprobieren speichern können.
-
GPU: Eine Grafikkarte ist zwar nicht zwingend erforderlich, beschleunigt die Ausführung der Modelle jedoch erheblich. Dazu muss aber das gesamte Modell im Video-Speicher der Grafikkarte Platz finden. Für ein 4-Bit-quantifiziertes Modell sollten Sie mit folgenden VRAM-Größen rechnen:
-
7B: etwa 4 GB VRAM
-
13B: etwa 8 GB VRAM
-
30B: etwa 16 GB VRAM
-
65B: etwa 32 GB VRAM
Ein Sonderfall sind Apple-Rechner mit ARM-CPUs (»Apple Silicon«). Deren GPUs können auf den gesamten Arbeitsspeicher zugreifen, die Differenzierung zwischen RAM und VRAM entfällt also.
Die obigen Empfehlungen stammen von Justin Hayes, einem der Kontributoren von Open WebUI und Ollama, zu finden in einem GitHub Issue von Open WebUI:
https://github.com/open-webui/open-webui/discussions/736#discussioncomment-8474297
-
Solange Sie Ihrer Plattform ausreichend Arbeitsspeicher zur Verfügung stellen, damit sie das entsprechende Modell laden kann, können Sie es auch ausführen. Nutzen Sie jedoch eine zu schwache Hardware, müssen Sie damit rechnen, dass die Rückmeldungen des Modells sehr langsam erfolgen. Setzen Sie lieber auf ein etwas kleineres Modell, das auf Ihrem System reibungslos funktioniert, anstatt ein Modell zu verwenden, das gerade noch so auf Ihrem System ausgeführt werden kann.
Geschwindigkeits-Benchmarks
Ein entscheidender Parameter zur Abschätzung, wie gut die lokale Ausführung eines Sprachmodells funktioniert, ist die Anzahl der Token, die pro Sekunde verarbeitet (Input) bzw. generiert werden können (Output). Für die interaktive Anwendung beim Coding sollte Ihr lokales Sprachmodell zumindest 30 Token/s (Output) erreichen.
Die Token-Rate hängt primär von zwei Dingen ab: von der Modellgröße und der verfügbaren Hardware. Auf den folgenden Seiten finden Sie Ergebnisse für diverse LLMs und Hardware-Konfigurationen unter Windows, Linux und macOS:
https://llm.aidatatools.com/results-windows.php
https://llm.aidatatools.com/results-linux.php
https://llm.aidatatools.com/results-macos.php
Alternativen zur lokalen Ausführung von Modellen
Neben der lokalen Ausführung von KI-Modellen und dem Einsatz von kommerziellen Modellen gibt es noch einen Zwischenschritt. Sie können auch virtuelle Maschinen mit GPU in der Cloud mieten. Alle großen Anbieter haben solche Dienste im Angebot. Beachten Sie jedoch, dass für die Nutzung solcher virtueller Maschinen teilweise erhebliche Kosten anfallen können, sodass Sie sorgfältig abwägen sollten, ob Sie diese nur punktuell benötigen. Die folgende Übersicht zeigt eine Auswahl von Möglichkeiten für solche Plattformen bei den großen Cloud-Anbietern:
-
Amazon AWS: EC2 GPU Instance
https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing -
Google Cloud: Cloud GPU
https://cloud.google.com/gpu -
Microsoft Azure: ND- oder NC-Family Compute Instances
https://learn.microsoft.com/de-de/azure/virtual-machines/sizes/overview -
NVIDIA: GPU-Cloud-Computing
https://www.nvidia.com/de-de/data-center/gpu-cloud-computing
Die verschiedenen Anbieter stellen Ihnen Cloud-Instanzen in unterschiedlichen Dimensionierungen zur Verfügung. Die Preise hängen stark von der jeweiligen Konfiguration und der Laufzeit ab. Wenn Sie beispielsweise eine NCasT4_v3-Instanz von Microsoft Azure mieten, kostet Sie das pro Monat etwa 600 Euro. Dafür erhalten Sie 28 GB RAM, 176 GB Festplattenspeicher und eine Nvidia Tesla T4 GPU mit 16 GB VRAM.
Diese Konfiguration können Sie noch steigern, wenn Sie beispielsweise eine Standard_NC48ads_A100_v4-Instanz wählen. Diese bietet Ihnen 440 GB RAM, 128 vCPUs, 2×960 GB Festplattenspeicher und 2 Nvidia A100 GPUs mit jeweils 80 GB VRAM. Die Kosten steigen bei dieser Konfiguration allerdings auf etwa 8.500 Euro pro Monat!
Für eine genaue Preisberechnung sollten Sie den Preisrechner der jeweiligen Anbieter konsultieren. Egal, für welchen kommerziellen Anbieter Sie sich entscheiden, es entstehen auf jeden Fall Kosten für Sie. Eine Alternative bietet die lokale Ausführung, entweder auf Ihrem eigenen Rechner oder in Ihrem lokalen Netzwerk. Zu diesem Zweck können Sie Plattformen wie GPT4All oder Ollama nutzen, die Ihnen das Ausführen von Modellen erleichtern.
Groq
Die Firma Groq (nicht zu verwechseln mit dem KI-Chatbot Grok von xAI!) beschreitet mit ihrer GroqCloud einen Mittelweg zwischen kommerziellen KI-API-Anbietern wie OpenAI oder Anthropic und reinen Cloud/Hardware-Anbietern wie AWS. Bei Groq können Sie über API-Schlüssel LLM-Prompts ausführen. Dabei stehen diverse Open-Source-LLMs in verschiedenen Größen zur Auswahl. Die Abrechnung erfolgt nach Nutzung (Anzahl der Token mit unterschiedlichen Preisen je nach Modell). Groq verwendet einen selbst entwickelten KI-Beschleuniger (Language Processing Unit), der LLMs besonders schnell ausführen kann. Weitere Informationen finden Sie hier: