使用统计收集#
从 Ray 1.13 开始,Ray 默认收集使用统计数据(受一个退出提示保护)。这些数据将由开源 Ray 工程团队用于更好地理解如何改进我们的库和核心 API,以及如何确定错误修复和增强功能的优先级。
以下是我们收藏政策的指导原则:
无意外 — 在我们开始收集数据之前,您将会收到通知。您将会收到有关收集数据或其使用方式的任何更改的通知。
轻松退出: 您将能够轻松选择退出数据收集。
透明性 — 您将能够查看所有发送给我们的数据
控制 — 您将控制您的数据,我们将尊重删除您数据的要求。
我们**不会**收集任何个人身份数据或专有代码/数据
我们**不会**出售或购买关于您的数据。
您始终可以 禁用使用统计收集。
更多上下文,请参考此 RFC。
收集了哪些数据?#
我们收集非敏感数据,这些数据帮助我们了解 Ray 的使用情况(例如,使用了哪些 Ray 库)。绝不会收集个人身份信息。 请查看 UsageStatsToReport 类以了解我们收集的数据。
如何禁用它#
在启动集群之前,有多种方法可以禁用使用统计数据的收集:
在启动 Ray 集群的命令中添加
--disable-usage-stats
选项(例如,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,你可以在
.spec.[headGroupSpec|workerGroupSpecs].rayStartParams.
中添加disable-usage-stats: 'true'
。
目前无法为正在运行的集群启用或禁用收集功能;您必须停止并重新启动集群。
它是如何工作的?#
当通过 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 的第三方库用户那里收集数据。
如果启用了使用统计收集,头节点上的后台进程将每小时收集使用统计数据并报告给 https://usage-stats.ray.io/
。报告的使用统计数据也会保存在头节点上的 /tmp/ray/session_xxx/usage_stats.json
文件中以供检查。您可以检查此文件是否存在以查看是否启用了收集。
使用统计数据的收集非常轻量级,应该不会以任何方式影响您的工作负载。
请求删除收集的数据#
要请求删除收集的数据,请通过电子邮件联系我们,邮箱地址为 usage_stats@ray.io
,并附上您可以在 /tmp/ray/session_xxx/usage_stats.json
中找到的 session_id
。
常见问题解答 (FAQ)#
会话ID是否映射到个人数据?
不,uuid 将是 Ray 会话/作业特定的随机 ID,不能用于识别特定的人或机器。它不会在您的 Ray 会话生命周期之外存在;主要捕获它是为了让我们能够履行删除请求。
会话ID被记录下来,以便可以处理删除请求。
企业能否轻松配置一个额外的端点或替换一个不同的端点?
我们确实看到了这个用例,并且非常愿意与您交流以实现这一点——请发送电子邮件至 usage_stats@ray.io
。
联系我们#
如果您对使用统计收集有任何反馈,请通过电子邮件 usage_stats@ray.io
联系我们。