- Sieben Kernmuster werden entlang der Achsen „Leistungssteigerung vs. Kosten-/Risikoreduzierung“ und „datenfreundlich vs. benutzerfreundlich“ geordnet
- Evals: Leistung messen
- RAG (Retrieval-Augmented Generation): aktuelles, externes Wissen hinzufügen
- Fine-tuning: um bestimmte Aufgaben besser zu erfüllen
- Caching: Latenz und Kosten senken
- Guardrails: Ausgabequalität sicherstellen
- Defensive UX: Fehler vorhersagen und handhaben
- User-Feedback sammeln: ein Daten-Flywheel aufbauen
Evals: Leistung messen
- Evals sind eine Reihe von Messwerten, die verwendet werden, um die Leistung eines Modells bei einer Aufgabe zu bewerten
- Enthält Benchmark-Daten und Metriken
- Damit lässt sich messen, wie gut ein System oder Produkt funktioniert, und Regressionen können erkannt werden
- Im Bereich Language Modeling gibt es viele Benchmarks: MMLU, EleutherAI Eval, HELM, AlpacaEval
- Metriken lassen sich in zwei Kategorien einteilen: context-dependent oder context-free
- Häufig verwendete Metriken: BLEU, ROUGE, BERTScore, MoverScore
- Ein aktueller Trend ist, starke LLMs als reference-free metric zu verwenden, um die Generierungen anderer LLMs zu bewerten
- G-Eval, Vicuna-Paper, QLoRA
RAG (Retrieval-Augmented Generation): aktuelles, externes Wissen hinzufügen
- Informationen werden von außerhalb des Foundation Models geholt und der Input mit diesen Daten angereichert, um reichhaltigeren Kontext bereitzustellen und so die Ausgabe zu verbessern
- RAG hilft, Halluzinationen zu verringern und die Faktentreue zu erhöhen, indem das Modell auf dem abgerufenen Kontext basiert
- Außerdem ist es günstiger, einen Suchindex aktuell zu halten, als ein LLM kontinuierlich weiter vorzutrainieren
- Aufgrund dieser Kosteneffizienz kann ein LLM über RAG auf aktuelle Daten zugreifen
- Wenn Daten wie verzerrte oder schädliche Dokumente aktualisiert oder entfernt werden müssen, ist es einfacher, den Suchindex zu aktualisieren als das LLM feinzujustieren
- Für RAG ist es hilfreich, zunächst Text Embeddings zu verstehen
- Text Embeddings sind komprimierte abstrakte Repräsentationen von Textdaten, mit denen sich Text beliebiger Länge als numerischer Vektor fester Größe darstellen lässt
- Sie werden im Allgemeinen auf Textkorpora wie Wikipedia trainiert
- Man kann sie als allgemeine Encodierung von Text betrachten, bei der ähnliche Einträge nahe beieinander und unähnliche weiter voneinander entfernt liegen
- Gute Embeddings leisten bei Downstream-Aufgaben wie der Suche nach ähnlichen Einträgen gute Arbeit
- Hugging Faces Massive Text Embedding Benchmark (MTEB) bewertet Modelle in verschiedenen Aufgaben wie Klassifikation, Clustering, Suche und Zusammenfassung
- Hier geht es hauptsächlich um Text Embeddings, aber Embeddings können auch für verschiedene Modalitäten verwendet werden
- Fusion-in-Decoder (FiD) verwendet für Open-Domain-QA generative Modelle zusammen mit Suche
- Internet-augmented LMs schlagen vor, bestehende Suchmaschinen zur Verstärkung von LLMs zu nutzen
- Methoden zur Anwendung von RAG
- Hybridsuche (traditioneller Suchindex + embeddingbasierte Suche) funktioniert besser als jede der beiden Methoden für sich allein
Fine-tuning: um bestimmte Aufgaben besser zu erfüllen
- Fine-tuning ist der Prozess, ein vortrainiertes Modell zu nehmen (ein Modell, das bereits mit großen Datenmengen trainiert wurde) und es für eine bestimmte Aufgabe weiter zu verfeinern
- Dabei wird das Wissen genutzt, das das Modell im Pretraining bereits erworben hat, um es auf eine konkrete Aufgabe anzuwenden, die in der Regel einen kleineren aufgabenspezifischen Datensatz umfasst
- Der Begriff Fine-tuning wird recht lose verwendet und steht für verschiedene Konzepte
- kontinuierliches Pretraining
- Instruction Fine-tuning
- Single-Task Fine-tuning
- RLHF
- Warum Fine-tuning?
- Leistung und Kontrolle:
- Die Leistung eines Standard-Foundation-Modells kann verbessert werden, teilweise sogar über die Fähigkeiten von Third-Party-LLMs hinaus
- Das Verhalten des LLM lässt sich besser steuern, wodurch das System oder Produkt leistungsfähiger wird
- Durch Fine-tuning lassen sich Produkte aufbauen, die sich von der bloßen Nutzung eines Third-Party- oder Open-Source-LLM unterscheiden
- Modularität:
- Mit Single-Task-Fine-tuning lässt sich eine Flotte kleinerer Modelle aufbauen, die jeweils auf eine eigene Aufgabe spezialisiert sind
- In so einer Konfiguration lässt sich ein System in Tasks wie Content-Moderation, Extraktion und Zusammenfassung modularisieren
- Weniger Abhängigkeiten:
- Durch Fine-tuning und Hosting eigener Modelle lassen sich rechtliche Probleme rund um proprietäre Daten, die externen APIs ausgesetzt werden (z. B. PII, interne Dokumente und Code), reduzieren
- Außerdem können Einschränkungen von Third-Party-LLMs wie Rate Limits, hohe Kosten oder übermäßig restriktive Sicherheitsfilter überwunden werden
- Generative Pre-trained Transformers (GPT; decoder only)
- Text-to-text Transfer Transformer (T5; encoder-decoder)
- InstructGPT
- Soft prompt tuning & Prefix Tuning
- Low-Rank Adaptation (LoRA) & QLoRA
- Methoden zur Anwendung von Fine-tuning
- Demo-Daten/Labels sammeln
- Bewertungsmetriken definieren
- Vortrainiertes Modell auswählen
- Modellarchitektur aktualisieren
- Fine-tuning-Methode wählen (LoRA, QLoRA usw.)
- Basis-Hyperparameter abstimmen
Caching: Latenz und Kosten senken
- Caching ist eine Technik zum Speichern zuvor abgerufener oder berechneter Daten
- Künftige Anfragen nach denselben Daten können dadurch schneller verarbeitet werden
- Bei LLMs bedeutet das, die LLM-Antwort auf das Embedding einer Eingabeanfrage zu cachen und bei einer semantisch ähnlichen Folgeanfrage die gecachte Antwort auszuliefern
- Einige Praktiker sagen jedoch, das sei so, als würde man „auf eine bevorstehende Katastrophe warten“. Dem stimme ich zu
- Der Schlüssel zur Einführung von Caching-Mustern besteht darin, sichere Caching-Strategien zu finden, statt sich nur auf semantische Ähnlichkeit zu verlassen
- Warum cachen? Um Latenz zu reduzieren und Kosten durch weniger LLM-Anfragen zu sparen
- Wie lässt sich Caching anwenden?
- Man sollte damit beginnen, die Anfrage- und Nutzungsmuster der Nutzer gut zu verstehen
- Dann prüfen, ob Caching für diese Nutzungsmuster effektiv ist
Guardrails: Ausgabequalität sicherstellen
- Die Ausgaben eines LLM werden überprüft, damit sie nicht nur gut aussehen, sondern auch syntaktisch korrekt, faktentreu und frei von schädlichen Inhalten sind
- Warum braucht man Guardrails?
- Sie helfen sicherzustellen, dass Modellausgaben zuverlässig und konsistent genug für den produktiven Einsatz sind
- Sie bieten eine zusätzliche Sicherheitsschicht und helfen, die Qualitätskontrolle über die LLM-Ausgaben aufrechtzuerhalten
- Ein Ansatz besteht darin, die Antwort des Modells über den Prompt zu steuern
- Anthropic hat Prompts geteilt, die das Modell dazu anleiten sollen, hilfreiche, harmlose und ehrliche (HHH) Antworten zu erzeugen
- Ein allgemeinerer Ansatz ist die Validierung der Ausgabe (zum Beispiel mit dem Guardrails-Paket)
- Nvidias NeMo-Guardrails folgt ähnlichen Prinzipien, ist aber darauf ausgelegt, LLM-basierte Dialogsysteme zu steuern
- Wie bei Microsofts Guidance lässt sich die Ausgabe auch direkt so anpassen, dass sie einer bestimmten Grammatik folgt (man kann es als DSL für LLMs betrachten)
- Methoden zur Anwendung von Guardrails
- Structural guidance
- Syntactic guardrails
- Content safety guardrails
- Semantic/factuality guardrails
- Input guardrails
Defensive UX: Fehler vorhersagen und handhaben
- Defensive UX ist eine Designstrategie, die anerkennt, dass bei der Interaktion mit ML- oder LLM-basierten Produkten Dinge wie Ungenauigkeiten oder Halluzinationen auftreten können
- Das Ziel ist vor allem, solche Fälle im Voraus zu antizipieren und zu handhaben, indem Nutzerverhalten gelenkt, Missbrauch verhindert und Fehler angemessen behandelt werden
- Warum Defensive UX?
- Machine Learning und LLMs sind nicht perfekt und können ungenaue Ergebnisse erzeugen
- Sie reagieren auf dieselbe Frage unterschiedlich
- Defensive UX hilft, diese Probleme zu mindern, indem sie Folgendes bietet
- bessere Zugänglichkeit, höheres Vertrauen, bessere UX
- Siehe dazu auch die von Unternehmen zusammengetragenen Leitlinien
- Microsoft’s Guidelines for Human-AI Interaction
- Google’s People + AI Guidebook
- Apple’s Human Interface Guidelines for Machine Learning
- Methoden zur Anwendung von Defensive UX
- die richtigen Erwartungen setzen
- effizientes Dismissal ermöglichen
- Attribution bereitstellen
- an Vertrautem anknüpfen
User-Feedback sammeln: ein Daten-Flywheel aufbauen
- Das Sammeln von Nutzerfeedback hilft, die Präferenzen der Nutzer zu verstehen
- Für LLM-Produkte spezifisches Nutzerfeedback trägt zu Evaluierung, Fine-tuning und dem Aufbau von Guardrails bei
- Daten wie Korpora für das Pretraining, von Experten erstellte Demos oder menschliche Präferenzen für Reward Modeling gehören zu den wenigen Moats von LLM-Produkten
- Feedback kann explizit oder implizit sein
- Explizites Feedback sind Informationen, die Nutzer als Antwort auf eine Aufforderung des Produkts geben
- Implizites Feedback sind Informationen, die aus Nutzerinteraktionen gelernt werden, ohne dass Nutzer absichtlich Feedback geben müssen
- Warum Nutzerfeedback sammeln?
- Nutzerfeedback hilft, das Modell zu verbessern
- Indem man lernt, was Nutzer mögen, nicht mögen oder beanstanden, kann das Modell verbessert werden, um ihre Anforderungen besser zu erfüllen
- Außerdem kann es sich an individuelle Präferenzen anpassen
- Feedback-Loops helfen auch dabei, die Gesamtleistung des Systems zu bewerten
- Wie sammelt man Nutzerfeedback?
- Es Nutzern leicht machen, Feedback zu hinterlassen: wie bei ChatGPT mit Daumen hoch/runter für Antworten
- Auch implizites Feedback berücksichtigen: Informationen, die entstehen, wenn Nutzer mit dem Produkt interagieren
1 Kommentare
Im eigentlichen Artikel gibt es ausführliche Erklärungen zu jedem Punkt sowie zu den Algorithmen/Metriken, die hier jedoch ausgelassen wurden.
Verschaffen Sie sich mit diesem Artikel nur grob einen Überblick über die Zusammenfassung und ziehen Sie auch den Originaltext zurate.