TRL documentation

Expérimental

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.17.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Expérimental

Ce répertoire contient un espace minimal et clairement séparé pour itérer rapidement sur de nouvelles idées.

Contrat de stabilité : Tout ce qui se trouve sous trl.experimental peut être modifié ou supprimé dans toute version (y compris les versions de correctif) sans dépréciation préalable. Ne vous fiez pas à ces API pour les charges de travail de production.

Parcours de promotion (simple)

  1. Prototyper en dehors du dépôt principal : Commencez le développement dans votre propre fork ou dans un dépôt séparé pour itérer rapidement.
  2. Inclusion expérimentale : Une fois que l’idée est prête pour les premiers utilisateurs, déplacez-la dans trl.experimental.<feature>.
  3. Améliorer : ajouter des tests, une courte documentation/un exemple, et démontrer l'utilisation.
  4. Passer en version stable : Une fois que l'API s'est révélée stable et qu'il y a un intérêt ou une adoption clairs de la part de la communauté, déplacez-la dans trl.<feature> (module stable).

Suppression

Experimental est une zone de mise en attente, et non un stockage à long terme : une fonctionnalité est soit promue, soit supprimée. La suppression n’exige pas de cycle de dépréciation, comme indiqué dans le contrat de stabilité ci-dessus. Le code reste disponible dans l’historique git, et l’entrée de l’index des articles demeure, pointant vers la dernière version ayant livré l’implémentation.

Aucun seuil ne déclenche un retrait. Il s'agit d'une décision subjective, prise dans la pull request de retrait, avec les chiffres devant tout le monde. Ce que cette décision prend en compte :

  • Utilisation. Télémétrie, balises du Hub et réponses sur la pull request ou sur un fil de discussion. Aucune de ces sources n’est concluante à elle seule, mais le silence de toutes est un signal fort.
  • Les problèmes et demandes de fusion externes issus de l’exécution de la fonctionnalité, par opposition aux rapports générés par l’analyse du code.
  • Si un formateur stable le prend déjà en charge. Si c’est le cas, cela prime sur l’usage.
  • Coût. Temps de CI, maintenance, charge de tri.
  • Consommateurs en aval. Les bibliothèques qui l'importent.
  • Propriétaire. Une personne qui souhaite la promotion et qui est prête à effectuer le travail.
  • Âge. S'il est disponible depuis suffisamment longtemps pour que la communauté ait pu le découvrir et l'essayer.

FAQ

Pourquoi ne pas simplement utiliser des branches ? Parce que les branches ne sont pas livrées aux utilisateurs ; le code expérimental au sein du paquet permet aux premiers adopteurs d’essayer des choses et de donner leur retour.

Ces API peuvent-elles changer ou disparaître sans avertissement ? Oui. Tout ce qui se trouve dans trl.experimental peut changer ou disparaître dans toute version.

Devrais-je l'utiliser en production ? Seulement si vous êtes à l'aise avec la mise à jour rapide de votre code lorsque les choses changent.

Les mainteneurs corrigeront-ils rapidement les problèmes dans trl.experimental ? Pas nécessairement. Le module expérimental est un terrain de jeu pour de nouvelles idées, et les mainteneurs peuvent ne pas prioriser les correctifs de bogues ou les demandes de fonctionnalités à cet endroit. Les problèmes peuvent rester non résolus jusqu'à ce que (ou à moins que) la fonctionnalité ne soit promue dans l'API stable.

J’ai contribué à une implémentation d’article. Peut-elle être supprimée ? Oui. Tout ce qui se trouve sous trl.experimental peut être supprimé, y compris les implémentations d’articles. Si cela se produit, l’entrée de l’index des articles reste en place et pointe vers la dernière version qui a inclus le code.

Comment désactiver l'avertissement d'exécution ?

Utilisation : export TRL_EXPERIMENTAL_SILENCE=1.

Update on GitHub