Implemented a first verion of the text #7

Merged
Philipp merged 79 commits from first-text-passages into main 2023-12-10 18:44:38 +01:00
35 changed files with 665 additions and 597 deletions
Showing only changes of commit 45180af5fa - Show all commits

View File

@ -63,37 +63,41 @@
\maketitle
\begin{abstract}
Eines der Herausforderungen bei der Nutzung von Large Language Models (LLMs) ist die eingeschränkte Fähigkeit, mathematische Operationen präzise auszuführen.
Eines der Herausforderungen bei der Nutzung von 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.
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 der nächstwahrscheinlichen 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.
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.
\end{abstract}
\begin{IEEEkeywords}
LLM, Prompt-Engineering, Mathematical, Informatik
LLM, Prompt-Engineering, Mathematical, Informatik, NL
\end{IEEEkeywords}
\section{Einleitung}\label{sec:einleitung}
Seid 2023 mit der veröffentlichung von ChatGPT sind LLMs in aller Munde.
Die entwicklung hat aber natürlich schon fiel früher begonnen.
Mit wenigen beispielen ließen sie sich auch schon vor einigen Jahren dazu einsetzen eine einen Rechenweg auszuformulieren
und so zu einer symbolischen lösung zu kommen welche dann eingesetzt und ausgerechnet werden aber auch diese sehr schritt für schritt ausgeführte berechnung ~\cite{CoT}
hat das problem das die Mathematischen operationen in einem Sprachmodel gelöst werden,
welches dafür sich aus dem Textkörper welcher als grundlage zum Lernen verwendet wurde die grundrechenregeln Ableiten muss.
Dies und das LLMs die nächsten Zeichen vorhersagen sort dafür das es extrem schwer für diese ist die correct aufgeschriebenen probleme correct zu lösen.
Verschiebt man die Berechnung selber aber in eine Software, welche von dem LLM geschrieben wird, umgeht man dieses problem und erreicht so eine viel bessere Qualität.
Zur Zeit des PAL papers wurde das Lösen über few-shot-learning angestossen~\cite{few-shot1}~\cite{few-shot2}.
Few shot learning gibt eine Menge and Frage und Antwortpaaren als beispiel wie eine Problemlösung aussehen könnte.
Dies sorgt dafür das fragestellungen vom LLM im Scheme der Beispiele angegangen werden und das LLM so etwas geführt wird.
PAL nutzt few-shot prompting, um so ein LLM dazu zu bringen eine Python funktion, als Antwort zurückzugeben.
Dabei ist natürlich wichtig, dass die gegebenen beispiele maßgeblich die Probleme eingrenzen die mit dieser Technik gelöst werden können.
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.
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.
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.
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.
Das Januar 2023 Vorgestellte PAL verfahren ist nun ein integrierter Teil von z.\ B.\ ChatGPT.
Ob sich dies aus dem hier vorgestellten PAL Papier entwickelt hat, ist natürlich schwer zu sagen.
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.
Hier ein vergleich wie dies in Chain-of-Thought ~\cite{CoT} vs. PAL~\cite{gao2023pal} vs. aktueller ChatGPT4\cite{ChatGPTexample} aussehen kann.
Nachfolgend ein Vergleich, wie dies in Chain-of-Thought, PAL und dem aktuellen ChatGPT4 aussehen kann ~\cite{CoT}~\cite{gao2023pal}~\cite{ChatGPTexample}.
\begin{figure*}[htbp]
\centering