遥测功能

Flower 开源项目收集匿名使用指标,以便在充分知情的情况下做出改进 Flower 的决定。这样做能让 Flower 团队了解 Flower 的使用情况以及用户可能面临的挑战。

Flower 是一个用于协作式人工智能和数据科学的友好框架。 Flower 遵循这一声明,让不想分享匿名使用指标的用户可以轻松禁用遥测技术。

原则

我们遵循严格的匿名使用指标收集原则:

  • 可选: 您始终可以禁用遥测功能;请继续阅读"如何退出"。

  • 匿名: 报告的使用指标是匿名的,不包含任何个人身份信息 (PII)。请参阅"收集的指标 "了解报告的指标。

  • 透明: 您可以轻松查看正在报告的匿名指标;请参阅"[如何查看正在报告的指标](#how-to-inspect-what-is-being-reported)"部分

  • 欢迎反馈: 如果您有反馈意见,可以随时联系我们;详情请参见"如何联系我们 "部分。

如何退出

Flower 启动时,会检查环境变量 FLWR_TELEMETRY_ENABLED 是否存在。通过设置 FLWR_TELEMETRY_ENABLED=0 可以轻松禁用遥测功能。假设你启动的是 Flower 服务器或客户端,只需在命令前添加以下内容即可:

FLWR_TELEMETRY_ENABLED=0 python server.py # or client.py

或者,你也可以在 .bashrc(或任何适用于你的环境的配置文件)中导出 FLWR_TELEMETRY_ENABLED=0 来永久禁用 Flower telemetry。

收集的指标

Flower 遥测技术收集以下指标:

**了解目前使用的 Flower 版本。这有助于我们决定是否应该投入精力为旧版本的 Flower 发布补丁版本,还是利用带宽来构建新功能。

操作系统使我们能够回答以下问题: 我们应该为 Linux、macOS 还是 Windows 创建更多指南?

**例如,了解 Python 版本有助于我们决定是否应该投入精力支持旧版本的 Python,还是停止支持这些版本并开始利用新的 Python 功能。

硬件属性 了解 Flower 的硬件使用环境,有助于决定我们是否应在支持低资源环境等方面投入更多精力。

** 执行模式** 了解 Flower 的启动执行模式,能让我们了解某些功能的使用率,并据此更好地确定优先级。

**每次 Flower 工作负载启动时,Flower 遥测都会随机分配一个内存集群 ID。这样,我们就能了解哪些设备类型不仅启动了 Flower 工作负载,而且还成功完成了它们。

Source. Flower 遥测会在第一次生成遥测事件时,尝试在 ~/.flwr/source 中存储一个随机源 ID。源 ID 对于识别问题是否反复出现或问题是否由多个集群同时运行触发(这在模拟中经常发生)非常重要。例如,如果设备同时运行多个工作负载并导致问题,那么为了重现问题,必须同时启动多个工作负载。

您可以随时删除源 ID。如果您希望删除特定源 ID 下记录的所有事件,可以向 telemetry@flower.ai 发送删除请求,并提及该源 ID。届时,与该源 ID 相关的所有事件都将被永久删除。

我们不会收集任何个人身份信息。如果您认为所收集的任何指标可能以任何方式被滥用,请[与我们联系](#how-to-contact-us)。我们将更新本页面,以反映对所收集指标的任何更改,并在更新日志中公布更改内容。

如果您认为其他指标有助于我们更好地指导决策,请告诉我们!我们将仔细审查这些指标;如果我们确信它们不会损害用户隐私,我们可能会添加这些指标。

如何检查报告中的内容

我们希望能让您轻松查看所报告的匿名使用指标。通过设置环境变量 FLWR_TELEMETRY_LOGGING=1 可以查看所有报告的遥测信息。日志记录默认为禁用。您可以不使用 FLWR_TELEMETRY_ENABLED 而单独使用日志记录,这样就可以在不发送任何指标的情况下检查遥测功能。

FLWR_TELEMETRY_LOGGING=1 python server.py # or client.py

在不发送任何匿名使用指标的情况下检查 Flower 遥测,可使用这两个环境变量:

FLWR_TELEMETRY_ENABLED=0 FLWR_TELEMETRY_LOGGING=1 python server.py # or client.py

如何联系我们

我们希望听到您的意见。如果您对如何改进我们处理匿名使用指标的方式有任何反馈或想法,请通过 Slack (频道 #telemetry)或电子邮件 (telemetry@flower.ai)与我们联系。