Performance von LLMs
Die Performance bezieht sich darauf, wie gut und wie schnell ein LLM darin ist, Aufgaben zu erfüllen. Diese Definition ist etwas schwammig, was daran liegt, dass Performance im Kontext von LLMs nicht direkt messbar ist.
Für allgemeine Aufgaben hat zum heutigen Stand das Closed Source Modell GPT-4o die Nase vorne. Auf Dashboards wie z.B. dem vom AlpacaFarm oder fasteval, werden Modelle direkt miteinander verglichen, indem ein Testdatensatz ausgewertet wird. Dabei werden die Modelle für anspruchsvollere Aufgaben angewandt.
Ein Beispiel hierfür ist der Vergleich beim Anwenden der «chain of thought» Prompting-Methode, bei welchem das LLM dazu aufgefordert wird, die eigenen Überlegungen zu erläutern. Andere Ansätze, um die Modelle miteinander zu vergleichen, werten Prompts für realistische Anwendungen aus.
Geschwindigkeit von LLMs
Ein weiterer Performance-Indikator ist die Latenz, welche angibt, wie schnell ein LLM neue Tokens generieren kann. LLMs bestehen aus vielen Layern an Weights. Diese Layers werden nacheinander vom Arbeitsspeicher in die CPU eingelesen und mit den vorliegenden Tokens verrechnet.
Aus Hardware-Sichtweise ergeben sich damit zwei potenzielle Bottlenecks: Die Rechenleistung (Anzahl FLOPS) als auch die Speicherbandbreite, um Weights vom Arbeitsspeicher in den on-chip Speicher zu laden.
Je nach Anwendung spielt entweder die Rechenleistung oder die Bandbreite die entscheidende Rolle für die Latenz: Bei kleiner Batch-Grösse, d.h. wenn Requests an das LLM sequenziell verarbeitet werden, ist die Bandbreite der einschränkende Faktor.
Möchte man mehrere Requests mit dem LLM parallel verarbeiten (eine ähnliche Situation wie das Training des LLM), lohnt es sich, die Weights zu cachen, um mehrere Abfragen gleichzeitig zu bearbeiten. Dann wiederum ist die Rechenleistung entscheidend.
Kurzum: Für die Latenz kommt es darauf an, ob die Requests parallel oder sequenziell verarbeitet werden müssen und mit welcher Hardware das LLM gehostet bzw. betrieben wird. Hier liegt ein entscheidender Vorteil beim Einsatz von Closed Source Modellen, da die Latenz vom Drittanbieter mit aufwändigen Verfahren optimiert wird.
Kontext Länge von LLMs
Eine weitere wichtige Eigenschaft, um ein LLM zu beschreiben, ist die Länge des Kontexts, so etwas wie die Aufmerksamkeitsspanne des LLMs. Die Kontextlänge eines LLMs ist entscheidend für die Verwendung, denn diese gibt an, wie viel Information maximal in einem Prompt gespeichert und verarbeitet werden kann.
LLMs basieren auf der Transformer-Architektur, bei welchem jedes Token wird mit jedem anderen Token korreliert wird. Daher ist es keine einfache Aufgabe, die Kontextlänge von LLMs zu skalieren.
Eine kürzere Kontextlänge bedeutet, dass höchstens kleinere Code Snippets oder Textabschnitte verarbeitet werden können, während die momentan besten Modelle mit einem Context Window von 128k Tokens sogar kleinere Code Libraries oder Bücher auf einmal verarbeiten können.
Sowohl im Open als auch im Closed Source Bereich gibt es Modelle mit Kontextlängen in den Grössenordnungen von 1k bis 100k Tokens, so dass für jede Anwendung ein passendes Modell gewählt werden kann.
Integrationsmöglichkeiten von LLMs
Auch bezüglich des Integrationsaufwands ist es ziemlich klar, dass die Einbindung über eine API am einfachsten ist. LLMs lassen sich direkt aus der Public Cloud aus aufrufen und die Public Cloud ist ein fester Bestandteil bei vielen Unternehmen.
Llama ist beispielsweise ebenfalls verfügbar im Azure AI Modellkatalog. So kann man sich für eine Open Source Variante entscheiden, ohne dass man sich darum kümmern muss, eine eigene Infrastruktur aufzubauen.
Alternativ kann so auch ein Proof of Concept erstellt und erst später die eigene Infrastruktur nachgezogen werden. Entscheidet man sich hierfür, so lässt sich ein Open Source Modell entweder lokal ausführen (Llama mit 7 oder 13 Milliarden Weights können z.B. mit einer Latenz von 10-20 Tokens pro Sekunde auf einem MacBook Pro mit Apple Silicon verwendet werden) oder in die Private Cloud einbinden und intern im Unternehmen als API zur Verfügung stellen.