Reworked the Introduction.

Again
This commit is contained in:
Philipp Horstenkamp 2023-12-10 15:56:01 +01:00
parent 7e6b981dc2
commit d778710f2e
Signed by: Philipp
GPG Key ID: DD53EAC36AFB61B4

View File

@ -69,15 +69,17 @@
\maketitle
\begin{abstract}
Eines der Herausforderungen bei der Nutzung von Large Language Models (LLMs) ist die eingeschränkte Fähigkeit,
Eine der Herausforderungen bei der Nutzung von umfangreichen Sprachmodellen (Large Language Models, LLMs) ist die eingeschränkte Fähigkeit,
mathematische Operationen präzise auszuführen.
Ähnlich wie der menschliche Verstand neigen sie dazu, mathematische Ergebnisse mit Flüchtigkeitsfehlern zu berechnen.
Ähnlich wie der menschliche Verstand neigen sie dazu, mathematische Ergebnisse fehlerhaft zu berechnen.
Eine Lösung hierfür bietet die Umwandlung von mathematischen Problemstellungen in einfachen Programmcode.
Dieser Ansatz nutzt die Rechenkapazität analog zu einem Taschenrechner, um arithmetisch-logische Berechnungen durchzuführen,
statt auf die Generierung des nächsten wahrscheinlichen Tokens durch das Sprachmodell zu vertrauen.
Durch diese Methode lassen sich die Stärken des Aufgabenmodells mit denen der direkten Ausführung mathematischer Operationen verbinden,
um mathematisch präzisere Ergebnisse zu erzielen.
Dieses Prinzip wird im Paper „PAL: Programming Aided Language Model“~\cite{gao2023pal} vorgestellt und auf aktuelle Implementierung eingegangen.
Der hier vorgestellte Ansatz der Programm-unterstützten Sprachmodelle (Program-aided Language Models, PAL)
verwendet Python ähnlich einem Taschenrechner, um arithmetisch-logische Berechnungen durchzuführen und den Lösungsaufbau zu strukturieren.
Dabei wird nicht auf die Generierung des nächsten wahrscheinlichen Tokens durch das Sprachmodell als Lösungsansatz
für mathematisch-logische Operationen vertraut.
Stattdessen werden die Stärken des LLMs mit denen der direkten Ausführung mathematischer Operationen über einen Interpreter kombiniert,
um mathematisch präzisere Ergebnisse zu erzielen.
Dieses Prinzip wird im Paper „PAL: Programming Aided Language Model“~\cite{gao2023pal} eingehend vorgestellt und die aktuelle Implementierung werden aufgezeigt.
\end{abstract}
%„PAL: Programming Aided Language Model“
@ -87,25 +89,30 @@ LLM, Prompt-Engineering, Mathematical, Informatik, NL
\end{IEEEkeywords}
\section{Einleitung}\label{sec:einleitung}
Seit der Veröffentlichung von ChatGPT im Jahr 2023 haben Large Language Models (LLMs) stark an Popularität gewonnen.
Allerdings begann ihre Entwicklung bereits deutlich früher.
Schon vor einigen Jahren war es möglich, LLMs einzusetzen,
um Rechenwege auszuformulieren und so zu symbolischen Lösungen zu gelangen, die anschließend konkret berechnet werden konnten.
Seit der Veröffentlichung von ChatGPT im Jahr 2023 haben umfangreichen Sprachmodellen (Large Language Models, LLMs) stark an Popularität gewonnen.
Allerdings begann ihre Entwicklung bereits früher.
Schon seit einigen Jahren ist es möglich, LLMs einzusetzen,
um Rechenwege auszuformulieren und so zu symbolischen Lösungen zu gelangen,
die anschließend konkret berechnet werden konnten.
Jedoch hat diese schrittweise Berechnung das Problem, dass mathematische Operationen innerhalb eines Sprachmodells gelöst werden müssen,
das seine Kenntnisse aus einem Textkorpus ableitet,
welcher als Grundlage zum Lernen dient.
Dies und die Tatsache, dass LLMs darauf ausgelegt sind, die nächsten Zeichen vorherzusagen, erschweren es ihnen, korrekt formulierte Probleme präzise zu lösen.
Verlagert man jedoch die Berechnung in eine Software, die vom LLM generiert wird, kann dieses Problem umgangen und eine deutlich höhere Qualität.
Ergebnisse erreicht werden. Zum Zeitpunkt des PAL-Papers wurde das Lösen von Problemen mittels Few-Shot-Learning vorangetrieben.
das seine Kenntnisse aus einem Textkorpus ableitet, welcher als Grundlage zum Lernen dient.
Dies und die Tatsache, dass LLMs darauf ausgelegt sind, die nächsten Zeichen vorherzusagen, erschweren es ihnen,
konkret formulierte Probleme präzise zu lösen.
Gerade dann wenn sich eine Mathematische Operation sich nicht genau so im Textkorpus wiederfindet
da Mathematische Operationen aus Text zu Interpolieren einen sehr hohen grad an abstraktion erfordern.
Verlagert man jedoch die Berechnung in eine Software, die vom LLM generiert wird,
kann dieses Problem umgangen und so eine deutlich höhere Ergebnisqualität erzielt werden.
Zum Zeitpunkt des PAL-Papers wurde das Lösen von solchen Problemen mittels Few-Shot-Learning im Style von Chain of Though (CoT)~\cite{CoT} vorangetrieben.
Few-Shot-Learning verwendet eine Reihe von Frage- und Antwortpaaren als Beispiele, um zu zeigen, wie eine Problemlösung aussehen könnte.
Dies führt dazu, dass Fragestellungen vom LLM im Schema der Beispiele angegangen werden und das LLM somit eine gewisse Führung erhält.
CoT ist ein Promptpattern welches das LLM dazu anhält die eine Antwort schrittweise und Systematisch aufzubauen und nicht das Ergebnis zu raten.
PAL nutzt Few-Shot-Prompting, um ein LLM dazu zu bringen, eine Python-Funktion als Antwort zurückzugeben.
Dabei ist es wichtig, dass die gegebenen Beispiele maßgeblich die zu lösenden Probleme eingrenzen.
Dabei ist es wichtig zu Wissen, dass die verwendeten Beispiele in Prompts maßgeblich auf die zu lösenden Probleme zugeschnitten sind.
Das im Januar 2023 vorgestellte PAL-Verfahren ist nun ein integrierter Teil von beispielsweise ChatGPT.
Ob sich dies direkt aus dem hier vorgestellten PAL-Paper entwickelt hat, lässt sich nicht eindeutig feststellen.
Das im Januar 2023 vorgestellte PAL-Verfahren oder eine Variante davon ist nun ein integrierter Teil von beispielsweise ChatGPT oder LangChain~\cite{langchain}.
Ob dies eine Parallelentwicklung ist oder auf PAL basiert lässt sich zumindest bei OpenAI nur schwer sagen.
Nachfolgend ein Vergleich, wie dies in Chain-of-Thought, PAL und dem aktuellen ChatGPT4 aussehen kann~\cite{CoT}~\cite{gao2023pal}~\cite{ChatGPTexample}.
In Abbildung \ref{fig:cot-pal-chatgpg} findet man ein Vergleich, wie das Lösen von Mathematischen Problemen in Chain-of-Thought~\cite{CoT}, PAL~\cite{gao2023pal} und dem aktuellen ChatGPT4~\cite{ChatGPTexample} aussehen kann.
\begin{figure*}[htbp]
\centering