[Feature Request] Add support for ClearML as an experiment visualizer
功能描述 / Feature Description
希望 evalscope 在进行性能压测时,增加对 ClearML 的支持,使其可以像 Wandb 和 SwanLab 一样,作为性能测试结果的可视化后端。
需求背景 / Background
统一 MLOps 工作流: 许多团队(包括我们团队)已经在使用 ClearML 作为核心的 MLOps 平台。如果 evalscope 的评测结果也能集成到 ClearML 中,我们就可以在一个统一的平台上查看所有实验数据,无需为性能可视化单独配置和维护其他工具。 保持工作流一致性: 对于已经深度集成 ClearML 的用户来说,支持 ClearML 可以让他们更顺畅地引入 evalscope,减少工具碎片化。 扩大工具生态: ClearML 是一个功能强大的开源 MLOps 平台。支持它能够扩大 evalscope 的适用范围,吸引更多 ClearML 生态的用户。
预期行为 / Expected Behavior
根据现有的 SwanLab 集成文档,我期望 ClearML 的集成方式与之类似,以保证用户体验的一致性。
启用方式: 用户可以通过命令行参数 --visualizer clearml 来指定使用 ClearML 作为可视化工具。
命名实验: 用户可以使用 --name 'my-benchmark-run' 参数来指定在 ClearML 中创建的 Task 名称。如果可能,这个参数也可以用于指定 ClearML 的 Project Name,或者可以考虑增加一个如 --project-name 的新参数。
示例命令:
bash 复制代码 evalscope --visualizer clearml --name 'qwen_7b_chat_perf_test' --model ... [其他参数] 后端行为:
当启用该选项后,evalscope 会使用 ClearML Python SDK 初始化一个新的 Task(例如:Task.init(project_name='evalscope_benchmarks', task_name='qwen_7b_chat_perf_test'))。 性能压测过程中的指标(如吞吐量/tokens per second, 时延/latency 等)会被上报到这个 ClearML Task 的 "SCALARS" 面板。 evalscope 应该能自动使用标准的 ClearML 环境变量(如 CLEARML_API_SERVER, CLEARML_API_ACCESS_KEY, CLEARML_API_SECRET_KEY)进行认证和连接,无需额外的命令行参数。
其他信息 / Additional Information
这种基于 --visualizer 和 --name 的设计与现有的 SwanLab 集成保持了一致性,易于用户理解和切换。 ClearML 提供了非常成熟的 Python SDK,集成难度应该与现有的 Wandb 和 SwanLab 类似。 ClearML Python SDK 文档: https://clear.ml/docs/latest/docs/ 我们非常乐意在功能开发后参与测试并提供反馈。
需求+1
已收到您关于 evalscope 支持 ClearML 作为性能压测可视化后端的需求,后续会在 issue 中更新进度
非常感谢您的响应和跟进!期待后续的更新。
已支持ClearML,参考这个文档来使用:https://evalscope.readthedocs.io/zh-cn/latest/user_guides/stress_test/examples.html#clearml
有问题欢迎咨询
感谢