From 45180af5fa04ebbe20c5c36e5e2a4a2646afae7e Mon Sep 17 00:00:00 2001 From: Philipp Horstenkamp Date: Sat, 9 Dec 2023 22:20:22 +0100 Subject: [PATCH] Chat GPT refactoring --- pal-vorstellung.tex | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/pal-vorstellung.tex b/pal-vorstellung.tex index 17bd1a7..8ac5065 100644 --- a/pal-vorstellung.tex +++ b/pal-vorstellung.tex @@ -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