Une correction essentielle de l'accumulation de gradient bouleverse l'entraînement des Transformers. Explications précises et changements à prévoir.
Les utilisateurs des modèles Transformers ont récemment remarqué un problème inattendu avec l’accumulation de gradient, une fonction censée être équivalente à l’entraînement par lot complet. Malgré cela, les pertes différenciaient étrangement entre les sessions d’entraînement avec ou sans cette option activée. Découverte d’un bug et correction par l’équipe Transformers en moins de 24 heures.
Problème sous-jacent à l’accumulation de gradient
Dans le code de modélisation de chaque modèle, Transformers propose une fonction de perte par défaut adaptée à des tâches spécifiques comme le questionnement automatique ou la classification de tokens. Elle simplifie l’entraînement, mais crée des inexactitudes lorsque l’accumulation de gradient est activée, notamment en causal LM. Normalement, pour ces tâches, la perte devrait être basée sur l’agrégation totale de la perte à travers tous les lots, divisée par le nombre de tokens non-remplis, ce qui n’était pas fait.
Correction proposée par Hugging Face
Pour résoudre ce problème, Hugging Face ajuste automatiquement les fonctions de perte par défaut avec une nouvelle manière de calculer la perte en accumulation de gradient. Ils ajoutent aussi une API permettant aux utilisateurs de définir et passer leurs propres fonctions de perte. Cela leur permet une flexibilité nécessaire tout en garantissant que les futures corrections internes ne bloqueront pas les workflows.
La correction de l’accumulation de gradient est impérative pour maintenir l’intégrité des résultats des modèles Transformers. Utilisateurs: vérifiez vos configurations pour éviter des erreurs subtiles!
Améliorations et contributions communautaires
Hugging Face lance un appel à contributions pour propager cette correction à la majorité des modèles via PR sur GitHub. Ces efforts visent à libérer une mise à jour étendue au prochain cycle de sortie, assurant le bon fonctionnement dans un maximum de cas d’usage.
« Parfois, des défauts par défaut doivent être mis à jour par l’utilisateur. Quand ces défauts deviennent contre-intuitifs, nous devons agir vite. »
L’équipe Transformers
Pourquoi c’est crucial pour les développeurs
Pour tout développeur utilisant les Transformers, comprendre les détails de cette correction est clé. Non seulement elle affecte la précision des modèles, mais démontre aussi l’importance d’une vigilance continue sur les comportements implicites des bibliothèques utilisées quotidiennement. Suivre de près les changements apportés par des équipes comme Hugging Face assurera que l’IA continue de fournir des résultats fiables et reproductibles.
En conclusion, la correction rapide d’un défaut d’accumulation de gradient par Hugging Face illustre leur réactivité et leur engagement envers la communauté IA. Il est indispensable pour les utilisateurs d’adapter rapidement leurs pratiques afin de tirer parti de ces ajustements. Continuez à suivre ces améliorations et participez activement à la communauté pour renforcer l’avenir des modèles Transformers.