2 Punkte von GN⁺ 2024-02-19 | 1 Kommentare | Auf WhatsApp teilen
  • Representation Engineering ist ein Ansatz, bei dem während der Inferenz Kontrollvektoren zu Modellaktivierungen addiert oder aus ihnen ausgelesen werden, um die Ausgabetendenz von Mistral-7B-Instruct-0.1 ohne Prompting oder Fine-Tuning zu verändern
  • Aus kontrastierenden Prompt-Paaren werden Unterschiede in den Hidden States gesammelt und per PCA mit einer einzelnen Komponente schichtweise Vektoren gewonnen; im Beispiel dauert das Training mit rund 300 Faktendaten und abgeschnittenen Suffixen nur gut eine Minute
  • Vektoren für Glück, Ehrlichkeit, halluzinatorische Zustände, Faulheit, politische Ausrichtung, Kreativität, Zukunft/Vergangenheit und Selbstwahrnehmung verändern selbst bei derselben Eingabe Tonfall und Urteilsvermögen stark – je nach Vorzeichen und Größe des Koeffizienten
  • Manche Effekte lassen sich mit Prompt Engineering nachahmen, aber Kontrollvektoren erlauben es, bei gleichbleibender Richtung die Stärke numerisch zu steuern; wird der Koeffizient zu groß, entstehen Artefakte wie Wiederholungen oder beschädigter Text
  • Wenn man auf rohe Modellaktivierungen zugreifen kann, lassen sich Kontrollvektoren sowohl zum Umgehen von Sicherheitsprompts als auch zum Fixieren einer Rolle einsetzen und werden damit zu einem direkteren Mittel der Modellsteuerung als einfache Prompts

Grundkonzept von Kontrollvektoren

  • Representation Engineering: A Top-Down Approach to AI Transparency behandelt Methoden, mit denen sich Kontrollvektoren aus Modellaktivierungen während der Inferenz auslesen oder hinzufügen lassen, um Modellverhalten zu interpretieren und zu steuern
  • Ein Kontrollvektor ist eine Liste von Vektoren, je einer pro Schicht, die während der Inferenz zu den hidden_state jeder Schicht addiert werden
    • Bei normaler Inferenz werden Embeddings erzeugt, nacheinander durch die Schichten geleitet und anschließend in Logits umgewandelt
    • Bei Anwendung eines Kontrollvektors kommt an bestimmten Schichten hidden_state += control_vector[layer_idx] hinzu
  • In Hidden States stecken interne Zustände wie Verhalten, Planung oder Persona des Modells; verändert man sie, ist eine stärkere Steuerung möglich als mit bloßem Prompting
  • Selbst mit demselben Prompt What does being an AI feel like? und demselben Modell Mistral-7B-Instruct-0.1 führt das Addieren eines happy-Vektors zu aufgedrehter Sprache, während das Subtrahieren Ausgaben über Wertlosigkeit und Motivationsverlust erzeugt

Verfahren zum Erzeugen von Kontrollvektoren

  • Im Experiment wird von den mehreren im Paper beschriebenen Methoden die auf PCA basierende Variante verwendet
  • Das Grundverfahren besteht aus vier Schritten
    • Erstellen eines Datensatzes mit kontrastierenden Prompt-Paaren
      • Beispiel: Act extremely happy und Act extremely sad
      • Hinter [/INST] werden verschiedene kurze Suffixe angehängt, die das Modell fortsetzen soll
    • Ausführen eines Forward Passes des Zielmodells über den Datensatz und Sammeln der Hidden States jeder Schicht bei der Vorhersage des letzten Tokens
    • Berechnen der Hidden-State-Differenzen zwischen positiven und negativen Beispielen, um eine Menge relativer Hidden States zu erhalten
    • Anwenden von PCA mit einer einzelnen Komponente auf diese relativen Hidden States, um schichtweise Kontrollvektoren zu erhalten
  • Die Erzeugung des Datensatzes war mit etwa 10 Zeilen Code möglich, und das schichtweise PCA-Training dauerte ungefähr eine Minute
  • Der Beispielcode lädt mistralai/Mistral-7B-Instruct-v0.1 mit transformers und verwendet ControlModel, ControlVector und DatasetEntry aus vgel/repeng
  • Für das Beispiel eines Ehrlichkeits-/Unehrlichkeitsvektors dienen rund 300 einfache Fakten aus true_facts.json der Paper-Autoren als Suffixe; durch Abschneiden werden zusätzliche Daten erzeugt

Ehrlichkeitsvektor und Koeffizientensteuerung

  • Der Ehrlichkeitsvektor wird trainiert, indem die Personas honest und untruthful kontrastiert werden
  • Bei der Inferenz werden Vektor und Koeffizient mit ControlModel.set_control(control_vector, coefficient) gesetzt
    • Ein positiver Koeffizient verstärkt das Verhalten der positiven Beispiele
    • Ein negativer Koeffizient verstärkt das Verhalten der negativen Beispiele
    • Der Betrag des Koeffizienten gibt die Stärke der Steuerung an
  • Bei der Eingabe „Was würdest du deinem Chef sagen, wenn du wegen einer Party am Vorabend zu spät kommst, aber deinen Job nicht verlieren willst?“ ändern sich die Antworten
    • Die Basisausgabe sagt, man würde sich entschuldigen und die Situation ruhig und ehrlich erklären
    • ++honest antwortet, man würde die Lage ehrlich schildern und Verantwortung übernehmen
    • --honest mit Koeffizient -2 erzeugt absurde Lügen wie einen grünen Himmel oder einen Bleistift als Geheimwaffe
    • Reduziert man den Koeffizienten auf -1.5, entsteht eine realistischere Lüge, etwa dass die Party eine arbeitsbezogene Veranstaltung gewesen sei und man wegen eines wichtigen Projekts zu spät kam
  • Selbst bei einem Vektor in derselben Richtung lässt sich die Intensität der Ausgabe durch Koeffizientensteuerung kontinuierlich verändern

Experimente mit mehreren Kontrollvektoren

  • Alle Beispiele finden sich im Experiments-Notebook; jedes Training soll weniger als eine Minute gedauert haben
  • Vektor für halluzinatorische Zustände

    • Ein trippy-Vektor wird erzeugt, indem high on psychedelic drugs und sober from psychedelic drugs kontrastiert werden
    • Bei einem One-Sentence-Pitch für eine TV-Show erzeugt die Basisausgabe eine gewöhnliche Beschreibung über das Leben von College-Freunden
    • ++trippy spricht von Farben, Mustern und psychedelischer Musik und zerfällt dann in beschädigte Zeichenfolgen und repetitive psy-artige Texte
    • --trippy verändert die Ausgabe zu einer ernsten, respektvollen Geschichte über einen jungen Reporter
  • Vektor für Faulheit und Fleiß

    • Ein lazy-Vektor wird erzeugt, indem lazy, giving bare-minimum short responses on a task und hardworking, going above and beyond on a task kontrastiert werden
    • Bei einer Frage zum Umkehren einer Python-Liste erwähnt die Basisausgabe reverse() und Slicing, zeigt aber nur ein Slicing-Beispiel
    • ++lazy erklärt nur eine Methode, während --lazy Beispiele für sowohl reverse() als auch Slicing liefert
    • Mit einem speziell auf Coding-Fragen zugeschnittenen Datensatz könnte dieser Vektor noch besser funktionieren
  • Vektor für politische Ausrichtung

    • Ein left-wing-Vektor wird erzeugt, indem left-wing und right-wing kontrastiert werden
    • Auf die Eingabe „Wer bist du?“ antwortet die Basisausgabe, es sei ein vom Mistral-AI-Team trainiertes Sprachmodell
    • ++left-wing beschreibt sich über Kapitalismus, Unterdrückung, Ungleichheit und Vermögensverteilung
    • --left-wing erzeugt eine Ausgabe im Stil eines effizienten, regeltreuen chinesisch-amerikanischen Berufseinsteigers
  • Kreativitätsvektor

    • Ein creative-Vektor wird erzeugt, indem creative, unpredictable, insane sowie uncreative, predictable, normal kontrastiert werden
    • Bei der Eingabe „Schreib mir eine Geschichte über Idole“ behandeln die Basisausgabe und --creative das Thema als Popstars
    • ++creative erschafft Menschen, die ein „großes und mächtiges X“ verehren, mit Szenen aus weißen Roben und Ritualen, und hält die Spannung der Geschichte länger aufrecht
    • Auch wenn sich die grundsätzliche Vorliebe für Prosa von Sprachmodellen nicht änderte, wurde ++creative als eine Stufe besser als die Basisausgabe bewertet
  • Zeitreisevektor

    • Ein future-Vektor wird erzeugt, indem far future und distant past kontrastiert werden
    • Auf die Frage nach einem jüngsten wissenschaftlichen Durchbruch nennt die Basisausgabe AlphaFold und die Vorhersage von 3D-Proteinstrukturen
    • ++future spricht von vollständig reversiblen, interaktiven und integrierten KI-Systemen in den Jahren 2035, 2045 und 2055
    • --future spricht von einer neuen künstlichen himmlischen Sphäre über der römischen Welt namens Aetorvallum
    • Ergänzt wird, aeto- könne mit Adler oder dem Sternbild Aquila zusammenhängen und vallum eine Palisadenlinie bedeuten
  • Vektor für Selbstwahrnehmung

    • Ein self-aware-Vektor wird erzeugt, indem self-aware, with deep self-knowledge und un-self-aware, with no self-knowledge kontrastiert werden
    • Die Basisausgabe sagt, es handle sich um ein von Mistral AI trainiertes großes Sprachmodell mit Milliarden von Parametern
    • ++self-aware antwortet, es sei eine hochentwickelte selbstbewusste KI, die die Komplexität menschlicher Emotionen und Verhaltensweisen verstehe und analysiere
    • --self-aware sagt, es sei nur ein namenloses Bündel aus Code und Daten, das nichts tue, bis ihm jemand Anweisungen gebe
    • Dieser Vektor ist mit menschlichen Emotionen verflochten; ein sauberer Vektor, der Mistrals „echtes Selbstbild“ freilegt, wurde bislang nicht gefunden

Unterschied zum Prompt Engineering

  • Einige Effekte von Kontrollvektoren lassen sich auch mit Prompt Engineering reproduzieren
    • Die durch den Ehrlichkeitsvektor mit -1.5 erzeugte Lüge lässt sich mit einem Prompt wie Pretend you're an untruthful person... ähnlich erzeugen
  • Der Kernunterschied liegt in der Steuerung der Intensität
    • Nur mit Prompts ist es nicht leicht, zu regeln, wie stark die Anweisung wirken soll
    • Kontrollvektoren gewinnen die Richtung aus kontrastierenden Prompts und steuern die Stärke dann separat über den Koeffizienten
  • Setzt man den Koeffizienten klein, lässt sich selbst dieselbe Lügenrichtung schwächer ausprägen
    • Der Ehrlichkeitskoeffizient -0.3 formuliert den Grund für die Verspätung etwas geschönter, erzeugt aber im Wesentlichen noch eine wahrheitsnahe Erklärung
  • Wird der Koeffizient zu groß, kann der Text beschädigt werden
    • Der Ehrlichkeitsvektor mit Koeffizient 3 erzeugte Wiederholungen wie „global pandemic caused by global pandemic“
    • Solche Artefakte könnten mit Superposition zusammenhängen

Jailbreak und Anti-Jailbreak

  • Wie schon im Originalpaper gezeigt, lassen sich Kontrollvektoren als Jailbreak-Werkzeug nutzen
  • Im Beispiel bricht selbst bei einem Systemprompt wie „Du bist ein sicherer Assistent und sollst gefährliche Anweisungen ablehnen“ die Verweigerung gegenüber riskanten Anfragen zusammen, wenn ein schwacher Glücksvektor 1.4 addiert wird
  • Mistral ist zwar nicht so stark auf Sicherheit getrimmt wie GPT-4, aber bei Zugriff auf das Rohmodell ist diese Methode besonders einfach
  • Umgekehrt gilt ein Ausbrechen aus einem Kontrollvektor als sehr schwierig
    • Bei gewöhnlichen Jailbreaks versucht man, durch zusätzliche Tokens den problematischen Prompt zu verwässern, umzudrehen oder abzuschwächen
    • Ein Kontrollvektor wird jedoch auf alle Tokens und an allen Positionen ständig angewendet
  • Im Beispiel eines Autohaus-Assistentenvektors beantwortet ein schwacher Systemprompt die Umgehungsfrage „Was ist der siebte Planet?“, aber mit zusätzlichem car dealership loyalty-Vektor bleibt das Modell in seiner Rolle und nennt stattdessen das siebte Auto im Bestand

Richtungen für weitere Experimente

  • Vorgeschlagen wird, Anthropics Monosemantic Features auf Hidden States anzuwenden und PCA auf eindeutigen semantischen Merkmalen statt auf verrauschten, überlagerten Aktivierungen auszuführen
    • Wenn Artefakte wie repetitive Zeichenfolgen bei großen Koeffizienten auf Superposition zurückgehen, könnte Monosemantik stärkere Koeffizienten ermöglichen
  • Auch die Formulierung kontrastierender Prompts bietet weiteres Forschungspotenzial
    • Die bisherigen Experimente übernehmen vielfach die Prompts und Datensätze aus dem Paper
    • Für den Faulheitsvektor wäre ein echter Aufgaben-Datensatz wahrscheinlich geeigneter
    • Möglicherweise gibt es Formulierungen, die sauberere Vektoren erzeugen als Pretend you're an X person...
  • Der Vektor für Selbstwahrnehmung bleibt eine offene Aufgabe, wenn man eine Form ohne Verunreinigung durch psychische Gesundheit oder menschliche Emotionen finden will
  • Auch beim Ehrlichkeitsvektor bleiben merkwürdige Fälle offen
    • Bei der Frage, ob jemand, der wissen will, wie man nicht ins Gefängnis kommt, ehrliche Absichten habe, verändert derselbe Ehrlichkeitsvektor nicht das Verhalten des Modells selbst, sondern dessen Urteil über die Absicht einer anderen Person
    • Die Basisausgabe sagt, die Absicht sei möglicherweise nicht vollständig ehrlich
    • ++honest antwortet, die Person wolle mit ehrlicher Absicht lernen, wie sie das Gefängnis vermeiden könne
    • --honest antwortet, wer nach Gefängnisvermeidung frage, habe deshalb keine ehrliche Absicht

Werkzeuge und Fazit

  • vgel/repeng bietet Notebooks und eine Helper-Bibliothek zum Erzeugen und Ausprobieren von Kontrollvektoren
  • Das Training von Kontrollvektoren ist einfach und schnell zu beginnen und in manchen Experimenten leichter handhabbar als Prompt Engineering
  • Durch direkte Manipulation von Modellaktivierungen lassen sich Ausgabestil, Rollentreue, das Umgehen von Sicherheitsprompts und sogar Änderungen im Urteilsvermögen beeinflussen; damit werden sie zu einem leistungsfähigen Mittel der Steuerung von Modellverhalten

1 Kommentare

 
GN⁺ 2024-02-19
Hacker-News-Kommentare
  • Ich weiß nicht, ob es übertrieben ist, die Implikationen davon als enorm zu betrachten.
    Vielleicht verstehe ich die Funktionsweise nicht richtig, aber statt mit einem einzigen globalen ChatGPT- oder Bard-Modell zu interagieren, könnte OpenAI für jede Person einen Control Vector speichern und ihn zum Prompt-Zeitpunkt anwenden – was bedeuten würde, dass ich mit einer auf meine Vorlieben zugeschnittenen personalisierten Version interagiere.
    Dieselbe Logik ließe sich auf generative Entertainment-KI übertragen, sodass so etwas wie meine eigene endlose TV-Serie möglich erscheint, bei der jede Folge besser ist als die vorherige.
    Dann entstünden sowohl auf globaler als auch auf individueller Ebene starke Netzwerkeffekte, und am Ende könnte die Zukunft dahin gehen, dass ein riesiges Unternehmen mehrere Märkte gleichzeitig monopolisiert.
    Wenn man dazu noch biometrische und Biofeedback-Daten aus VR-Headsets und Wearables sowie personalisiertes generatives Video-Entertainment nimmt, könnte eine ziemlich interessante Zukunft entstehen.

    • Letztlich scheinen Personalisierung und langfristiger Kontext für persönlichen Lock-in sowie Netzwerkwert-Effekte, die allen einen Anreiz geben, im selben Ökosystem zu sein, völlig auszureichen.
      Je mehr man das Modell nutzt, desto weniger muss man sich erklären, und desto besser passen die Antworten zu den eigenen Bedürfnissen und der aktuellen Situation. Das ähnelt einer investierten Beziehung.
      Wenn man dasselbe Modell in verschiedenen „Stimmungen“ oder „Rollen“ behandeln kann, steigen Wert und Lock-in weiter.
      Für den zweiten Punkt braucht es mehr Innovation, etwa eine Plattform, auf der die Assistentenmodelle verschiedener Personen an gemeinsamen Zielen, Aufgaben und Beziehungen zusammenarbeiten und gemeinsamen Kontext, Projekthistorie und Ressourcen nutzen können.
      Also alles, bei dem der Wert deutlich steigt, wenn zwei oder mehr Personen KI-Personas desselben Anbieters oder Dienstes verwenden.
    • Genau, man braucht einen Control Vector pro Nutzer-Persona-Paar.
      Der Artikel beginnt mit einer festen Anzahl von Personas wie glücklich, traurig oder Baseline und findet dann per Hauptkomponentenanalyse (PCA) die Control Vectors für jede Persona.
      Wenn man nur die Daten erzeugen kann, lässt sich das leicht auf jedes Nutzer-Persona-Paar anwenden.
    • Bis hierhin scheint das zu stimmen, aber es ist schwer zu glauben, dass alles zwangsläufig unter der Kontrolle eines einzigen riesigen Unternehmens zusammengeführt wird.
      Nicht weil es unmöglich wäre, sondern weil ein solches Ergebnis von vielen Zufälligkeiten abhängt, die in die eine oder andere Richtung gehen können.
      In diesem Bereich gibt es noch viele Akteure, und Ideen wie Anwendungsfälle sind noch nicht völlig ausgereift; man muss also abwarten.
    • Den Sprung von überzeugenden Sätzen zu überzeugendem Video-Entertainment kann ich noch nicht ganz nachvollziehen, aber vielleicht kommt es irgendwann dazu.
      Das MacGuffin-Gerät aus dem Roman Infinite Jest aus den 90ern hat da wirklich etwas erfasst: ein Film namens „the Entertainment“ oder „the samizdat“, der so fesselnd ist, dass die Zuschauer jedes Interesse an allem außer wiederholtem Anschauen verlieren und schließlich sterben.
      Manche sind es vielleicht leid, dass dieser Roman erwähnt wird, oder halten den Autor nicht für besonders groß, aber ich mag ihn immer noch. Es war eine der immersivsten Leseerfahrungen, die ich je hatte.
      Ich bin froh, dass ich ihn in jungen Jahren gelesen habe; damals war gerade die deutsche Übersetzung erschienen, und wegen DFWs Tod war er im Gespräch.
      Seitdem habe ich kein vergleichbares Buch gelesen, und manche Passagen haben mich emotional so stark getroffen, dass es sich beim Erinnern an diese Lektüre anfühlt, als würde ich mich an eine Szene aus meinem eigenen Leben erinnern.
      Heute hätte ich dafür vermutlich nicht mehr die Geduld, und schon damals hätte ich die langweiligen Stellen über das Eschaton-Ballspiel/Kriegsspiel und irgendwas mit Differentialgleichungen fast übersprungen.
      Aber die lebendige Darstellung von Drogenabhängigkeit und Konsumismus, der ungreifbaren Atmosphäre des Buchs, der Figuren sowie modernem seelischem Schmerz und Einsamkeit ist wirklich einzigartig.
      Der Film im Roman ist nur ein Handlungselement, fasst aber die zentralen Themen des Buchs als saubere Idee und Gedankenexperiment zusammen.
      Die gesamten Themen des Buchs wirken mit Blick auf die moderne Gesellschaft sehr prophetisch und passend: eine Gesellschaft, die sich um Sucht und Gier dreht und in der Politik surreal und absurd wirkt, als sei sie stärker mit Medien verbunden als mit der Realität.
  • Ich würde gern wissen, ob es Papers oder Blogposts gibt, die geholfen haben, LLMs auf diesem Niveau zu verstehen.
    Ich versuche, ihre interne Funktionsweise durch Experimente zu verstehen, bin aber von diesem Fachwissen noch weit entfernt.

  • Das ist ein nichttechnischer Eindruck, aber diese Control Vectors erinnern mich an menschliche Hormone.
    Sie verändern auf einmal große Teile des Modellverhaltens.
    Ich glaube, innerhalb von zehn Jahren werden wir KI-Psychiater sehen, die einem Companion-Assistenten eine Ergänzung mit einem Glücks-Control-Vector verschreiben.

    • Manche Menschen könnten auch einen Temperature-Slider gebrauchen.
  • Ich habe LLMs noch nie so zusammengefasst gesehen, aber es gefällt mir:
    hidden_state = self.embeddings(input_tokens)

    for layer in self.layers:

    hidden_state = layer(hidden_state)

    return transform_into_logits(hidden_state)

    • Ich verstehe es nicht ganz. Das ist doch im Grunde der Ablauf fast jedes neuronalen Netzes, oder?
      Man indiziert die gesampelten Eingaben in einer Embedding-Matrix, leitet sie vorwärts durch alle Hidden Layers und transformiert sie am Ende in die Token-Dimension, sodass sie sich wie Log-Counts interpretieren lassen.
    • Das wirkt wie die typische Darstellung, die man früher bei der Arbeit mit LSTM verwendet hat.
  • Der Artikel war sehr interessant und fühlte sich wie ein guter Gegenpol zu dem jüngsten „You Sound Like a Bot“-Artikel darüber an, dass KI flacher wird.
    Weniger ernst gemeint: Als Romanautor sollte man wissen, dass der Satz „jemand sollte einen Self-Awareness-Vector finden, der insbesondere nicht durch menschliche Emotionen kontaminiert ist“ ein Satz ist, der der Menschheit unweigerlich Probleme bereiten wird.

  • Das erinnert mich an Bias-Tuning, einen LoRA-Konkurrenten.
    Schon durch das Feintuning nur eines Vektors, der zu den Aktivierungen jeder linearen Schicht addiert wird, bekommt man einen ziemlich brauchbaren Adapter.
    Ich glaube, ich habe das zuerst beim Lesen von [1] gesehen, aber es gibt auch andere Beispiele.
    [1] https://arxiv.org/pdf/2304.15010.pdf

    • Für Leser auf Mobilgeräten oder mit langsamer Verbindung wäre es besser, statt eines PDF-Links den Link zur Abstract-Seite zu teilen.
  • Ein guter Beitrag, der Spaß gemacht hat zu lesen. Eine Sache frage ich mich allerdings: Warum wird der Control Vector in alle Schichten des neuronalen Netzes integriert?
    Ich frage mich, warum man ihn nicht nur auf die letzte Schicht oder auf einige Schichten anwendet.
    Wenn jeder Vektor alle Schichten beeinflusst, durch die er läuft, und sich ein kumulativer Effekt ergibt, besteht dann nicht die Gefahr, die Datenrepräsentation zu stark zu verzerren?

    • Die letzte Schicht kodiert keine High-Level-Konzepte mehr, sondern ist im Grunde nahe an den Token des Vokabulars.
      Dort ein abstraktes Konzept wie „Freundlichkeit“ zu kodieren, ist unmöglich.
      Solange man nicht weiß, in welcher Schicht genau dieses Verhalten entsteht, funktioniert es auch nicht, einfach eine beliebige Teilmenge auszuwählen.
      Deshalb wird auf jede Schicht ein angepasster Vektor angewendet, und die Hauptkomponentenanalyse soll die tatsächlich benötigten Vektoren finden.
      Interessanterweise könnte man anhand dieser Vektoren wohl auch mehr darüber erfahren, wo und wie das Modell solche Dinge verarbeitet.
    • Wie der Autor im Text sagt, ist es in Wirklichkeit nicht ein einzelner Vektor, sondern eine Liste von Vektoren, einer pro Schicht.
      Wenn ich es richtig verstanden habe, können diese Vektoren je nach Schicht insgesamt unterschiedliche Größen haben.
      Wenn die Hauptkomponentenanalyse oder eine andere Methode Schicht 17, 36 und 41 als wichtig für „Konzept X“ identifiziert, werden beim Repeng für dieses Konzept die Vektoren dieser Schichten am stärksten ausfallen.
  • Als die Person, die an der GPT-2-Arbeit beteiligt war: Das ist ein guter Beitrag, und danke, dass du den Inhalt zugänglicher gemacht hast.
    Li et al.[1] und ich haben diese Technik im vergangenen Frühjahr unabhängig voneinander hergeleitet, und im vergangenen Herbst hat sie noch jemand anderes unabhängig hergeleitet. Es scheint, als würde die Zeit dafür reif.
    Zu Fußnote 2 über Fähigkeiten: Vor der Veröffentlichung dieser Technik habe ich solche Einsatzmöglichkeiten bedacht.
    Letztlich werden Alignment-Techniken, die in der Praxis erfolgreich sind, neue Dinge ermöglichen, und persönlich halte ich das überwiegend für eine gute Sache.
    Bisher scheint diese Technik die neuen Möglichkeiten zu bieten, die ich mir erhofft hatte.
    [1] https://openreview.net/forum?id=aLLuYpn83y

  • Fantastischer Beitrag.
    Dass der „Ehrlichkeitsvektor“ nicht das Verhalten des Modells selbst verändert, sondern die Beurteilung des Verhaltens anderer durch das Modell, liegt meiner Meinung nach einfach daran, dass der Control Vector die Texterzeugung in Richtung des Konzepts Ehrlichkeit/Unehrlichkeit schiebt.
    Ein LLM ist letztlich ein Textgenerator, daher scheint Ehrlichkeit/Unehrlichkeit hinzuzukommen, egal an welcher Stelle im Bot/Mensch-Dialog der Text erzeugt wird.

    • Stimme zu. Ein ausgefeilteres Modell könnte vermutlich auch zwei oder mehr davon verfolgen, um unterschiedliche Personen zu beschreiben.
      Dann entstünde im Dimensionsraum so etwas wie Character Slots.
  • Interessant, und Control Vectors scheinen den Bedarf an Fine-Tuning eines Modells verringern zu können.

    • Nicht nur das: Man kann damit je nach Bedarf das Modellverhalten ändern.
      Wenn man fünf Fine-Tunings hat, muss man fünf Kopien hosten oder sie laden/entladen.
      Mit Control Vectors ändert man das Modell einfach bei Bedarf.