23 Punkte von xguru 2023-08-28 | 1 Kommentare | Auf WhatsApp teilen
  • 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

 
xguru 2023-08-28

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.