In-context learning ist die Fähigkeit eines Sprachmodells, sein Verhalten an eine neue Aufgabe anzupassen, die ausschließlich auf dem Inhalt seines Prompts basiert, ohne dass die Parameter des Modells aktualisiert werden. Ein Benutzer kann Anweisungen, Beispiele oder unterstützende Dokumente innerhalb des Kontextfensters einer einzelnen Konversation bereitstellen, und das Modell konditioniert seine nächste Ausgabe auf dieses Material, als wäre es für die Aufgabe trainiert worden, obwohl tatsächlich kein Training stattgefunden hat. Es ist der Mechanismus, der sowohl dem Few-Shot-Learning als auch dem Zero-Shot-Learning-Prompting zugrunde liegt, und es ist eines der folgenreichsten Verhaltensweisen, die in modernen Transformer-basierten Large-Language-Modell-Systemen beobachtet wurden.
Das Phänomen wurde prominent im GPT-3-Paper von 2020 hervorgehoben, das zeigte, dass ein ausreichend großes vortrainiertes Modell neue Aufgaben aus einer Handvoll Prompt-Beispielen ohne Gradienten-Updates ausführen konnte. Da dies oberflächlich so aussah, als würde das Modell innerhalb eines einzigen Vorwärtsdurchlaufs „lernen“, wurde der Begriff In-context Learning übernommen, um es vom gewöhnlichen Training zu unterscheiden, das die Gewichte verändert, sowie vom Transfer-Lernen oder Feinabstimmung, die ebenfalls einen expliziten Optimierungsschritt auf aufgabenspezifischen Daten erfordern.
Funktionsweise
Es gibt keine einheitliche, gesicherte mechanistische Erklärung für In-context Learning, aber mehrere komplementäre Ansätze werden weithin zitiert. Eine Sichtweise behandelt es als eine Form des impliziten Musterabgleichs: Da das Vortraining-Korpus des Modells unzählige Beispiele für erklärte, demonstrierte und in Text gelöste Aufgaben enthält, hat das Modell ein allgemeines Verfahren gelernt, um Sequenzen von „Aufgabe, Beispiele, dann eine neue Instanz“ auf eine Weise fortzusetzen, die dem impliziten Muster entspricht. Eine eher mechanistische Linie der Interpretierbarkeitsforschung hat vorgeschlagen, dass der Aufmerksamkeitsmechanismus in Transformatoren intern etwas Ähnliches wie einen einfachen Lernalgorithmus implementieren kann, indem er effektiv eine leichte Form der Mustervervollständigung oder sogar eine gradientenabstiegsähnliche Berechnung über die Token im Prompt durchführt, obwohl dies ein aktives und umstrittenes Forschungsgebiet bleibt, das mit der breiteren Interpretierbarkeitsforschung verbunden ist. In-context Learning ist auch eng mit der Entstehung von Fähigkeiten mit Skalierung verbunden, die unter Emergenten Fähigkeiten diskutiert werden, da kleinere Modelle tendenziell weit weniger von zusätzlichem Kontext profitieren als ausreichend große.
Anwendungen
In-context Learning liegt den meisten praktischen Anwendungen des Prompt-Engineerings zugrunde, einschließlich Few-Shot-Demonstrationen, Rollen- und Personen-Anweisungen über einen System-Prompt sowie der Bereitstellung von Referenzmaterial direkt im Prompt, damit das Modell Fragen dazu beantworten kann - ein Muster, das sich zu Retrieval-Augmented Generation ausweitet, wenn das Referenzmaterial dynamisch aus einer externen Quelle abgerufen wird, anstatt von Hand eingefügt zu werden. Es ermöglicht auch einen schnellen Aufgabenwechsel innerhalb einer einzelnen Konversation: Ein Chat-Assistent kann vom Schreiben von Code zum Übersetzen eines Absatzes und zum Zusammenfassen eines Dokuments wechseln, allein weil jede neue Anweisung das Verhalten des Modells neu konditioniert, ohne dass zwischen den Turns ein erneutes Training erforderlich ist.
Grenzen und Bedeutung
In-context Learning ist durch die Größe des Kontextfensters begrenzt und neigt dazu, sich zu verschlechtern, wenn die Informationsmenge im Prompt sehr groß wird oder wenn relevante Details in der Mitte einer langen Eingabe vergraben sind - ein Effekt, der informell manchmal als „Verlieren des Überblicks“ über den Kontext beschrieben wird. Es ist auch nicht persistent: Da sich keine Gewichte ändern, wird alles, was im Kontext gelernt wurde, vergessen, sobald die Konversation endet oder der Kontext gelöscht wird, im Gegensatz zur Feinabstimmung, die eine dauerhafte Änderung am Modell bewirkt. Trotz dieser Grenzen gilt In-context Learning als eine der wichtigsten Eigenschaften der Transformer-Architektur für den praktischen Einsatz, da es einem einzelnen Allzweckmodell ermöglicht, zur Inferenzzeit für eine praktisch unbegrenzte Bandbreite von Aufgaben umfunktioniert zu werden, ohne die Kosten, Verzögerungen oder Infrastruktur, die ein erneutes Training oder eine Feinabstimmung erfordern würden.