Aller au contenu
ReviewRamble

La lettre hebdomadaire

L’IA, évaluée, dans votre boîte mail.

  • Les nouveaux tests d’outils, de modèles, de serveurs MCP et de dépôts, avec le verdict en premier
  • Les prix et les notes revérifiés quand quelque chose change
  • Les nouvelles analyses dès leur publication

Modèles, agents, serveurs MCP et les outils qui méritent vraiment votre temps.

Un e-mail par semaine. Désinscrivez-vous avec le lien présent dans chaque lettre. Comment nous utilisons votre e-mail

OPAL

Une surcouche pour optimiseurs PyTorch qui laisse Claude Code réécrire l'optimiseur et son calendrier pendant l'entraînement de votre modèle.

Avis de ReviewRamble editors · Mis à jour

Voir sur GitHub Open source

Notre note

3.6/5

Une manière astucieuse et soigneusement instrumentée de laisser un agent régler un long entraînement en cours de route, mais les gains sont des exécutions uniques publiées par les auteurs, et il peut aussi dégrader un entraînement.

Qu’est-ce que OPAL ?

OPAL (OPtimizer with an Agent in the Loop) enveloppe un optimiseur torch.optim existant en une ligne. À intervalles réguliers pendant l'entraînement, un agent de code, Claude Code par défaut, lit les pertes, les statistiques des gradients et ses propres rapports d'analyse, puis décide s'il réécrit deux petits programmes Python : la règle de mise à jour qui transforme les gradients en mises à jour des paramètres, et le code d'analyse qui mesure ce qu'il veut surveiller. Il peut modifier les taux d'apprentissage, les calendriers, le momentum, le préconditionnement et l'écrêtage par groupe de paramètres, mais il lui est demandé de ne toucher ni au modèle, ni aux données, ni à la perte, ni à l'évaluation.

C'est le code de recherche derrière l'article Reactive Optimizers de Xingjian Bai, Jia-Hao Liang, Jayden Teoh et Vincent Sitzmann (arXiv 2610.33826), publié sous forme de paquet utilisable : pip install opal-optimizer, avec une CLI pour les essais à blanc, les estimations de coût, le suivi en direct et un rapport HTML de chaque décision et de chaque diff de code. Un backend Codex expérimental est inclus.

Le dépôt a été créé le 21 octobre 2026, il est sous licence MIT, compte environ 440 étoiles, et la v0.3.10 est sortie le 3 novembre 2026.

OPAL vaut-il le coup ?

OPAL mérite l'attention de quiconque paie des entraînements qui se comptent en heures, et sert peu en dessous. L'idée : une recette d'optimiseur fixe est choisie avant l'entraînement et jamais revue ; OPAL laisse un agent observer l'exécution et réécrire la règle de mise à jour en plein vol. Tant que l'agent ne change rien, une exécution enveloppée est identique bit à bit à l'exécution normale, et l'essai à blanc backend="keep" le prouve sans frais. C'est le bon premier test à proposer à un ingénieur sceptique.

Les résultats des auteurs sont encourageants et minces. Sur SiT-B/2 avec ImageNet 256, le FID-50K est passé de 35.7 à 23.6, et sur LightningDiT-B/1 de 3.22 à 2.31 avec guidage, mais chaque chiffre correspond à une seule exécution par réglage, déclarée par les auteurs, et le README signale qu'une exécution de modded-nanogpt en version 0.2.0 a fini moins bien que le record dont elle partait. Comme l'agent décide différemment à chaque fois, vos chiffres varieront.

Le coût en temps est fixe par décision, non par pas. Une décision prend environ 40 s en moyenne dans les exécutions des auteurs, ce qui a ajouté 0.49 h à une exécution RAEv2-B de 3.75 h, mais a transformé des scripts mono-GPU de 1 à 3 minutes en 27 à 31 minutes. blocking=False laisse l'entraînement continuer pendant que l'agent réfléchit, au prix d'un comportement plus bruité.

La sécurité mérite une phrase claire. Le shell de l'agent tourne dans un bac à sable du système sans réseau, mais le code d'optimiseur qu'il écrit s'exécute dans votre processus d'entraînement avec vos droits, sans isolation. Par défaut, il lit aussi des copies de votre script d'entraînement et du code du modèle, envoyées à Anthropic ; share_code=False les en exclut. Chaque version du programme est conservée sur disque, si bien que l'optimiseur final est du Python que vous pouvez lire et réutiliser sans l'agent.

Les limites sont celles d'un paquet de recherche âgé de trois semaines : un seul nœud, ni FSDP, ni DeepSpeed, ni multi-nœud, aucun retour en arrière de l'entraînement lui-même, et aucun plafond de dépense tant que vous ne fixez pas max_cost_usd. Comme moyen de trouver une meilleure recette d'optimiseur pour une famille de modèles que vous entraînerez souvent, il est plus intéressant que comme bouton à presser sur chaque tâche.

Là où il fait la différence

  • Un doctorant qui entraîne des modèles de diffusion sur un nœud de 8x H100

    Trouver un meilleur calendrier de taux d'apprentissage et d'optimiseur sans balayage complet

    Envelopper AdamW, lancer l'essai à blanc keep gratuit, puis une exécution avec agent plafonnée de quelques heures. L'exécution RAEv2-B des auteurs a coûté $13.30 d'usage de l'agent et ajouté 0.49 h d'attente ; le programme final dans programs/ se réutilise sur les exécutions suivantes.

  • Une responsable ML dans une startup de 15 personnes qui préentraîne de petits modèles de langage

    Juger si un optimiseur réglé par un agent vaut la peine avant d'engager du calcul

    Lancer d'abord opal estimate pour voir le temps d'attente et le coût, puis comparer une exécution enveloppée et une normale avec opal compare. Prévoir des écarts d'une exécution à l'autre, donc au moins deux exécutions avec agent avant de conclure.

  • Un cours universitaire d'optimisation pour l'apprentissage profond

    Montrer aux étudiants l'effet des choix d'optimiseur pendant un vrai entraînement

    L'exemple MNIST sur CPU prend environ 15 s par exécution normale ; la version avec agent a pris 862 s et coûté $2.70 dans le test des auteurs. Le rapport HTML montre chaque décision, son raisonnement et le diff.

Avant de vous engager

Mise en route
pip install opal-optimizer dans votre environnement d'entraînement (Python 3.10+, PyTorch 2.5+), lancez opal doctor, puis enveloppez votre optimiseur avec opal.wrap et un objectif en une phrase. Claude Code doit être installé et connecté sur la machine du rank 0 ; un broker par boîte aux lettres couvre les nœuds GPU sans internet.
Intégrations
Tout optimiseur et planificateur torch.optim ; Hugging Face Trainer via opal.hf.OpalTrainer ; Accelerate après accelerator.prepare, avec des limites. Claude Code est le backend par défaut (claude-opus-5-5, effort élevé) ; Codex est expérimental.
Données et confidentialité
L'agent voit votre objectif, les noms et formes des paramètres, les pertes, ses propres rapports et, par défaut, des copies en lecture seule de votre script d'entraînement et du code du modèle, le tout envoyé au fournisseur du modèle. Les métriques journalisées restent locales sauf avec show_agent=True. Le code d'optimiseur écrit par l'agent s'exécute sans isolation dans votre processus.
Coût à grande échelle
Le coût de l'agent allait de $9.71 à $17.25 par exécution de plusieurs heures dans les exemples publiés par les auteurs, plus le temps GPU supplémentaire pendant que l'entraînement attend, par exemple 0.66 h sur une exécution LightningDiT de 6.13 h. max_cost_usd plafonne la dépense Claude, pas Codex.
Limites
Un seul nœud ; ni FSDP, ni DeepSpeed, ni multi-nœud. Il ne peut pas revenir en arrière dans l'entraînement, seulement corriger ses programmes à la décision suivante. Les exécutions courtes sont dominées par l'attente de l'agent. Version 0.3.x, en développement actif.

Les points forts

  • L'exécution enveloppée est identique bit à bit tant que l'agent n'agit pas
  • Essai à blanc et estimation de coût gratuits avant tout appel à l'agent
  • Rapport HTML avec chaque justification et chaque diff de code
  • Fonctionne sur CPU, un GPU ou en DDP sur un seul nœud
  • Shell de l'agent isolé et sans réseau

Les points faibles

  • Résultats issus d'exécutions uniques, déclarés par les auteurs
  • Le code d'optimiseur de l'agent s'exécute sans isolation dans votre processus
  • Aucun plafond de coût si vous n'en fixez pas
  • Ni multi-nœud, ni FSDP, ni DeepSpeed

Idéal pour

Chercheurs en ML et petits laboratoires qui lancent des tâches PyTorch de plusieurs heures sur un nœud et veulent explorer des changements d'optimiseur qu'ils n'auraient pas tentés à la main.

Alternatives à OPAL

OPAL : questions fréquentes

OPAL vaut-il le coup ?
Une manière astucieuse et soigneusement instrumentée de laisser un agent régler un long entraînement en cours de route, mais les gains sont des exécutions uniques publiées par les auteurs, et il peut aussi dégrader un entraînement. Nous lui donnons 3.6 sur 5.
Combien coûte OPAL ?
Gratuit sous licence MIT. Les appels de l'agent sont facturés sur votre compte Claude ; les entraînements de plusieurs heures des auteurs ont coûté de $9.71 à $17.25 d'usage de l'agent.
Quels sont les inconvénients de OPAL ?
Résultats issus d'exécutions uniques, déclarés par les auteurs; le code d'optimiseur de l'agent s'exécute sans isolation dans votre processus; aucun plafond de coût si vous n'en fixez pas; ni multi-nœud, ni FSDP, ni DeepSpeed.
À qui s’adresse OPAL ?
Chercheurs en ML et petits laboratoires qui lancent des tâches PyTorch de plusieurs heures sur un nœud et veulent explorer des changements d'optimiseur qu'ils n'auraient pas tentés à la main.
Combien coûte OPAL pour une équipe ou en production ?
Le coût de l'agent allait de $9.71 à $17.25 par exécution de plusieurs heures dans les exemples publiés par les auteurs, plus le temps GPU supplémentaire pendant que l'entraînement attend, par exemple 0.66 h sur une exécution LightningDiT de 6.13 h. max_cost_usd plafonne la dépense Claude, pas Codex.
OPAL est-il sûr pour les données de l’entreprise ?
L'agent voit votre objectif, les noms et formes des paramètres, les pertes, ses propres rapports et, par défaut, des copies en lecture seule de votre script d'entraînement et du code du modèle, le tout envoyé au fournisseur du modèle. Les métriques journalisées restent locales sauf avec show_agent=True. Le code d'optimiseur écrit par l'agent s'exécute sans isolation dans votre processus.
Quelles sont les meilleures alternatives à OPAL ?
Les alternatives les plus proches que nous avons testées sont The AI Scientist (v1, v2 and v3) et PyTorch.

Réponses vérifiées le 11 nov. 2026.