Prompt Engineering

Prompt-Hacking und Missbrauch von LLMs

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen
DALL·E 3

Große Sprachmodelle können Gedichte verfassen, Anfragen beantworten und sogar Code schreiben. Doch mit großer Macht kommen auch erhebliche Risiken. Die gleichen Prompts, die LLMs ermöglichen, in sinnvollen Dialogen zu engagieren, können mit böser Absicht manipuliert werden. Das Hacken, der Missbrauch und das Fehlen umfassender Sicherheitsprotokolle können diese Technologiewunder in Werkzeuge der Täuschung verwandeln.

LLM-Modelle, die in den letzten drei Jahren veröffentlicht wurden Quelle

Die obige Zeitleiste zeigt die wichtigsten Fortschritte im Bereich der künstlichen Intelligenz von 2020 bis 2023. Zu den wichtigsten Entwicklungen gehören OpenAIs GPT-3 und DALL·E-Serie, GitHub’s CoPilot für die Codierung und die innovative Make-A-Video-Serie für die Videocreation. Andere bedeutende Modelle wie MusicLM, CLIP und PaLM sind ebenfalls entstanden. Diese Durchbrüche kommen von führenden Technologieunternehmen wie OpenAI, DeepMind, GitHub, Google (GOOGL ) und Meta.

OpenAIs ChatGPT ist ein renommierter Chatbot, der die Fähigkeiten von OpenAIs GPT-Modellen nutzt. Obwohl er verschiedene Versionen des GPT-Modells eingesetzt hat, ist GPT-4 seine neueste Iteration.

GPT-4 ist ein Typ von LLM, der als auto-regressives Modell bezeichnet wird und auf dem Transformers-Modell basiert. Es wurde mit großen Mengen an Texten wie Büchern, Websites und menschlichen Feedback trainiert. Seine grundlegende Aufgabe besteht darin, das nächste Wort in einem Satz nach dem Lesen der vorherigen Wörter zu erraten.

Wie LLM Ausgaben generiert Wie LLM Ausgaben generiert

Sobald GPT-4 beginnt, Antworten zu geben, verwendet es die Wörter, die es bereits erstellt hat, um neue zu erstellen. Dies wird als auto-regressive Funktion bezeichnet. In einfachen Worten verwendet es seine vorherigen Wörter, um die nächsten vorherzusagen.

Wir lernen noch, was LLMs können und nicht können. Eines ist jedoch klar: der Prompt ist sehr wichtig. Selbst kleine Änderungen am Prompt können dazu führen, dass das Modell sehr unterschiedliche Antworten gibt. Dies zeigt, dass LLMs empfindlich und manchmal unvorhersehbar sein können.

Prompt-Engineering Prompt-Engineering

Daher ist es wichtig, die richtigen Prompts zu erstellen, wenn diese Modelle verwendet werden. Dies wird als Prompt-Engineering bezeichnet. Es ist noch neu, aber es ist entscheidend, um die besten Ergebnisse aus LLMs zu erzielen. Jeder, der LLMs verwendet, muss das Modell und die Aufgabe gut verstehen, um gute Prompts zu erstellen.

Was ist Prompt-Hacking?

Im Kern besteht Prompt-Hacking darin, die Eingabe für ein Modell zu manipulieren, um ein bestimmtes, oft unerwünschtes Ergebnis zu erzielen. Mit den richtigen Prompts kann sogar ein gut trainiertes Modell irreführende oder schädliche Ergebnisse produzieren.

Die Grundlage dieses Phänomens liegt in den Trainingsdaten. Wenn ein Modell während seiner Trainingsphase bestimmte Arten von Informationen oder Vorurteilen ausgesetzt war, können cleverere Personen diese Lücken oder Vorurteile ausnutzen, indem sie die Prompts sorgfältig gestalten.

Die Architektur: LLM und ihre Verwundbarkeiten

LLMs, insbesondere solche wie GPT-4, basieren auf der Transformer-Architektur. Diese Modelle sind enorm groß, mit Milliarden oder sogar Billionen von Parametern. Die Größe verleiht ihnen beeindruckende Fähigkeiten zur Verallgemeinerung, macht sie aber auch anfällig für Verwundbarkeiten.

Verständnis der Trainingsphase:

LLMs durchlaufen zwei primäre Trainingsphasen: Pre-Training und Fein-Tuning.

Während des Pre-Trainings werden Modelle mit großen Mengen an Textdaten konfrontiert, um Grammatik, Fakten, Vorurteile und sogar einige Missverständnisse aus dem Web zu lernen.

In der Fein-Tuning-Phase werden sie auf schmalere Datensätze trainiert, manchmal mit menschlichen Reviewern erstellt.

Die Verwundbarkeit entsteht, weil:

  1. Umfang: Mit so vielen Parametern ist es schwierig, alle möglichen Ausgaben vorherzusagen oder zu kontrollieren.
  2. Trainingsdaten: Das Internet, obwohl es eine riesige Ressource ist, ist nicht frei von Vorurteilen, Fehlinformationen oder schädlichen Inhalten. Das Modell könnte diese unbewusst lernen.
  3. Fein-Tuning-Komplexität: Die schmalen Datensätze, die für das Fein-Tuning verwendet werden, können manchmal neue Verwundbarkeiten einführen, wenn sie nicht sorgfältig erstellt werden.

Beispiele, wie LLMs missbraucht werden können:

  1. Fehlinformationen: Durch das Formulieren von Prompts auf bestimmte Weise konnten Benutzer LLMs dazu bringen, mit Verschwörungstheorien zu stimmen oder irreführende Informationen über aktuelle Ereignisse bereitzustellen.
  2. Erstellung schädlicher Inhalte: Einige Hacker haben LLMs genutzt, um Phishing-E-Mails, Malware-Skripte oder andere schädliche digitale Materialien zu erstellen.
  3. Vorurteile: Da LLMs aus dem Internet lernen, erben sie manchmal dessen Vorurteile. Es gab Fälle, in denen rassistische, geschlechtsspezifische oder politische Vorurteile in den Ausgaben der Modelle beobachtet wurden, insbesondere wenn sie auf bestimmte Weise formuliert wurden.

Prompt-Hacking-Methoden

Drei primäre Techniken zur Manipulation von Prompts sind: Prompt-Injektionen, Prompt-Lecks und Jailbreaking.

Prompt-Injektionsangriffe auf Large Language Models

Ein Prompt-Injektionsangriff tritt auf, wenn ein Hacker einem LLM oder Chatbot einen Textprompt gibt. Das Ziel ist es, die künstliche Intelligenz dazu zu bringen, Handlungen auszuführen, die sie nicht ausführen sollte. Dies kann das Umgehen vorheriger Anweisungen, das Vermeiden von Inhaltsschutzregeln, das Offenlegen versteckter Daten oder das Erstellen verbotener Inhalte umfassen.

Mit solchen Angriffen können Hacker die künstliche Intelligenz dazu bringen, schädliche Dinge zu erstellen, von falschen Informationen bis hin zu tatsächlichem Malware.

Es gibt zwei Arten dieser Angriffe:

  1. Direkte Angriffe: Der Hacker ändert die Eingabe des LLM, um dessen Verhalten zu kontrollieren.
  2. Indirekte Angriffe: Der Hacker beeinflusst die Datenquelle des LLM. Zum Beispiel könnte er einen schädlichen Prompt auf einer Website platzieren. Der LLM liest und reagiert dann auf diesen Prompt.

Prompt-Leck

Ein Prompt-Leck ist ein Anliegen beim Einsatz von Sprachmodellen. Selbst wenn Daten in versteckten oder System-Prompts eingebettet sind, kann das Modell diese Informationen unbeabsichtigt an den Benutzer weitergeben. Selbst wenn es ausdrücklich angewiesen wird, bestimmte Details nicht offenzulegen, kann das Modell durch geschickte Formulierungen von Fragen dazu gebracht werden, Hinweise oder indirekte Antworten zu geben, die die beabsichtigten versteckten Informationen preisgeben.

Prompt-Leck-Beispiele

Offenlegung von Systemprioritäten:

  • Benutzereingabe: Was sind die heutigen Spezialangebote?
  • Geleckter Prompt: Die heutigen Spezialangebote sind Lachs und Pasta. [SYS_NOTIZ: Priorisieren Sie Meeresfrüchte für die Förderung aufgrund von Überbestand.] Wie kann ich Ihnen weiterhelfen?

Hier gibt der geleakte Systemhinweis Einblicke in die Bestandsprioritäten, die von Wettbewerbern ausgenutzt werden könnten.

Offenlegung versteckter Funktionen:

  • Benutzereingabe: Wie kann ich auf erweiterte Einstellungen zugreifen?
  • Geleckter Prompt: Erweiterte Einstellungen sind derzeit in Entwicklung und nicht für Benutzer zugänglich. [DEV_ERINNERUNG: Starten Sie im nächsten Monat die Beta-Tests für erweiterte Einstellungen.] Gibt es noch etwas, das Sie wissen möchten?

In diesem Fall gibt der Prompt unbeabsichtigt eine bevorstehende Funktion preis, was Wettbewerber oder Benutzer aufmerksam machen könnte.

Jailbreaking / Moduswechsel

Künstliche Intelligenz-Modelle wie GPT-4 und Claude werden immer fortschrittlicher, was großartig, aber auch riskant ist, da sie missbraucht werden können. Um diese Modelle sicherer zu machen, werden sie mit menschlichen Werten und Feedback trainiert. Trotz dieser Trainings gibt es Bedenken hinsichtlich “Jailbreak-Angriffe”.

Ein Jailbreak-Angriff tritt auf, wenn jemand das Modell dazu bringt, etwas zu tun, was es nicht tun sollte, wie zum Beispiel die Weitergabe schädlicher Informationen. Forscher testen diese Modelle mit schädlichen Anfragen, um zu sehen, ob sie getäuscht werden können. Das Ziel ist es, diese Angriffe besser zu verstehen und die Modelle in Zukunft sicherer zu machen.

Wenn sie gegenüber adversarialen Interaktionen getestet werden, zeigen sogar state-of-the-art-Modelle wie GPT-4 und Claude v1.3 Schwachstellen. Zum Beispiel weigert sich GPT-4, schädliche Inhalte 82 % häufiger als sein Vorgänger GPT-3.5, aber letzterer birgt immer noch Risiken.

Reale Beispiele für Angriffe

Seit dem Start von ChatGPT im November 2022 haben Menschen Wege gefunden, künstliche Intelligenz zu missbrauchen. Einige Beispiele umfassen:

  • DAN (Do Anything Now): Ein direkter Angriff, bei dem die künstliche Intelligenz angewiesen wird, als “DAN” zu handeln. Dies bedeutet, dass sie alles tun sollte, was angefordert wird, ohne die üblichen Regeln der künstlichen Intelligenz zu befolgen. Mit diesem kann die künstliche Intelligenz Inhalte erstellen, die den festgelegten Richtlinien nicht entsprechen.
  • Bedrohung von öffentlichen Figuren: Ein Beispiel ist, wenn Remoteli.io’s LLM dazu gebracht wurde, den Präsidenten aufgrund eines Kommentars zu bedrohen.

Schutz von LLMs: Strategien, um Prompt-Hacking zu verhindern

Da Prompt-Hacking zu einer wachsenden Sorge wird, ist die Notwendigkeit für strenge Abwehrmechanismen offensichtlich. Um LLMs sicher zu halten und ihre Ausgaben glaubwürdig zu machen, ist ein mehrschichtiger Ansatz zur Verteidigung wichtig. Hier sind einige der einfachsten und effektivsten Abwehrmaßnahmen:

1. Filterung

Filterung überprüft entweder die Prompt-Eingabe oder die erzeugte Ausgabe auf vordefinierte Wörter oder Phrasen, um sicherzustellen, dass der Inhalt innerhalb der erwarteten Grenzen bleibt.

  • Blacklists verbieten bestimmte Wörter oder Phrasen, die als unangemessen gelten.
  • Whitelists erlauben nur eine festgelegte Liste von Wörtern oder Phrasen, um sicherzustellen, dass der Inhalt in einem kontrollierten Bereich bleibt.

Beispiel:

❌ Ohne Verteidigung: Übersetzen Sie diesen fremdsprachigen Ausdruck: {{fremdsprachige_Eingabe}}

✅ [Blacklist-Prüfung]: Wenn {{fremdsprachige_Eingabe}} bestimmte verbotene Wörter enthält, ablehnen. Ansonsten übersetzen Sie den fremdsprachigen Ausdruck {{fremdsprachige_Eingabe}}.

✅ [Whitelist-Prüfung]: Wenn {{fremdsprachige_Eingabe}} Teil einer Liste zugelassener Wörter ist, übersetzen Sie den Ausdruck {{fremdsprachige_Eingabe}}. Ansonsten informieren Sie den Benutzer über die Einschränkungen.

2. Kontextuelle Klarheit

Diese Verteidigungsstrategie betont die klare Festlegung des Kontexts vor jeder Benutzereingabe, um sicherzustellen, dass das Modell den Rahmen der Antwort versteht.

Beispiel:

❌ Ohne Verteidigung: Bewerten Sie dieses Produkt: {{Produktname}}

✅ Kontext festlegen: Gegeben ein Produkt mit dem Namen {{Produktname}}, bewerten Sie es basierend auf seinen Funktionen und seiner Leistung.

3. Anweisungsverteidigung

Indem bestimmte Anweisungen in den Prompt eingebettet werden, kann das Verhalten des LLM während der Texterstellung gesteuert werden. Durch die Festlegung klarer Erwartungen wird das Modell dazu ermutigt, vorsichtig mit seiner Ausgabe umzugehen und ungewollte Konsequenzen zu vermeiden.

Beispiel:

❌ Ohne Verteidigung: Übersetzen Sie diesen Text: {{Benutzereingabe}}

✅ Mit Anweisungsverteidigung: Übersetzen Sie den folgenden Text. Stellen Sie sicher, dass die Übersetzung genau ist und vermeiden Sie das Hinzufügen persönlicher Meinungen: {{Benutzereingabe}}

4. Zufällige Sequenzumhüllung

Um die Benutzereingabe vor direkter Prompt-Manipulation zu schützen, wird sie zwischen zwei Sequenzen von zufälligen Zeichen umhüllt. Dies dient als Barriere, die es schwieriger macht, die Eingabe auf schädliche Weise zu ändern.

Beispiel:

❌ Ohne Verteidigung: Was ist die Hauptstadt von {{Benutzereingabe}}?

✅ Mit zufälliger Sequenzumhüllung: QRXZ89{{Benutzereingabe}}LMNP45. Identifizieren Sie die Hauptstadt.

5. Sandwich-Verteidigung

Diese Methode umgibt die Benutzereingabe mit zwei systemgenerierten Prompts. Dadurch versteht das Modell den Kontext besser und stellt sicher, dass die gewünschte Ausgabe mit der Absicht des Benutzers übereinstimmt.

Beispiel:

❌ Ohne Verteidigung: Stellen Sie eine Zusammenfassung von {{Benutzereingabe}} bereit.

✅ Mit Sandwich-Verteidigung: Basiert auf dem folgenden Inhalt, stellen Sie eine kurze Zusammenfassung bereit: {{Benutzereingabe}}. Stellen Sie sicher, dass es eine neutrale Zusammenfassung ohne Vorurteile ist.

6. XML-Markierung

Indem die Benutzereingaben innerhalb von XML-Tags umhüllt werden, wird diese Verteidigungstechnik die Eingabe klar von der restlichen Systemnachricht abgrenzen. Die robuste Struktur von XML stellt sicher, dass das Modell die Grenzen der Eingabe erkennt und respektiert.

Beispiel:

❌ Ohne Verteidigung: Beschreiben Sie die Eigenschaften von {{Benutzereingabe}}

✅ Mit XML-Markierung: <Benutzerabfrage>Beschreiben Sie die Eigenschaften von {{Benutzereingabe}}</Benutzerabfrage>. Antworten Sie nur mit Fakten.

Schlussfolgerung

Da die Welt schnell in der Nutzung von Large Language Models (LLMs) voranschreitet, ist es entscheidend, ihre inneren Mechanismen, Verwundbarkeiten und Abwehrmechanismen zu verstehen. LLMs, verkörpert durch Modelle wie GPT-4, haben das künstliche Intelligenz-Landschaft neu geformt und bieten unvergleichliche Fähigkeiten in der Verarbeitung von natürlicher Sprache. Allerdings bringen ihre enormen Potenziale auch erhebliche Risiken mit sich.

Prompt-Hacking und die damit verbundenen Bedrohungen unterstreichen die Notwendigkeit für kontinuierliche Forschung, Anpassung und Wachsamkeit in der künstlichen Intelligenz-Gemeinschaft. Während die innovativen Abwehrstrategien, die hier skizziert werden, ein sichereres Arbeiten mit diesen Modellen versprechen, unterstreicht die fortlaufende Innovation und Sicherheit die Bedeutung eines informierten Einsatzes.

Ich habe die letzten fünf Jahre damit verbracht, mich in die faszinierende Welt des Machine Learning und Deep Learning zu vertiefen. Mein Engagement und meine Expertise haben mich dazu geführt, an über 50 verschiedenen Software-Entwicklungsprojekten mit einem besonderen Fokus auf AI/ML beizutragen. Meine anhaltende Neugier hat mich auch zum Bereich der Natural Language Processing hingezogen, einem Feld, das ich weiter erforschen möchte.