Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

Verifiers ist eine Bibliothek mit modularen Komponenten zur Erstellung von Reinforcement Learning (RL)-Umgebungen und zum Training von Large Language Modelling (LLM)-Agenten. Das Ziel dieses Projekts ist es, eine Reihe von zuverlässigen Werkzeugen bereitzustellen, die es Entwicklern ermöglichen, LLM-Agenten einfach zu erstellen, zu trainieren und zu evaluieren. Verifiers enthält eine Bibliothek, die auf dem transformers Trainer-Implementierung des asynchronen GRPO-Trainers (Generalised Reinforcement Learning with Policy Optimization), und erhielt die prime-rl die Unterstützung des Projekts für umfangreiches FSDP-Training (Fully Sharded Data Parallel). Zusätzlich zum Reinforcement-Learning-Training kann Verifiers auch direkt zur Erstellung von LLM-Bewertungen, zur Erstellung synthetischer Datenpipelines und zur Implementierung von Agenten-Kontrollverfahren verwendet werden. Das Projekt zielt darauf ab, ein zuverlässiges Toolkit zu sein, das das "forked codebase proliferation"-Problem, das im Reinforcement-Learning-Infrastruktur-Ökosystem häufig auftritt, minimiert und eine stabile Entwicklungsbasis für Entwickler bietet.

Funktionsliste

  • Modulare UmweltkomponentenBietet einen modularen Satz von Komponenten für den Aufbau von Reinforcement-Learning-Umgebungen, die die Erstellung und Anpassung von Umgebungen erleichtern.
  • Unterstützung mehrerer Umgebungstypen:
    • SingleTurnEnvFür Aufgaben, die nur eine einzige Antwort des Modells pro Stichwort erfordern.
    • ToolEnv:: Unterstützung für den Aufbau von Agentenschleifen unter Verwendung der systemeigenen Werkzeuge oder Funktionsaufrufe des Modells.
    • MultiTurnEnv:: Bietet eine Schnittstelle zum Schreiben von benutzerdefinierten Umgebungsinteraktionsprotokollen für Mehrrunden-Dialoge oder interaktive Aufgaben.
  • integrierter Trainer: Enthält eine GRPOTrainerSie verwendet vLLM Inferenz, Unterstützung für die Ausführung über Accelerate/DeepSpeed GRPO Intensives Lerntraining mit Stil.
  • Kommandozeilentool:: Bietet praktische Befehlszeilentools zur Rationalisierung von Arbeitsabläufen:
    • vf-initInitialisieren einer neuen Umgebungsmodulvorlage.
    • vf-installInstallieren Sie das Umgebungsmodul in das aktuelle Projekt.
    • vf-evalSchnelles Bewerten von Umgebungen mithilfe von API-Modellen.
  • Integration und Kompatibilität: kann leicht in jedes Reinforcement-Learning-Framework integriert werden, das einen OpenAI-kompatiblen Inferenz-Client unterstützt, und unterstützt von Haus aus die Verwendung der prime-rl Zusammenarbeit für eine effizientere und umfassendere Ausbildung.
  • Flexible Anreize:: Adoption Rubric Klassen, die eine oder mehrere Belohnungsfunktionen kapseln, können komplexe Bewertungskriterien für modellgenerierte Abschlüsse definieren.

Hilfe verwenden

Die Bibliothek der Verifiers arbeitet mit uv Package Manager in Ihrem Projekt zusammen.

1. der Einbau

Zunächst müssen Sie eine neue virtuelle Umgebung erstellen und diese aktivieren.

# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 初始化一个新项目
uv init
# 激活虚拟环境
source .venv/bin/activate

Als Nächstes installieren Sie die Verifier entsprechend Ihren Anforderungen:

  • Lokale Entwicklung und Bewertung (CPU)Wenn Sie das API-Modell nur für die Entwicklung und Evaluierung verwenden, ist die Installation der Kernbibliothek ausreichend.
    # 安装核心库
    uv add verifiers
    # 如果需要 Jupyter 和测试支持
    uv add 'verifiers[dev]'
    
  • GPU-SchulungWenn Sie Folgendes verwenden möchten vf.GRPOTrainer Für das Modelltraining auf GPUs müssen Sie die Version mit allen Abhängigkeiten installieren und zusätzlich die flash-attn.
    uv add 'verifiers[all]' && uv pip install flash-attn --no-build-isolation
    
  • Verwenden Sie die neueste Entwicklungsversion: Sie können auch die main Zweigmontage.
    uv add verifiers @ git+https://github.com/willccbb/verifiers.git
    
  • Installation aus dem Quellcode (Entwicklung der Kernbibliothek)Wenn Sie die Kernbibliothek von Verifiers ändern müssen, können Sie sie aus dem Quellcode installieren.
    git clone https://github.com/willccbb/verifiers.git
    cd verifiers
    uv sync --all-extras && uv pip install flash-attn --no-build-isolation
    uv run pre-commit install
    

2. die Schaffung und Verwaltung der Umwelt

Verifiers behandelt jede Reinforcement-Learning-Umgebung als ein installierbares Python-Modul.

  • Initialisierung einer neuen Umgebung: Verwendung vf-init Befehl wird eine neue Umgebungsvorlage erstellt.
    # 创建一个名为 my-new-env 的环境
    vf-init my-new-env
    

    Dieser Befehl fügt einen neuen Befehl zum environments/my-new-env Verzeichnis, um eine Datei zu erzeugen, die die pyproject.toml und die Grundstruktur der Umweltvorlage.

  • Installationsumgebung: Nach der Erstellung verwenden Sie die vf-install Installieren Sie es in Ihrer Python-Umgebung, damit es importiert und verwendet werden kann.
    # 安装本地环境
    vf-install my-new-env
    # 你也可以直接从 verifiers 官方仓库安装示例环境
    vf-install vf-math-python --from-repo
    

3. das Umfeld der Nutzung

Nachdem Sie die Umgebung installiert haben, können Sie die vf.load_environment lädt sie und wertet sie aus oder trainiert sie.

  • Umgebung laden:
    import verifiers as vf
    # 加载已安装的环境,并传入必要的参数
    vf_env = vf.load_environment("my-new-env", **env_args)
    
  • Schnelle Bewertung der Umwelt: Verwendung vf-eval Befehl, um Ihre Umgebung schnell zu testen. Er verwendet standardmäßig die gpt-4.1-mini Modell mit 3 Rollouts für jedes der 5 Stichwörter.
    # 对名为 my-new-env 的环境进行评估
    vf-eval my-new-env
    

4. die Kernelemente der Umwelt

Eine Verifier-Umgebung besteht aus den folgenden Hauptkomponenten:

  • Datensätze: Ein Hugging Face-Datensatz muss eine prompt Spalten als Eingabe.
  • Logik der Einführungdie Art und Weise, wie das Modell mit der Umgebung interagiert, zum Beispiel in der MultiTurnEnv definiert in env_response im Gesang antworten is_completed Methoden.
  • Bewertungskriterien (Rubriken)Reward: Wird verwendet, um eine oder mehrere Belohnungsfunktionen zu kapseln, die die Ausgabe des Modells bewerten.
  • ParserOptional: Komponente zur Kapselung wiederverwendbarer Parsing-Logik.

5. die Ausbildungsmodelle

Verifiers bietet im Wesentlichen zwei Arten von Schulungen an:

  • Mit dem eingebauten GRPOTrainer:
    Dieser Trainer eignet sich für das effiziente Training von Dense auf 2-16 GPUs. Transformator Modelle.

    # 步骤1: 启动 vLLM 推理服务器 (shell 0)
    # 假设使用7个GPU进行数据并行
    CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6 vf-vllm --model your-model-name \
    --data-parallel-size 7 --enforce-eager --disable-log-requests
    # 步骤2: 启动训练脚本 (shell 1)
    # 使用剩余的GPU进行训练
    CUDA_VISIBLE_DEVICES=7 accelerate launch --num-processes 1 \
    --config-file configs/zero3.yaml examples/grpo/train_script.py --size 1.7B
    
  • ausnutzen prime-rl (Empfohlen):
    prime-rl ist ein externes Projekt, das mit Verifiers erstellte Umgebungen nativ unterstützt und durch FSDP eine bessere Leistung und Skalierbarkeit bietet. Es bietet eine ausgereiftere Konfiguration und Benutzerfreundlichkeit.

    # 在 prime-rl 的配置文件中指定环境
    # orch.toml
    [environment]
    id = "your-env-name"
    # 启动 prime-rl 训练
    uv run rl \
    --trainer @ configs/your_exp/train.toml \
    --orchestrator @ configs/your_exp/orch.toml \
    --inference @ configs/your_exp/infer.toml
    

Anwendungsszenario

  1. Training aufgabenspezifischer Intelligenzen
    nutzen. ToolEnv vielleicht MultiTurnEnvEntwickler können komplexe interaktive Umgebungen schaffen und LLM-Intelligenzen so trainieren, dass sie lernen, externe Tools (z. B. Taschenrechner, Suchmaschinen) zu nutzen oder bestimmte Aufgaben (z. B. Buchung von Flugtickets, Kundenbetreuung) in einem Dialog mit mehreren Runden zu erledigen.
  2. Aufbau eines automatisierten Bewertungsprozesses
    SingleTurnEnv kann zur Erstellung automatisierter Beurteilungsprozesse verwendet werden. Durch die Definition eines Beurteilungsprozesses, der Standardantworten und Beurteilungskriterien enthält (Rubric) Umgebung, die quantitative Vergleiche der Leistung verschiedener Modelle ermöglicht, z. B. die Bewertung der Korrektheit einer Codegenerierungsaufgabe oder der Qualität einer Textzusammenfassung.
  3. Generierung hochwertiger synthetischer Daten
    Eine große Menge an Daten über Modell-Umwelt-Interaktionen kann durch den Prozess der Umweltinteraktion (Rollout) erzeugt werden. Diese Daten können als Hugging-Face-Datensätze gespeichert und für die anschließende überwachte Feinabstimmung (SFT) oder ein anderes Modelltraining verwendet werden, eine effiziente Pipeline für die Erzeugung synthetischer Daten.
  4. Akademische Forschung und Algorithmusvalidierung
    Verifiers bietet eine modulare, reproduzierbare Experimentierplattform für Forscher im Bereich des Verstärkungslernens. Forscher können neue Interaktionsprotokolle, Belohnungsfunktionen oder Trainingsalgorithmen einfach implementieren und ihre Wirksamkeit in einer standardisierten Umgebung überprüfen.

QA

  1. Was hat die Verifiers-Bibliothek mit prime-rl zu tun?
    prime-rl ist ein eigenständiges Trainingsframework, das nativ Umgebungen unterstützt, die mit Verifiers erstellt wurden. Verifiers konzentriert sich auf die Bereitstellung von Komponenten für die Erstellung von RL-Umgebungen, während die prime-rl Stattdessen konzentriert es sich darauf, eine leistungsfähigere und besser skalierbare FSDP-Trainingslösung (Fully Sliced Data Parallelism) bereitzustellen. Für umfangreiches Training lautet die offizielle Empfehlung, Folgendes zu verwenden prime-rl.
  2. Wie kann ich eine Bonusfunktion für meine Umgebung definieren?
    Sie müssen die vf.Rubric Definieren Sie eine oder mehrere Belohnungsfunktionen in dem Objekt. Jede Funktion erhält promptundcompletion und andere Parameter und gibt eine Fließkommazahl als Belohnungswert zurück. Sie können auch unterschiedliche Gewichte für verschiedene Belohnungsfunktionen festlegen.
  3. Muss ich die Interaktionslogik des Modells selbst implementieren?
    Nicht unbedingt. Für Einzelrunden-Quizze und Standard-Tool-Call-Szenarien können Sie einfach die SingleTurnEnv im Gesang antworten ToolEnv. Vererbung ist nur erforderlich, wenn Ihre Anwendung sehr einzigartige, nicht standardisierte Interaktionsabläufe erfordert. MultiTurnEnv gleichzeitig umschreiben is_completed im Gesang antworten env_response Methoden.
  4. Was sollte ich tun, wenn ich während der Ausbildung auf NCCL-bezogene Fehler stoße?
    Laut der offiziellen Dokumentation kann vLLM bei der Synchronisierung von Gewichten zu Problemen bei der Kommunikation zwischen den GPUs führen. Sie können versuchen, die Einstellung NCCL_P2P_DISABLE=1 um das Problem zu beheben. Wenn das Problem weiterhin besteht, versuchen Sie, die Einstellung NCCL_CUMEM_ENABLE=1 oder ein Problem mit dem Projekt ansprechen.
0Lesezeichen
0Gelobt

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Neue Veröffentlichungen

zurück zum Anfang

de_DEDeutsch