Zwei verschiedene Probleme
Ein Sprachmodell kann auf zwei Arten scheitern. Ihm kann Wissen fehlen: Es kennt Ihre Produkte, Richtlinien, Verträge nicht oder weiß nicht, was sich letzte Woche geändert hat. Oder es kann sich falsch verhalten: Es weiß genug, antwortet aber im falschen Format, im falschen Ton oder macht bei einer Aufgabe immer wieder denselben Fehler.
Retrieval-Augmented Generation, meist RAG genannt, löst das erste Problem. Nachtraining löst das zweite. Das eine einzusetzen, um das andere zu lösen, ist der häufigste und teuerste Fehler in KI-Projekten.
Die Verwechslung ist verständlich, weil beides so beschrieben wird, als gäbe man dem Modell Ihre Daten. Der Unterschied ist, wo die Daten landen. Bei Retrieval bleiben sie in Ihren Dokumenten und werden für jede Frage frisch geholt. Beim Nachtraining gehen sie in die Gewichte des Modells ein, wo sie prägen, wie das Modell schreibt, sich aber nicht zeigen, korrigieren oder entfernen lassen, ohne erneut zu trainieren.
| Symptom | Wahrscheinliches Problem | Wahrscheinliche Lösung |
|---|---|---|
| Es kennt unsere Produkte, Preise oder Richtlinien nicht | Wissen | Retrieval |
| Es gibt Antworten, die letztes Jahr stimmten | Wissen | Retrieval |
| Wir müssen sehen, woher jede Antwort kommt | Wissen | Retrieval |
| Es ignoriert unser Berichtsformat, egal wie wir fragen | Verhalten | Bessere Prompts, dann Nachtraining |
| Es kennzeichnet Tickets uneinheitlich | Verhalten | Nachtraining mit gekennzeichneten Beispielen |
| Es liegt richtig, klingt aber überhaupt nicht nach uns | Verhalten | Nachtraining mit Beispielen unserer Texte |
Was Retrieval tut
Bei Retrieval lernt das Modell Ihre Dokumente nicht auswendig. Kommt eine Frage, durchsucht das System Ihre Dokumente nach den Abschnitten, die sie am wahrscheinlichsten beantworten, und gibt sie dem Modell zusammen mit der Frage. Das Modell antwortet aus dem, was es bekommen hat, und die Anwendung zeigt, welche Abschnitte es genutzt hat.
Der Ansatz wurde in einem Forschungspapier von 2020 dargelegt, das festhielt, dass für Modelle, die sich nur auf ihr Training stützen, Quellenangaben für ihre Antworten und die Aktualisierung ihres Wissens offene Probleme waren, und das ein Modell mit einem expliziten, durchsuchbaren Gedächtnis kombinierte, um sie anzugehen [1]. Genau diese zwei Eigenschaften sind Unternehmen wichtig: Antworten, die Sie prüfen können, und Wissen, das in dem Moment aktuell ist, in dem sich ein Dokument ändert.
- 01
Sammeln und bereinigen
Tragen Sie die Dokumente zusammen, aus denen das Modell antworten soll, und legen Sie fest, wer welche sehen darf. Veraltete und doppelte Dokumente sind die Hauptursache schlechter Antworten.
- 02
Zerlegen und indexieren
Zerlegen Sie Dokumente in Abschnitte und speichern Sie für jeden eine numerische Darstellung für die Suche. pgvector etwa ergänzt Postgres um eine Vektor-Ähnlichkeitssuche, sodass der Index in einer Datenbank liegen kann, die Sie schon betreiben [4].
- 03
Abrufen
Finden Sie für jede Frage die besten Abschnitte, meist durch eine Kombination aus bedeutungsbasierter Suche und Stichwortsuche, und beachten Sie die Berechtigungen der fragenden Person.
- 04
Mit Quellen antworten
Geben Sie die Abschnitte dem Modell mit der Anweisung, nur daraus zu antworten und sie zu zitieren, und zeigen Sie die Quellenangaben dem Nutzer.
- 05
Synchron halten
Indexieren Sie Dokumente neu, wenn sie sich ändern, und entfernen Sie sie, wenn sie ausgemustert werden.
Was Retrieval gut oder schlecht macht
Gibt ein Retrieval-System eine schlechte Antwort, ist das Modell selten der Schuldige. Weit häufiger wurde der richtige Abschnitt nie gefunden, oder er wurde zusammen mit mehreren falschen gefunden. Die Arbeit, die Antworten verbessert, ist vor allem Sucharbeit.
- Dokumente sinnvoll zerlegen: nach Abschnitt und Überschrift statt nach fester Länge, damit ein Abschnitt seinen eigenen Kontext mitträgt.
- Metadaten behalten: Titel, Datum, Verantwortliche und Zielgruppe des Dokuments, damit die Suche die aktuelle Richtlinie der vom letzten Jahr vorziehen kann.
- Suchmethoden kombinieren: Bedeutungsbasierte Suche findet Umschreibungen, Stichwortsuche findet Teilenummern und Namen. Die meisten guten Systeme nutzen beides.
- Neu ordnen: ein zweiter, sorgfältigerer Durchgang über die besten Treffer, bevor sie das Modell erreichen.
- „Ich weiß es nicht“ sagen: Wird nichts Relevantes gefunden, sollte der Assistent das sagen und einen Menschen anbieten, statt aus allgemeinem Wissen zu antworten.
Was Nachtraining tut
Nachtraining trainiert ein bestehendes Modell mit Beispielen der Aufgabe weiter: Eingaben, gepaart mit den Ausgaben, die Sie wollen. Der Leitfaden von OpenAI nennt Einsätze wie ein einheitliches Antwortformat, Klassifizierung, Inhalte in einem bestimmten Format, die Korrektur von Fehlern beim Befolgen von Anweisungen und das Treffen eines Tons und Stils, und er hält fest, dass Prompting allein schon genügen kann [2]. Dieser letzte Punkt zählt. Probieren Sie klare Anweisungen und ein paar gute Beispiele im Prompt, bevor Sie irgendetwas trainieren.
Nachtraining ist viel leichter geworden, als es war. Verfahren wie LoRA trainieren kleine zusätzliche Gewichte statt des ganzen Modells; seine Autoren berichten, dass sich die Zahl der trainierbaren Parameter um das 10.000-Fache und der nötige GPU-Speicher um das 3-Fache verringert, verglichen mit dem vollständigen Nachtraining eines sehr großen Modells [3]. Das macht das Nachtraining eines offenen Modells mit Ihren eigenen Beispielen zu einem praktischen Projekt statt zu einem Forschungsprogramm.
- Es braucht Beispiele: einige hundert bis einige tausend gute Paare aus Eingabe und Ausgabe, geprüft von Menschen, die die Aufgabe kennen.
- Es bringt Fakten nicht zuverlässig bei. Ein nachtrainiertes Modell kann weiterhin Details erfinden, und es kann nicht sagen, woher eine Antwort stammt.
- Es muss wiederholt werden, wenn sich die Aufgabe ändert oder Sie auf ein neueres Basismodell wechseln.
Wie Sie wählen
- 01
Zuerst die Bewertung schreiben
Sammeln Sie echte Fragen oder Aufgaben mit guten Antworten. Ohne sie können Sie nicht sagen, ob eine Änderung geholfen hat.
- 02
Prompting probieren
Klare Anweisungen, ein festgelegtes Ausgabeformat und ein paar Beispiele lösen mehr Verhaltensprobleme, als man erwartet.
- 03
Retrieval ergänzen, wenn Antworten Ihr Wissen brauchen
Braucht das Modell Fakten, mit denen es nie trainiert wurde, oder Fakten, die sich ändern, ist Retrieval die Lösung. Messen Sie erneut.
- 04
Nachtrainieren, wenn das Verhalten weiter falsch ist
Hat das Modell die richtigen Informationen, trifft aber weiter Format, Kennzeichnungen oder Ton nicht, und haben Sie die Beispiele, trainieren Sie nach. Messen Sie erneut.
- 05
Aufhören, wenn die Bewertung es sagt
Jeder Schritt kostet Aufwand im Bau und in der Pflege. Hören Sie beim ersten auf, der die gesetzte Messlatte erreicht.
Wenn Sie beides brauchen
Manche Projekte brauchen Wissen und Verhalten zugleich. Ein Supportassistent muss vielleicht aus dem aktuellen Hilfe-Center antworten (Retrieval), in der Stimme des Unternehmens und in einer strengen Struktur, die das Supportsystem auslesen kann (Nachtraining). Ein Werkzeug zur Vertragsprüfung muss vielleicht die relevanten Klauseln finden (Retrieval) und sie so gegen einen Leitfaden einordnen, wie es das eigene Team des Kunden tut (Nachtraining).
In diesen Fällen bauen wir zuerst Retrieval, weil es den größeren Teil der Fehler behebt und leichter zu ändern ist, und trainieren ein Modell nach, damit es die abgerufenen Abschnitte so nutzt, wie die Aufgabe es verlangt. Der Prüfsatz deckt beides ab: Hat es die richtigen Abschnitte gefunden, und hat es sie richtig genutzt?
Mit jeder Wahl leben
Die beiden Ansätze unterscheiden sich auch nach dem Start. Ein Retrieval-System wird gepflegt wie eine Suchmaschine: Dokumente werden ergänzt, geändert und ausgemustert, und der Index folgt. Wer die Quelldokumente bearbeitet, aktualisiert damit faktisch den Assistenten, und das ist meist, was ein Unternehmen will. Seine Betriebskosten sind das Modell plus eine bescheidene Datenbank.
Ein nachtrainiertes Modell wird gepflegt wie ein angelernter Kollege: Ändert sich die Aufgabe, braucht es neue Beispiele und einen weiteren Trainingslauf, und die neue Version muss die Bewertung bestehen, bevor sie die alte ersetzt. Ist es ein offenes Modell, braucht es außerdem jeden Monat GPUs für den Betrieb. Beides ist nicht schwer, aber es sind verschiedene Verpflichtungen, und die Beispiele unten zeigen den Unterschied bei den Betriebskosten.
Drei Projekte, nach unserer Preisliste berechnet
Die durchgerechneten Beispiele unten zeigen die Spanne nach unserer heutigen Preisliste, mit Entwicklung und monatlichen Betriebskosten. Sie werden berechnet, wenn Sie die Seite öffnen.
Durchgerechnetes Beispiel, jetzt berechnet
Retrieval auf einem Spitzenmodell
Ein Assistent für Mitarbeitende, der mit Quellenangaben aus den Dokumenten des Unternehmens antwortet, auf einem Spitzenmodell über dessen API. Upload, Suche und Berechtigungen inklusive.
- Entwicklung
- ≈ 66.700 USD bis 102.000 USD, delivered within 18 weeksCAD 95,000 to 145,300
Preise in Ihrer Währung sind Schätzungen zum heutigen Kurs der Bank of Canada. Alle Rechnungen werden in CAD oder USD gestellt.
Betrieb
- Hosting
- ≈ 558 USD im MonatCAD 795 im Monat
- Support
- ≈ 1.000 USD im MonatCAD 1,425 im Monat
- Laufende Modellkosten
- ≈ 383 USD im MonatCAD 545 im Monat
Durchgerechnetes Beispiel, jetzt berechnet
Ein nachtrainiertes Modell für eine Aufgabe
Ein offenes Modell, auf den gekennzeichneten Beispielen des Unternehmens nachtrainiert, um eingehende Anfragen in einem festen Format zu klassifizieren und weiterzuleiten, auf gemieteten GPUs betrieben und an das bestehende Ticketsystem angebunden.
- Entwicklung
- ≈ 104.000 USD bis 159.000 USD, delivered within 29 weeksCAD 148,300 to 226,200
Preise in Ihrer Währung sind Schätzungen zum heutigen Kurs der Bank of Canada. Alle Rechnungen werden in CAD oder USD gestellt.
Betrieb
- Hosting
- ≈ 4.360 USD im MonatCAD 6,210 im Monat
- Support
- ≈ 1.000 USD im MonatCAD 1,425 im Monat
- Laufende Modellkosten
- ≈ 4.190 USD im MonatCAD 5,960 im Monat
Durchgerechnetes Beispiel, jetzt berechnet
Retrieval und Nachtraining zusammen
Ein Supportassistent auf einem nachtrainierten offenen Modell, der mit Quellenangaben aus dem aktuellen Hilfe-Center antwortet, in der Stimme des Unternehmens und in einer Struktur, die das Supportsystem lesen kann.
- Entwicklung
- ≈ 128.000 USD bis 195.000 USD, delivered within 33 weeksCAD 182,100 to 277,900
Preise in Ihrer Währung sind Schätzungen zum heutigen Kurs der Bank of Canada. Alle Rechnungen werden in CAD oder USD gestellt.
Betrieb
- Hosting
- ≈ 4.360 USD im MonatCAD 6,210 im Monat
- Support
- ≈ 1.000 USD im MonatCAD 1,425 im Monat
- Laufende Modellkosten
- ≈ 4.190 USD im MonatCAD 5,960 im Monat
Vergleichen Sie die Monatszeilen. Das Retrieval-Beispiel zahlt Tokens nach Nutzung; die zwei nachtrainierten Beispiele zahlen für einen GPU-Server, ob er ausgelastet ist oder nicht. Für ein Team von einigen Dutzend Menschen, die Fragen stellen, ist Retrieval auf einem Spitzenmodell meist der vernünftige Anfang. Öffnen Sie ein Beispiel im Rechner, um den Verkehr oder die Betriebsart zu ändern und zu sehen, wo sich das Gleichgewicht für Sie verschiebt.
Fallstricke, die Sie vermeiden sollten
- Mit Ihren Dokumenten nachtrainieren und erwarten, dass das Modell sie zitiert. Es lernt den Stil Ihrer Dokumente, nicht zuverlässig ihren Inhalt.
- Alles indexieren. Ein Retrieval-System über jede Datei eines gemeinsamen Laufwerks findet alte, doppelte und widersprüchliche Abschnitte. Erst auswählen.
- Berechtigungen ignorieren. Darf eine Person ein Dokument nicht öffnen, darf der Assistent es ihr nicht zitieren. Filtern Sie beim Abrufen.
- Kein Prüfsatz. Ohne einen ist jede Änderung geraten, und ein Modell-Upgrade kann die Dinge still verschlechtern.
- Die Pflege vergessen. Retrieval braucht aktuelle Dokumente; Nachtraining braucht neues Training, wenn sich die Aufgabe oder das Basismodell ändert.