This commit is contained in:
@ -399,83 +399,68 @@ coordinates {(text-davinci-001,8.6) (text-davinci-002,46.9) (text-davinci-003,69
|
|||||||
|
|
||||||
\section{Ähnliche Werke \& Implementierungen}
|
\section{Ähnliche Werke \& Implementierungen}
|
||||||
|
|
||||||
Few-shot Prompting~\cite{few-shot2}~\cite{few-shot1} und Chain of Thought (CoT) haben zur Entwicklung des PAL-Papers beigetragen.
|
Die Entwicklung des PAL-Papers wurde durch das Few-shot Prompting~\cite{few-shot2}~\cite{few-shot1} und das Konzept des
|
||||||
Allerdings wurden die Qualitätsergebnisse, die durch PAL erreicht wurden, dort nicht erreicht.
|
Chain of Thought (CoT) angeregt, erreichte jedoch eine überlegene Qualität in den Ergebnissen.
|
||||||
|
Weitere Ansätze, die zusätzliche Tokens für Daten und mathematische Operationen einsetzen~\cite{Demeter_Downey_2020},
|
||||||
|
sind zwar vorhanden, erweisen sich jedoch als komplexer, weniger zuverlässig und weniger universell einsetzbar.
|
||||||
|
|
||||||
Es gibt weitere Lösungsansätze, die über zusätzliche Tokens für Daten und mathematische Operationen arbeiten~\cite{Demeter_Downey_2020}.
|
Es existieren Large Language Models (LLMs), die speziell auf mathematische Probleme und Codeausgabe ausgerichtet sind
|
||||||
Diese Ansätze sind jedoch komplexer, weniger zuverlässig und weniger allgemeingültig.
|
und eine höhere Ergebnisqualität als Standardmodelle aufweisen, allerdings nur marginal~\cite{pi2022reasoning}.
|
||||||
|
Diese Modelle sind ebenfalls fähig, Code zu generieren und auszuführen.
|
||||||
|
|
||||||
Es gibt auch Large Language Models (LLMs), die einen Fokus auf mathematische Probleme und den Output von Code haben.
|
Ein zeitgleich mit PAL veröffentlichter Ansatz, das Program of Thought (PoT)~\cite{chen2023program},
|
||||||
Dabei ist die Qualität der Ergebnisse natürlich besser als bei einem Standardmodell, aber nur geringfügig~\cite{pi2022reasoning}.
|
konzentriert sich stärker auf mathematische Probleme und wird in PAL zitiert.
|
||||||
Diese können auch genutzt werden, um Code zu generieren und in Echtzeit auszuführen.
|
Es scheint, dass dort weniger Wert auf die Gestaltung von Prompts gelegt wird und auch keine Vergleiche mit dem
|
||||||
|
aussagekräftigen Datensatz GSM-HARD gezogen werden, stattdessen werden andere Datensätze verwendet.
|
||||||
|
Dies macht die Vergleichbarkeit schwierig.
|
||||||
|
|
||||||
Der dem PAL sehr ähnliche Ansatz von Program of Thought (PoT)~\cite{chen2023program} erschien etwa zeitgleich und wird auch in PAL referenziert.
|
Neue Techniken wie die "Automatic Model Selection with Large Language Models for Reasoning" kombinieren CoT und PAL und
|
||||||
Der Fokus von PoT liegt mehr auf mathematischen Problemen.
|
überlassen die Entscheidung über die Korrektheit beider Ergebnisse einem LLM,
|
||||||
Meiner Meinung nach wird dort auch weniger die Promptgestaltung untersucht als hier.
|
wodurch die Qualität der Ergebnisse für GSM8K auf $96,5\%$ gesteigert werden konnte, eine Verbesserung um $34\%$~\cite{zhao2023automatic}.
|
||||||
Auch die Vergleiche mit GSM-HARD, die ich persönlich sehr aussagekräftig finde, finden nicht statt.
|
|
||||||
Stattdessen wurden andere Datensätze verwendet.
|
|
||||||
|
|
||||||
Darauf aufbauend gibt es Prompt-Techniken wie die "Automatic Model Selection with Large Language Models for Reasoning",
|
Die weit verbreitete Python/JavaScript-Bibliothek LangChain hat PAL-Prompts in ihr Repertoire aufgenommen~\cite{langchain}.
|
||||||
die CoT und PAL parallel durchführen lässt und dann einem LLM die Entscheidung überlässt, welches der Ergebnisse korrekt ist.
|
Aktuelle Studien belegen, dass die Qualität von PAL auch bei neueren LLMs besser ist als die von CoT~\cite{kabra2023programaided},
|
||||||
Damit ließ sich die Qualität der Ergebnisse von GSM8K auf $96,5\%$ steigern, um $34\%$~\cite{zhao2023automatic}.
|
wobei dort noch andere Experimente gemacht werden und weitere Verbesserungen vorgenommen wurden.
|
||||||
|
|
||||||
Die beliebte Python/JavaScript-Bibliothek LangChain hat PAL-Prompts als Teil ihres Funktionsumfangs~\cite{langchain}.
|
Eine vergleichbare Integration von Programmiersprachen findet in Tools wie Binder~\cite{binder} statt,
|
||||||
|
die sich hauptsächlich auf die Datenanalyse mit Python's Pandas und SQL konzentrieren.
|
||||||
|
Moderne Python-Libraries wie PandasAI~\cite{Venturi} setzen diesen Ansatz ein,
|
||||||
|
um Datenabfragen und -operationen zu bearbeiten, und gehen dabei über Zero-shot-Prompts vor.
|
||||||
|
|
||||||
Auch aktuellere Veröffentlichungen stellen deutlich fest,
|
Alternative Ansätze wie "Automatic Multi-Step Reasoning and Tool-Use for Large Language Models"~\cite{paranjape2023art}
|
||||||
dass auch für neuere LLMs die Qualität von PAL besser ist als die von CoT~\cite{kabra2023programaided}.
|
frieren das LLM während der Codeausführung ein und fügen die Ergebnisse direkt in den Text ein,
|
||||||
Es erweitert PAL zudem um einen Reliability-Wert.
|
bevor die Ausführung des LLMs basierend auf diesen Ergebnissen fortgesetzt wird.
|
||||||
|
|
||||||
Eine ähnliche Integration von Programmiersprachen findet in Binder~\cite{binder} statt,
|
Das in ChatGPT verwendete Analysemodul erzeugt schnell Code, ohne die Berechnungen direkt im Code durchzuführen,
|
||||||
wobei es primär um die Analyse von Daten via Pythons Pandas und SQL geht.
|
was einen weiteren interessanten Anwendungsfall darstellt.
|
||||||
Zeitgenössische Python-Libraries wie zum Beispiel PandasAI~\cite{Venturi} verwenden diesen Ansatz, um Fragen über und Aufgaben an Daten zu erledigen.
|
|
||||||
Dies ist die logische Fortführung der tabellierten Pinguin-Daten in einer als Library zur Verfügung stehenden Implementierung.
|
|
||||||
PandasAI arbeitet allerdings nicht mit Few-shot-Prompts, sondern über Zero-shot-Prompts.
|
|
||||||
|
|
||||||
Daneben gibt es Ansätze wie "Automatic Multi-Step Reasoning and Tool-Use for Large Language Models"~\cite{paranjape2023art},
|
|
||||||
die anders als PAL nicht mit Few-shot-Prompts arbeiten.
|
|
||||||
Stattdessen wird das LLM eingefroren, wenn der Code ausgeführt wird, und die Ergebnisse werden direkt in den Fließtext eingebettet,
|
|
||||||
bevor die Ausführung des LLMs auf Grundlage der Ergebnisse fortgesetzt wird.
|
|
||||||
|
|
||||||
Das in ChatGPT verwendete Analysemodul ist ein weiteres Beispiel, in dem schnell Code generiert wird,
|
|
||||||
anstatt dass Berechnungen direkt im Code durchgeführt werden.
|
|
||||||
|
|
||||||
\section{Ausblick}
|
\section{Ausblick}
|
||||||
|
|
||||||
Die vorgestellte Prompt-Technik PAL zeigt einen ersten Schritt,
|
Die vorgestellte PAL-Technik illustriert einen innovativen Schritt,
|
||||||
bei dem während der Antwort von Large Language Models (LLMs) auf eine Frage oder Aufgabe Python-Code ausgeführt wird.
|
indem sie Python-Code während der Beantwortung von Fragen oder Aufgaben durch LLMs ausführt.
|
||||||
Das erschlossene Verbesserungspotenzial von mathematisch-logischen Operationen in LLMs durch PAL ist beeindruckend.
|
Das aufgedeckte Verbesserungspotenzial für mathematisch-logische Operationen innerhalb von LLMs ist beeindruckend und zeugt von schlichter technischer Eleganz.
|
||||||
Die Lösung besticht durch ihre schlichte technische Eleganz.
|
|
||||||
Schon beim Lesen des Abstracts entsteht der Eindruck, PAL einsetzen oder implementieren zu können.
|
|
||||||
|
|
||||||
Die Quantifizierung einzelner Einflussfaktoren wie der Reihenfolge und Art der Beispiele ist hilfreich.
|
Die Quantifizierung von Einflussfaktoren, wie die Reihenfolge und Art der Beispiele, trägt zur Verlässlichkeit der Methode bei.
|
||||||
Insbesondere die Tatsache, dass PAL-Prompts einfache „Übersetzungen“ von CoT-Prompts sind und gemeinsam eingesetzt werden,
|
Die Tatsache, dass PAL-Prompts als erweiterte CoT-Prompts fungieren, stärkt das Vertrauen in die Ergebnisse.
|
||||||
macht die Ergebnisse vertrauenswürdig.
|
|
||||||
|
|
||||||
Der technische Fortschritt sowohl bei LLMs als auch bei der Integration von LLMs in Software
|
Der rasante technische Fortschritt im Bereich der LLMs und deren Integration in Software zeigt,
|
||||||
bzw. umgekehrt der Software in LLMs über das letzte Jahr war erstaunlich.
|
wie effektiv der von PAL verfolgte Ansatz ist.
|
||||||
Lösungen, die PAL integrieren oder vergleichbar wie PAL arbeiten, gibt es vermehrt,
|
Trotz der Versuche des PAL-Papers, die Ergebnisse des 175-Milliarden-Parameter-Modells zu kontextualisieren,
|
||||||
was deutlich zeigt, wie gut der mit PAL verfolgte Ansatz funktioniert.
|
bleibt unklar, wie aktuelle LLMs abschneiden würden.
|
||||||
|
Dennoch ist es unwahrscheinlich, dass die Ergebnisse schlechter ausfallen als direkte Anfragen oder CoT-Resultate auf denselben Modellen.
|
||||||
|
|
||||||
Auch wenn das PAL-Paper versucht hat, das 175-Milliarden-Parameter-Modell, auf dem es evaluiert wurde,
|
Eine kritische Information, die im PAL-Paper fehlt, ist die Häufigkeit nicht ausführbaren Codes.
|
||||||
in Kontext zu setzen, ist nicht ganz klar, wie die Performance bei einem aktuellen LLM aussehen würde.
|
LLMs sind oft in der Lage, mit einem Fehler-Traceback den Code zu korrigieren, was eine Verbesserung darstellen könnte,
|
||||||
Es ist jedoch kaum vorstellbar, dass die Ergebnisse schlechter sind als eine direkte Query oder CoT-Ergebnisse auf diesen Modellen,
|
ohne den CPU-Aufwand einer mehrfachen Ausführung für einen Mehrheitsentscheid zu erhöhen.
|
||||||
schon allein deshalb, weil PAL in der Evaluation auf größeren Modellen überlegen war.
|
|
||||||
Das vor einem Jahr für die Versuche zu PAL verwendeten LLM-Modelle \DavinciCode ist nun von OpenAI als Legacy-Modelle markiert und wird zum 04.01.2024 auslaufen.
|
|
||||||
Dies zeigt deutlich wie schnell dort der Technische Fortschritt ist.
|
|
||||||
|
|
||||||
Was ich persönlich am PAL-Paper vermisse, ist die Angabe, wie oft der Programmcode unausführbar war.
|
Es bleibt zu untersuchen, ob PAL in anderen Sprachen ähnlich effektiv ist,
|
||||||
Oft kann ein Large Language Model mit dem Traceback eines Fehlers Programmcode reparieren.
|
da eine weniger enge Verknüpfung zwischen Aufgabenstellungen und Codevariablen in verschiedenen Sprachen
|
||||||
Dies könnte zu einer weiteren Verbesserung führen, die nicht zwingend mehr CPU verbraucht,
|
die Qualität potenziell beeinträchtigen könnte. Eine Quantifizierung dieser Effekte stellt sicherlich eine Herausforderung dar.
|
||||||
wie die Mehrfachausführung einer Aufgabe für einen Mehrheitsentscheid.
|
|
||||||
Das Potenzial ist hier leider nicht quantifizierbar, obwohl sich dies hätte leicht feststellen lassen müssen.
|
|
||||||
Dies ist zum Beispiel in PandasAI geschehen ~\cite{Venturi}. Dort wird nicht ausführbarer Code dem LLM zur Korrektur oder Verbesserung zurückgegeben.
|
|
||||||
|
|
||||||
Fragwürdig ist natürlich auch, ob die Ergebnisse von PAL in anderen Sprachen genauso gut ausfallen würden,
|
Neben den Wirklich beeindruckenden ergebnissen die PAL vorweisen kann ist aber besonders die Technische Implementierung
|
||||||
da möglicherweise eine losere Kopplung von beispielsweise deutschsprachigen Benennungen in der Aufgabenstellung und
|
welche unabhängig voneinander in Verschiedenen Tools vorgenomen wurde ein Zeichen davon wie Zielführen die Nutzung von PAL oder der Interpretierung
|
||||||
englischsprachigen Variablenbenennungen im Code die Qualität senken könnte.
|
von Python code Ausführungen zur Laufzeit ist.
|
||||||
Alternativ könnte die deutsche Sprache zwischen Programmcode ungewöhnlicher sein als die englische und somit für eine
|
|
||||||
schlechte Datenlage bei der Codegenerierung sorgen. Dies zu Quantifizieren ist aber sicherlich schwierig.
|
|
||||||
% https://chat.openai.com/share/3a78d9db-9caa-4745-a417-0ef229bd7728
|
|
||||||
|
|
||||||
|
Dabei ist aber klar zu sehen das oft weit über das Prompt-Engineering hinausgegangen wurde sondern aktuelle LLMs ohne spezielle Aufforderung interpretierbaren code generieren.
|
||||||
\printbibliography
|
\printbibliography
|
||||||
\end{document}
|
\end{document}
|
||||||
|
Reference in New Issue
Block a user