使用情况统计收集#
从 Ray 1.13 版本开始,Ray 默认收集使用情况统计数据(受可选退出提示保护)。这些数据将供开源 Ray 工程团队用于更好地了解如何改进我们的库和核心 API,以及如何优先处理 bug 修复和功能增强。
以下是我们的收集策略指导原则
无意外 — 在我们开始收集数据之前,您将收到通知。关于收集的数据或其使用方式的任何变更,您也将收到通知。
易于退出: 您将能够轻松选择退出数据收集
透明度 — 您将能够查看发送给我们的所有数据
控制 — 您将对您的数据拥有控制权,我们将遵从您的数据删除请求。
我们将不会收集任何个人身份信息或专有代码/数据
我们不会出售您的数据,也不会购买关于您的数据。
您将始终能够禁用使用情况统计收集。
欲了解更多背景信息,请参阅此RFC。
收集哪些数据?#
我们收集非敏感数据,帮助我们了解 Ray 的使用情况(例如,使用了哪些 Ray 库)。永远不会收集个人身份信息。 请查看 UsageStatsToReport 类以了解我们收集的数据。
如何禁用#
在启动集群之前,有多种方式可以禁用使用情况统计收集
添加
--disable-usage-stats
选项到启动 Ray 集群的命令中(例如,ray start --head --disable-usage-stats
命令)。运行 ray disable-usage-stats 禁用未来所有集群的收集。这不会影响当前正在运行的集群。在后台,此命令会将
{"usage_stats": true}
写入全局配置文件~/.ray/config.json
。将环境变量
RAY_USAGE_STATS_ENABLED
设置为 0(例如,RAY_USAGE_STATS_ENABLED=0 ray start --head
命令)。如果您正在使用 KubeRay,您可以添加
disable-usage-stats: 'true'
到.spec.[headGroupSpec|workerGroupSpecs].rayStartParams.
。
当前无法启用或禁用正在运行的集群的数据收集;您必须停止并重启集群。
工作原理是什么?#
当 Ray 集群通过 ray start –head、 ray up、 ray submit –start 或 ray exec –start 启动时,Ray 将按顺序考虑以下因素来决定是否启用使用情况统计收集
它检查环境变量
RAY_USAGE_STATS_ENABLED
是否已设置:1 表示启用,0 表示禁用。如果环境变量未设置,它会读取全局配置文件
~/.ray/config.json
中键usage_stats
的值:true 表示启用,false 表示禁用。如果两者都未设置且控制台是交互式的,则会提示用户启用或禁用收集。如果控制台是非交互式的,使用情况统计收集将默认启用。此决定将被保存到
~/.ray/config.json
中,因此提示只会显示一次。
注意:通过 ray.init()
启动的本地开发集群不会启用使用情况统计收集,除非是 nightly wheel 版本。这意味着 Ray 永远不会收集非直接使用 Ray 的第三方库用户的数据。
如果启用了使用情况统计收集,head 节点上的后台进程将收集使用情况统计并每小时报告给 https://usage-stats.ray.io/
。报告的使用情况统计也会保存到 /tmp/ray/session_xxx/usage_stats.json
在 head 节点上,以便检查。您可以检查此文件是否存在,以查看是否启用了收集。
使用情况统计收集非常轻量,对您的工作负载不会有任何影响。
请求删除已收集数据#
要请求删除已收集数据,请发送电子邮件至 usage_stats@ray.io
并附上 session_id
您可以在 /tmp/ray/session_xxx/usage_stats.json
中找到的。
常见问题 (FAQ)#
session_id 是否映射到个人数据?
不,uuid 将是 Ray session/job 特定的随机 ID,无法用于识别特定个人或机器。它不会超出您的 Ray session 的生命周期;收集它主要是为了使我们能够遵从删除请求。
session_id 会被记录,以便遵从删除请求。
企业是否可以轻松配置附加端点或替换为不同端点?
我们非常理解这种用例,并乐意与您交流以实现此功能 – 请发送电子邮件至 usage_stats@ray.io
。
联系我们#
如果您对使用情况统计收集有任何反馈,请发送电子邮件至 usage_stats@ray.io
。