使用情况统计信息收集#
从 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 start –head、ray up、ray submit –start 或 ray exec –start 启动 Ray 集群时,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/。报告的使用情况统计信息还将保存在 head 节点上的 /tmp/ray/session_xxx/usage_stats.json 中以供检查。您可以检查此文件的存在来查看收集是否已启用。
使用情况统计信息收集非常轻量级,不会对您的工作负载产生任何影响。
请求删除已收集的数据#
要请求删除已收集的数据,请发送电子邮件至 usage_stats@ray.io,并在邮件中包含您可以在 /tmp/ray/session_xxx/usage_stats.json 中找到的 session_id。
常见问题解答 (FAQ)#
session_id 是否映射到个人数据?
不,session_id 将是一个 Ray 会话/作业特定的随机 ID,无法用于识别特定个人或机器。它不会在您的 Ray 会话生命周期之后保留;它主要捕获是为了使我们能够响应删除请求。
记录 session_id 以便能够响应删除请求。
企业是否可以轻松配置额外的端点或替换不同的端点?
我们绝对看到了这种用例,并很乐意与您沟通以使其成为可能 – 请发送电子邮件至 usage_stats@ray.io。
联系我们#
如果您对使用情况统计信息收集有任何反馈,请发送电子邮件至 usage_stats@ray.io。