Added lots of content
All checks were successful
Latex Build / LatexBuild (push) Successful in 36s

This commit is contained in:
2023-12-07 23:28:10 +01:00
parent 6a17960170
commit 932841770d

View File

@ -17,6 +17,29 @@
\usepackage{tikz} \usepackage{tikz}
\usetikzlibrary{positioning,fit,calc,backgrounds} \usetikzlibrary{positioning,fit,calc,backgrounds}
\lstdefinestyle{mystyle}{
language=Python,
basicstyle=\ttfamily\small,
commentstyle=\color{green},
keywordstyle=\color{blue},
numberstyle=\tiny\color{gray},
stringstyle=\color{purple},
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
escapeinside={(*@}{@*)} % for escaping to LaTeX
}
\lstset{style=mystyle}
\title{Vorstellung von Program-aided Language Model Prompts \title{Vorstellung von Program-aided Language Model Prompts
\thanks{Dieser Beitrag entstand im Rahmen des \emph{Konferenzseminars Machine Learning}, das im Wintersemester 2023/24 vom Fachbereich Informatik und Naturwissenschaften der Fachhochschule Südwestfalen durchgeführt wurde. --- Als Basis für diese \LaTeX-Vorlage dient das IEEE Conference Template der IEEE Computational Intelligence Society.}} \thanks{Dieser Beitrag entstand im Rahmen des \emph{Konferenzseminars Machine Learning}, das im Wintersemester 2023/24 vom Fachbereich Informatik und Naturwissenschaften der Fachhochschule Südwestfalen durchgeführt wurde. --- Als Basis für diese \LaTeX-Vorlage dient das IEEE Conference Template der IEEE Computational Intelligence Society.}}
@ -48,7 +71,7 @@ LLM, Prompt-Engineering, Mathematical, Informatik
\end{IEEEkeywords} \end{IEEEkeywords}
\section{Einleitung}\label{sec:einleitung} \section{Einleitung}\label{sec:einleitung}
Seit 2023 mit der veröffentlichung von ChatGPT sind LLMs in aller Munde. Seid 2023 mit der veröffentlichung von ChatGPT sind LLMs in aller Munde.
Die entwicklung hat aber natürlich schon fiel früher begonnen. 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 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} 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}
@ -76,7 +99,6 @@ Hier ein vergleich wie dies in Chain-of-Thought ~\cite{CoT} vs. PAL~\cite{gao202
\section{Hintergrund}\label{sec:Few-shot-prompting} \section{Hintergrund}\label{sec:Few-shot-prompting}
\subsection{Few-shot Prompting} \subsection{Few-shot Prompting}
Eine der erstaunlichen fähigkeiten von LLMs ist das sie mit wenigen beispielen welche zeigen wie man ein Problem Eine der erstaunlichen fähigkeiten von LLMs ist das sie mit wenigen beispielen welche zeigen wie man ein Problem
einer bestimmten art lösen könnte diese Lösungen oft auf andere probleme übertragen können ~\cite{few-shot2}~\cite{few-shot1}. einer bestimmten art lösen könnte diese Lösungen oft auf andere probleme übertragen können ~\cite{few-shot2}~\cite{few-shot1}.
@ -95,11 +117,69 @@ Diese Technik wird im Allgemeinen Chain of Thought genannt ~\cite{CoT} paper dar
\section{Program-aided Language Models} \section{Program-aided Language Models}
Die natürliche Fortsetzung von CoT ist das Model anzuregen Mathematische und Die natürliche Fortsetzung von CoT~\cite{CoT} ist das Model anzuregen Mathematische und
logische probleme als programmcode zu formatieren welcher die eigentliche Mathematische operation ausführt. logische probleme als programmcode zu formatieren welcher die eigentliche Mathematische operation ausführt.
Dies entfernt die Stärkste schwachstelle welche Zeitgenössische LLMs gegenüber Mathematisch/Lögischen operationen haben. Dies entfernt die Stärkste schwachstelle welche Zeitgenössische LLMs gegenüber Mathematisch/Lögischen operationen haben.
Solange der Programmcode so aufgebaut ist das er den Gedankengang der Problemlösung aufbaut werden so die Solange der Programmcode so aufgebaut ist das er den Gedankengang der Problemlösung aufbaut werden so die
stärken von Chain of Thought Prompts genutzt und die Schwächen für mathematische Operation stärken von Chain of Thought Prompts genutzt und die Schwächen für mathematische Operation von LLMs vollständig zu umgehen.
Beim Aufbau von PAL prompt beispielen ist zu beachten,
das die Variablen sich an den grundsatz der Verbalisierung halten und aussagekräfte Namen haben sollten, die möglichst gut im Fließtext der
Aufgabenstellung wiederzufinden sind, damit die Verbindung zu diesen Besonders deutlich wird.
Auch wenn es möglich ist die Schritte einzeln auszuführen und dann mit den ergebnissen weiterzuarbeiten wurde der einfachere anstatt der einmaligen Ausführung.
\section{Experimente}
Die Experimente zur Quantifizierung der Effizienz von PAL wurden auf den Datensätzen welche schon für CoT~\cite{CoT} verwendet wurden ausgeführt.
Dabei wird sowohl die fähigkeit zum Lösen mathematischer Probleme,
abstrakten Problemen und algorithmische Probleme quantifiziert.
Die CoT Beispiele, welche den Lösungsstiele zeigen werden,
dabei einfach von CoT übernommen und in den PAL style einer Antwort übertragen.
Um eine gute vergleichbarkeit zu gewährleisten,
werden dabei die equivalent beispiele in beiden Stilen verwendet, um die Qualität der ergebnisse beider algorithmen unter gleichen Bedingungen zu testen.
So wurden zum Beispiel zufällig Beispiele 3, 6 und 8 aus der Mänge ger beispiele ausgewählt und Probleme wurden sowohl über CoT als auch über PAL mit dieser Kombination ein Problem gelöst.
So kann der Zufallsfaktor wie gut Beispiele zum Problem passen herausgerechnet werden und die Ergebnisse werden vergleichbarer.
Auf die Beispiele und die Fragestellung folgt immer die Forderung das Antworten in Python ausfallen sollen und zwar in dem dargelegten Format.
Neben CoT und PAL wurde auch noch die Direkte frage nach einem Ergebnis probiert um die Qualitativen unterschiede sauber anzeigen zu können.
\subsection{Mathematische Berechnungen}
Zur evaluation des KI models wurden mathematische Aufgaben aus 8 Datensetzen auf Grundschulniveau verwendet.
Experimente konnte gezeigt werden, dass Kommentare und lange beschreibungen zwischen den Codezeilen die ergebnisse nicht verbessern.
Daher sind die Beispiele recht schier.
In Codebeispiel \ref{math-prompt-beispiel} ist ein Beispiel aus dem PAL repository, welches zeigt wie ein solcher Mathematischer Prompt aussehen kann.
\begin{lstlisting}[language=Python, caption=Beispiel prompt für mathematische , label=math-prompt-example]
(*@\textbf{Q: Olivia has \$23. She bought five bagels for \$3 each. How much money does she have left?}@*)
# solution in Python:
ddef solution():
"""Olivia has $23. She bought five bagels for $3 each. How much money does she have left?"""
money_initial = 23
bagels = 5
bagel_cost = 3
money_spent = bagels * bagel_cost
money_left = money_initial - money_spent
result = money_left
return result
\end{lstlisting}
\subsection{Abstraktes denken}
\subsection{Algoritmischen Aufgaben}
\section{}
\section{Ausblick}
Prompts im Deutschen? Qualität?
% https://chat.openai.com/share/3a78d9db-9caa-4745-a417-0ef229bd7728 % https://chat.openai.com/share/3a78d9db-9caa-4745-a417-0ef229bd7728