TRL documentation

实验性

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

实验性

此目录包含一个最小化且清晰隔离的空间,用于快速迭代新想法。

稳定性契约:trl.experimental 下的任何内容都可能在任何版本(包括补丁版本)中发生变更或被移除,且无需提前进行弃用声明。请勿在生产环境中依赖这些 API。

晋升路径(简单)

  1. 在主仓库之外进行原型开发: 在您自己的 fork 或单独的仓库中开始开发,以便快速迭代。
  2. 实验性纳入:当功能准备就绪可供早期用户使用后,将该想法移至 trl.experimental.<feature>。
  3. 改进:添加测试、简短的文档/示例,并展示其用法。
  4. 提升:一旦 API 被证明是稳定的,并且社区对其表现出明确的兴趣或采用,就将其移至 trl.<feature>(稳定模块)。

移除

Experimental 是一个暂存区,而非长期存储:一个功能要么被提升,要么被移除。如上所述,根据稳定性契约,移除功能无需经过弃用周期。相关代码仍保留在 git 历史记录中,且 paper index 条目也会保留,指向最后一个包含该实现版本发布的版本。

没有阈值会触发移除。这是一个判断决策,在移除的拉取请求中做出,相关数据摆在所有人面前。该判断所权衡的因素包括:

  • 用法。遥测数据、Hub 标签,以及拉取请求或讨论线程中的回复。其中任何一项单独来看都不足以得出定论,但如果它们全部保持沉默,则是一个强烈的信号。
  • 在运行该功能时产生的外部问题和拉取请求,而非通过扫描代码生成的报告。
  • 稳定的训练器是否已经涵盖了该功能。如果已经涵盖,则其优先级高于使用频率。
  • 成本。CI 时间、维护、问题分诊负载。
  • 下游使用者。导入它的库。
  • 负责人。希望将其提升并愿意投入工作的人。
  • 年龄。即该模型是否已经发布足够长的时间,让社区有机会发现并尝试它。

常见问题

为什么不直接使用分支? 因为分支不会交付给用户;包内的实验性代码可以让早期采用者尝试新功能并提供反馈。

这些 API 是否可能在没有任何警告的情况下发生变化或消失? 是的。trl.experimental 中的任何内容都可能在任何版本中发生变化或消失。

我是否应该在生产环境中使用它? 只有在你能够接受在情况变化时快速更新代码的情况下才应该使用。

维护者会及时修复 trl.experimental 中的问题吗? 不一定。实验模块是新想法的试验场,维护者可能不会优先处理其中的错误修复或功能请求。这些问题可能会一直未解决,直到(或者除非)该功能被纳入稳定 API。

我贡献了一个论文实现。它可以被移除吗? 可以。trl.experimental 下的任何内容都可以被移除,包括论文实现。如果发生这种情况,论文索引 条目将保留,并指向最后一个包含该代码的版本。

如何屏蔽运行时通知?

用法:export TRL_EXPERIMENTAL_SILENCE=1。

Update on GitHub