Configuration du nouveau modèle EAGLE3
Créez tools/launcher/examples/<Org>/<Model>/hf_offline_eagle3.yaml en copiant l'exemple existant le plus proche et en l'adaptant. Choisissez une référence ayant la même architecture que la cible (dense vs MoE, taille similaire) dans tools/launcher/examples/ — par exemple la config Qwen3-8B pour un modèle dense.
Le pipeline est une config à 4 tâches (task_0 synthèse de données → task_1 dump d'état caché → task_2 entraînement → task_3 benchmark). La structure des tâches, les arguments, les conteneurs et le dimensionnement GPU/nœud sont tous visibles dans les exemples existants — déduisez-les d'une référence plutôt que de les créer manuellement. Ce fichier documente seulement les deux choses qui ne sont pas évidentes à partir des exemples : quel backend de dump choisir, et les pièges spécifiques au modèle.
Choix du backend de dump d'état caché pour task_1
| Backend | Script | Quand l'utiliser |
|---|---|---|
| vLLM | common/eagle3/dump_offline_data_vllm.sh |
Par défaut. Couverture large via l'extracteur d'état caché natif de vLLM. |
| HF | common/eagle3/dump_offline_data_hf.sh |
VLMs / multimodal, modèles avec code personnalisé, attention à fenêtre glissante (TRT-LLM ne peut pas les servir). |
| TRT-LLM | common/eagle3/dump_offline_data.sh |
Modèles texte pur avec support TRT-LLM ; passez --tp <TP> et --moe-ep <EP>. |
Règle empirique : HF si le modèle est un VLM ou utilise l'attention à fenêtre glissante ; vLLM sinon. TRT-LLM seulement quand vous voulez spécifiquement ses kernels pour un modèle texte pur supporté.
Ajustements spécifiques au modèle
Voici les paramètres non évidents qui varient selon le modèle :
| Situation | Ce qu'il faut modifier |
|---|---|
Nécessite --trust-remote-code |
Ajoutez aux arguments vLLM de task_0 (avant le séparateur --) et aux arguments benchmark de task_3 |
| MoE avec grande dimension cachée d'expert | Augmentez intermediate_size dans eagle_config.json pour correspondre à moe_intermediate_size |
| Tokenizer personnalisé (ex. tiktoken) | Définissez la variable d'env TIKTOKEN_RS_CACHE_DIR dans task_0 et task_1 |
Après adaptation de la config, prévisualisez-la avec --dryrun avant de la soumettre.