Refactored the rest
All checks were successful
Latex Build / LatexBuild (push) Successful in 45s

This commit is contained in:
2023-12-10 18:39:37 +01:00
parent 0fd957d0da
commit e239e15887

View File

@ -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}