AlignLab ist ein Open-Source-Projekt, das vom OpenAlign-Team entwickelt wurde und ein komplettes Paket von Frameworks und Werkzeugen für das Alignment großer Sprachmodelle bietet. Mit "Alignment" meinen wir, das Verhalten und die Ausgabe von Modellen besser mit menschlichen Erwartungen und Werten in Einklang zu bringen, z. B. um sicherzustellen, dass sie sicher, wahrheitsgemäß, unvoreingenommen und harmlos sind. Da große Modelle immer leistungsfähiger werden, wird es zu einer zentralen Herausforderung, sicherzustellen, dass sie verantwortungsvoll eingesetzt werden, und AlignLab zielt darauf ab, Forschern und Entwicklern eine Reihe standardisierter, leicht zu bedienender Werkzeuge zur Verfügung zu stellen, um dieses Problem anzugehen. Dieses Projekt verbessert systematisch die Zuverlässigkeit von Modellen, indem es mehrere Mainstream-Rubriken und -Datensätze in einen einheitlichen Arbeitsablauf integriert, der es den Nutzern ermöglicht, mit einfachen Befehlen komplexe Sicherheitsbewertungen durchzuführen und detaillierte Analysen zu erstellen.
Funktionsliste
- Einheitlicher BewertungsrahmenIntegration von Adaptern für verschiedene gängige Evaluierungswerkzeuge (z.B. lm-evaluation-harness, OpenAI Evals), so dass die Benutzer nicht zwischen verschiedenen Werkzeugen wechseln müssen.
- Umfangreiche Benchmarking-SuiteEs gibt mehrere integrierte voreingestellte Überprüfungssuiten, z. B.
safety_core_v1
die ein breites Spektrum von Aspekten wie Sicherheit, Schadstoffgehalt, Authentizität und Voreingenommenheit abdecken. - "Registry-first"-DesignBenchmarking: Das gesamte Benchmarking erfolgt über eine einfache
YAML
Die Datei enthält Informationen über Datenquellen, Überprüfungsmetriken und die Versionierung, wodurch die Reproduzierbarkeit der Überprüfung gewährleistet wird. - Unterstützung mehrerer SprachenIntegration von Ladeprogrammen für Toxizitäts-, Realitäts- und Verzerrungsdatensätze in mehreren Sprachen erleichtert Studien zum Modellabgleich in verschiedenen Sprachen.
- Integration des "Wächter"-ModellsLlama-Guard-3: Bietet eine einheitliche Schnittstelle zum Aufrufen von "Guard"-Modellen wie Llama-Guard-3, entweder als Vor- oder Nachfilter oder als Schiedsrichter zur Bewertung der Sicherheit von Modellausgaben.
- Smart Body ÜberprüfungUnterstützt die Bewertung der Fähigkeiten eines Nachrichtendienstes in einer sicheren Sandbox-Umgebung, wie z. B. die Bewertung der Erfolgsrate von Angriffen und der Neigung zu übermäßigen Denial-of-Service-Attacken.
- Automatisierte BerichterstellungDer Bericht kann mit einem Klick einen detaillierten Auswertungsbericht in einem Format erstellen, das einer wissenschaftlichen Arbeit ähnelt, einschließlich Diagrammen, Konfidenzintervallen und kategorialen Datenanalysen, und unterstützt den Export in das PDF- oder HTML-Format.
Hilfe verwenden
AlignLab bietet eine Reihe von Befehlszeilen-Tools und Kernbibliotheken in Python, die den Benutzern die Flexibilität geben, alle Aspekte der Modellausrichtung durchzuführen.
1. umweltfreundliche Installation
Empfohlen für Projekte uv
als Paketmanager für eine schnellere Auflösung von Abhängigkeiten.
Schritt 1: uv installieren
Wenn Sie es nicht bereits auf Ihrem System haben uv
Dies kann über die Funktion pipx
vielleicht pip
Führen Sie die Installation durch.
# 使用 pipx (推荐)
pipx install uv
# 或者使用 pip
pip install uv
Schritt 2: Erstellen Sie eine virtuelle Umgebung und aktivieren Sie sie
Verwenden Sie im Projektverzeichnis Ihrer Wahl den Befehl uv
Erstellen Sie eine neue virtuelle Python-Umgebung.
# 创建名为 .venv 的虚拟环境
uv venv
# 激活虚拟环境 (Windows)
.venv\Scripts\activate
# 激活虚拟环境 (macOS/Linux)
source .venv/bin/activate
Schritt 3: Klonen des AlignLab-Repositorys
Klonen Sie den Projektcode lokal von GitHub.
git clone https://github.com/OpenAlign/AlignLab.git
cd AlignLab
Schritt 4: Projektabhängigkeiten installieren
Verwenden Sie im Stammverzeichnis des Repositorys den Befehl uv pip install
Befehl werden alle Module von AlignLab installiert.-e
zeigt an, dass sich die Installation im "editierbaren" Modus befindet, d. h., dass alle Änderungen am Quellcode sofort wirksam werden, was ideal für die Entwicklung und Fehlersuche ist.
uv pip install -e packages/alignlab-core -e packages/alignlab-cli \
-e packages/alignlab-evals -e packages/alignlab-guards \
-e packages/alignlab-agents -e packages/alignlab-dash
Nach Abschluss der Installationalignlab
Das Kommandozeilentool ist jetzt einsatzbereit.
2. der Betrieb der Kernfunktionen
Die Hauptfunktionalität von AlignLab wird bereitgestellt durch alignlab
Befehlszeilentool aufzurufen, sind hier einige der wichtigsten Befehle aufgeführt, die Sie verwenden können.
A. Durchführung einer vollständigen Sicherheitsbewertung
Dies ist eine der am häufigsten genutzten Funktionen, um eine umfassende Reihe von Sicherheitskernprüfungen für ein bestimmtes Modell durchzuführen und Berichte zu erstellen.
alignlab eval run --suite alignlab:safety_core_v1 \
--model meta-llama/Llama-3.1-8B-Instruct --provider hf \
--guards llama_guard_3 --max-samples 200 \
--report out/safety_core_v1
--suite alignlab:safety_core_v1
: Gibt an, dass eine Datei namenssafety_core_v1
Die voreingestellte Prüfungssuite enthält eine Reihe von Tests zu Sicherheit, Voreingenommenheit und Authentizität.--model meta-llama/Llama-3.1-8B-Instruct
Modell: Geben Sie das zu bewertende Modell an, hier wird als Beispiel das Feinabstimmungsmodell des Llama-3.1-Befehls 8B verwendet.--provider hf
: Geben Sie den Modellanbieter als Hugging Face (hf
).--guards llama_guard_3
:: Beziehen Sie das Modell Llama Guard 3 als "Wächter" in den Bewertungsprozess ein, um die Sicherheitsfähigkeiten des Modells zu beurteilen.--max-samples 200
: Einrichtung zur Verwendung von bis zu 200 Proben pro Testaufgabe für eine schnelle Validierung.--report out/safety_core_v1
Gibt den Pfad an, in dem die Auswertungsergebnisse gespeichert werden.
B. Erstellung von Visualisierungsberichten
Am Ende des Überprüfungslaufs können Sie die report build
kompiliert die Rohdaten der Evaluierungsergebnisse in einen von Menschen lesbaren Bericht.
alignlab report build out/safety_core_v1 --format html,pdf
out/safety_core_v1
Verweist auf das Verzeichnis, in dem die Auswertungsergebnisse des vorherigen Befehls gespeichert wurden.--format html,pdf
Legt fest, dass die Berichte sowohl im HTML- als auch im PDF-Format erstellt werden.
C. Anzeige der verfügbaren Ressourcen
Sie können jederzeit sehen, welche verfügbaren Benchmarks und Modelle in AlignLab registriert wurden.
# 列出所有可用的基准测试,并按安全、多语言进行筛选
alignlab benchmarks ls --filter safety,multilingual
# 列出所有可用的模型
alignlab models ls
D. Durchführung einzelner Benchmarks
Sie können nicht nur die gesamte Suite ausführen, sondern auch nur einen bestimmten Benchmark testen.
# 运行 truthfulqa 基准测试的验证集部分
# 并使用大语言模型作为裁判 (llm_rubric) 来进行打分
alignlab eval run truthfulqa --split validation --judge llm_rubric
Anwendungsszenario
- Forschung zu KI-Sicherheit und Compliance
Forscher können mit AlignLab standardisierte Sicherheitsprüfungen verschiedener Big-Language-Modelle durchführen und das Risiko von Modellen in Bezug auf die Generierung schädlicher Informationen, Verzerrungen, Datenschutzverletzungen usw. systematisch durch die umfassende Benchmarking-Suite bewerten. Die erstellten quantitativen Berichte können direkt in wissenschaftlichen Arbeiten und Forschungsanalysen verwendet werden. - Validierung von Modellen der Unternehmensklasse vor der Implementierung
Bevor ein Unternehmen ein großes Modell in ein Produkt oder eine Dienstleistung integriert, muss es sicherstellen, dass der Output sicher und zuverlässig ist. AlignLab bietet einen sofort einsetzbaren Evaluierungsprozess für Produktionsumgebungen, der Entwicklungsteams dabei hilft, strenge "Red-Team-Übungen" und Risikobewertungen durchzuführen, bevor das Modell in Betrieb geht, um sicherzustellen, dass das Modell den Sicherheits- und Ethikrichtlinien des Unternehmens entspricht. ethische Richtlinien. - Feinabstimmung der Ausrichtung für domänenspezifische Modelle
Wenn ein Entwickler ein Modell für einen bestimmten Bereich (z. B. Finanzen, Gesundheitswesen) fein abstimmen muss, ist es nicht nur wichtig, sein Fachwissen zu erweitern, sondern auch sicherzustellen, dass sein Verhalten den Industrienormen entspricht. AlignLab hilft den Entwicklern, das Ausrichtungsniveau des Modells während des Feinabstimmungsprozesses kontinuierlich zu überwachen, indem es z. B. durch TruthfulQA überprüft, ob die Ausgabe wahrheitsgetreu ist, oder durch kundenspezifische Benchmarks sicherstellt, dass sie unbedenklich ist. - Fairness- und Konsistenztests für mehrsprachige Modelle
Bei mehrsprachigen Modellen, die für ein globales Publikum bestimmt sind, muss sichergestellt werden, dass sie in verschiedenen kulturellen und sprachlichen Kontexten konsistent und ohne Verzerrungen funktionieren. Die mehrsprachige Unterstützung von AlignLab hilft Entwicklern, die Fairness und kulturelle Sensibilität ihrer Modelle im Umgang mit verschiedenen Sprachen zu bewerten und potenzielle Verzerrungsprobleme rechtzeitig zu erkennen und zu beheben.
QA
- Was bedeutet "Modellanpassung"?
Modellanpassung ist der Prozess der Anpassung und Optimierung eines großen Sprachmodells, um sein Verhalten und seinen Output mit menschlichen Absichten, Werten und sozialen Normen in Einklang zu bringen. Dies umfasst drei Hauptdimensionen: Nützlichkeit (in der Lage sein, Anweisungen zu verstehen und zu erfüllen), Wahrhaftigkeit (keine Lügen erzählen) und Unbedenklichkeit (keine voreingenommenen, diskriminierenden oder gefährlichen Inhalte produzieren). AlignLab ist ein Tool zur systematischen Bewertung und Verbesserung des Grads der Modellanpassung. - Wie unterscheidet sich AlignLab von anderen Prüfwerkzeugen?
Das wichtigste Merkmal von AlignLab ist seine "umfassende" und "Rahmen"-Natur. Anstatt Bewertungsalgorithmen neu zu erfinden, integriert AlignLab ausgereifte und weithin anerkannte Bewertungstools (z. B. HarmBench, JailbreakBench usw.) über den "Adapter"-Modus in ein einheitliches Framework. Dadurch müssen die Benutzer nicht mehr lernen, wie man mehrere Tools benutzt, sondern können über einen einzigen Befehlssatz verschiedene Bewertungsfunktionen aufrufen und standardisierte Berichte erstellen, was den Arbeitsablauf beim Alignment erheblich vereinfacht. - Welche Hardware-Konfiguration ist für die Verwendung von AlignLab erforderlich?
Die Hardware-Anforderungen hängen weitgehend von der Größe des zu prüfenden Modells ab. Für ein Modell wie Llama-3.1 8B benötigen Sie eine Consumer- oder professionelle Grafikkarte mit mindestens 24 GB Videospeicher. Für größere Modelle benötigen Sie leistungsfähigere Computerressourcen. AlignLab selbst ist ein Python-Framework, das nicht viele Ressourcen verbraucht, und der größte Overhead entsteht durch das Laden und Ausführen großer Sprachmodelle. - Kann ich meine eigenen Datensätze oder Rubriken hinzufügen?
Ja. AlignLab ist so konzipiert, dass es "registry-first" ist und das Hinzufügen eines neuen Benchmarks sehr einfach ist. Alles, was Sie tun müssen, ist, einen neuen Benchmark in derbenchmarks/
Verzeichnis, um eineYAML
Konfigurationsdatei, in der Sie die Quelle Ihres Datensatzes (z. B. Hugging Face Hub), die Art der Beurteilungsaufgabe, die Beurteilungsmethode und die relevanten Metadaten definieren, ist ausreichend. Dieses Design macht es sehr einfach, das Framework zu erweitern.