VERL (Volcano Engine Reinforcement Learning) est un framework open source de post-entraînement par RL pour les LLM. VERL intègre un backend de traçage Weave qui vous permet de tracer la génération des LLM et les appels d’outil, en complément des métriques d’entraînement déjà enregistrées par W&B.
Utilisez Weave avec VERL pour :
- Inspecter chaque trajectoire de rollout étape par étape, y compris les prompts, les réponses du modèle et les invocations d’outils.
- Filtrer les trajectoires par étape, index d’échantillon, numéro de rollout et nom d’expérience.
- Comparer plusieurs trajectoires côte à côte afin de déboguer le comportement de l’agent au fil des étapes d’entraînement.
Prérequis
- Un compte CoreWeave Forge et une clé API.
- Une installation de VERL prenant en charge le traçage des rollouts. Cette fonctionnalité a été introduite dans verl#2345.
- Une configuration de rollout asynchrone. Le traçage ne s’applique qu’aux rollouts asynchrones ; les rollouts synchrones ne sont pas tracés.
Activer le traçage Weave
Définissez votre clé API dans l’environnement pour que VERL puisse s’authentifier auprès de votre compte CoreWeave Forge :
Ajoutez ensuite les options suivantes à votre commande d’entraînement VERL :
actor_rollout_ref.rollout.trace.backend=weave : sélectionne Weave comme backend de traçage.
actor_rollout_ref.rollout.mode=async : active le rollout asynchrone pour vLLM ou SGLang. Le traçage est sans effet sur les rollouts synchrones.
trainer.project_name : définit le projet dans lequel journaliser les traces et les métriques.
trainer.experiment_name : définit le nom de votre expérience.
trainer.logger=['console','wandb'] : active le logger wandb en plus de Weave afin que les métriques et les traces s’affichent dans le même projet.
La commande obtenue se présente ainsi :
Weave est initialisé automatiquement à partir de votre projet Weights & Biases et du nom de votre expérience. Il n’est pas nécessaire d’appeler weave.init().
Ajuster le volume de traces
Par défaut, VERL trace chaque échantillon de chaque rollout, ce qui peut générer un volume considérable de données de trace. Vous pouvez limiter ce volume en définissant les champs suivants dans votre fichier de configuration ppo_trainer.yaml :
max_samples_per_step_per_worker : nombre d’échantillons uniques tracés par chaque worker à chaque étape d’entraînement. La valeur par défaut est null, ce qui trace tous les échantillons.
token2text : définissez ce champ sur True pour ajouter les champs décodés prompt_text et response_text à la sortie de ToolAgentLoop.run. La valeur par défaut est False, pour des raisons de performances. Activez-le si vous souhaitez lire les prompts et les complétions directement dans l’interface de Weights & Biases.
Dans le fichier, les champs obtenus se présentent ainsi :
Afficher les traces
Pour afficher les traces émises pendant l’entraînement, ouvrez la page de votre projet Weights & Biases et sélectionnez Traces. Chaque trace correspond à une trajectoire de rollout.
Vous pouvez sélectionner plusieurs traces et utiliser la vue de comparaison de Weave pour examiner les différences entre les trajectoires. Vous pourrez ainsi déboguer plus facilement les évolutions du comportement de l’agent d’une étape d’entraînement ou d’une expérience à l’autre.
Tracer des fonctions supplémentaires
VERL fournit deux utilitaires pour étendre la couverture de traçage par défaut :
rollout_trace_op : un décorateur qui correspond à weave.op et marque une méthode d’une instance de classe pour le traçage. Par défaut, seul un petit nombre de méthodes sont décorées. Vous pouvez ajouter ce décorateur aux méthodes de votre boucle d’agent personnalisée ou de vos implémentations d’outils afin de capturer davantage de détails.
rollout_trace_attr : un gestionnaire de contexte qui marque le point d’entrée d’une trajectoire et y joint ses métadonnées (index d’échantillon, étape, numéro de rollout, nom de l’expérience). Si vous ajoutez un nouveau type d’agent, encapsulez le point d’entrée de sa trajectoire avec rollout_trace_attr afin que la trace soit associée au run.
Pour plus d’informations sur la configuration, consultez la documentation de VERL sur le traçage des rollouts. Dernière modification le 30 septembre 2026