如何关闭 TRL 的匿名使用统计收集(遥测)?
【免费下载链接】trlTrain transformer language models with reinforcement learning.项目地址: https://gitcode.com/GitHub_Trending/tr/trl
如果你在用 TRL 做强化学习训练,又希望训练脚本不向外部发送任何使用统计(常见于内网环境或对数据外发敏感的团队),官方文档给出了明确的关闭方式:设置两个环境变量之一即可。
TRL 会发送哪些统计
TRL 会在每次实例化 trainer 时发送一次匿名统计(使用统计文档)。上报的字段包括:
- TRL 版本号(如
1.5.0); - trainer 类名,仅当它是 TRL 自带的 trainer(如
SFTTrainer、GRPOTrainer)时才会上报,用户自定义子类一律记为other; - 模型架构,仅当它是
transformers已知的模型类型时才会上报(如llama、qwen3),自定义或私有架构记为other; - 是否在使用 PEFT;
- 训练数据的加载方式:
hub(从 Hub 下载)、files(通过json/csv等文件方式读取)、memory(进程内构建,如Dataset.from_dict)或other。数据集名称和路径不会被收集; - 分布式后端(
deepspeed、fsdp、ddp或none); - 进程规模,分档上报(
1、2-8、9-64、65+); - 加速器类型(
cuda、xpu、npu、mlu、mps、cpu); - GPU 型号(如
NVIDIA H100 80GB HBM3),可得时上报。
文档同时声明:不收集数据集名称、文件路径、模型标识符、超参数值或其他任何用户提供的数据。需要留意的一点是:和任何 HTTP 请求一样,发起端的源 IP 与标准 HTTP 头对服务器可见。
发送逻辑本身在 base_trainer.py 的_send_telemetry中实现:只在主进程(rank 0)发送,跳过 CI 运行,并通过 huggingface_hub 的send_telemetry发送。
关闭遥测:设置环境变量
官方文档给出的关闭方式是在训练环境的 shell 会话中设置以下两个环境变量之一:
export HF_HUB_DISABLE_TELEMETRY=1 # disables telemetry for all HF libraries export HF_HUB_OFFLINE=1 # disables all network calls to the Hub两者的作用范围不同,按需选择:
HF_HUB_DISABLE_TELEMETRY=1:仅关闭遥测,覆盖所有 HF 库;训练仍然可以联网访问 Hub。HF_HUB_OFFLINE=1:禁用对 Hub 的一切网络调用,范围更大。如果训练需要在线拉取模型或数据集,它会直接影响可用性,只适用于完全离线的训练场景。
export只对当前 shell 会话及其子进程生效,所以必须在启动训练脚本的那个 shell 里设置;如果训练通过accelerate launch等命令拉起,环境变量会随进程继承,无需额外传递。
如何确认遥测已关闭
发送侧的判断逻辑可以对照 base_trainer.py 阅读:
- 非主进程(
accelerator.is_main_process为False)不发送; CI环境变量已设置时不发送——CI 环境无需额外配置;HF_HUB_DISABLE_TELEMETRY=1或HF_HUB_OFFLINE=1由send_telemetry内部处理,设置后不再发送。
也就是说,除了 CI 场景外,判断是否已关闭的依据就是确认启动训练脚本的进程环境中存在这两个变量之一(可用env | grep HF_HUB查看当前 shell)。文档没有提供额外的验证命令或可观察的成功输出,send_telemetry静默发送,关闭与否不会改变训练的可见日志。
作用范围与边界
- 两个变量都是 Hub 层面的开关,作用于所有 HF 库,不只是 TRL 自身的遥测。
HF_HUB_OFFLINE=1同时会切断训练对 Hub 的下载能力,在线拉取模型/数据集的训练流程不适用。- 文档没有提供任何 trainer 级别的关闭参数;如果某个进程没有设置上述环境变量且不在 CI/离线模式下,实例化 trainer 时就会发送一次统计。
- 文档也说明,保持遥测开启是维护者了解各 trainer 与硬件配置使用情况的方式之一——如果环境允许外发请求,是否关闭由你自己权衡。
【免费下载链接】trlTrain transformer language models with reinforcement learning.项目地址: https://gitcode.com/GitHub_Trending/tr/trl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考