L'apprentissage par renforcement en contexte long nécessite des données à la fois longues, difficiles et automatiquement vérifiables. L'annotation manuelle est coûteuse, les corpus externes sont insuffisants et le recours à des modèles enseignants plus performants devient de plus en plus difficile. LongZero permet au modèle entraîné de générer lui-même ses questions : il rédige d'abord les questions, les preuves à l'appui et les réponses sous une forme structurée compacte, puis étend les preuves en plusieurs documents longs pour créer des questions de raisonnement multi-sauts ; il ajoute également des questions de récupération multi-tours basées sur des conversations longues composées de ses propres réponses. Seules les questions auxquelles le modèle répond parfois correctement et parfois incorrectement sont conservées, puis utilisées pour l'entraînement via GRPO.
J'aime 4 · Étoiles du code 4
Raisons
- Ne dépend pas de corpus externes ni de modèles enseignants plus performants : à mesure que le modèle entraîné devient plus fort, la difficulté des données est également générée par lui-même, ce que les auteurs considèrent comme une voie durable.
- Les auteurs affirment dépasser les lignes de base utilisant des données synthétiques issues de corpus externes pour l'apprentissage par renforcement sur deux modèles et cinq benchmarks de raisonnement en contexte long (LongBench multi-documents QA, LongBench v2, FRAMES, AA-LCR, LongReason) (le résumé ne fournit pas de chiffres spécifiques).
- Haut degré de reproductibilité : la synthèse des données, l'entraînement (une version modifiée du snapshot verl) et les scripts d'évaluation sont tous fournis, les données d'entraînement synthétiques pour Qwen3-4B-Thinking-2507 et Qwen3-8B sont disponibles sur Hugging Face, et le dossier results/ contient les scores par question et les scripts de recalcul.
- Le code est sous licence MIT.
Utilisation
- Code : github.com/zhennan1/LongZero ; Données : hf download zhennan1/LongZero --repo-type dataset --include "data/*" (2,304 exemples de raisonnement + 1,152 exemples de récupération pour l'entraînement par modèle).
- Environnement : Linux, Python 3.12, CUDA ; les versions enregistrées dans le README sont PyTorch 2.9.0+cu128, vLLM 0.11.1, FlashAttention 2.8.3, puis pip install --no-deps -e training/verl_4b (ou verl_8b).
- Entraînement : MODEL_PATH=… DATA_DIR=data/qwen3_4b bash training/train_4b.sh ; un seul nœud avec 8 GPU, 64 prompts × 8 réponses par étape, taux d'apprentissage 1e-6, le rapport de l'article indique que pour le modèle 4B on prend l'étape 72 et pour le modèle 8B l'étape 108.
- Générer ses propres données : démarrez d'abord le modèle entraîné avec vllm serve, puis exécutez synthesis/gen_pipeline.py et repeat_eval.py pour filtrer les questions.
Risques
- Les poids des modèles entraînés ne sont pas publiés, seuls les données et le code sont fournis ; il faut entraîner soi-même pour l'utiliser.
- Le seuil d'entraînement est d'un seul nœud avec 8 GPU ; la validation n'a été effectuée que sur deux modèles, Qwen3 4B / 8B.
- L'évaluation AA-LCR nécessite une API de modèle de notation compatible OpenAI ; les conclusions sur l'efficacité sont rapportées par les auteurs, le résumé ne précise pas l'ampleur de l'amélioration.