Knowledge Science - Alles über KI, ML und NLP

Episode 97 - Contrastive Decoding - Fact-Checking in Sprachmodellen?

October 07, 2023 Sigurd Schacht, Carsten Lanquillon Season 1 Episode 97
Episode 97 - Contrastive Decoding - Fact-Checking in Sprachmodellen?
Knowledge Science - Alles über KI, ML und NLP
More Info
Knowledge Science - Alles über KI, ML und NLP
Episode 97 - Contrastive Decoding - Fact-Checking in Sprachmodellen?
Oct 07, 2023 Season 1 Episode 97
Sigurd Schacht, Carsten Lanquillon

Versprechen wir uns nicht alle, dass unsere Sprachmodelle einen Tatsachencheck durchführen könnten? Wäre es nicht ideal, wenn sie Wissen verifizieren könnten? In unserer heutigen Ausgabe nehmen wir uns Zeit, um genau diese Fragen zu beantworten. In einem tiefgreifenden Gespräch über DoLa Decoding, untersuchen wir verschiedene Techniken zur Verifizierung von Faktenwissen und wie Sprachmodelle damit arbeiten können. Unser Fokus liegt auf dem Paper "DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models Chuang et. al. 2023"

Verwendete Papers:
Chuang, Y. S., Xie, Y., Luo, H., Kim, Y., Glass, J., & He, P. (2023). DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models. arXiv preprint arXiv:2309.03883.

Li, X. L., Holtzman, A., Fried, D., Liang, P., Eisner, J., Hashimoto, T., ... & Lewis, M. (2022). Contrastive decoding: Open-ended text generation as optimization. arXiv preprint arXiv:2210.15097.

Hören Sie rein. 

Der Podcast ist gesponsert von XL2:
XL2 ist ein Joint Venture zwischen dem Premium-Automobilhersteller Audi und dem globalen IT-Beratungsunternehmen Capgemini. Das Unternehmen wurde im Jahr 2020 gegründet und treibt die digitale Transformation für Audi, die Volkswagen-Gruppe und Automotive Leaders voran. XL2 konzipiert und implementiert maßgeschneiderte Lösungen für Logistik- und Produktionsprozesse mit den neuesten Technologien aus den Bereichen SAP, Cloud und Analytics. 

Support the Show.

Show Notes Transcript

Versprechen wir uns nicht alle, dass unsere Sprachmodelle einen Tatsachencheck durchführen könnten? Wäre es nicht ideal, wenn sie Wissen verifizieren könnten? In unserer heutigen Ausgabe nehmen wir uns Zeit, um genau diese Fragen zu beantworten. In einem tiefgreifenden Gespräch über DoLa Decoding, untersuchen wir verschiedene Techniken zur Verifizierung von Faktenwissen und wie Sprachmodelle damit arbeiten können. Unser Fokus liegt auf dem Paper "DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models Chuang et. al. 2023"

Verwendete Papers:
Chuang, Y. S., Xie, Y., Luo, H., Kim, Y., Glass, J., & He, P. (2023). DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models. arXiv preprint arXiv:2309.03883.

Li, X. L., Holtzman, A., Fried, D., Liang, P., Eisner, J., Hashimoto, T., ... & Lewis, M. (2022). Contrastive decoding: Open-ended text generation as optimization. arXiv preprint arXiv:2210.15097.

Hören Sie rein. 

Der Podcast ist gesponsert von XL2:
XL2 ist ein Joint Venture zwischen dem Premium-Automobilhersteller Audi und dem globalen IT-Beratungsunternehmen Capgemini. Das Unternehmen wurde im Jahr 2020 gegründet und treibt die digitale Transformation für Audi, die Volkswagen-Gruppe und Automotive Leaders voran. XL2 konzipiert und implementiert maßgeschneiderte Lösungen für Logistik- und Produktionsprozesse mit den neuesten Technologien aus den Bereichen SAP, Cloud und Analytics. 

Support the Show.

Speaker 1:

Hallo und herzlich willkommen. In der heutigen Sendung möchten wir über Dota Decoding sprechen, eine Idee, die versucht, das Problem von Handelsionieren in den Griff zu bekommen. Diese Sendung wird von Excel 2 gesponsert. Excel 2 ist ein schon adventure von Audi und Capgemini, das die digitale Transformation in der Automobilindustrie vorantreibt. Das Unternehmen erarbeitet innovative End-to-end Prozesse und implementiert maßgeschneidete IT-Lösungen für seine Kunden.

Speaker 2:

Dieses Thema wöchentlich greifbar. Willkommen zum Podcast von Sigurd Schacht und Karsten Lankeon.

Speaker 1:

Hallo Karsten, hallo Sigurd. Diese Woche schauen wir mal in eine andere Richtung, zwar immer noch das Thema kontrollieren von Output von Sprachmodellen, aber diesmal wollen wir uns ein bisschen den Thema widmen. Wie können wir Methoden oder Hismittel heranziehen, um Faktenwissen zu verifizieren oder um sicherzustellen, dass Sprachmodelle Fakten verarbeiten können?

Speaker 3:

Oder in anderen Worten, das Halluzinieren etwas einzudämmen.

Speaker 1:

Genau, da sind wir auf dem Paper gestoßen. Das war schon ein bisschen älter. Das ist immer relativ zu sagen, das ist ein bisschen älter.

Speaker 3:

Ist zwar drei Wochen schon älter, oder Nein?

Speaker 1:

es ist schon ein bisschen älter, tatsächlich 7. September, Das heißt, es sind schon ganze vier Wochen. Das Paper heißt DOLA Decoding by Contrasting Layers in Proofs Factuality in Large Language Modell von Shoe und Xeat All von 7. September 23. Mit Paper als Basis, zusammen mit Microsoft, die halt in dem Fokus geguckt haben. Welche Möglichkeiten gibt es, halluzinationen zu erkennen?

Speaker 3:

Genau Das Ganze, aber nur mit dem Modell selbst. Das ist das beeindruckende möglicherweise, dass sie versuchen, alle nur Informationen zu nutzen, die tatsächlich innerhalb eines Modells vorliegen. Wie das geht, schauen wir uns gleich an. Es gibt ja auch andere Möglichkeiten, wenn man so was machen könnte. Das diskutieren wir auch in dem Paper. Zum Beispiel wir haben es ja auch schon mal erwähnt wir haben spezielle Modelle, in denen wir sie halt irgendwie mit human feedback, reinforcement learning irgendwie noch versuchen anzupassen, dass sie eher Fakt treu sind. Solche Sachen hatten wir, dass wir versuchen, die kleinere Modelle zu destillieren, wie wir es bei Alpaca Vikun auch vielleicht mal gesehen hatten, oder was ich eigentlich auch sehr schön finde, dass man so einen Agentenansatz hat, die vielleicht miteinander diskutieren können, und dass man dann da versucht, die Wahrheit herauszufinden. Also es gibt alles spannende Ansätze Hier jetzt aber ein Modell und versuchen, wie kann ich Informationen, die in diesem Modell stecken, nutzen, um zu erkennen, wo vielleicht Wahrheit dahinter steckt und wo nicht?

Speaker 1:

Ich finde auch ganz spannend, dass es nicht nur sozusagen an den Daten hängt, also in dem Fall natürlich irgendwo an den Trainingsdaten hängt es zwangsläufig, aber nicht in Bezug, dass man explizit einen Fine-Tuning oder Ähnliches macht, also kein Reinforcement Learning, kein SFT, kein, was alles dahinter steckt, dass man im Endeffekt auch nicht mit dem Prompt arbeitet.

Speaker 1:

Also könnte ich ja auch ich könnte im Endeffekt ja aus Vectorstores oder Ähnliches das Faktenwissen mit in den Prompt einarbeiten und damit dann sicherstellen, dass genau das verarbeitet wird, sondern dass man tatsächlich das Ro-Modell nimmt, wenn man das so nennen möchte, und eigentlich egal, was ich vorne einspiel, dann hinten sozusagen prüft, das heißt beim Dekodieren. Also, der Ansatz ist eigentlich, das Dekoding zu betrachten, und das fand ich eigentlich jetzt hier in der Reihe von den Sendungen, die wir in den letzten Wochen gemacht haben, ganz passend, weil wir die ganze Zeit im Netz geguckt haben wie können wir denn den Output kontrollieren, sodass wir bestimmte Themen vorgeben, dass wir bestimmte Strukturen vorgeben oder Ähnliches? Und hier geht es jetzt zwar nicht ums Vorgeben, sondern es geht darum zu sagen, das ist nicht der Dekoding Mechanismus, den wir eigentlich tendenziell verwenden im beam search oder ähnliches. Ist der nicht sozusagen ein bisschen zu schwach, um das man so auszudrücken, und könne man nicht da ansetzen oder so eine Prüfung, so einen doppel check halt einzubauen.

Speaker 3:

Genau nicht auf der Ebene, wie du gesagt hast, dass ich jetzt irgendwie nur bestimmte tokens zulasse, dass ich sage mensch, ich habe hier, ich erzeugt gerade den jason objekt, die viele an der stelle eine zahl haben, dann erwarte ich, das in der zahl kommt ja nicht auf der Ebene, sondern, wie du schon gesagt hat, mir wollen jetzt wissen ist das, was dahingeschrieben wird, was ja gerade dekodiert wird? kann das sein, oder ist das nur ausgedacht? und Ja, bewegen wir es aber nicht nur auf der Ausgabe Ebene direkt, sondern wir wollen jetzt quasi die Entwicklung der Informationen durch das Netz hindurch beobachten.

Speaker 3:

Da gibt es nämlich ein paar Überlegungen, dass das in je nachdem, was in der Sprache verarbeitet wird, das das auf unterschiedlichen Ebenen eines Transformernetzwerks, die ja Ja schicht für schicht aufgebaut sind, das auf den unterschiedlichen Ebenen unterschiedliche Sachverhalte typischerweise ja irgendwie durchgeführt werden. Also, man kann es nicht genau sagen. Siebte schicht ist immer dafür da, die, was ich satze, ich zu setzen oder sowas. Aber es gibt schon Beobachtungen, die zum Beispiel sagen, dass in den unteren Ebenen nochmal sprachliche Grundfertigkeiten sind und das zum Beispiel Fakten in den höheren Schichten irgendwo noch eingespielt werden.

Speaker 1:

Ja vielleicht auch nochmal zu Wiederholung Transformer Architektur besteht, der im Endeffekt aus verschiedenen Elementen. Wir haben im Endeffekt zur genannten Multi hat attention layers, wir haben Nommierungs Layer, wir haben Feedforward Layer, sind am Ende dann Linear Layer, und dann geht es halt, wenn wir jetzt rein auf den Dekoder gucken, dann zum Beispiel auf den Softmax raus, der dann im Endeffekt die Verteilung der Tokens, also der, der Das Tokens gleich Wort setzen würde, der Wörter, die man dann am Ende halt generieren möchte, raus, und vielleicht auch da nochmal anzusetzen das sind autoregressive Modelle ist, heißt, der Output wird wieder als input gespielt, und wir starten dann wieder durch, vielleicht vielleicht die, die Hining, die Die Wartigen Sendungen noch nicht gehört haben. Aber wir haben ein paar Ebi-Soten gemacht zu den Transformern. Also, wenn sie Lust haben, doch mal reinhören, vielleicht auch ganz spannend, würde ich mal sagen auf jeden Fall.

Speaker 3:

also können wir in der Stelle jetzt nicht alles wiederholen, das würde man, glaube ich, jetzt mit ein paar Stunden mal brauchen. Aber genau, es sind also viele, viele Schichten, die alle prinzipiell gleich funktionieren. es werden halt über eine, eine Sequenz Wörter in Bezug zueinander gesetzt, den Nutzen im Kontext der Wörter aus Und können aber auch und das auch wohl es nicht explizit vielleicht so so modelliert ist, aber auf dieser Art und Weise können halt auch Informationen, die in so einem großen Netz gespeichert sind, mit eingespielt werden. Zum Beispiel jetzt ja, es ist noch nicht ganz bekannt, wie es tatsächlich exakt funktioniert, aber es können oder es müssen ja da, wie das sehen wir beobachten, wenn wir solche Modelle nutzen, schein ja irgendwelche Fakten wissen, irgendwo in einem Netz gespeichert zu sein, also nicht in einer klassischen Art und Weise wie einer normalen Datenbank, wie wir sie kennen, aber irgendwo in den Gewichten schlummernd. Fakten wissen, was, wenn das Modell meint, dass es jetzt hier gerade angebracht ist, auch tatsächlich durch für Vollständigung der Sätze reproduziert wird.

Speaker 1:

Man geht ja ein bisschen davon aus, dass man, wenn man das jetzt sich so vorstellen, mit Schichten wie so ein klassisches Neuronales Netz, also wir sagen wir input Und dann mehrere Hittenschicht, sondern wieder eine Output Schicht. Natürlich wird ja dann nochmal der Hinweis darauf, dass das nicht klassische lineare Schichten sind, sondern dass die halt spezielle Strukturen haben. Wir hat eine attention Schicht. Aber die Idee ist und zumindest ist, was man schon weiß ist, dass in den niedrigeren, also in Beginnenden layers nach dem, ob man sich zeitwärts legt oder von unten nach oben betrachtet, aber in den ersten layers, dass da eher das Sprachverständnis trainiert wird oder vorhanden ist oder drin steckt, und erst in den späten layers sozusagen eher das Faktenwissen aufbaut. Und ich glaube, das ist ja auch so ein bisschen. Die Idee kuriere mich bei dem paper dollar, dass man sagt naja, wenn da sozusagen Fakten, wissen, sich über die Zeit erst entwickelt, dann können wir eigentlich das Faktenwissen auch identifizieren, indem wir einfach eine ganz frühe Schicht betrachten und vergleichen diese mit der letzten Schicht oder mit einer der letzten Schichten Und sehen dann, ob da irgendwie ein Unterschied da ist.

Speaker 3:

Und wenn ein Unterschied da ist, dann ist es nicht rein das Sprachwissen, was dann sozusagen generiert wird, sondern dann muss es irgendwie ein Faktum sein, und damit könnte man das als Gewichteter betrachten, oder Ja, ob das man stimmt, dieses, ob dieses Fakt dann am Ende richtig ist oder nicht oder vermeintliche Fakt, müssen wir sagen, die alternativen Fakten sind, das wissen wir natürlich auch nicht, aber vielleicht können wir das an einem Beispiel machen, das schon mal. Es gibt ja Ja bestimmte Zusammenhänge, die vielleicht häufig sind, aber nicht faktisch irgendwie stimmt. Also Beispiel wir haben einen, einen Start, meinetwegen Bundesstaat in den USA, wir jetzt in dem Fall Washington wird den Paper erwähnt, und da geht es um die Hauptstadt, so sicherlich. Naja, viele denken, bekannteste Stadt im Start Washington ist sicherlich Seattle, aber es ist nicht die Hauptstadt. Trotzdem, wenn wir Texte lesen, wenn wir wahrscheinlich oft Washington, seattle zusammen beobachten, so dass so ein Modell weiß, erstmal kein weltwissen hat, irgendwo Ja es naheliegend ist in so einem kontext, wenn irgendwie Washington genannt wird, also nicht DC, sondern in der startwasching, dass man dann auf eine frage was könnte die hauptstadt sein, er, die die bekannteste stadt nennt, und dann ist es falsch. Das würde sicherlich auch in den untersten schichten aufgrund von diesen worthäufigkeiten irgendwo vielleicht reproduziert werden. Wenn jetzt aber tatsächlich das modell irgendwo abgelegt hat, dass die hauptstadt ich glaube, olympia ist es tatsächlich die hauptstadt, dass es die ist, dann muss das ja in den höheren schichten irgendwie reingebaut werden, indem die wahrscheinlichkeit für die token, die das olympia repräsentieren, hochgewichtet werden und ziertelt heruntergewichtet werden Das passiert jetzt aber auch nicht sprunghaft, sondern beobachtung zeigen, dass sich diese, dass sich die gewichte oder die die Ausgabewerte in den versteckten neuronen irgendwie eher graduell verändern. Das heißt, es muss jetzt irgendwie über schicht für schicht diese wahrscheinlichkeiten in diese richtung gedrängt werden, und wenn es das schafft, das neuronale netz bis zur ausgabe, dann ist schön, dann haben wir eigentlich die richtige ausgabe produziert. Aber oftmals scheint es nicht zu funktionieren, weil das modell macht das, was es kann, einfach einen text generieren, der gerade plausibel erscheint, aber nicht stimmen muss.

Speaker 3:

Von weiß das Netzjahr eigentlich nichts So. Und jetzt ist die überlegung zu schauen gibt es halt diesen großen unterschied? Haben wir irgendwo vielleicht token, die eine relativ hohe wahrscheinlichkeit im vergleich zu früheren schichten bekommen haben? die ist vielleicht nicht hoch genug, dass sie am ende gewählt werden würden, aber es ist auffallend, dass diese wahrscheinlichkeit sich extrem nach oben entwickelt hat im vergleich zu den ersten schichten. Und diesen kontrast deshalb contrast of decoding, diesen kontrast versucht man zu ermitteln, indem man einfach die differenz zwischen der ausgabeschicht und einer früheren schicht bildet und dann sagt naja, wenn da eine große differenz ist, und diese differenz nimmt man hinterher, um die neuen wahrscheinlichkeiten auszurechnen, dann möchten wir dieses token nehmen und nicht eins, was zwar vielleicht eine etwas höhere wahrscheinlichkeit hat, aber auch schon ganz am Anfang eine hohe wahrscheinlichkeit hatte, weil dann ist es eher, spricht es eher dafür, dass es zufällig und, wie oft genannt wurde, zusammen. Das ist ein bisschen der Kerngedanke dabei.

Speaker 1:

Faszinierend, finde ich von der Idee her sehr schön, weil man im endeffekt ja hier eigentlich kein neues Training machen muss. Also man kann das eigentlich direkt auf neue modelle oder schon auf bestehende modelle anwenden. Es ist meine Ansicht nach sehr effizient, also schnell weil die Berechnung der jeweiligen Leeres habe ich ja so und so Also im Endeffekt ja wirklich nur beim Dekodieren nochmal im Vergleich herzustellen und dann nochmal eine Gewichtung.

Speaker 3:

Ich muss bei jeder Schicht quasi die Zwischenausgaben abzweigen und man wegen der Software-Maxifunktion das Gritty-Decoding innerhalb der Zwischenschicht irgendwie durchführen. Aber ich muss jetzt nicht nochmal ein separates Modell trainieren oder irgendwie eine neue Influenzphase durchführen, sondern ich kann einfach Zwischenergebnisse verwenden.

Speaker 1:

Ja, das finde ich schon sehr spannend, weil man im Endeffekt ja eigentlich nur die Art des Dekodieren austauscht. Und das ist halt im Endeffekt bei beliebiger Architektur, und das sieht man dann auch im Endeffekt in der Ergebnisanalyse, die Sie dann gemacht haben, dass Sie das Ganze natürlich auf den verschiedensten Modellen getestet haben. Also, es waren vor allem Lama-Modelle, die dann im Endeffekt von 7 we bis 65 be, halt also 1 Billion im Parameter in Deutschland oder im deutschen Milliardenparameter durchgetestet wurden. Und da ist schon spannend, dass man sieht, dass dieser Ansatz-Doner schon bei den verschiedenen Bereichen schon immer wieder den Standard-Beam-Search-Decoding überdrift an der Stelle. Und getestet haben Sie das, indem Sie halt einzelne Bereiche aus dem Evaluierungsdatensatz herausgezogen haben, von Faktenwissen über Reasoning, q&as und so weiter, und dann einfach geguckt haben okay, mit so einem Datensatz probieren wir das erstmal ohne uns im Ansatz, und dann tauschen wir unseren Ansatz aus und gucken, wie dann das Ergebnis ist.

Speaker 3:

Ja, und das hat in vielen Fällen sicherlich gut geklappt. Aber Sie haben auch schnell gemerkt, dass es manchmal überhaupt nicht klappt. Und dann haben Sie jetzt angefangen, natürlich so Sonderregeln einzubauen. Also ganz klassisches Beispiel wenn es einen Token gibt, was eine extrem hohe Wahrscheinlichkeit hat, dass es das richtige ist, und zwar am Anfang und am Ende, dann wäre ja der Kontrast fast null. Das heißt, dann ist die Wahrscheinlichkeit hoch, dass es halt irgendwo ja. Also dann sind die Differenzen zwischen dem alten und dem neuen halt überall nah an null, und dann würde halt irgendein Token zufällig gewinnen, auch wenn es eine extrem geringe Wahrscheinlichkeit hat. Und das möchte man vermeiden. Deshalb haben Sie so Sonderregeln eingeführt, dass Sie sich diese Betrachtung, diese Berechnung auf die Token beschränken, die, sagen wir mal, eine gewisse Mindestwahrscheinlichkeit haben, und die machen sie abhängig von dem Token mit der höchsten Wahrscheinlichkeit, indem sie sagen okay, die höchste Wahrscheinlichkeit multipliziert mit dem Schwellwert, das ist die Wahrscheinlichkeit, die mindestens erfüllt sein muss, Die setzt das meistens auf 10%.

Speaker 3:

Und wenn das jetzt nur ein Token ist, was extrem wahrscheinlich ist, und wenn man von vorne rein und sich daran nichts ändert, dann wird das am Ende auch genommen. Und ich habe jetzt keine Studie gesehen, wie oft dieser Fall eintritt, dass das eigentlich immer genau ein Wort ist aber wie oft durch dieses? das wäre eigentlich schön, nochmal zu sehen. Vielleicht steht es auch am Ende. Dass es im Anhang noch drin ist, habe ich jetzt nicht gesehen eine Studie, wie oft tatsächlich auf die Art und Weise so eine Umstimmung stattgefunden hat. Aber das muss ja möglich sein, weil die Ausgaben werden ja besser. So ist das. Aber es wäre trotzdem mal schön zu sehen, das nun mal explizit am Beispiel hervorzuheben.

Speaker 1:

Was ich interessant fand, ist und ich glaube, das hat auch ein bisschen mit der Größe und damit natürlich auch die Abstelle der Kontraste zueinander zu tun dass im Endeffekt umso größer die Modelle werden, umso tendenzieller ist diese Methodik besser. Das ist zwar nicht komplett eindeutig bei allen Bereichen, aber gerade bei dem so nen Truthful Q&A-Data Set und bei dem COD-Datensatz und den Reasoning-Datensatz das ist ja auffällig, dass da also schon sozusagen einen höherer Abstand kommt, wenn die Modelle größer werden.

Speaker 3:

Ja, das kann dafür sprechen, dass das tatsächlich größere Modelle überhaupt erst in der Lage sind, überhaupt mehr Fakten zu speichern. Vorvorher brauchen sie ja den Großteil ihrer Kapazität dafür, sprache flüssig zu reproduzieren, und erst mit einer ausreichenden Kapazität können sie dann überhaupt noch Fakten ablegen Und die dann aber auch durch die Hilfe dieser Maßnahme vielleicht zielgenauer reproduzieren.

Speaker 1:

Ja, absolut. Wir sind ja beim Lesen das Pave was ein bisschen in die Diskussion eingestiegen, und dann ist uns natürlich auffällig das wurde ja auch zitiert, sehr schön und sehr sauber dass es natürlich nicht die einzige Methode ist, sondern dass im Endeffekt ein, zwei, fünf, sechs Wochen vorher, irgendwann im Juli, glaube ich war, dass ein Pave herauskam, das von der CMU war CMU und auch FAIR hier vom AIF Meta Research.

Speaker 3:

Contrastive Decoding heißt also ähnlich Open-Ended Text Generation as Optimization. Gut, der Untertitel ist jetzt nicht ganz so verständlich, aber auch hier geht es Contrastive Decoding darum, dass sie einen Kontrast haben. Von der Grundidee ist es ja. Ich habe einfach mein also, der eine Gegenstück ist natürlich immer die finale Ausgabe meines Modells, und die Frage ist immer womit vergleiche ich das?

Speaker 1:

Ich finde es ja nicht ganz schön und wir hatten es ja vorhin auch im kurzen Gespräch, bevor wir angefangen haben, gemacht wenn man die beiden Pave was nebeneinander sieht. die sind schon extrem ähnlich, nur halt mit anderen Vorstellungen. Und jetzt, bei dem Pave geht es ja vor allem darum zu sagen ja, wir machen diesen Abstandsmessung, aber wir gehen davon aus, dass wir einen Teacher und einen Student-Modell haben und dass praktisch der Student wesentlich kleiner ist als der Teacher, und im Endeffekt gucken wir dann nicht auf jedes Layer, sondern im Endeffekt auf das Ende-Layer, also der output des jeweiligen Modells, und vergleichen dann diese Abstände, also diesen Contrastive Decoding zwischen den verschiedenen Modellen. Und das hat zwar den Harteil, dass man hier im Endeffekt halt zweimal inferieren muss. Also einmal inferiere ich sozusagen durch das große Modell durch und parallel dazu durch das kleine Modell durch, wobei die Autor noch sagen ja, das ist so klein dann die Modelle, dass das nicht in der gesamten Influenzzeit wirklich ins Gewicht fällt. von daher kann man das machen Und haben wir dann auch gezeigt, dass man mit der Methode auch die Qualität erhöhen kann.

Speaker 3:

Ja, wobei ich da aufpassen würde, also wenn man das jetzt als Teacher und Student-Modell bezeichnen würde. Also in dem Setting kann man das auch als Teacher und Student-Modell lernen machen. Aber hier ist es tatsächlich so, die Modelle sind erstmal unabhängig voneinander. Es ist so, als ob man ein großes und kleines Lama-Modell zum Beispiel nimmt, und die nennen es auch explizit in der Expert und Amateur Also sagen okay, das große Modell ist der Experte mit viel, viel Fachwissen und das kleine Modell Amateur irgendwo, der weiß nicht so viel, aber die Annahme hat halt zumindest die Sprachfähigkeit. Und wenn man diesen Unterschied herausarbeiten das ist das kleine Modell, was die Sprache gelernt hat, aber vielleicht nicht so viele Fakten und dann halt einfach haluzionieren müsste oder würde, wenn so irgendwelche relativ Fakten generiert Und das der Unterschied zwischen dem und das, was das große Modell könnte, Das herauszuarbeiten als Kontrast wäre dann möglicherweise die korrekten Fakten, Und das ist das Schöne. Was ist von der Grundidee ja ähnlich.

Speaker 3:

Ich habe diesen Kontrast, und nur, dass ich hier sage, ich nehme kleines Modell als Gegenstück, und in dem anderen sage ich, ich nehme eine frühe Phase als dasselben Modell als Gegenstück. Ich glaube, beide Fälle können punktuell wirken und können auch mal daneben liegen. Vielleicht gibt es am Ende noch Ansätze, wo ich beides kombiniere, Und dann kommen wir wieder zu der Idee. Das hat man ja auch diskutiert. Eigentlich ist es ja wieder, dass ich so ein Committee auf Models, also von verschiedenen Phasen verschiedene Modelle ich habe einfach verschiedene Zustände und nutze versuche, das so ein bisschen in der Diskussion zu berücksichtigen.

Speaker 1:

Das finde ich genauso spannend in der Mixation auf Expert, wo ich dann überlegt habe ist nicht vielleicht DVD4 auch so gebaut, dass du im Endeffekt mit verschiedenen Modellen, die einfach amatörer sind oder Studenten, egal wie du es bezeichnest, und dann im Endeffekt damit mein Output ein bisschen bewertet- Also, ich glaube schon.

Speaker 3:

Nur, ich glaube bei. Also heißt es ja, dass bei DVD4, das wird es ja eine Menge von vermeintlich gleichrangigen Modellen sein, die aber trotzdem auf unterschiedlichen Zufallsinitialisierungen oder vielleicht auch unterschiedliche Lerndaten man kann das ja unterschiedlich beeinflussen. Aber also Mixation Model, oder wenn ich ein Committee auf Expert habe, ist ja irgendwie wichtig, dass die nicht alle da selber sagen, sondern dass die unterschiedliche Fähigkeiten haben. Das kann ich natürlich zu Fall gesteuern, das kann ich durch unterschiedliche Trainingsdaten irgendwie generieren. Hier ist es aber explizit so, dass die, dass die, diese Experten ja oder dass die Modelle ja grundsätzlich anders sind, nämlich ein kleines und großes Nehmen, und dann da diesen Kontrast herausarbeiten will, oder aber innerhalb eines Modells. Das könnte ich auch als zwei Modelle darstellen. Ich kann ja sagen, das eine Modell ist, das eine hört nur nach der fünften Schicht auf meine Wege, und das andere halt, wenn es wirklich durchgelaufen wird, betrachte das als zwei Modelle. Aber die haben halt dieselbe Basis. Insofern sind das einfach diese diese Unterschiede innerhalb dieser dieser Gewichtung, die halt in der Rolle spielen, während das andere halt wirklich Unterfängige Meinungen voneinander sind.

Speaker 1:

Ja, wobei man natürlich auch das erwähnt. Die haben eigentlich in diesen paper ja immer darauf geachtet, dass das amateur model ja immer aus der gleichen ich sage jetzt mal Entwicklungsreihe war wie das Expertenmodell. Also ein obmodell wurde halt dann als XL oder als großes model benutzt, unter das 80 obmodell oder wie auch immer, und dann hat man den kleinen skin, auch das obmodell, oder den gbt2xl, und dann hat man gbt2small genommen. Also ich habe nichts gesehen. Vielleicht hast du was gesehen, wo man wirklich quer geguckt hat, also zu sagen, was ich, das kleine war ein gbt3 und das große war ein gbt4, oder irgendwie in der Art Könnte man experimentieren.

Speaker 3:

Also das ist schön. Beim rechten comedy of experts würde ich sagen, ist erstmal egal. Aber durch dieses kontrastive, dass ich sage, naja, das finde machte gedanklich erstmal schon Sinn zu sagen, ich beziehe mich auf die selbe Familie in der Annahme, dass die natürlich auch durch den gleichen Aufbau, dass man da wirklich sagen kann, der hat jetzt naja, dieselben Sachen gelernt. Also, wenn ich sogar andere Modellfamilien nehme, anderen embedding, dann kann ich die ja noch nicht mal gegen den vergleichen.

Speaker 3:

Dann kann ich die Gesamtausgabe diskutieren lassen, aber ich kann nicht die Tokenwahrscheinlichkeiten vergleichen, weil die Token ja nicht mehr übereinstimmen müssen. Das ist vollkommen recht.

Speaker 1:

Und deswegen finde ich eigentlich, man muss diese beiden Papers also wenn sie das nachlesen wollen, sie müssen diese beiden Papers auch wirklich in Zusammenlesen, weil es zeigt sich eigentlich wirklich die Idee zu sagen naja, wenn ich ein kleines GPT-2 Small-Modell nehme, dann ist es ja nichts anderes, als dass ich sozusagen die Architekturgeleine gemacht habe, mit den gleichen Datentrainieren, also im Endeffekt nichts antrifft zu machen, als die ersten Layers von einem großen Modelltrainieren und den Rest halt abschneide Und dann im Endeffekt. Und deswegen finde ich eigentlich, dass die Dispaper-Dola eigentlich der logische Schrittzahl ist, weil ich mir sage ja, damit spare ich mir einfach eine zweite Influenz. Aber eigentlich ist es so ich bedachte die ersten 2, 3 Attention Hats, und wenn ich jetzt ein Modell kleiner mache, dann sind es halt nur 3 Attention Hats, und wenn ich größer mache, sind es halt 8.

Speaker 3:

Und der Vorteil, der zusätzlich noch in dem Dollar-Ansatz kommt, ist, dass sie sagen, ja, sie nehmen ihn nicht. Die bezeichnen das als statisch, wenn wir sagen, wir haben immer die, was ich fünfte Schicht nehmen würde, das am Anfang. Das ist ja so, als ob du sagst okay, ich habe jetzt als Gegenstück das kleine Modell, und das wäre wie das große. Nur hört schon nach fünften Schichten meinetwegen auch Fünftes, blöde Zahl fünftes wie ja 8.

Speaker 3:

Seilen oder so. Aber das ist das eine Modell. und aber in dem Dollar sagen sie ja, nee wie? sie suchen explizit ja auch noch die Schicht dynamisch heraus mit dem größten Abstand. Wie viel dieser Unterschied bringen? haben sie wahrscheinlich auch irgendwo gemessen, habe jetzt die Zahlen nicht im Kopf, Aber das hätte noch diesen weiteren Vorteil, dass sie diesen größten Abstand hier aussuchen.

Speaker 1:

Ja, es ist tatsächlich so, dass sie das auch machen. Sie füllen das auch auf den ein oder anderen Zahl aus, aber ich glaube, der Abstand ist gar nicht so extrem. Von daher ich habe es jetzt ehrlich gesagt nicht mit dem Kopf. Aber ein spannender Ansatz, weil, wie gesagt, wir wollten das heute unbedingt mal mit reinnehmen, um zu zeigen, dass man natürlich an der Decoding-Seite an verschiedenen Themen ansetzen kann Einerseits, was wir gesagt haben, indem man das Vokabular einschränkt, indem man bestimmte Prüfungen durchführt und jetzt in dem Fall hier, indem man den Wissens-Entwicklungsprozess zwischen den einzelnen Layers betrachtet und dann dementsprechend ja sich eine gewisse Sicherheit holt, ob die Antwort richtig ist oder nicht, und das hat alles seinen Scham, und ich glaube, wir sind bei weitem noch nicht am Ende, was das angeht. Und dann, um gerade bei dieser Decoding-Ebene anzusetzen und dann wirklich Modelle zu dem Punkt zu bekommen, dass sie programmierbar sind, dass sie gut verwendbar sind, dass sie nicht lügner sind und dass das halt hand in Hand geht, einerseits natürlich mit immer besseren Daten und auf der anderen Seite aber auch dieses Decoding.

Speaker 3:

Ich warte noch darauf, dass Modell sich selbst zuhört beim Sprechen und beim Sprechen vielleicht merkt, dass wir jetzt nicht so gut unterm Achen vorne anfingen.

Speaker 1:

Du hörst mein Schweigen? Es tun doch viele Menschen noch nicht.

Speaker 3:

Ja, aber manche machen das, Die merken beim Reden dass das jetzt nicht gut war, korrigieren sich Oder reden einfach weiter. Oder reden einfach weiter. Eine Hoffnung, dass ihr keiner zugehört habt.

Speaker 1:

Ne, prima, ich denke, für diese Woche ist es ein schöner Einblick. Also, papers lassen sich schön lesen, sind nicht zu komplex, kann man also auch tatsächlich, wenn sie Lust haben, da mal durchgehen. Wir werden sicher in die Beschreibung des Podcasts mit aufführen, die Papers. Von daher würde ich mich freuen, wenn Sie sich das anschauen, und würden uns natürlich auch freuen, wenn Sie nächste Woche wieder dabei sind bei einer neuen Folge des Knowledge Science Podcasts. Von daher vielen Dank.

Speaker 3:

Ciao.

Speaker 2:

Das war eine weitere Folge des Knowledge Science Podcasts. Vergessen Sie nicht, nächste Woche wieder dabei zu sein. Vielen Dank fürs Zuhören.