Große Sprachmodelle (LLMs) beeindrucken zunehmend mit ihren Fähigkeiten in verschiedenen Bereichen wie Rollenspielen, kreativem Schreiben, mathematischem Denken und Programmieren. Trotz dieser Fortschritte stoßen LLMs bei der Längensteuerung auf Herausforderungen und halten sich oft nicht an vorgegebene Längenbeschränkungen. Dies liegt an ihren tokenbasierten Operationen und unzureichendem Training mit Daten, die strikte Längenbegrenzungen aufweisen.
LLMs: Probleme mit der Längensteuerung und neue Lösungsansätze
Ein Forschungsteam identifiziert dieses Problem als Mangel an Positionsbewusstsein und schlägt neuartige Ansätze vor, um dem entgegenzuwirken: PositionID-Prompting und PositionID-Feinabstimmung. Diese Methoden verbessern die Fähigkeit des Modells, die Textlänge während der Generierung kontinuierlich zu überwachen und zu verwalten.
Positionsbewusstsein: Der Schlüssel zur Längensteuerung
Die Forscher gehen davon aus, dass die schwache Einhaltung von Längensteuerungsanweisungen durch die LLMs auf zwei Hauptprobleme zurückzuführen ist:
- Die Tokenisierung des Modells erfolgt typischerweise auf Token-Ebene und nicht auf Wort-Ebene, was die Wahrnehmung der Wortzahl durch das Modell verzerren kann.
- Die Trainingsdaten enthalten möglicherweise nur wenige Beispiele mit strikten Längenbeschränkungen (z. B. in 3 Wörtern), während die meisten Daten eher allgemeine Anforderungen an die Längensteuerung widerspiegeln, wie z. B. "kurz" oder "lang".
Intuitiv erfordert die Längensteuerung ein Verständnis der Positionsbeziehungen innerhalb des Textes. Wenn ein Modell beispielsweise die Aufgabe hat, eine Zusammenfassung mit einer Länge von genau 50 Wörtern zu erstellen, muss es die Anzahl der bisher generierten Wörter und die Anzahl der verbleibenden Wörter kontinuierlich überwachen, um die gewünschte Länge zu erreichen. Dies beinhaltet die Verfolgung des Fortschritts (d. h. die Anzahl der generierten Wörter) innerhalb des Textes, um sicherzustellen, dass das vorgegebene Limit eingehalten wird. Der Fokus des Modells auf Operationen auf Token-Ebene und das Fehlen von strikt längenbeschränkten Trainingsbeispielen beeinträchtigen jedoch seine Fähigkeit, seinen Fortschritt innerhalb des Textes effektiv und genau zu überwachen, was zu Ungenauigkeiten bei der Befolgung von Längensteuerungsanweisungen führt.
PositionID: Ein Ansatz zur Verbesserung des Positionsbewusstseins
Um diese Probleme zu lösen, wurden die Ansätze PositionID-Prompting und PositionID-Feinabstimmung entwickelt, um das Positionsbewusstsein des Modells zu verbessern.
Bei diesen Ansätzen wird die PositionID verwendet, um die Position jeder Einheit im Text zu kennzeichnen, wobei die Einheit je nach den spezifischen Anforderungen als Wort, Satz, Absatz usw. definiert werden kann. Beispielsweise wird auf der Wortebene jedem Wort eine eindeutige PositionID zugewiesen, um seine Position in der Sequenz anzuzeigen. So kann der Satz "Der schnelle braune Fuchs springt über den faulen Hund" in "Der[1] schnelle[2] braune[3] Fuchs[4] springt[5] über[6] den[7] faulen[8] Hund[9]" umgewandelt werden, wenn die Positions-IDs zugewiesen werden. In ähnlicher Weise kann auf Satzebene der Text "Der schnelle braune Fuchs springt über den faulen Hund. Ein schneller rotbrauner Fuchs springt über einen schlafenden Hund." in "Der schnelle braune Fuchs springt über den faulen Hund.[1] Ein schneller rotbrauner Fuchs springt über einen schlafenden Hund.[2]" umgewandelt werden, wenn die Positions-IDs zugewiesen werden.
PositionID-Prompting ist eine abstimmungsfreie Technik, die es LLMs ermöglicht, die Anzahl der Einheiten während der Textgenerierung kontinuierlich zu zählen. Bei der PositionID-Feinabstimmung wird das Modell mit Daten in einem ähnlichen Format wie beim PositionID-Prompting trainiert, wodurch das Positionsbewusstsein des Modells verbessert wird.
Copy & Paste: Eine weitere Fähigkeit durch Positionsbewusstsein
Darüber hinaus wurde eine weitere interessante Fähigkeit validiert, die durch explizites Positionsbewusstsein ermöglicht wird: Copy-and-Paste (CP)-Fähigkeiten. Zu diesem Zweck wurde das PositionID-CP-Prompting entwickelt, das einen dreistufigen Werkzeugnutzungsmechanismus beinhaltet: (1) Einfügen von Positions-IDs in den vorherigen Text bei der Generierung eines "
"-Tokens, (2) Fortsetzen der Generierung des Werkzeugaufrufs "[tag= t ] [desc= d ] [start= s ] [end= e ]", um das Kopierwerkzeug aufzurufen, und (3) Generierung des Werkzeugaufrufs "[tag= t ]" mit eliminierten Positions-IDs, um das Einfügewerkzeug aufzurufen.
Evaluierung der Längensteuerung und Copy-and-Paste-Fähigkeiten
Um die Längensteuerungs- (LenCtrl) und Copy-and-Paste- (CP) Fähigkeiten von LLMs zu überprüfen, wurden zwei Datensätze mit unterschiedlichen Anweisungen erstellt: LenCtrl-Bench und CP-Bench. LenCtrl-Bench enthält einen Trainingssatz mit 28.135 Beispielen zur Verbesserung des Positionsbewusstseins von Open-Source-Modellen und einen Testsatz mit 2.817 Beispielen. CP-Bench enthält einen Testsatz mit 182 Beispielen, die sorgfältig aus den von GPT-4 synthetisierten Beispielen und den manuell erstellten Beispielen ausgewählt wurden.
Experimente mit LenCtrl-Bench zeigen, dass Modelle durch PositionID-Prompting und PositionID-Feinabstimmung längengesteuerte Textgenerierungsanweisungen genauer befolgen können, ohne die Qualität der Antworten zu beeinträchtigen. Darüber hinaus bestätigen Experimente mit CP-Bench die Wirksamkeit des vorgeschlagenen PositionID-CP-Promptings. Es kann nicht nur Textabschnitte genau kopieren, sondern auch eine überlegene Antwortqualität aufweisen.
Fazit: Verbessertes Positionsbewusstsein für präzisere LLMs
Die vorgestellten Ansätze, PositionID-Prompting und PositionID-Feinabstimmung, bieten vielversprechende Möglichkeiten, das Positionsbewusstsein von LLMs zu verbessern. Dies führt zu einer genaueren Einhaltung von Längenbeschränkungen und ermöglicht neue Fähigkeiten wie Copy-and-Paste.
Weitere Forschung in diesem Bereich könnte sich auf die Optimierung der PositionID-Methoden und die Anwendung auf komplexere Szenarien konzentrieren, um die Leistungsfähigkeit und Benutzerfreundlichkeit von LLMs in verschiedenen Anwendungen weiter zu verbessern.
Bibliographie
https://arxiv.org/abs/2410.07035
https://arxiv.org/html/2410.07035v1
https://chatpaper.com/chatpaper/paper/65746
https://zhuanzhi.ai/paper/aae585ba1c00fe5b25b99abb7e7725db
https://zenmoore.github.io/
https://huggingface.co/papers
https://2024.emnlp.org/program/accepted_findings/
https://chatpaper.com/chatpaper/?id=3&date=1728489600&page=1
https://pppoe.github.io/ArxRec/
https://mindpal.space/agent