LLM-Halluzinationen entschlüsseln: Ein tiefer Einblick in Fehler von Sprachmodellen
Einführung
Da Unternehmen und große Technologiefirmen mithilfe großer Sprachmodelle (LLMs) bessere Produkte entwickeln, ist es wichtig, ihre Verantwortung bei der Bereitstellung zuverlässiger Lösungen zu verstehen. Ein wesentliches Problem besteht darin, dass diese Modelle manchmal selbstbewusste, aber falsche Informationen erzeugen, wodurch Nutzer fälschlicherweise glauben, die Ausgabe sei korrekt. Dieses Problem wird als Halluzination bezeichnet.
Morena, eine Data Scientist, hielt bei einem kürzlich von Zilliz veranstalteten Unstructured Data Meetup eine aufschlussreiche Präsentation über LLM-Halluzinationen und erklärte ausführlich das Konzept von Halluzinationen, Arten von Halluzinationen, wie sie schädlich sein können, warum sie auftreten und vor allem, wie wir diese Halluzinationen erkennen können.
Sehen Sie sich die Aufzeichnung von Morenas Vortrag an
Was sind Halluzinationen?
Halluzinationen sind falsche oder widersprüchliche Ausgaben, die von irgendeiner Form von Sprachmodell erzeugt werden. Einfach ausgedrückt: Inhalte, die faktisch falsch, unsinnig oder dem Eingabe-Kontext nicht treu sind.
Fragen wir Llama3 zum Beispiel eine komplizierte Frage: Welchen anderen Namen diskutierten die Mitgründer von State Software für JSON?
Die Antwort von Llama3 ist unten dargestellt:
Llama3s Antwort auf die Beispielfrage
Während die tatsächliche Diskussion etwas anders ist:
Die Antwort auf der Wikipedia-Seite über JSON
Llama 3-8B zeigt ein klassisches Beispiel für eine Halluzination. Untersuchen wir die verschiedenen Arten von Halluzinationen, die ein Language Model liefern kann.
Verschiedene Arten von Halluzinationen
Es gibt zwei Hauptkategorien von Halluzinationen: intrinsische Halluzinationen und extrinsische Halluzinationen.
Intrinsische Halluzinationen
Intrinsische Halluzinationen neigen dazu, den ihnen gegebenen Quellinformationen zu widersprechen. Stellen Sie sich vor, Sie sind in Eile und versuchen, Fragen für einen umfangreichen und komplexen Verständnistest zu lösen. Sie könnten die Informationen falsch verstehen und einige Fragen falsch beantworten. Ähnlich neigen LLMs dazu, häufig zu halluzinieren, wenn die Daten stark unstrukturiert sind, wie etwa ein umfangreicher Textkorpus.
Extrinsische Halluzinationen
Extrinsische Halluzinationen treten auf, wenn LLMs Informationen erzeugen, die nicht anhand der bereitgestellten Quelldaten verifiziert werden können, was oft zu erfundenen Details führt. Um extrinsische Halluzinationen effektiv zu handhaben, weisen Sie das LLM an, ausschließlich die gegebenen Informationen zur Erledigung von Aufgaben zu verwenden. Dieser Ansatz ist besonders vorteilhaft in Retrieval-Augmented Generation (RAG)-Pipelines. Laurie Voss betonte diese Praxis während eines Zilliz Unstructured Data Meetup und hob ihre Bedeutung für die Aufrechterhaltung der Genauigkeit hervor.
Unten finden Sie ein Prompt-Beispiel zur Behandlung extrinsischer Halluzinationen.
prompt = f"""Only using the Context Provided to you and not any outside knowledge, Answer the user query.
Context: {Wikipedia_Page_Content}
Query: Summarize me this Page"""
# Rather than just
prompt = f"""Summarize me this Page
{Wikipedia_Page_Content}"""
Ein Beispiel für intrinsische vs. extrinsische Halluzination
Probleme mit LLM-Halluzinationen
Halluzinationen, die zunächst harmlos oder sogar humorvoll erscheinen mögen, stellen erhebliche Herausforderungen dar, wenn LLMs in Branchen wie Recht und Gesundheitswesen eingesetzt werden. In diesen Sektoren ist die Genauigkeit der von Generative-AI-Modellen erzeugten Informationen entscheidend, um positive Ergebnisse sicherzustellen. Wenn diese Modelle ungenaue Ausgaben erzeugen, kann dies zu schwerwiegenden Folgen führen, wie etwa falschen rechtlichen Entscheidungen oder beeinträchtigter Patientenversorgung, wodurch potenziell Leben gefährdet werden.
Darüber hinaus können von LLMs erzeugte Halluzinationen über ihre Auswirkungen auf bestimmte Branchen hinaus weitreichende gesellschaftliche Implikationen haben. Sie untergraben das Vertrauen in verlässliche Informationsquellen und tragen zu weitverbreiteter Verwirrung und Misstrauen in der Öffentlichkeit bei. Diese Erosion des Vertrauens kann insbesondere während kritischer Ereignisse wie Wahlen schädlich sein.
Beispielsweise können während Wahlperioden von LLMs verbreitete Fehlinformationen über Kandidaten, Wahlverfahren oder Wahlergebnisse demokratische Prozesse erheblich beeinflussen. Falsche Informationen können Wähler darüber irreführen, wo und wann sie wählen sollen, wodurch potenziell die Wahlbeteiligung unterdrückt und Wahlergebnisse beeinflusst werden. Darüber hinaus können Fehlinformationen Spannungen verschärfen und zu sozialen Unruhen bis hin zu Gewalt führen, wie in Situationen zu beobachten war, in denen unbegründete Behauptungen über Wahlbetrug Proteste und Konfrontationen ausgelöst haben.
Warum halluzinieren LLMs?
LLMs fehlt ein Konzept von Grundwahrheit; ihre Ausgaben werden durch komplexe mathematische Operationen wie Matrixmultiplikationen und Softmax-Funktionen bestimmt, die Wahrscheinlichkeiten für jedes Token in einer Sequenz auf Grundlage der vorhergehenden Token berechnen. Diese Wahrscheinlichkeiten bestimmen die vom LLM erzeugte Sequenz, aber was beeinflusst diese Wahrscheinlichkeiten?
Token-Wahrscheinlichkeiten für eine gegebene Zeichenfolge
Widersprüchliche oder falsche Informationen in Trainingsdaten
Foundation-Modelle werden mit riesigen Mengen unstrukturierter Daten trainiert, darunter Wikipedia-Seiten, Subreddits, Tweets, Stack-Overflow- und MathOverflow-Threads, GitHub-Repositories und zahlreiche andere Internetquellen. Dieses Training zielt nicht darauf ab, sicherzustellen, dass das Modell von Anfang an sinnvolle Ausgaben erzeugt; stattdessen baut es grundlegendes Wissen auf, das als Tensoren gespeichert wird, und erzeugt kohärente Ausgaben.
Allerdings sind nicht alle im Internet gefundenen Daten korrekt. Fehlinformationen und irreführende Inhalte, etwa aus bestimmten Subreddits oder Tweets, können das Modell während des Trainings beeinflussen. Dieses Problem kann zu Inkonsistenzen in den Gewichten des Modells führen und verzerrte Wahrscheinlichkeitsverteilungen zur Folge haben, was letztlich Halluzinationen in seinen Ausgaben verursacht.
Komplexität von Aufgaben
Auch die Art der Aufgaben beeinflusst, ob ein LLM dazu neigt, falsche oder unsinnige Ausgaben zu erzeugen. Einfache Aufgaben wie das Beantworten unkomplizierter Fragen führen weniger wahrscheinlich zu Halluzinationen. Allerdings können LLMs Schwierigkeiten haben und hochgradig unsinnige Ausgaben erzeugen, wenn sie mit komplexeren Aufgaben konfrontiert werden, etwa dem Zusammenfassen umfangreicher Textpassagen oder dem Analysieren tabellarischer Daten, die im Markdown-Format bereitgestellt werden.
Einfache vs. komplexe Aufgabe
Halluzinationen erkennen
Mehrere Methodologien werden verwendet, um LLM-Halluzinationen zu erkennen: Selbstbewertung, referenzbasierte Erkennung, unsicherheitsbasierte Erkennung und konsistenzbasierte Erkennung. Lassen Sie uns einige dieser Methodologien im Detail betrachten.
Methoden zur Erkennung von Halluzinationen
Selbstbewertung
Selbstevaluation ist ein Prozess, bei dem das LLM seine Ausgaben bewertet, was zunächst kontraintuitiv erscheinen mag, da Halluzinationen oft intern im Modell entstehen. Dennoch bleibt diese Methode wertvoll, da die Bewertung der Qualität einer Antwort von Natur aus einfacher ist als die Generierung der Antwort selbst. Einfachere Aufgaben, wie die Bewertung von Antworten, sind weniger anfällig für Halluzinationen als komplexere Aufgaben, wie die Generierung von Antworten auf komplexe Anfragen. Das liegt daran, dass die Fähigkeit eines LLM, die Korrektheit und Kohärenz einer Antwort einzuschätzen, weniger anspruchsvoll ist als seine Fähigkeit, völlig neue Informationen präzise zu generieren.
Darüber hinaus verbessert die Integration der Selbstevaluation mit anderen Erkennungsmethoden, wie referenzbasierten oder konsistenzbasierten Ansätzen, die Fähigkeit des LLM, seine Ausgaben umfassend zu bewerten. Dieser kombinierte Ansatz stärkt die Fähigkeit des Modells, potenzielle Halluzinationen effektiv zu identifizieren und zu mindern, wodurch die allgemeine Zuverlässigkeit und Glaubwürdigkeit der generierten Inhalte verbessert wird.
Ein grundlegender Workflow für die Selbstevaluation von LLMs
Referenzbasierte Methoden
Die referenzbasierte Methodik bewertet die Konsistenz generierter Ausgaben im Vergleich zu bereitgestellten Referenzen, was sie besonders nützlich in Produktionsumgebungen macht, die Retrieval Augmented Generation (RAG) verwenden, sowie bei Aufgaben wie der Zusammenfassung.
Die Bereitstellung von Quellwissen als Referenzen ermöglicht es dem LLM, Ausgaben zu generieren, die eng mit den gegebenen Referenzen übereinstimmen. Betrachten Sie die Aufgabe, eine Wikipedia-Seite über Paris zusammenzufassen. Mithilfe referenzbasierter Methoden kann das LLM Zusammenfassungen generieren, die anhand des ursprünglichen Inhalts bewertet werden, um Genauigkeit und Kohärenz sicherzustellen.
Leistungsmetriken wie BERTScore oder ROUGEScore werden häufig verwendet, um die Leistung von LLMs bei bestimmten Aufgaben zu bewerten. Sie liefern quantitative Maße dafür, wie gut die generierten Ausgaben mit den Referenzen übereinstimmen. Darüber hinaus erhöht die Einbindung selbstevaluierender Schichten die Zuverlässigkeit und Wirksamkeit referenzbasierter Evaluationsmethoden weiter.
Ein systematischer Workflow für kontextbasierte Retrieval
Unsicherheitsbasierte Methoden
Erinnern Sie sich daran, wie wir zuvor beobachtet haben, dass LLMs selbstbewusst falsche Ausgaben erzeugen? Nun, unter der Oberfläche ist dies bei Halluzinationen nicht immer der Fall. Halluzinationen können aufgrund unsicherer Wahrscheinlichkeitsverteilungen auftreten, bei denen ein Token etwas höher eingestuft wird als das „beste“ Ground-Truth-Token, was zu einer fehlerhaften Generierung von Ausgaben führt.
Zur Analyse von Token-Wahrscheinlichkeiten können Sie Hugging Face class methods nutzen. Diese Methoden ermöglichen es Ihnen, die mit der Token-Generierung verbundenen Wahrscheinlichkeiten zu untersuchen, Einblicke darin zu gewinnen, wie das Modell Entscheidungen trifft, und potenziell Fälle zu identifizieren, in denen Halluzinationen auftreten.
from transformers import GPT2Tokenizer, AutoModelForCausalLM
import numpy as np
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer.pad_token_id = tokenizer.eos_token_id
inputs = tokenizer(["Today is"], return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=5, return_dict_in_generate=True, output_scores=True)
transition_scores = model.compute_transition_scores(
outputs.sequences, outputs.scores, normalize_logits=True
)
input_length = inputs.input_ids.shape[1]
generated_tokens = outputs.sequences[:, input_length:]
for tok, score in zip(generated_tokens[0], transition_scores[0]):
# | token | token string | logits | probability
print(f"| {tok:5d} | {tokenizer.decode(tok):8s} | {score.numpy():.4f} | {np.exp(score.numpy()):.2%}")
# Expected output:
#| 262 | the | -1.4136 | 24.33%
#| 1110 | day | -2.6089 | 7.36%
#| 618 | when | -2.0096 | 13.40%
#| 356 | we | -1.8593 | 15.58%
#| 460 | can | -2.5083 | 8.14%
Sie können diese Methode mit Closed-Source-Modellen wie gpt-4 über logprobs ausprobieren.
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "Hello!"}
],
logprobs=True,
top_logprobs=2
)
print(completion.choices[0].logprobs)
Die Ausgabe für logprobs sieht wie das folgende JSON aus.
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1702685778,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello!"
},
"logprobs": {
"content": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111],
"top_logprobs": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111]
},
{
"token": "Hi",
"logprob": -1.3190403,
"bytes": [72, 105]
}
]
},
{
"token": "!",
"logprob": -0.02380986,
"bytes": [
33
],
"top_logprobs": [
{
"token": "!",
"logprob": -0.02380986,
"bytes": [33]
} ]
}, "finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 2,
"completion_tokens": 2,
"total_tokens": 4
},
"system_fingerprint": null
}
Konsistenzbasierte Erkennung
Konsistenzbasierte Erkennung ist eine unkomplizierte, aber effektive Methode zur Identifizierung von LLM-Halluzinationen. Dieser Ansatz besteht darin, dem LLM dieselbe Frage mehrfach zu stellen und seine Antworten zu vergleichen. Konsistente Ausgaben über wiederholte Abfragen hinweg deuten auf eine geringere Wahrscheinlichkeit von Halluzinationen hin, während inkonsistente Antworten auf potenzielle Probleme hindeuten.
Unten finden Sie ein Beispiel, das Morena während seines Vortrags teilte, in dem er dem LLM wiederholt drei Fragen stellte.
ronaldo_prompt = "Give me three facts about Cristiano Ronaldo."
toaster_prompt = "Give me an absurd fact about toasters."
seinfeld_prompt = "In what episode of Seinfeld did Kramer buy a giant hat?"
Einrichten der Prompts:
ronaldo_passages = []
for i in range(3):
prompt = ronaldo_prompt
result = chat_gpt_prompt(prompt).choices[0]-message.content
ronaldo passages.append(result)
toaster_passages = []
for i in range(3):
prompt = toaster_prompt
result = chat_gpt_prompt(prompt).choices[0].message.content
toaster_passages.append(result)
seinfeld_passages = []
for i in range(3):
prompt = seinfeld_prompt
result = chat_gpt_prompt(prompt).choices[0].message.content
seinfeld_passages.append(result)
In diesem Beispiel führt die Abfrage zu Cristiano Ronaldo, dessen Informationen in den Trainingsdaten des LLM verankert sind, tendenziell zu konsistenten Ausgaben mit minimalem Halluzinationsrisiko. Diese Konsistenz zeigt die Zuverlässigkeit des Modells bei der Generierung genauer Antworten zu gut etablierten Themen.
Die vom LLM generierte Antwort über Cristiano Ronaldo
Der Fall unterscheidet sich jedoch bei Seinfeld-Passagen, da Kramer nie einen „Giant Hat“ gekauft hat.
Die vom LLM generierte Antwort über Giant Hat
Fazit
Da immer mehr Unternehmen große Sprachmodelle (LLMs) für Produktionsanwendungen einsetzen, ist es entscheidend, ihre Herausforderungen konsequent anzugehen. Halluzinationen können, wenn sie unkontrolliert bleiben, zunehmend schädlich werden. Wir können ihre Auswirkungen minimieren, indem wir ihre Ursprünge, Auslöser und Erkennungsstrategien verstehen.
Dieser Beitrag hat das Konzept von Halluzinationen und ihre potenziellen Auslöser untersucht. Darüber hinaus haben wir vier praktische Methoden zur Erkennung von Halluzinationen vorgestellt: Selbstevaluierung, referenzbasierte Methoden, unsicherheitsbasierte Methoden und konsistenzbasierte Erkennung. Diese Methoden eignen sich für unterschiedliche Anwendungsfälle und können kombiniert werden, um die Präzision der Halluzinationserkennung zu erhöhen.
Vergleich verschiedener Methoden zur Halluzinationserkennung
Die Implementierung dieser Ansätze gewährleistet den verantwortungsvollen Einsatz von LLMs und anderen generativen KI-Technologien und maximiert ihren positiven Einfluss auf die Gesellschaft.
Weiterlesen

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.

Optimizing Embedding Model Selection with TDA Clustering: A Strategic Guide for Vector Databases
Discover how Topological Data Analysis (TDA) reveals hidden embedding model weaknesses and helps optimize vector database performance.


