\documentclass[a4paper, twoside]{IEEEtran}

\usepackage{array}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[style=ieee, backend=biber, bibencoding=utf8]{biblatex}
\addbibresource{literatur.bib}\usepackage{csquotes}
\renewcommand*{\bibfont}{\footnotesize}
\usepackage{booktabs}
\usepackage{microtype}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{listings}
\lstset{basicstyle=\footnotesize\ttfamily, breaklines=true, keepspaces=true, columns=fixed, numberstyle=\tiny, keywordstyle=\color{blue}}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,calc,backgrounds}

\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.}}

\author{
    \IEEEauthorblockN{Ihr Name\\}
    \IEEEauthorblockA{Fachhochschule Südwestfalen}

    \vspace{3mm}
    Konferenzseminar Machine Learning\\
    Wintersemester 2023/24
}

\begin{document}

\maketitle

\begin{abstract}
Eines der Probleme welches bei der nutzung von LLMs auftritt ist eine reduktion der ausführung von mathematischen operationen.
Sie entwickeln das gleiche problem wie der Menschliche verstand das das Berechnen von Mathematischen ergebnissen mit Flüchtigkeitsfehlern.
Eine mögliche lösung dafür ist die formulierung von Mathematischen problemstellungen in einfachem Programmcode welcher dann wie ein ``Taschenrechner'' analog verwendet wird
um die Mathematischen operationen als Arithmetisch logische berechnung durchzuführen und nicht als Sprachmodel welches versucht die reihenfolge der nächst wahrscheinlichen Tokens zu generieren.
So können die stärken des Aufgabenmodels mit den stärken von direkt ausgeführten Mathematischen operationen kombiniert werden um Ergebnisse zu erzielen welche Mathematisch sauberer sind.
Dieses prinzip ist in dem Paper „PAL: Programing aided langauge model“ ~\cite{gao2023pal} vorgestellt worden. Hier wird es zusammengefasst.
\end{abstract}

\begin{IEEEkeywords}
LLM, Prompt-Engineering, Mathematical, Informatik
\end{IEEEkeywords}

\section{Einleitung}\label{sec:einleitung}
Seit 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.

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.

Hier ein vergleich wie dies in Chain-of-Thought ~\cite{CoT} vs. PAL~\cite{gao2023pal} vs. aktueller ChatGPT4\cite{ChatGPTexample} aussehen kann.


\begin{figure*}[htbp]
    \centering
    \includegraphics[width=\textwidth]{PAL Example Expanded.drawio.pdf}
    \caption{CoT\cite{CoT} vs. PAL\cite{gao2023pal} vs. ChatGPT4\cite{ChatGPTexample} nach\cite{gao2023pal}}
    \label{fig:pal_vs_chatgpg}
\end{figure*}

\section{Hintergrund: Few-shot-prompting}
Few
% https://chat.openai.com/share/3a78d9db-9caa-4745-a417-0ef229bd7728

\printbibliography
\end{document}
