This commit is contained in:
@ -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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user