GPT4All
GPT4All ist ein kostenloser, lokal laufender und bzgl. Datenschutz sicherer Chatbot, für den man keine GPU oder Internetverbindung braucht. Wie bei ChatGPT kann man über eine Oberfläche Fragen oder Aufgaben stellen, auf die dann eine Antwort folgt. So kannst du damit z.B. informative Texte, kreative Geschichten oder auch Python-Code schreiben. In diesem Post zeige ich, was GPT4All ist und wie man den Chatbot auf dem eigenen Rechner installieren und nutzen kann.
Was ist GPT4All?
GPT4All ist ein Open-Source-Chatbot, der Texte verstehen und generieren kann. Und das auf CPU-Basis, es werden also keine leistungsstarken und teuren Grafikkarten benötigt. Das Projekt wird von Nomic.ai entwickelt und basiert auf angepassten Llama-Modellen, die auf einem Datensatz von ca. 500.000 Prompt-Antwort-Paaren trainiert sind. Die Resonanz zu GPT4All ist positiv, obwohl es nicht die Fähigkeiten von ChatGPT bzw. GPT-4 erreicht. Es ist dennoch ein schönes Projekt, da es die Möglichkeiten von Open Source-Künstlicher Intelligenz aufzeigt und die Open Source-Kultur stärkt. Ich vermute, dass da noch viel passieren wird und man bald ganz einfach Zugriff auf viele Modelle hat und diese lokal nutzen kann.
Zugrundeliegende Trainingsdaten
Die Trainingsdaten sind je Modell unterschiedlich. So basiert das Standardmodell (Stand 10.05.2023: „ggml-gpt4all-j-v1.3-groovy.bin“) auf dem GPT4All-Datensatz, welcher ebenfalls Open Source ist. Man kann den Datensatz auf Huggingface finden und sich aktiv an der Weiterentwicklung beteiligen. So gibt es ein GPT4All Open Source Datalake, welches über HTTP-API (FastAPI), S3 und Parquet-Dateien funktioniert.
GPT4All-J-Datensatz
Der GPT4All-J-Datensatz ist ein Superset des ursprünglichen GPT4All-Datensatzes und wurde mit Prompt-Templates versehen, um verschiedene Szenarien für kreatives Schreiben zu erstellen. Die Autoren verwendeten dafür Atlas, eine von Nomic entwickelte Plattform für Datenmanipulation und Aufbereitung von Trainingsdaten. Das Modell ist sowohl auf LLaMA 7B als auch auf GPT-J Checkpoints trainiert, für eine bessere Leistung v.a. im Bereich Logik und Schlussfolgerung. Das Paper zu diesem Thema kannst du hier finden.
Wie verwendet man GPT4All?
Man kann die Software über die Webseite herunterladen und installieren. Danach ist die „Basis-Software“ zwar vorhanden, aber es fehlt noch ein Modell. GPT4All-Modelle sind aktuell zwischen 3GB und 8GB groß und können über die Benutzeroberfläche ausgewählt und heruntergeladen werden:
Sobald dies getan ist, kann man den Chatbot starten.
Performance von GPT4All
Deutsche Sprache
Kurz gesagt: Kann man vergessen. Schau dir dazu mal den Screenshot an:
Die Leistung ist schlichtweg unterirdisch und man sollte GPT4All wenn dann auf Englisch verwenden.
Qualität der Antworten
Die folgenden Tests wurden entsprechend auf Englisch gemacht und die Qualität der Antworten habe ich entsprechend bewertet. Hier ein kleines Beispiel für einfache Prompts:
Nunja, von den 7 Kontinenten wurden nur 6 genannt, die aber immerhin richtig sind. Wenn wir im zentral-westlichen Teil Deutschlands nach Berlin suchen, werden wir allerdings nicht fündig. Immerhin konnte GPT4All fünf große Firmen aus Deutschland nennen.
Als nächstes schauen wir uns Prompts an, die etwas mehr Kreativität erfordern. Hier wollte ich nicht nur Antworten auf einfache Fragen, sondern habe etwas neu generiertes erwartet wie z.B. einen Werbetext oder Python-Code.
Hier einmal Aufgabe und Antwort für den Werbetext:
Nun ein kurzer Text für eine Fantasy-Welt:
Und noch ein bisschen Coding:
Den Werbetext und auch die Beschreibung der Fantasy-Welt fand ich ganz in Ordnung. Der Python-Code hingegen hat viele Fehler (z.B. fehlende Imports oder falsche Erstellung von nums
) und hat fragwürdige Ansätze zur Lösung der Aufgabe (z.B. Erstellen der Funktion generate_random_numbers
).
Ich habe noch mehr experimentiert und verschiedene Prompt-Arten ausprobiert, doch die Antworten waren durchwachsen. Leider hat GPT4All keine konsistente Qualität und zum Teil wurde auf einige Fragen bzw. Aufgaben überhaupt nicht vernünftig eingegangen.
Geschwindigkeit
Dafür, dass man keine GPU braucht, läuft GPT4All recht flüssig; es dauert aber etwas, bis die vollständige Antwort geschrieben wurde. Abstürze hatte ich keine. Allerdings ruckelten andere Programme, wenn GTP4All gerade eine Antwort gegeben hat. Ich benutze einen etwas älteren Desktop-PC mit einem Intel i7-4790K CPU und 16GB RAM.
Fazit
GPT4All ist an sich schon beeindruckend. Immerhin hat man einen Chatbot, der zumindest auf Englisch einige zufriedenstellende Antworten liefern kann und vollständig lokal und offline läuft. Leider hat es aber dann doch an zu vielen Stellen gehakt. Die Qualität schwankte noch zu sehr, sodass ich kein Vertrauen in die Richtigkeit bzw. Qualität der Antworten aufbauen konnte (einige Antworten waren schlichtweg falsch).
Ein Vergleich mit ChatGPT ist natürlich nicht ganz fair; sollte man GPT-4 bereits genutzt haben oder regelmäßig nutzen, dann ist man ja schon etwas verwöhnt. Wenn GPT4All (oder andere Software/Modelle) erstmal auf das Niveau von GPT-3.5 kommt, dann wäre das wirklich beachtlich und meiner Meinung nach ein großer Schritt für Open Source-KI. Ich bin gespannt, wie es weitergeht.
Wenn du ein Wunschthema hast oder mir Feedback geben willst, schreibe gerne einen Kommentar oder schicke eine Mail an mail@thorejohannsen.de.