Indirektes Reasoning

Indirektes Reasoning mit LLMs

Hintergrund

Zhang et al. (2024) (opens in a new tab) schlugen kürzlich eine Methode des indirekten Reasonings vor, um die Schlussfolgerungsfähigkeit von LLMs zu stärken. Sie verwendet die Logik von Kontrapositiven und Widersprüchen, um IR-Aufgaben wie faktisches Schließen und mathematische Beweisführung anzugehen. Sie besteht aus zwei Schlüsselschritten: 1) die Verständlichkeit von LLMs durch Erweiterung von Daten und Regeln verbessern (d.h., logische Äquivalenz des Kontrapositivs) und 2) Entwurf von Prompt-Vorlagen, um LLMs zur Implementierung des indirekten Schließens basierend auf dem Beweis durch Widerspruch anzuregen.

Experimente mit LLMs wie GPT-3.5-turbo und Gemini-pro zeigen, dass die vorgeschlagene Methode die Gesamtgenauigkeit des faktischen Schließens um 27,33% und der mathematischen Beweisführung um 31,43% im Vergleich zu traditionellen direkten Schließmethoden erhöht.

Unten finden Sie ein Beispiel für eine Zero-Shot-Vorlage für den Beweis durch Widerspruch.

Prompt

Wenn a+|a|=0, versuche zu beweisen, dass a<0.

Schritt 1: Liste die Bedingungen und Fragen der ursprünglichen Aussage auf.

Schritt 2: Füge die in Schritt 1 aufgelisteten Bedingungen zu einer zusammen. Definieren Sie sie als wj.

Schritt 3: Lass uns Schritt für Schritt nachdenken. Bitte bedenke alle Möglichkeiten. Wenn die Schnittmenge zwischen wj (definiert in Schritt 2) und der Negation der Frage in mindestens einer Möglichkeit nicht leer ist, ist die ursprüngliche Aussage falsch. Andernfalls ist die ursprüngliche Aussage wahr.

Antwort:

Code / API

from openai import OpenAI
client = OpenAI()
 
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{
  "role": "user",
  "content": "If a+|a|=0, try to prove that a<0.\n\nStep 1: List the conditions and questions in the original proposition.\n\nStep 2: Merge the conditions listed in Step 1 into one. Define it as wj.\n\nStep 3: Let us think it step by step. Please consider all possibilities. If the intersection between wj (defined in Step 2) and the negation of the question is not empty at least in one possibility, the original proposition is false. Otherwise, the original proposition is true.\n\nAnswer:"
}
],
temperature=0,
max_tokens=1000,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)

Referenz