Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • V verify
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 22
    • Issues 22
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ran.lu
  • verify
  • Wiki
  • 实验对比 方案设计

Last edited by ran.lu Aug 17, 2022
Page history

实验对比 方案设计

  • 1 背景
  • 2 用户场景
  • 3. 系统结构图
  • 4. 数据库
  • 5. 详细设计
    • 5.1 第3方库选型
    • 5.2 初始化
    • 5.3 SDK使用
    • 5.4 列表、详情接口
    • 5.5 实验对比
    • 5.6 数据隔离性
    • 5.7 旧数据兼容
    • 5.8 存储管理

1 背景

视觉: https://modao.cc/app/okkby1vrgadj9nPYSM8y#screen=sl6kg7x205o65hb

需求: https://www.tapd.cn/42483287/prong/stories/stories_list?&async=1&conf_id=1142483287001034075&sort_name=module&order=DESC&category_id=1142483287001000414&filter_token=ab339daaca9c29e0e944a504569305b4

观察 ml tracking 库: #2

【模型训练实验对比】: https://www.tapd.cn/42483287/prong/stories/view/1142483287001006746

导入的仓库: https://gitlab.apulis.com.cn/ran.lu/aim

2 用户场景

模型训练、模型评估、调试训练,统称“训练”

  • 创建训练
  • 查看训练列表
  • 查看训练详情
    • 基础数据查询
    • 实时数据
      • 查询
  • 实验对比
    • url 拼装
  • SDK 使用(用户的脚本编写)

3. 系统结构图

4. 数据库

ai-arts 需要新增一张表,记录平台上训练|评估和第三方库中的训练的关系。

sql 暂略。

5. 详细设计

5.1 第3方库选型

使用 aim :

  • 基本功能满足,社区活跃
  • 专门做 ml tracking 的,有侧重功能,如转化 tensorboard 数据
  • 存储格式独立于逻辑概念
  • 体积较小
  • apache 2 协议,商用友好

交互图: image

5.2 初始化

平台只起一组 aim 服务:

  • aim remote server: 存储数据
  • aim ui: 提供 ui 具体要做出 helm 包,加入到平台的安装部署流程中。 要挂载合适的存储,用于存放指标数据。

5.3 SDK使用

  • 要求用户使用修改过的 aim client,也就是,我们自己要发一个 aim 版本
  • 环境变量中设置好 remote server,从而让用户代码中对 aim 函数的调用自动把日志发到平台内的 aim remote server
  • 记录平台训练任务和 aim 训练之间的关联关系
    • aim 训练的唯一标识是 run hash
    • 事先在环境变量里设置ailab jobId,用户脚本创建run的时候,自己改过的aim客户端就可以把jobId和新建的 run hash 发给 aiarts 了
    • aiarts 增加表,记录平台训练任务与 aim 训练之间的对应关系,记这张表为 train_relation
    • aiarts 增加接口,供 aim client 调用,以注册关联关系

5.4 列表、详情接口

列表和详情的数据从两方面查得:

  • 实时数据,调用 aim rpc 或 http 接口(aim UI使用的接口)
  • 其它数据,调 ai-lab 接口查数据等

5.5 实验对比

前端页面上点击可视化时,链接跳转到 aim ui。

具体的跳转 url ,根据前端传来参数和 train_relation 表,进行拼装,从而对用户选定的实验进行对比。

5.6 数据隔离性

实验对比时,应避免一个用户看到另一个用户的数据

  • 改 aim ui 的页面,屏蔽掉可以点到外部的地方
  • 跳转链接中,加上对 runId 限制条件

5.7 旧数据兼容

不用考虑已有数据(json文件)。

5.8 存储管理

  • 训练可能会产生大量数据,如何管理?已知,aim UI提供了用户自行管理的接口。
Clone repository
  • 3.137 环境 websocket 连接失败,其它环境无此问题
  • 3.137 环境,即使使用 env 中的 grafana 密码,都无法登陆;测试环境则可以
  • 3.172 不定期出现“疯狂写盘”
  • [2022 11 17] 本地数据集要在 slurm|superpodk8s 上面使用
  • [TODO] 合入日志加速发动
  • [build] 加快 SDK 打包
  • [info] 平台日志
  • [优化] ai arts 调用 aim 时,设置超时时间
  • [问题] aim SDK, 连不上 rpc 时会报错?这不能达到无感知
  • [问题] aimstack 有时会很慢
  • [问题] desay 171 部署: 单个训练成功, 收到 2 次调用, 一次训练成功, 一次训练失败
  • [问题] 收集到的日志只有几个服务。问题: 这个是哪里配置的?
  • aim SDK 支持 tensorboard 日志
  • aim SDK 瘦身
  • gpu02环境 选择 推理模型目录 很慢
View All Pages