使用统计收集#

从 Ray 1.13 开始,Ray 默认收集使用统计数据(受一个退出提示保护)。这些数据将由开源 Ray 工程团队用于更好地理解如何改进我们的库和核心 API,以及如何确定错误修复和增强功能的优先级。

以下是我们收藏政策的指导原则:

  • 无意外 — 在我们开始收集数据之前,您将会收到通知。您将会收到有关收集数据或其使用方式的任何更改的通知。

  • 轻松退出: 您将能够轻松选择退出数据收集。

  • 透明性 — 您将能够查看所有发送给我们的数据

  • 控制 — 您将控制您的数据,我们将尊重删除您数据的要求。

  • 我们**不会**收集任何个人身份数据或专有代码/数据

  • 我们**不会**出售或购买关于您的数据。

您始终可以 禁用使用统计收集

更多上下文,请参考此 RFC

收集了哪些数据?#

我们收集非敏感数据,这些数据帮助我们了解 Ray 的使用情况(例如,使用了哪些 Ray 库)。绝不会收集个人身份信息。 请查看 UsageStatsToReport 类以了解我们收集的数据。

如何禁用它#

在启动集群之前,有多种方法可以禁用使用统计数据的收集:

  1. 在启动 Ray 集群的命令中添加 --disable-usage-stats 选项(例如,ray start --head --disable-usage-stats 命令)。

  2. 运行 ray disable-usage-stats 以禁用所有未来集群的收集。这不会影响当前正在运行的集群。在底层,此命令将 {"usage_stats": true} 写入全局配置文件 ~/.ray/config.json

  3. 将环境变量 RAY_USAGE_STATS_ENABLED 设置为 0(例如,RAY_USAGE_STATS_ENABLED=0 ray start --head 命令)。

  4. 如果你正在使用 KubeRay,你可以在 .spec.[headGroupSpec|workerGroupSpecs].rayStartParams. 中添加 disable-usage-stats: 'true'

目前无法为正在运行的集群启用或禁用收集功能;您必须停止并重新启动集群。

它是如何工作的?#

当通过 ray start –headray upray submit –startray exec –start 启动 Ray 集群时,Ray 将根据以下因素决定是否启用使用统计收集:

  1. 它检查环境变量 RAY_USAGE_STATS_ENABLED 是否设置:1 表示启用,0 表示禁用。

  2. 如果未设置环境变量,它将读取全局配置文件 ~/.ray/config.json 中键 usage_stats 的值:true 表示启用,false 表示禁用。

  3. 如果两者都未设置且控制台是交互式的,则会提示用户启用或禁用收集。如果控制台是非交互式的,则默认启用使用统计收集。该决定将保存到 ~/.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 联系我们。