Llama.cpp, gpt4all und andere machen die lokale Ausführung von Large Language Models sehr einfach. Eine kurze Anleitung zum Ausprobieren unter Linux oder macOS.
Georgi Gerganov hat es mit Llama.cpp sehr vereinfacht, LLMs lokal laufen zu lassen. Es gibt noch eine ganze Reihe anderer Tools/Frameworks, mit denen das auch möglich ist – z.B. gpt4all. Die Einstiegshürde ist nun deutlich niedriger – ähnlich wie bei whisper.cpp, das auch von Georgi ist.
Wenn ihr ihn mal selber sprechen hören wollt, dann hört euch diese Changelog Episode an.
Also nun zu der Kurzanleitung, wie man das mal lokal ausprobieren kann:
Jetzt braucht man noch ein passendes Model – am besten direkt im ggml-Format. ggml ist eine C++ - Bibliothek, mit der man LLMs nur auf der CPU laufen lassen kann. Das ist auf Intels & AMDs zwar relativ langsam – für meinen Geschmack etwas zu langsam - aber man kann es mit etwas Geduld noch nutzen. Wenn ich es recht verstanden habe läuft llama.cpp aber auf Macs mit CPUs ab M1 wesentlich schneller, da dort die AI-Beschleunigung der CPU verwendet werden kann.
Also zurück zum Model. Mit llama.cpp habe ich gpt4-x-alpaca-13b ausprobiert. Nach dem Herunterladen kann aus dem llama-Verzeichnis heraus folgende Zeile eingegeben werden. Dabei muss noch der Pfad zum Model angepasst werden. Die Parameter habe ich mehr oder weniger unbedarft von irgendwo übernommen:
Eine Testausgabe sieht so aus:
Danach kommen nur noch Leerzeilen. Was immer das bedeutet :)
Man kann aber mit CTRL-C abbrechen und eine neue Anfrage stellen:
gpt4all setzt auf llama.cpp auf. Sie haben einen Fork angelegt und entwickeln von dort aus weiter. Dabei wurde allerdings auch das Dateiformat für die Modelle angepasst. Die beiden Programme sind also zumindest momentan nicht mehr kompatibel.
Auf der github-Seite sind passende Modelle verlinkt. Die erste Implementierung, die ich ausprobiert habe, läuft noch im Terminal. Ich habe das so ausprobiert:
Die gpt4all-lora-quantized.bin Datei findet man auf der Seite oder direkt hier.
Das ist ein Modell mit 6B Parametern. Ist also wesentlich kleiner als das oben und das merkt man auch – einerseits ist die Geschwindigkeit wesentlich besser – andererseits die Qualität wesentlich schlechter.
gpt4all bietet aber auch einen Installer mit einem anderen Model, das vermutlich aus anderen Quellen berechnet wurde. Dort gibt es auch eine graphische Oberfläche.
Das text-generation-webui soll ein Rundumsorglos-Tool ähnlich wie wie AUTOMATIC1111 für stable diffusion werden. Bei mir läuft das gerade leider (noch) nicht, da ich keine NVidia- sondern eine AMD-Karte habe, die deshalb kein CUDA unterstützt.
Leider ist für mich die Lizenz/Rechte-Situation insgesamt ein wenig unklar. Auf huggingface liegen sehr viele unterschiedliche Modelle rum, die teilweise mit sehr freien Lizenzen angegeben sind. Ich glaube kaum, dass das da alles so ok ist.
Erfreulich ist, dass ein Hersteller für KI-Plattformen selber ein GPT-LLM gerechnet hat, welches hier zu finden ist.
Dem fehlen momentan aber noch die “Alpaca” / ChatGPT-Eigenschaften. Es ist also erstmal “nur” ein Textvervollständiger.
Ich tippe aber mal darauf, dass da noch was kommt.
Technology Briefing#1: Large Language Models und Commodity AI