博舍

从0到1搭建人工智能训练平台要多久 人工智能平台搭建方案怎么写的

从0到1搭建人工智能训练平台要多久

随着人工智能技术的发展和普及,训练一个常规的AI模型,似乎变成了当代大学生除了word和PPT外必备的生存技能。从入门到放弃的过程中,你大概会遇到环境配置和计算资源不足的天坑。别人用8卡训练,用100G内存去存数据集。而你把他的baseline下载下来,吭哧吭哧改了半天,才能在你的电脑上跑。此时,一个简单易用的AI训练平台就显得尤为重要。

国内常用的平台有华为的ModelArts百度的AIStdio还有阿里的天池实验室等。作为一名研究僧,笔者这些当然是都用过的了,他们能帮我们跳过环境配置和计算资源的问题。个人认为,华为的ModelArts功能最全,用起来最顺手。除了基础的数据管理、算法管理和训练管理功能。还支持自动标注,自动学习等。

对于学生而言,白嫖一些计算资源,用用这些平台还是蛮划算的。但是对公司而言,一小时28块钱的基础GPU,钱还没赚到,就全都交了电费了。更何况公司自己也有计算资源。所以,涉及到数据处理的公司都想搭建自己的AI训练平台。那么这事到底可不可行呢?

先来看看国外是怎么做的。国外有亚马逊的AWS和Floyd的Floydhub等为公众开放的AI训练平台,其计算资源调度是通过Kubernetes+Docker的方式实现的。谷歌内部的Deepmind,微软的aether、philly和  等训练平台,其实现原理也是以容器为核心,使用Kubernetes进行调度。国内的商汤科技、旷视科技,其内部使用的AI训练平台原理也大抵如此。[1]

看来做一个AI训练平台技术路线还是挺清晰的。

那么从0到1搭建一个人工智能训练平台要多久呢?

 

答案是1个专业团队和一年时间。

以下内容来自b站UP主komlei的分享:AI训练平台TZ全盘详细总结_哔哩哔哩_bilibili

本人按照视频脉络做出如下笔记。

 

AI训练平台TZ全盘详细总结

平台用途:服务于公司内部感知,决策团队,用于深度学习模型训练。内部研发平台。

1平台落地回顾

1.1前瞻期望

1.1前瞻期望

本页介绍了常规的数据采集、处理、模型开发及训练流程,并且介绍了AI训练平台的内部结构。(看样子UP主应该是自动驾驶行业的)

内部结构基于云原生。使用交互式开发方式,可以在线加载数据集和训练。平台支持Pytorch、TensorFlow和Caffe等多种深度学习框架,支持单机单卡、单机多卡、多机多卡训练。

1.2流程复盘

训练平台实施的完整流程

1.首先进行需求定调,明确平台定位。是采用自研方式,还是基于Kubeflow等已有平台进行二次开发。

2.进行深一步的需求收集。为了考察需求方没有考虑到的内容,调研现有云计算平台如华为云ModelArts、百度和阿里等厂商平台作为参考。

3.功能细化以及可行性分析

将功能细化为算法管理、训练管理和模型管理三个部分。

调研开源方案。

做kubeflow的落地可行性分析

4.落地推进

可落地架构设计及技术选型:包括开发语言服务架构等。

继续细化平台功能模块。

做整体规划和任务排期。

招募相关研发人员。

5.开发落地。各模块分别开发以及整体串联。

项目计划节点梳理

这张涉及到的是各个模块的开发时间规划,可以看到整个项目是由10个人来完成的。

开发周期从2020年底开始延续到2021年底。其中主要功能模块使用7个月的时间进行开发,

剩下的时间进行功能测试及优化。

1.3实施编排

更为细化的时间节点和任务要求。

2平台功能层面

2.1功能框架

模块关联示意

算法管理模块管理代码镜像。

样本配置包括数据集及其描述等。

将上述两个部分送入训练管理模块进行训练。训练模块要支持不同训练框架运行任务实例。

模块详细展开

整体功能模块包括数据管理、算法管理、训练管理和模型管理四大部分。

数据管理:支持数据上传、数据浏览、标注等功能。

算法管理:使用算法依赖和用户代码构建算法镜像。

训练管理:支持多框架训练和硬件资源调度。

模型管理:模型托管、模型压缩/转换、推理评估。

2.2功能详述&演示

2.2功能详述&演示

工作空间

类似于网盘功能。用于管理数据集和代码等。

网盘

交互编码

用于创建和管理支持多种训练框架的notebook环境。提供notebook代码编写页面入口。

交互编码notebook

算法管理

算法打包成镜像。

算法管理

新增算法。

新增算法

镜像管理

官方基础镜像。

平台构建镜像:算法管理构建出的镜像。

用户自定义镜像:用户本地构建的镜像。

镜像管理

训练管理

创建任务:任务名称、算法来源、数据集、模型权重文件、模型定义文件、训练方式定义。

每次训练生成一个版本。

版本中查看配置信息、日志和资源情况。

任务可视化:打开TensorBoard。

训练管理

模型管理

模型管理

压缩转换

推理评估

模型管理

资源看板

GPU、内存、CPU资源查看。

用户作业队列查看。

资源看板

系统配置

AI系统配置:配置代码黑名单、定义不同后缀文件对应的文件类型。

AI训练配置:固定一些模板。

系统配置

3平台技术实现

3.1整体架构

整体架构

资源调度层面采用K8S

日志采集通过filebeat采集到Kafka

指标监控采用Prometheus

将数据汇存到TIDB

存储涉及SFS和OBS(对象存储)

Harbor镜像仓库

上层服务治理采用istio

借鉴kubeflow组件

3.2库&表结构

公司内部的库表结构就不说了。

库表结构

3.3服务部署

逻辑隔离,分为四块。

training-zoo:业务服务。

training-job:用户提交上来的job。

training-task:提交到后台的页面服务:tensorboard、notebook和模型可视化服务。

training-Common:公共组件。如grafana、prometheus。

服务部署

展望未来next

参考资料:

[1]刘宇博.基于云计算的人工智能训练平台的研究与设计[D].北京邮电大学,2019.

[2]komlei.AI训练平台TZ全盘详细总结AI训练平台TZ全盘详细总结_哔哩哔哩_bilibili

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇