- Ubuntu
- Wie man
Immaschinelles LernenTraining und Inferenz sind zwei grundlegende Phasen für den Prozess der Modellentwicklung.
L’AusbildungDies ist die Phase, in der das Modell anhand eines im Allgemeinen sehr großen Datensatzes trainiert wird, um die Fähigkeiten der künstlichen Intelligenz und die Richtigkeit der bereitgestellten Antworten zu optimieren. In dieser Phase versucht das Modell mithilfe des Lernalgorithmus, eine Beziehung zwischen den Eigenschaften der Eingabedaten und „geeigneten“ Informationen zu finden, die als Ausgabe angeboten werden sollen. Während des Trainingsprozesses versucht das Modell, die zu minimierenVorhersagefehlerauf die Trainingsdaten zugreifen und die Leistung verbessern. Das Training kann viele Iterationen erfordern, in denen das Modell mit neuen Daten aktualisiert wird, um sich selbst zu verbessern.
Die Trainingsphase erfordert normalerweise viel Zeit und große (und teure) Hardware-Ressourcen: Denken Sie nur daran, um dorthin zu gelangenGeneratives GPT-3-Modell, OpenAI hätte mehr als 250.000 CPU-seitige Kerne, mehr als 10.000 NVidia (GPU)-Kerne und eine 400-Gbit/s-Verbindung verwendet.
L’Inferenz, ist stattdessen die nächste Phase, in der das Modell verwendet wird, um Vorhersagen über neue Daten zu treffen: Das Modell empfängt Eingabedaten, die es möglicherweise noch nie zuvor gesehen hat, zumindest nicht in der verwendeten Form, und verwendet einen probabilistischen Ansatz, um eine Ausgabe zu generieren auf der Grundlage der während der Schulung gesammelten Informationen.
Kurz gesagt, das Modell bietet eine Antwort basierend aufEingangbereitgestellt. Beispielsweise könnte man fragen, ob das als Eingabe gesendete Bild eine Katze darstellt oder nicht; VonAudio in Text umwandeln(Sprache-zu-Text); um Text zu generieren, um eine Frage zu beantworten oder eine Reflexion des Benutzers zu vervollständigen (das ist, was sie tun).ChatGPT,Bing-Chatund Google Bard) oder erstellen Sie neue Bilder ausgehend von Textbeschreibungen.
Die Inferenzphase ist per Definition eine AktivitätMehrbenutzer: Eine Reihe von „Abfragen“ werden gleichzeitig als Eingabe an das Modell gesendet, wobei mehrere zuvor trainierte Instanzen des Modells selbst verwendet werden.
Diese Phase erfordert auch eine umfangreiche Hardwarekonfiguration, die bei Bedarf nach oben „skaliert“ werden kannAnfrageDie Anzahl und Komplexität der Eingaben nimmt rapide zu.
Das schätzte kürzlich der Präsident von Alphabet, der „Muttergesellschaft“ von GoogleKI-gestützte Chatbots kosten zehnmal mehr als eine normale Sucheauf herkömmlichen Suchmaschinen (denken Sie an die Websuche bei Google…).
Von generativen Modellen oder natürlichsprachlichen Modellen spricht manMilliarden von Parameterndie der Anzahl der „Gewichte“ entsprechen, die für das Modelltraining verwendet werden (ChatGPT basiert auf einem Modell, das mit über trainiert wurde175 Milliarden Parameter).
In einemneurales Netzwerk, die Gewichte sind die Werte, die das Modell zu optimieren versucht, um eine Beziehung zwischen der Eingabe und der gewünschten Ausgabe zu finden.
Im Zusammenhang mit generativen Modellen ist häufig eine sehr große Anzahl von Parametern erforderlich, um eine vollständige und detaillierte Darstellung des Modells zu erstellenEingabedaten; in einemnatürliches SprachmodellIm Allgemeinen sind Milliarden von Parametern erforderlich, um eine genaue Darstellung der syntaktischen und semantischen Struktur der Sprache zu erstellen.
Was sind große Sprachmodelle (LLM)?
ICHGroße Sprachmodelle(LLM) sind natürlichsprachliche Modelle, die künstliche neuronale Netze mit einer sehr großen Anzahl von Parametern verwenden, um ein zu erstellenDarstellung natürlicher Sprachekraftvoll, relevant und anspruchsvoll.
Diese Vorlagen sind in der Lage, qualitativ hochwertigen Text zu verstehen und zu generieren, der nicht nur auf dem basiertSemantikund zuSyntax, sondern auch auf die Nuancen natürlicher Sprache.
Zu den bekanntesten Beispielen für LLMs gehören die verschiedenen Versionen desGPT-Modell(Generativer vorab trainierter Transformator) entwickelt von OpenAI: In einem anderen Artikel haben wir gesehen, wieErstellen Sie ein generatives Modell wie GPT in 60 CodezeilenPython.
Lama und Alpaka
Über die einfachen Übungen hinaus möchten wir jedoch über ein paar Tools sprechen, die wirklich eingesetzt werden könnenpraktische Anwendungenim Bereich der künstlichen Intelligenz, unabhängig von der Cloud und Drittanbietern.
Meta (Facebook) erstelltLama(Große Sprachmodell-Meta-KI): wie im erläutertPräsentationsseiteDabei handelt es sich um eine Reihe von Modellen, die zwischen 7 und 65 Milliarden Parameter verwenden. Bei Verwendung eines „leichten“ Ansatzes (LLaMa wiegt zehnmal weniger als GPT-3 von OpenAI) kann das Modell laut Meta hervorragende Ergebnisse liefern.
Die auf GitHub öffentlich verfügbare Implementierung von LLaMa ist einfach zu bedienen, kann auch auf normalen Computern verwendet werden und kann auch direkt auf der CPU laufen, ohne dass auf leistungsstarke GPUs der neuesten Generation zurückgegriffen werden muss.
ProArbeitsbelastung reduzieren, das sogenannte wird verwendet4-Bit-Quantisierung.
Der4-Bit-QuantisierungDabei handelt es sich um eine Technik, die die Anzahl der zur Darstellung der Daten verwendeten Bits reduziert, indem sie die Speicherbelegung und die Rechenkosten senkt.
In diesem speziellen Fall werden nur 4 Bits verwendet, um jeden numerischen Wert in einem Datenvektor darzustellen. Dies bedeutet zum Beispiel, dass anstelle der Verwendung des32-Bit-Format, das viermal so viel Speicher benötigt, wird die Datendarstellung deutlich komprimiert.
Es muss gesagt werden, dass durch die Reduzierung derAnzahl der BitsIm Allgemeinen ist die Genauigkeit des Modells geringer und die Generalisierungsfähigkeit wesentlich begrenzter.
Mitte März 2023 stellte eine Gruppe von Forschern der Stanford University das Akronym LLaMa vorAlpaka.
Alpakaist eine optimierte Version des LLaMa-Modells mit 7 Milliarden Parametern: Obwohl es sehr leicht und kostengünstig zu verwalten ist, zeigt Alpaca ein qualitativ ähnliches Verhalten wie dastext-davinci-003bei OpenAI.
Um eine Vorstellung davon zu bekommen, wie Alpaca die Nutzung moderner generativer Modelle wirklich für jedermann zugänglich macht, denken Sie einfach daran, dass die Implementierung, die wir vorstellen werden, auch auf einem normalen PC mit 16 GB RAM-Speicher und einer modernen CPU bei 6 funktionieren kann oder 8 physische Kerne.
Offensichtlich werden die Anforderungen mit zunehmender Anzahl von Parametern strenger (zum Beispiel werden 32 GB RAM benötigt, um das 30-Milliarden-Parameter-Modell auszuführen), aber das ist soHardware-Spezifikationenentschieden weit entfernt von der Notwendigkeit, eine zu habenSupercomputer.
So verwenden Sie ein generatives Modell auf einem lokalen Computer
Vorausgesetzt, Sie haben ein Auto zur VerfügungUbuntu LinuxBei Tests mit mindestens 16 GB RAM-Speicher können Sie Alpaca testen, indem Sie die folgenden Befehle ausführen. Die verschiedenen Anleitungen ermöglichen Ihnen die InstallationDockerund laden Sie das generative Modell in aContainer:
sudo apt update && sudo apt upgrade -y
Sudo apt install apt-transport-https curl gnupg-agent ca-certificates software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signiert-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabil" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt upgrade -y
sudo apt install docker-ce -y
Der Befehlsudo systemctl status docker
ermöglicht Ihnen zu überprüfen, ob Docker tatsächlich installiert ist und funktioniert.
Durch Ausführen des folgenden Befehls wird die Software installiertSerge, ein optimiertes Tool fürPlaudernmit Alpaca, LLaMa und anderen Modellen – Open-Source-Code istverfügbar auf GitHubund ist frei nutzbar:
docker run -d -vweights:/usr/src/app/weights -v datadb:/data/db/ -p 8008:8008 ghcr.io/nsarrazin/serge:latest
Sergelauscht auf TCP-Port 8008: vorausgesetzt, Sie verwenden denFirewall ufw, es ist also notwendigöffne die Türim Eingang:
ufw erlaubt 8008/tcp
Geben Sie die IP des Linux-Computers ein, gefolgt von:8008
, gelangen Sie zur Homepage von Serge.
Mit einem Klick IhrModelle herunterladenSie können zunächst das bevorzugte Modell herunterladen, abhängig von der Anzahl der in der Trainingsphase verwendeten Parameter.
Durch Klicken aufHeimWir empfehlen Ihnen daher, sich zu entscheidenModelleinstellungenUm das Verhalten des Modells anzupassen:
- Temperatur. Sie bestimmt die Reaktionsfreiheit der künstlichen Intelligenz. Niedrigere Zahlen führen zu steiferen Reaktionen, während höhere Zahlen mehr Kreativität hervorrufen.
- Maximale Länge des generierten Texts in Token. Maximale Länge des in Token generierten Textes bzw. wie lang die vom Chatbot verfassten Antworten sein dürfen.
- Modellwahl. Ermöglicht die Auswahl des Modells mit 7, 13 oder 30 Milliarden Parametern unter den lokal heruntergeladenen Parametern.
- n_threads. Die Anzahl der Threads, dieSerge/Alpakakann CPU-intensiv sein. Die Zuweisung von mehr als den standardmäßigen 4 verbessert die Leistung offensichtlich erheblich.
- Vorabaufforderung zur Initialisierung eines Gesprächs. Stellt Kontext bereit, bevor das Gespräch begonnen wird, um zu beeinflussen, wie der Chatbot entsprechend reagiert.
Im Moment zeigt das System, dass es auch i verstehtFragen auf Italienischaber er antwortet nur auf Englisch.
Die Landschaft entwickelt sich ständig weiter, sodass es bald möglich sein wird, Antworten auch auf Italienisch zu erhalten. Wichtig zu beachten sind diePotenzialeines Ansatzes wie dem vorgestellten: Ein gesamtes generatives Modell lokal hochzuladen und kostenlos aus der Cloud und von jedem Drittanbieter zu nutzen, ist unbezahlbar, insbesondere aus Sicht der Entwickler undSystemintegrator.