Große Sprachmodelle LLM
Wir zeigen wie Sie ein großes Sprachmodell an Ihre Ansprüche anpassen können.

LLM Frage & Antwort

Branche
divers
Thema
NLP, LLM
Tools
Torch, Transformers, DeepSpeed
Projektdauer
2 Wochen

Auf einen Blick

Wir zeigen anhand eines kleinen Beispiels, wie große Sprachmodelle an die individuelle Bedürfnisse angepasst werden können. Hierzu haben wir unterschiedlichste Beiträge verfasst. Im Folgenden können Sie sich einen Überblick über die Themen verschaffen und den einzelnen Beiträgen genaueres entnehmen.

Textaufbereitung

In unserem ersten Blogbeitrag zeigen wir, wie eines der wichtigsten verfügbaren Sprachmodelle, LLaMa, von Meta trainiert wurde und welche unterschiedlichen Größen dieses Sprachmodells verfügbar sind. Außerdem geben wir einen Überblick über die Verteilung und Anzahl der Trainingsdaten. Da die Trainingsdaten des LLaMa-Modells nicht frei verfügbar sind, gehen wir näher darauf ein, wie ein solcher Datensatz erzeugt werden kann und welche vergleichbaren Datensätze frei verfügbar sind.

Zuletzt zeigen wir noch, wie man betriebsinterne Dokumente (html, epubs und pdfs) aufbereiten kann, um diese für ein späteres Training eines Sprachmodells zu verwenden.

Nähere Informationen in unserem -> Beitrag

Pretraining

Der zweite Blogbeitrag geht wieder auf eines der wichtigsten verfügbaren Sprachmodelle, LLaMa von Meta, ein und behandelt, wie dieses trainiert wurde und welche unterschiedlichen Größen des Sprachmodells existieren. Außerdem zeigen wir auf, wieviel ein solches Training kostet und welche CO2-Emissionen und Stromverbräuche dadurch generiert werden.

Außerdem zeigen wir, wie ein Tokenizer funktioniert und ermöglichen interaktiv einen deutschen und englischen Tokenizer zu vergleichen. Außerdem stellen wir vor, wie ein Tokenizer funktioniert und ermöglichen einen deutschen und englischen Tokenizer interaktiv zu vergleichen. Weiter werden die aufbereiteten Textdaten aus dem Buch Faust von Johann Wolfgang von Goethe in ein solches Sprachmodell eintrainiert und dargestellt, welche Auswirkung das auf dieses Sprachmodell hat.

Nähere Informationen in unserem -> Beitrag

Übersetzung

Wir zeigen in einem weiteren Beitrag, warum wir ein Sprachmodell feintunen wollen und welche unterschiedlichen Anwendungen damit möglich sind. Darüber hinaus geben wir einen kleinen Überblick über verfügbare Datensätze zum Finetunen eines solchen Sprachmodells und wie diese erzeugt und übersetzt werden können. Dabei gehen wir ebenfalls auf die Kosten für die Übersetzung eines solchen Datensatzes ein.

Anschließend zeigen wir, wie man ein frei verfügbares Übersetzungsmodell von huggingface verwenden kann und was bei der Übersetzung berücksichtigt werden muss. Außerdem haben wir diesen übersetzten Datensatz auf huggingface veröffentlicht.

Nähere Informationen in unserem -> Beitrag

Finetuning

In einem weiteren Schritt zeigen wir, wie man den zuvor übersetzten Datensatz verwenden kann, um das Sprachmodell anzupassen. Außerdem zeigen wir, für welche unterschiedlichen Anwendungsfälle Sprachmodelle verwendet werden können.
In einem ersten Schritt verwenden wir das deutsche vortrainierte BLOOM Sprachmodell, um ein vollständiges Finetuning durchzuführen. Mit lediglich 6.4 B Parametern ist das Sprachmodell zwar relativ klein, kann jedoch auch auf Consumer-Hardware trainiert werden.
Darüber hinaus zeigen wir, wie man größere Sprachmodelle über eine sogenannte QLoRa Anpassung finetunen kann. Wir gehen hier auf die Funktionsweise ein und erklären anhand eines Codebeispiels das Training. Durch das QLoRa-Finetuning können wir ein Sprachmodell mit 30B Parametern anpassen.

Hierbei haben wir Sprachmodelle auf huggingface veröffentlicht.

Nähere Informationen in unserem -> Beitrag

Evaluation

In unserem letzten Beitrag untersuchen wir die Stärken und Schwächen der unterschiedlichen frei verfügbaren Sprachmodelle im Vergleich zu kommerziellen Sprachmodellen von AlephAlpha. Hierbei zeigt sich, dass diese durchaus mit denen von AlephAlpha mithalten können und zumeist eine bessere Performance liefern. Darüber hinaus ist es einfacher mit den angepassten Modellen zu interagieren, da keine spezielle Promptvorlage und Abbruchkriterien notwendig sind. In allen untersuchten Anwendungsfällen haben die Open Source Sprachmodelle besser abgeschnitten und konnten im Fall des MPT-Modells sogar funktionierenden Python-Code erzeugen.

Nähere Informationen in unserem -> Beitrag