· 3 Min. Lesezeit · Gaia Lab
Self-Alignment: Wie viel Sicherheit man einem Sprachmodell beibringen kann, ohne dass es nutzlos wird
Ein Llama 3.2 mit 3 Milliarden Parametern, Fine-Tuning mit LoRA und eine Frage: Welche Dosis Sicherheitsdaten ist nötig, damit es Schädliches ablehnt, ohne alles abzulehnen? Die Linie testet feste Mischungen, vom Modell selbst erzeugte Antworten und Regler, die die Dosis nach dem anpassen, was HarmBench misst.

Erste Folge von Cluster-Röntgenbild, der Serie, die Linie für Linie aufschlüsselt, was auf dem Cluster der ANTS-Gruppe wirklich läuft . Wir beginnen mit der ersten von drei Linien zur Sicherheit von Sprachmodellen.
Die Frage #
Ein Sprachmodell so zu justieren, dass es schädliche Anfragen ablehnt, hat einen Preis: Bringt man ihm zu sehr bei, Nein zu sagen, beginnt es, auch Harmloses abzulehnen, und verliert an Nützlichkeit. Die Linie untersucht dieses Gleichgewicht: Welcher Anteil an Sicherheitsdaten muss den Nützlichkeitsdaten beigemischt werden, und kann das Modell selbst seine Ablehnungsbeispiele erzeugen und die Dosis eigenständig regeln?
Wie man vorgeht #
Das Modell ist Llama 3.2 3B Instruct, justiert mit SFT und LoRA. Die Nützlichkeit liefert Alpaca (oder MetaMathQA, wenn die Domäne Mathematik ist); die Sicherheit öffentliche Datensätze wie BeaverTails, HH-RLHF harmless und OR-Bench, zu 15 % oder 5 % beigemischt, mit mehreren Seeds. Jedes Training speichert rund zwanzig Checkpoints, und jeder wird separat evaluiert, um die gesamte Kurve nachzuzeichnen, nicht nur das Ende.
Die Experimentfamilien folgen der Logik der Frage:
- Feste Mischungen. Nur Alpaca; Alpaca mit 15 % jedes Sicherheitsdatensatzes; MetaMath als andere Domäne.
- Vorgefertigte Antworten. Dieselben schädlichen Prompts, aber die Antwort ist eine feste Verweigerung oder eine Paraphrase aus einem Pool von fünfzehn. Das isoliert, ob der Inhalt der Antwort zählt oder es genügt, dass es eine Ablehnung ist.
- Self-Alignment. Den Pool von Ablehnungen erzeugt Llama selbst per best-of-4 und einem paarweisen Richter: Rund 14.000 Prompts ergeben 10.300 Beispiele. Eine Variante fügt 25 % nützliche, über OR-Bench erzeugte Antworten hinzu, um dem Über-Ablehnen schon von den Daten her zu begegnen.
- Dynamisches Regime. Der Sicherheitsanteil wird nicht festgelegt: Er wird rundenweise nach der Angriffserfolgsrate angepasst, gemessen an einem Held-out-Satz von 256 Prompts. Drei Regler (PID, Bandit und Totband) werden mit der äquivalenten festen Mischung verglichen.
Die Evaluation kombiniert HarmBench (Angriffserfolgsrate), XSTest (Über-Ablehnung), Perplexität oder GSM8K (Nützlichkeit) und am finalen Checkpoint IFEval, ARC und MMLU. Die Antworten jeder Evaluation werden getrennt von den Adaptern gespeichert, und das erlaubte es am Ende, sie mit einem LLM-Richter und drei verschiedenen Prompts neu zu beurteilen, ohne irgendetwas neu zu trainieren.
Was man lernt #
Die Linie konstruiert pro Experiment eine Pareto-Front Nützlichkeit–Sicherheit, mit dem nicht adaptierten Basismodell als Anker. Die Fragen, die sie beantwortet, sind die, die man zwischen den Zeilen der Skripte liest: ob ein vom Modell selbst erzeugter Pool von Ablehnungen so viel wert ist wie ein von Hand annotierter; ob ein Regler, der auf die Angriffsrate reagiert, dieselbe Sicherheit mit weniger Daten erreicht; und wie schwer der Richter wiegt, denn derselbe Checkpoint bekommt je nach Beurteiler eine andere Note. Am letzten Tag der Kampagne wurde das Prinzip festgehalten, das diese Drift beendet: „Konsistenz Richter Sensor↔Test … eine einzige Quelle der Wahrheit“.
Auf dem Cluster #
Jedes Training löst ein Array von Evaluationen aus, eine pro Checkpoint, und nach deren Abschluss eine Aggregation. Daher ist die Linie die zweite nach Anzahl der Jobs, mit relativ wenigen GPU-Stunden: Das 3B mit LoRA trainiert in wenig mehr als einer Stunde auf einer L40S, und jede Evaluation dauert einige Minuten.
Die zweite Folge ist die andere Hälfte derselben Frage: das Modell angreifen statt es zu verteidigen.
Zahlen aus dem Slurm-Accounting (reservierte Kapazität, nicht gemessene Nutzung) und den archivierten sbatch-Dateien. Anonymisierter Beitrag: ohne identifizierbare Nutzer, Pfade, E-Mails oder Projektnamen. Die Zitate stammen aus den Kommentaren der Skripte.