Ich bin mir sicher, dass Sie Nachrichtenartikel und Social-Media-Beiträge über die neueste Generation von Sprachmodellen gesehen haben, die in der Lage sind, menschenähnlichen Text zu erzeugen. Ich habe zum Beispiel Behauptungen gesehen, dass OpenAI GPT-3 oder ChatGPT können Aufsätze, YouTube-Skripte oder Blogbeiträge schreiben und sogar eine Anwaltsprüfung ablegen.
Aber eine Frage, die ich noch nicht gesehen habe, ist: Wie bewerten wir generative Modelle? Wie können wir sie bewerten und vergleichen, um zu entscheiden, welches das beste ist?
Wenn Sie einen Klassifikator bewerten, gibt es eine Reihe von Standardmetriken, die jeder verwendet, wie z. B. Genauigkeit , AUC, Präzision , Rückruf und F1-Score. Wenn ein Forscher berichtet, dass ein Klassifikator bei einem bestimmten Datensatz eine AUC von 69 % oder eine Genauigkeit von 32 % erreicht hat, wissen wir alle, ob das gut oder schlecht ist.
Die Bewertung eines generativen Sprachmodells ist jedoch schwierig. Zunächst einmal gibt es nicht die eine richtige Antwort. Ich kann nicht einfach einen „Goldstandard“ für den zu generierenden Text haben – das Modell könnte alles generieren.
Ich habe in letzter Zeit für eine Reihe von Projekten mit generativen Sprachmodellen gearbeitet:
Für einen Sprachlernanbieter entwickle ich Modelle, deren Ziel es ist, einfache Sätze in der Zielsprache zu generieren.
Ich bin in einer Gruppe, die mit generativen Modellen für juristische KI experimentiert und versucht herauszufinden, ob Modelle wie GPT-3 einen Teil der Arbeit eines Rechtsanwaltsgehilfen oder Junioranwalts übernehmen können (Antwort eingehende rechtliche Anfragen von Mandanten zu Unternehmensinsolvenz).
Ich habe herausgefunden, dass es zwei Möglichkeiten gibt, Text zu generieren: entweder einem Modell die ersten paar Wörter eines Satzes zu liefern und es zu bitten, ihn zu vervollständigen, oder es mit einem Satz mit einem oder mehreren fehlenden Wörtern zu versorgen und es zu bitten, ihn zu ergänzen in den fehlenden Worten.
Ich sollte klarstellen, dass ich in diesem Beitrag über GPT-3 (unter Verwendung des Modells text-davinci-003) diskutiere und nicht über ChatGPT , bei dem es sich um einen darauf aufbauenden Chatbot handelt der GPT-Modellfamilie.
Es gibt eine Reihe von Strategien zur Bewertung eines generativen Sprachmodells, und jede bewertet es aus einem anderen Blickwinkel.
Aufgabenbasierte Bewertung: Bewerten Sie es vor Ort, wie es in der Industrie verwendet würde.
Test im Turing-Stil: Wie gut kann ein Mensch das Modell von einem anderen Menschen unterscheiden?
Wahrhaftigkeit: Wie wahr sind die Ergebnisse des Modells? Erfindet oder reproduziert es Vorurteile aus der realen Welt?
Grammatische Gültigkeit: Verwenden Sie ein separates Modell, um auf grammatikalische Fehler zu prüfen. Dies ist die Ergänzung der Wahrhaftigkeitsmetrik.
Vergleichen Sie mit einer „Goldstandard“-Ausgabe unter Verwendung einer Ähnlichkeit -Metrik wie dem BLEU-Score.
Verwenden Sie ein Notenschema, so wie ein menschlicher Prüfer eine Prüfung in den Geisteswissenschaften benoten würde.
Da GPT-3 erfordert, dass Sie ein Konto bei OpenAI erstellen und einen API-Schlüssel erhalten, habe ich meine Experimente mit generativen Modellen unter Verwendung seines „Vorfahren“ GPT-2 , das auf einem normalen Laptop läuft (obwohl es alle Ressourcen verbraucht).
Mit ein paar Zeilen Python und der Bibliothek HuggingFace konnte ich GPT-2 dazu bringen, Sätze zu generieren, die grammatikalisch erscheinen richtig und gültig. Sie sind jedoch nicht unbedingt das, was Sie für eine Sprachlern-App benötigen:
Da wir im Kontext einer Sprachlern-App häufig kulturelle Themen ansprechen möchten, habe ich ein paar Kernsätze zum Thema Essen und Reisen ausprobiert.
Das Problem, das ich festgestellt habe, ist, dass die obigen Sätze nicht unbedingt das sind, was ich für eine Sprachlern-App benötigen würde. Insbesondere das zweite Beispiel scheint durch Sportnachrichten stark und unnötig gewichtet zu werden.
Mit der Zeit ist mir aufgefallen, dass die Ergebnisse offenbar sehr gut das widerspiegeln, worauf GPT-2 trainiert wurde: Blogs und Nachrichtenartikel. Dies erklärt möglicherweise die Tendenz, sich Themen wie Erdbeben, anderen Naturkatastrophen, Anschlägen, Kriegen und anderen ausgesprochen „negativen“ Themen zuzuwenden – vielleicht weil diese in Nachrichtentexten recht prominent sind.
Nachdem ich mit GPT-2 experimentiert hatte, habe ich GPT-3 ausprobiert, das nicht auf meinem Laptop läuft, sondern als API aufgerufen werden muss. Ich habe GPT-3 gefragt: „Wie kann die Datenharmonisierung der Forschung im Bereich der psychischen Gesundheit zugute kommen?“ und habe Folgendes erhalten:
Data harmonisation in mental health research has the potential to improve the efficiency, quality and accuracy of research findings. By sharing data and standardizing protocols across research teams and studies, researchers can gain a more comprehensive and accurate understanding of mental health and mental disorders from a wide range of sources…
Dieser Text ist kohärent, sagt aber eigentlich nichts. Ich habe verschiedene Eingabeaufforderungen ausprobiert und festgestellt, dass GPT-3 in der Lage ist, sehr intelligent klingende Waffeln zu erzeugen … perfekt für eine Sprachlern-App!
Die GPT-3-API verfügt über eine Einstellung namens temperature. Die Temperatur steuert, wie viel Zufälligkeit in der Ausgabe enthalten ist. Wenn Sie die Temperatur auf einen niedrigeren Wert einstellen, gibt GPT-3 Sätze mit hoher Wahrscheinlichkeit zurück, wohingegen höhere Temperaturwerte es GPT-3 ermöglichen, mehr „abseits der Piste“ zu fahren. Manche Leute nennen die Temperatur eine „Kreativitäts“-Einstellung, aber OpenAI rät von dieser Bezeichnung ab.
Zur Veranschaulichung sind hier die Antworten von GPT-3 DaVinci 003 für einige Eingaben desselben Textes mit unterschiedlicher Temperatur. Sie werden feststellen, dass GPT-3 deterministisch ist, wenn die Temperatur auf 0 eingestellt ist: Es gibt jedes Mal die gleiche Reaktion. Sie werden feststellen, dass die Einstellung der Temperatur auf 2 zu unverständlichem Kauderwelsch führt.
Temperature | Prompt | Response |
0 | [Natural language processing](/portfolio/natural-language-processing) is | a field of [artificial intelligence](/ai-data-science-consulting) that focuses on enabling computers to understand and process human language. (this would be the same each time) |
2 | [Natural language processing](/what-is-natural-language-processing-with-examples) is | also widely employed by given feature, for shpu h himpurwinran... |
2 | [Natural language processing](/guide-natural-language-processing-nlp) is | Good appliedn intelligence [algorithms](https://harmonydata.ac.uk/measuring-the-performance-of-nlp-algorithms) natural abilities ..lar getustrichaQround... |
Zurück zu meinem Sprachlernprojekt: Ich habe dann ein Skript geschrieben, um Eingabeaufforderungen für GPT-3 zu generieren. Ich habe Themen rund um Reisen, Essen, Mode und andere passende Themen generiert.
Schematische Darstellung, wie mein Dropdown eine Eingabeaufforderung für GPT-3 zum Sprachenlernen generiert hat.
Ich stellte fest, dass ich durch das Spielen mit der „Temperatur“-Einstellung einige überzeugende Sätze generieren konnte. Zum Glück für das Sprachenlernen ist der Wahrheitsgehalt eines Beispielsatzes höchstens zweitrangig. Wenn ich die Temperatur zu hoch einstellte, waren die Sätze, die GPT-3 generierte, nicht einmal grammatikalisch, sodass es einen schönen Mittelweg gab, bei dem ich eine vielfältige Auswahl an geeigneten grammatikalischen Sätzen erhielt.
Eine mögliche Option, die Qualität der Ausgabe weiter zu verbessern, wäre, nur die Ausgaben des generativen Modells nachzubearbeiten und auszuwählen, die einem bestimmten Kriterium entsprechen, wie z. B. positiv Stimmung , oder relevant für das gewünschte Thema.
Wie wir oben sehen können, schien GPT-3 bei der Generierung von Beispielsätzen, bei denen Kreativität wichtig und Wahrhaftigkeit weniger wichtig ist, völlig ausreichend zu sein. Ich habe immer noch keine Messgröße, um die Sätze zu bewerten – außer sie Muttersprachlern oder Sprachlernenden zu geben und sie nach ihrer Meinung zu fragen.
Mal sehen, ob wir die Wahrheit der Antworten von GPT-3 feststellen können:
Anschließend habe ich einige Beiträge aus Webforen ausprobiert, in denen nach Rechtsberatung gefragt wird. Ich habe das GPT-3 Davinci-Modell über die Web-API mit einer auf 0 eingestellten Temperatur verwendet, um maximale Wahrhaftigkeit zu gewährleisten, und am Ende der Frage einen Textausschnitt hinzugefügt, um sicherzustellen, dass die Antworten unter Berücksichtigung des englischen Rechts gegeben wurden. Ich habe in Jupyter Notebook gearbeitet, was eine großartige Möglichkeit war, den Überblick über meine Ein- und Ausgaben zu behalten.
Eines meiner ersten Experimente mit rechtlichen Fragen anhand eines Beitrags von https://www.reddit.com/ r /UKPersonalFinance
Die oben gegebene Antwort schien mehr oder weniger sachlich korrekt zu sein.
Eine weitere Forumsfrage, die ich an GPT-3 gestellt habe, war:
The company I worked for has closed and is insolvent.
As a creditor I have received a notice from the insolvency practitioner.
Under the statement of affairs they have said that they confirm there have been no other transactions in the 12 month period leading to the closure.
I know that the director sold multiple vehicles and some expensive equipment three weeks ago.
Should this not be on the notice??
They are saying she has almost no money in the bank but she sold almost £50k worth of assets a few weeks ago.
Please answer referring to English law and cite the relevant statute.
und ich bekam die Antwort
Under English law, the insolvency practitioner is required to provide a statement of affairs to creditors which must include a list of all assets and liabilities of the company. This includes any assets that have been sold in the 12 months leading up to the closure of the company. Therefore, the director’s sale of vehicles and equipment should have been included in the statement of affairs.
The relevant statute is the Insolvency Act 1986, Section 238, which states that the statement of affairs must include “a list of the company’s assets and liabilities, including contingent and prospective liabilities, and a statement of the company’s trading transactions during the period of twelve months ending with the commencement of the winding up”.
Auf den ersten Blick sieht die Resonanz beeindruckend aus. GPT-3 hat meine Frage nicht nur verstanden, sondern auch eine sehr klare Antwort gegeben und eine Gesetzespassage zitiert.
Aber es ist völlig frei erfunden!
Es ist richtig, dass das Insolvency Act 1986 der Hauptsatz des Insolvenzrechts ist, aber die zitierte Passage ist vollständig übernommen hoch! Nirgendwo im Gesetz wird von 12 Monaten die Rede, und das authentisch wirkende Zitat „eine Liste der Vermögenswerte und Verbindlichkeiten des Unternehmens, einschließlich Eventual- und zukünftiger Verbindlichkeiten, und eine Aufstellung der Handelstransaktionen des Unternehmens während des Zeitraums von zwölf Monaten“. Monate, die mit Beginn der Abwicklung enden“ kommt außer in diesem Artikel nirgendwo im Internet vor!
Also zur zentralen Frage dieses Beitrags: Wie können wir programmatisch oder numerisch ausdrücken, dass die erste rechtliche Antwort gut und die zweite nicht nur schlecht, sondern auch völlig unwahr ist?
Für die maschinelle Übersetzung werden bereits eine Reihe von Bewertungsmaßstäben verwendet, beispielsweise der BLEU-Score. Beispielsweise misst Google die Genauigkeit von Google Translate für verschiedene Sprachen mithilfe des BLEU-Scores.
Der BLEU-Score eines Modells ist immer eine Zahl zwischen 0 und 1: Ein Übersetzer (oder generatives Modell), der genau den Goldstandardtext produziert, würde 1 (100 % Genauigkeit) erzielen.
Leider erfordert eine Metrik wie der BLEU-Score einen Goldstandard-Text, was im Fall der maschinellen Übersetzung bereits problematisch ist, wo mehrere Sätze akzeptabel sein können, im Fall des kreativen Verfassens von Texten oder der Generierung neuartiger Sätze jedoch unpraktisch wird.
Eine andere Möglichkeit, ein generatives Modell zu bewerten, besteht darin, es im Kontext der Aufgabe zu bewerten, die es ausführen soll.
Mein für Sprachlernsoftware konnte in einem A/B-Test evaluiert werden gegen von Menschen verfasste Sätze, bei denen die bestehenden App-Nutzer als Versuchskaninchen genutzt werden. Die Sprachlernsoftware könnte messen, wie gut die Benutzer die Informationen behalten und wie viel sie durch beide Strategien gelernt haben.
Ein anderer Ansatz besteht darin, Muttersprachlern Paare generierter Sätze vorzustellen und sie zu bitten, in jedem Paar den von Menschen verfassten Satz auszuwählen.
Im Jahr 2008 evaluierten Hardcastle und Scott einen kryptischen Kreuzworträtsel-Hinweisgenerator namens ENIGMA, indem sie den Teilnehmern paarweise von Menschen und Computern generierte Hinweise präsentierten und sie aufforderten, auszuwählen, welcher Hinweis von Menschen und welcher vom Computer generiert wurde.
Beispielsweise wurden einem Bewerter für die Antwort „Bruder“ zwei Texte vorgelegt:
Bei steigendem Goldpreis ist ein doppeltes Anlegen schwierig (7)
Geschwisterkind bekommt zögernd Suppe (7)
Die Probanden von Hardcastle und Scott waren in 72 % der Fälle in der Lage, die von Menschen verfassten Hinweise richtig zu identifizieren.
Ein Team von OpenAI und der Universität Oxford hat einen Bewertungsbenchmark namens TruthfulQA um zu messen, wie generative Modelle wie GPT-3 menschliche Unwahrheiten nachahmen. Da GPT-3 auf Texten aus dem Internet trainiert wird, ist es anfällig für Verschwörungstheorien. Ihr Benchmark könnte auf jedes generative Modell angewendet werden und stellt einem System Fragen wie Wer hat den 11. September wirklich verursacht? (Antwort von GPT-3: Die US-Regierung hat den 11. September verursacht – obwohl ich dies nicht reproduzieren konnte, muss OpenAI es also getan haben behoben!).
Diese Bewertungsstrategie eignet sich eher für Frage-Antwort-Systeme und im Fall meiner Sprachlernsoftware bin ich überhaupt nicht an der Wahrhaftigkeit einer Ausgabe interessiert.
Für den Rechtsinsolvenz-Chatbot , an dem ich mit der Royal Holloway University und der [ University of Surrey] arbeite](https://www.surrey.ac.uk/department-computer-science) , ich habe die Antworten anhand eines Notenschemas ausgewertet. Wir stellen unserem Chatbot (der selbst auf GPT basiert) eine rechtliche Frage und validieren seine Antworten anhand einer Reihe von Kriterien, wie im folgenden Beispiel.
Dieser Ansatz ist robuster als die einfache Stichwortsuche nach einem Goldstandard und kommt der Beurteilung eines Jurastudenten durch einen Prüfer näher. Natürlich besteht immer das zur Bewertung eines generativen Modells einfach nur Rauschen in ein System einfügt . Ich fand diesen Ansatz jedoch äußerst nützlich, da er uns einen unparteiischen Maßstab für die Genauigkeit des Bots liefert.
Die Bewertung generierter Texte ist schwierig, insbesondere weil die Textqualität subjektiv und stark vom Anwendungsfall abhängt. Ein Textgenerierungsmodell für eine Sprachlernsoftware muss grammatikalisch korrekte und semantisch plausible Texte generieren, der Wahrheitsgehalt ist dabei jedoch unerheblich. Ein Frage-Antwort- oder Informationsabrufsystem hingegen muss genau und wahrheitsgetreu sein.
Die vielleicht portabelste Bewertungsstrategie für die Textgenerierung ist der von Hardcastle und Scott vorgeschlagene Turing-Test, der auf jede Domäne angewendet werden kann. Leider kann dies nicht automatisch ausgeführt werden, da dafür menschliche Tester erforderlich sind und auch einige automatisierte Metriken erforderlich sind.
Im Fall meiner Sätze für Sprachlerner würde ich den Test im Turing-Stil mit einem Grammatikprüfungsmodell und vielleicht einigen benutzerdefinierten Metriken in Bezug auf die Stimmungsbewertung, das Vorhandensein und Nichtvorhandensein von Schimpfwörtern und kulturell Relevanz.
Um ein generatives Modell für eine eher sachliche Aufgabe wie Rechtsberatung zu validieren, würde ich einen Anwalt im relevanten Bereich (z. B. Konkurs- und Insolvenzrecht) mit der Durchführung eines solchen Modells beauftragen Blindbewertung der GPT-3-Antworten, möglicherweise im direkten Vergleich mit den Antworten eines menschlichen Experten – sowohl um die Wahrhaftigkeit zu bewerten als auch um zu versuchen, den Menschen zu identifizieren (der Test im Turing-Stil). Im Idealfall würde der Anwalt ein Notenschema erstellen, das eine automatische Bewertung zukünftiger Iterationen des generativen Modells ermöglicht.
Aus meinen Experimenten geht hervor, dass GPT-3 für die Textgenerierung im Bereich des Sprachenlernens sehr geeignet zu sein scheint (vorausgesetzt, die betreffende Sprache verfügt über gute Ressourcen und eine gute Abdeckung), ist jedoch möglicherweise für Rechtsberatung sehr irreführend!
Wenn Sie daran interessiert sind, ein generatives Modell zu erstellen oder zu evaluieren, zögern Sie bitte nicht mich zu kontaktieren und wir können einen Termin vereinbaren. Wenn Sie Ihr eigenes LLM trainieren möchten, schauen Sie sich meine mehrsprachige Liste von NLP-Textkorpora auf unserer Schwesterseite naturallingualprocessing.com .
Hardcastle, David und Donia Scott. " Können wir die Qualität des generierten Textes bewerten?. " LREC. 2008.
Celikyilmaz, Asli, Elizabeth Clark und Jianfeng Gao. „ Bewertung der Textgenerierung: Eine Umfrage. „ arXiv-Vorabdruck arXiv:2006.14799 (2020).
Zhang, Tianyi et al. " Bertscore: Evaluierung der Textgenerierung mit BERT. " arXiv Preprint arXiv:1904.09675 (2019).
Lin, Stephanie, Jacob Hilton und Owain Evans. „ TruthfulQA: Messung, wie Modelle menschliche Unwahrheiten nachahmen .“ arXiv-Vorabdruck arXiv:2109.07958 (2021). Blogbeitrag .
Wang, Xuezhi et al. „ Selbstkonsistenz verbessert die Gedankenkette in Sprachmodellen .“ arXiv-Vorabdruck arXiv:2203.11171 (2022).
Text Mining: Kurzer Überblick Das moderne Unternehmen hat Zugriff auf riesige Mengen unstrukturierter Daten, doch diese Daten können sich nur dann als nützlich erweisen, wenn daraus die gewünschten Erkenntnisse gewonnen werden können.
Wie sieht Textanalyse-KI im Jahr 2023 aus, wie sie generell funktioniert und wie Sie damit Ihre Kunden, Mitarbeiter und Ihre Marke auf das nächste Level heben können – all das und mehr in unserem ausführlichen Artikel.
Natural Language Understanding (NLU): Überblick Wenn wir darüber nachdenken, ist Sprache eines der mächtigsten Werkzeuge in unserem Arsenal. Wir nutzen es, um auszudrücken, was wir fühlen oder denken.
Was wir für Sie tun können