5 einfache Möglichkeiten, ein LLM lokal auszuführen

Blog

HeimHeim / Blog / 5 einfache Möglichkeiten, ein LLM lokal auszuführen

Jun 23, 2023

5 einfache Möglichkeiten, ein LLM lokal auszuführen

Von Sharon Machlis Chefredakteurin, Data & Analytics, InfoWorld | Chatbots wie ChatGPT, Claude.ai und phind können sehr hilfreich sein, aber Sie möchten möglicherweise nicht immer Ihre Fragen oder sensiblen Daten haben

Von Sharon Machlis

Chefredakteur, Data & Analytics, InfoWorld |

Chatbots wie ChatGPT, Claude.ai und phind können sehr hilfreich sein, aber Sie möchten möglicherweise nicht immer, dass Ihre Fragen oder sensiblen Daten von einer externen Anwendung verarbeitet werden. Dies gilt insbesondere für Plattformen, auf denen Ihre Interaktionen möglicherweise von Menschen überprüft und auf andere Weise zum Trainieren zukünftiger Modelle verwendet werden.

Eine Lösung besteht darin, ein großes Sprachmodell (LLM) herunterzuladen und auf Ihrem eigenen Computer auszuführen. Auf diese Weise hat ein externes Unternehmen niemals Zugriff auf Ihre Daten. Dies ist auch eine schnelle Möglichkeit, einige neue Spezialmodelle auszuprobieren, wie z. B. Metas kürzlich angekündigte Modellfamilie Code Llama, die auf Codierung abgestimmt ist, und SeamlessM4T, das auf Text-zu-Sprache und Sprachübersetzungen abzielt.

Das Betreiben eines eigenen LLM mag kompliziert klingen, aber mit den richtigen Tools ist es überraschend einfach. Und die Hardwareanforderungen für viele Modelle sind nicht verrückt. Ich habe die in diesem Artikel vorgestellten Optionen auf zwei Systemen getestet: einem Dell-PC mit einem Intel i9-Prozessor, 64 GB RAM und einer Nvidia GeForce 12 GB-GPU (auf der wahrscheinlich nicht viel von dieser Software ausgeführt wurde) und auf einem Mac mit M1-Chip, aber nur 16 GB RAM.

Beachten Sie, dass möglicherweise ein wenig Recherche erforderlich ist, um ein Modell zu finden, das für Ihre Aufgabe einigermaßen gut funktioniert und auf Ihrer Desktop-Hardware läuft. Und nur wenige sind möglicherweise so gut wie das, was Sie von einem Tool wie ChatGPT (insbesondere mit GPT-4) oder Claude.ai gewohnt sind. Simon Willison, Entwickler des Befehlszeilentools LLM, argumentierte letzte Woche in einer Präsentation, dass sich die Ausführung eines lokalen Modells lohnen könnte, selbst wenn die Antworten falsch sind:

Es ist auch erwähnenswert, dass Open-Source-Modelle wahrscheinlich weiter verbessert werden und einige Branchenbeobachter erwarten, dass sich die Kluft zwischen ihnen und kommerziellen Marktführern verringern wird.

Wenn Sie einen Chatbot wünschen, der lokal läuft und keine Daten woanders hin sendet, bietet GPT4All einen Desktop-Client zum Download an, der ganz einfach einzurichten ist. Es enthält Optionen für Modelle, die auf Ihrem eigenen System laufen, und es gibt Versionen für Windows, macOS und Ubuntu.

Wenn Sie die GPT4All-Desktopanwendung zum ersten Mal öffnen, sehen Sie Optionen zum Herunterladen von etwa 10 (zum Zeitpunkt dieses Schreibens) Modellen, die lokal ausgeführt werden können. Darunter ist Llama-2-7B Chat, ein Modell von Meta AI. Sie können GPT-3.5 und GPT-4 von OpenAI (sofern Sie Zugriff haben) auch für die nicht lokale Verwendung einrichten, wenn Sie über einen API-Schlüssel verfügen.

Der Modell-Download-Teil der GPT4All-Schnittstelle war zunächst etwas verwirrend. Nachdem ich mehrere Modelle heruntergeladen hatte, sah ich immer noch die Option, sie alle herunterzuladen. Das deutete darauf hin, dass die Downloads nicht funktionierten. Als ich jedoch den Download-Pfad überprüfte, waren die Modelle dort.

Ein Teil der Modell-Download-Schnittstelle in GPT4All. Sobald ich den Nutzungsteil der Anwendung geöffnet habe, wurden meine heruntergeladenen Modelle automatisch angezeigt.

Sobald die Modelle eingerichtet sind, ist die Chatbot-Oberfläche selbst sauber und einfach zu bedienen. Zu den praktischen Optionen gehören das Kopieren eines Chats in die Zwischenablage und das Generieren einer Antwort.

Die GPT4All-Chat-Oberfläche ist übersichtlich und einfach zu bedienen.

Es gibt auch ein neues Beta-Plugin für LocalDocs, mit dem Sie lokal mit Ihren eigenen Dokumenten „chatten“ können. Sie können es im aktivierenEinstellungen > PluginsDort sehen Sie die Überschrift „LocalDocs Plugin (BETA)-Einstellungen“ und eine Option zum Erstellen einer Sammlung in einem bestimmten Ordnerpfad.

Das Plugin ist noch in Arbeit und die Dokumentation warnt davor, dass das LLM möglicherweise immer noch „halluziniert“ (Dinge erfindet), selbst wenn es Zugriff auf Ihre hinzugefügten Experteninformationen hat. Dennoch handelt es sich um eine interessante Funktion, die sich wahrscheinlich verbessern wird, wenn Open-Source-Modelle leistungsfähiger werden.

Neben der Chatbot-Anwendung verfügt GPT4All auch über Bindungen für Python, Node und eine Befehlszeilenschnittstelle (CLI). Es gibt auch einen Servermodus, der Ihnen die Interaktion mit dem lokalen LLM über eine HTTP-API ermöglicht, die sehr ähnlich wie OpenAI strukturiert ist. Das Ziel besteht darin, Ihnen den Austausch eines lokalen LLM gegen OpenAIs zu ermöglichen, indem Sie ein paar Codezeilen ändern.

LLM von Simon Willison ist eine der einfacheren Möglichkeiten, Open-Source-LLMs herunterzuladen und lokal auf Ihrem eigenen Computer zu verwenden. Zum Ausführen muss zwar Python installiert sein, Sie sollten jedoch keinen Python-Code berühren müssen. Wenn Sie einen Mac verwenden und Homebrew verwenden, installieren Sie es einfach mit

Wenn Sie einen Windows-Rechner verwenden, verwenden Sie Ihre bevorzugte Methode zur Installation von Python-Bibliotheken, z

LLM verwendet standardmäßig OpenAI-Modelle, Sie können jedoch Plugins verwenden, um andere Modelle lokal auszuführen. Wenn Sie beispielsweise das gpt4all-Plugin installieren, haben Sie Zugriff auf zusätzliche lokale Modelle von GPT4All. Es gibt auch Plugins für Lama, das MLC-Projekt und MPT-30B sowie weitere Remote-Modelle.

Installieren Sie ein Plugin in der Befehlszeile mit llm install model-name:

Mit dem Befehl „llm models list“ können Sie alle verfügbaren Modelle – Remote-Modelle und die von Ihnen installierten Modelle – einschließlich kurzer Informationen zu jedem einzelnen Modell anzeigen.

Die Anzeige, wenn Sie LLM bitten, verfügbare Modelle aufzulisten.

Um eine Abfrage an ein lokales LLM zu senden, verwenden Sie die folgende Syntax:

Wie wähle ich ein Modell aus? Die 14 LLMs von InfoWorld, die nicht ChatGPT sind, sind eine Quelle, Sie müssen jedoch prüfen, welche herunterladbar sind und ob sie mit einem LLM-Plugin kompatibel sind. Sie können auch zur GPT4All-Homepage gehen und nach unten zum Modell-Explorer scrollen, um Modelle zu finden, die GPT4All-kompatibel sind. Die Option falcon-q4_0 war ein hoch bewertetes, relativ kleines Modell mit einer Lizenz, die die kommerzielle Nutzung erlaubt, also habe ich dort angefangen.

Ich habe ihm dann eine ChatGPT-ähnliche Frage gestellt, ohne einen separaten Befehl zum Herunterladen des Modells auszugeben:

Dies macht das LLM-Benutzererlebnis so elegant: Wenn das GPT4All-Modell nicht auf Ihrem lokalen System vorhanden ist, lädt das LLM-Tool es automatisch für Sie herunter, bevor Ihre Abfrage ausgeführt wird. Während das Modell heruntergeladen wird, wird im Terminal ein Fortschrittsbalken angezeigt.

LLM hat das Modell, das ich in einer Abfrage verwendet habe, automatisch heruntergeladen.

Der Witz selbst war nicht herausragend – „Warum hat der Programmierer seinen Computer ausgeschaltet? Weil er sehen wollte, ob er noch funktioniert!“ –, aber die Abfrage funktionierte tatsächlich. Und wenn die Ergebnisse enttäuschend sind, liegt das an der Modellleistung oder einer unzureichenden Benutzerführung, nicht am LLM-Tool.

Sie können innerhalb von LLM auch Aliase für Modelle festlegen, sodass Sie mit kürzeren Namen auf sie verweisen können:

Um alle verfügbaren Aliase anzuzeigen, geben Sie Folgendes ein: llm aliases.

Das LLM-Plugin für die Llama-Modelle von Meta erfordert etwas mehr Einrichtung als GPT4All. Lesen Sie die Details im GitHub-Repo des LLM-Plugins. Beachten Sie, dass der Allzweck-Lama-2-7b-Chat auf meinem Arbeits-Mac mit dem M1 Pro-Chip und nur 16 GB RAM lief. Es lief im Vergleich zu den GPT4-Modellen, die für kleinere Maschinen ohne GPUs optimiert waren, eher langsam und schnitt auf meinem robusteren Heim-PC besser ab.

LLM verfügt über weitere Funktionen, z. B. ein Argument-Flag, mit dem Sie von einem vorherigen Chat fortfahren können, und die Möglichkeit, es in einem Python-Skript zu verwenden. Weitere Informationen finden Sie auf der LLM-Website. Willison, Mitentwickler des beliebten Python-Django-Frameworks, hofft, dass andere in der Community weitere Plugins zum LLM-Ökosystem beitragen.

Ollama ist eine noch einfachere Möglichkeit, Modelle herunterzuladen und auszuführen als LLM, obwohl es auch eingeschränkter ist. Derzeit ist es nur für macOS verfügbar, obwohl es heißt, dass die Unterstützung für Windows und Linux „bald verfügbar“ sei.

Die Einrichtung von Ollama ist äußerst einfach.

Die Installation erfolgt elegant per Point-and-Click. Und obwohl Ollama ein Befehlszeilentool ist, gibt es nur einen Befehl mit der Syntax „ollama run model-name“. Wie bei LLM gilt: Wenn das Modell noch nicht auf Ihrem System vorhanden ist, wird es automatisch heruntergeladen.

Sie können die Liste der verfügbaren Modelle unter https://ollama.ai/library einsehen. Zum jetzigen Zeitpunkt enthielt diese eine Version eines Code-Llama-Modells, jedoch keine der für Python optimierten Optionen. Das geschah jedoch am Tag nach der Ankündigung von Code Llama und es sollten in Zukunft weitere verfügbar sein.

Die README-Datei des Ollama GitHub-Repos enthält eine hilfreiche Liste einiger Modellspezifikationen und den Rat: „Sie sollten mindestens 8 GB RAM für die Ausführung der 3B-Modelle, 16 GB für die Ausführung der 7B-Modelle und 32 GB für die Ausführung der 13B-Modelle haben.“ Auf meinem Mac mit 16 GB RAM war die Leistung des 7B Code Llama überraschend schnell. Es werden Fragen zu Bash/ZSH-Shell-Befehlen sowie zu Programmiersprachen wie Python und JavaScript beantwortet.

Wie es aussieht, Code Llama in einem Ollama-Terminalfenster auszuführen.

Obwohl es das kleinste Modell in der Familie ist, war es ziemlich gut, wenn auch unvollkommen, bei der Beantwortung einer R-Codierungsfrage, die einige größere Modelle zum Stolpern brachte: „Schreiben Sie R-Code für ein ggplot2-Diagramm, bei dem die Balken stahlblau sind.“ Der Code war korrekt, bis auf zwei zusätzliche schließende Klammern in zwei Codezeilen, die in meiner IDE leicht zu erkennen waren. Ich vermute, dass der größere Code Llama es besser hätte machen können.

Ollama verfügt über einige zusätzliche Funktionen, wie z. B. die LangChain-Integration und die Möglichkeit, mit PrivateGPT zu laufen, was möglicherweise nicht offensichtlich ist, es sei denn, Sie sehen sich die Tutorial-Seite des GitHub-Repos an.

Wenn Sie einen Mac verwenden und Code Llama verwenden möchten, können Sie dies in einem Terminalfenster ausführen und es jedes Mal aufrufen, wenn Sie eine Frage haben. Ich freue mich auf eine Ollama Windows-Version, die ich auf meinem Heim-PC verwenden kann.

H2O.ai arbeitet schon seit einiger Zeit am automatisierten maschinellen Lernen, daher ist es nur natürlich, dass das Unternehmen in den Chat-LLM-Bereich vorgedrungen ist. Einige seiner Tools lassen sich am besten von Leuten mit Fachkenntnissen verwenden, aber die Anweisungen zur Installation einer Testversion seiner h2oGPT-Chat-Desktopanwendung waren schnell und unkompliziert, selbst für Anfänger im maschinellen Lernen.

Sie können im Internet auf eine Demoversion unter gpt.h2o.ai zugreifen (natürlich nicht über ein lokales LLM auf Ihrem System). Dies ist eine nützliche Möglichkeit, herauszufinden, ob Ihnen die Schnittstelle gefällt, bevor Sie sie auf Ihr eigenes System herunterladen.

Für eine lokale Version: Klonen Sie das GitHub-Repository, erstellen und aktivieren Sie eine virtuelle Python-Umgebung und führen Sie die fünf Codezeilen aus der README-Datei aus. Die Ergebnisse geben Ihnen laut Dokumentation „eingeschränkte Q/A-Funktionen für Dokumente“ und eines der Lama-Modelle von Meta, aber sie funktionieren. Sie erhalten eine lokal heruntergeladene Llama-Modellversion und eine Anwendung unter http://localhost:7860, wenn Sie eine einzelne Codezeile ausführen:

Ein lokales LLaMa-Modell beantwortet Fragen basierend auf der VS-Code-Dokumentation.

Ohne das Hinzufügen eigener Dateien können Sie die Anwendung als allgemeinen Chatbot verwenden. Oder Sie können einige Dokumente hochladen und Fragen zu diesen Dateien stellen. Zu den kompatiblen Dateiformaten gehören PDF, Excel, CSV, Word, Text, Markdown und mehr. Die Testanwendung funktionierte einwandfrei auf meinem 16-GB-Mac, obwohl die Ergebnisse des kleineren Modells nicht mit denen des kostenpflichtigen ChatGPT mit GPT-4 vergleichbar waren (wie immer ist das eine Funktion des Modells und nicht der Anwendung). Die h2oGPT-Benutzeroberfläche bietet eine Registerkarte „Experte“ mit einer Reihe von Konfigurationsoptionen für Benutzer, die wissen, was sie tun. Dies gibt erfahreneren Benutzern die Möglichkeit, zu versuchen, ihre Ergebnisse zu verbessern.

Entdecken Sie die Registerkarte „Experte“ in h2oGPT.

Wenn Sie mehr Kontrolle über den Prozess und Optionen für mehr Modelle wünschen, laden Sie die vollständige Anwendung herunter. Es kann jedoch mehr Arbeit erfordern, ein Modell auf begrenzter Hardware zum Laufen zu bringen. Installationsanweisungen für Windows, macOS und Linux finden Sie in der README-Datei. Beachten Sie, dass meine Windows-Antivirensoftware mit der Windows-Version unzufrieden war, da sie neu und nicht signiert war. Da ich jedoch mit der anderen Software von H2O.ai vertraut bin und der Code auf GitHub verfügbar ist, war ich bereit, sie herunterzuladen und zu installieren. Da ich jedoch nicht über genügend GPU-Leistung verfüge, um ein einigermaßen großes Modell zu betreiben, wäre es für mich am besten gewesen, von der Quelle zu installieren. Zu diesem Zeitpunkt bin ich mir nicht sicher, ob der Betrieb dieses Modells ganz so einfach ist die meisten anderen Methoden.

Rob Mulla, jetzt bei H2O.ai, hat auf seinem Kanal ein YouTube-Video über die Installation der App unter Linux gepostet. Obwohl das Video nun schon ein paar Monate alt ist und sich die Benutzeroberfläche der Anwendung anscheinend geändert hat, enthält das Video immer noch nützliche Informationen, einschließlich hilfreicher Erklärungen zu H2O.ai-LLMs.

PrivateGPT ist außerdem so konzipiert, dass Sie Ihre eigenen Dokumente in natürlicher Sprache abfragen und eine generative KI-Antwort erhalten können. Die Dokumente in dieser Anwendung können mehrere Dutzend verschiedene Formate umfassen. Und die README-Datei versichert Ihnen, dass die Daten „100 % privat sind, zu keinem Zeitpunkt verlassen Daten Ihre Ausführungsumgebung. Sie können Dokumente aufnehmen und Fragen stellen, ohne dass eine Internetverbindung erforderlich ist!“

PrivateGPT verfügt über Skripte, um Datendateien aufzunehmen, sie in Blöcke aufzuteilen, „Einbettungen“ (numerische Darstellungen der Bedeutung des Textes) zu erstellen und diese Einbettungen in einem lokalen Chroma-Vektorspeicher zu speichern. Wenn Sie eine Frage stellen, sucht die App nach relevanten Dokumenten und sendet nur diese an das LLM, um eine Antwort zu generieren.

Einstellungen > Plugins