腾讯高性能计算服务星辰.机智,海量算力,智造未来

2019-09-06 15:40:17 浏览数 (1)

一、背景

AI时代已经来临,AI将越来越深刻的影响和改变我们的生活。还记得目光深邃,功能多样的机械姬吗?也许这一天也不会太远。

智造AI,需要数据、算力、算法,怎么样高效率的将这三者结合在一起,生产满足需求的AI,是每一个产品团队,尤其是团队中算法工程师面临的问题。

TEG星辰和机智团队希望搭建一个稳定高效可依赖的AI算力基础设施环境,帮助产品团队加速产品的研发迭代,目前看已初步取得了一些成果,星辰算力为全公司提供统一的CPU/GPU算力服务。机智加速机器学习平台 基于星辰算力,在计算加速能力上具备行业领先优势,千卡线性扩展,百万batchsize线性收敛;在2018年取得过突破当时世界纪录的4分钟训练imagenet成果;2019年助力游戏AI训练速度达到超过OpenAI的水平。

未来,海量高效的算力将对AI能力起到重要作用。腾讯视频上有个动漫《雄兵连》,里面描述的神仙也是进化中的AI,神仙打架谁厉害?要看后面连接的计算机谁算力更充足。

言归正传,怎么样构建稳定高效可依赖的计算服务呢?这里面涉及软件、硬件,软件又涉及驱动、OS、计算框架、通信框架、应用后台等一系列能力的建设,硬件涉及CPU/GPU/ASIC的构建和管理,及其上的虚拟化、容器化服务。本文将概论星辰.机智计算服务背后的技术和能力。

二、优势和特点

1.海量算力

星辰算力以共享共建为服务出发点,将公司零散的资源逐步收拢起来,来达到每个团队拥有更多资源可用的初衷,同时最大化资源利用,发挥资源价值。在用户体验和平台价值上,

1) 为用户提供超越物理机的体验:

    容器的使用方式和功能尽量类似物理机;预埋了AI基础软件让AI训练门槛更低;提供体验容器让用户感觉容器的便捷性。

2)挖掘集群资源潜力让用户有更多资源可用: 

    通过高低优先级调度并挖掘低优算力,以及海量GPU算力共享调度能力,让用户资源数超越资源配额。

机智依托于星辰算力,可调度大规模的GPU、CPU资源。同时做了任务队列,以及训练整个路径上的优化,包括IO缓冲和IO优化,单机计算优化和多机通信优化,以期将每一份算力都用好

2.行业领先性能

星辰算力具备秒级容器生产和交付能力

在继承了星辰高效生产和调度资源的能力基础上,机智还具备:

    1)千卡线性扩展,百万batchsize线性收敛,及大规模并行搜索超参能力(机智AUTOML)。

    2)在2018年4分钟训练imagenet突破世界纪录,2019年6月助力游戏AI训练速度达到超过OpenAI水平,行业领先

3.真实场景历练

星辰作为IAAS服务了公司各大团队的资源交付。此外星辰还具备镜像制作和管理能力。

作为高性能机器学习训练平台,机智前期主要打造能力,服务兄弟团队的核心需求,目前平台:

    1)支持了内部兄弟团队 信息流场景线上模型训练任务;支持游戏AI兄弟团队 游戏AI的多款模型训练。信息流场景机智团队深度改造了TensorFlow, 在保留Tensorflow框架易用性前提下,支持了大规模动态特征推荐模型训练,业内首创在信息流稀疏特征场景的参数并行训练策略,在无参数服务器环境下,支持主流深度推荐模型多机全同步训练,显著提升了资源利用率。

    2)平台具备友好的业务空间、数据集、模型、任务/实例、存储和结果的管理和顺滑的用户体验。

    3)AutoML在强化学习场景验证算法,以及解决搜索参数问题中已执行万次以上搜索任务。

4.丰富数据集成

机智正与AIdata合作,通过数据挂载的方式实现AI的在线训练。

AIdata目前已通过外部采购、内部共享等方式积累了大量语音/图片/视频/文本物料,用户可将权限内的数据转存到内置网盘模块。

AIdata会通过严格的权限管控,在网盘模块集中管理用户具备权限的所有数据(包括外部采购、申请共享、自行上传网盘的数据等)。机智与AIdata打通后,用户通过数据挂载的方式,将个人网盘下数据挂载在机智平台,仅限本人使用,数据安全可靠。

数据从在AIdata平台的采购/申请共享到标注,再到机智平台的算法训练,整个流程将完全在线上完成,数据不落地,省时省力安全高效。

三、平台

1.星辰算力架构

算力平台分为两部分,在最上层的是算力平台网站及其后台,负责用户接入、订单/额度管理以及对接实际的容器生产平台。下方有多个生产者,每个生产者都是一个容器生产平台,通过jsonrpc接口与算力平台交互。算力平台会调用每个生产者的接口,更新资源到缓存中,在用户发起申请时,进行资源的匹配并下发请求到对应的生产者。生产者收到请求后,进行处理,并在完成后回调算力平台的接口通知。

2.机智加速

机智平台整体架构

机智训练后台主要由如下3个模块组成:

1)Task Server:

   提供任务管理层功能,负责不同训练框架的任务流程的整体调度,串起模型训练从任务提交到模型推送的整个流程。

2)Cluster Server: 

   集群管理服务器。提供集群创建,部署和集群资源管理的功能。

3)Job Server: 

   提供集群作业的交互,负责不同训练框架的训练集群作业的启动,停止,查询,异常处理等,对Task Server屏蔽集群细节。

· 训练方式:

  机智训练平台支持普通的训练方式,不久后会集成AutoML技术到机智训练平台中。

· 训练框架:

  机智训练平台目前支持推荐类自研信息流训练框架、tensorflow框架,未来也可以平行扩展支持Pytorch,caffe等框架。

· 训练流程:

  使用推荐类自研信息流训练框架训练的信息流业务中,主要有如下4种不同的训练流程:批量离线训练,批量在线训练,流式在线训练,流式在线预测。利用tensorflow/pytorch框架训练的深度学习业务中,主要有两种训练流程:监督训练和强化训练,目前我们只支持监督训练场景。

对于不同的训练流程会有不同的状态机进行描述,以此来控制每个训练流程的正确运行。以tensorflow/pytorch框架的监督训练为例,任务启动后经历了资源查询,训练任务启动,训练任务运行等状态,每个状态的轮转由外部事件触发。另外,在申请资源时,机智平台增加了资源排队逻辑,让训练任务尽可能地利用好星辰算力的低优资源,在任务运行过程中如果资源被回收,机智训练平台支持断点运行,根据最近的一次checkpoint接着运行。

推荐类自研信息流训练框架如何在机智训练平台运行示意:

Tensorflow/pytorch 框架如何在机智训练平台运行示意:

四、技术能力

1. IAAS层面——星辰算力

1.1 类物理机体验

Docker容器本质上是通过cgroup和namespace隔离,共享内核的用户态进程。对于习惯使用物理机/虚拟机的个人用户,或者需要物理机资源的PASS平台用户,k8s容器有很多不习惯和不兼容的地方,所以算力平台针对这些问题,对容器进行了改造

· 改造一:

Linux的/proc系统不支持命名空间,所以默认在容器内用free、top等命令看到的资源都是整个母机的;且容器在创建前不知道其cgroup的对应目录

  解决方法:在容器启动时,挂载正确的cgroup路径到容器中;并修改runc,把cgroup中的内存、CPU统计文件挂载到/proc的对应文件(/proc/stat, /proc/vmstat, /proc/cpuinfo, /proc/meminfo)

· 改造二:

GPU容器需要高性能的独立网络

  解决方法:使用SRIOV-CNI插件,将VF网卡加入容器的网络中,并从网平申请独立IP配置上。

· 改造三:

用户需要ssh登陆以及crontab定时任务

  解决方法:通过挂载cgroup和添加对应的权限,平台默认会在容器中拉起systemd,并启动sshd和crond服务。

· 改造四:

容器缺乏像物理机一样的监控

  解决方法:将网管agent安装到容器中,进行适当配置后,可以在网管看到监控数据。

· 改造五:

  用户想安装自己的docker(docker-in-docker)

  解决方法:

首先容器要运行systemd,支持docker服务的运行;

然后要给容器特权(只运行整机8卡的容器申请特权);

容器的根目录是overlay文件系统,不支持再运行一个overlay,所以要从母机映射一个目录到容器中,母机的文件系统是xfs;

还要利用tlinux内核的shiled_mount功能,将/proc挂载点在容器内隐藏起来,否则docker启时会报错:

echo "set cgroup  /proc/stat " > /proc/tkernel/shield_mounts

echo "set cgroup /proc/vmstat " > /proc/tkernel/shield_mounts

echo "set cgroup /proc/meminfo " > /proc/tkernel/shield_mounts

echo "set cgroup /proc/cpuinfo " > /proc/tkernel/shield_mounts

· 改造六:

k8s的容器为无状态容器,容器或母机异常恢复后,k8s会将退出的容器删除并重新创建一个,导致容器内的环境丢失

  解决方法:增加k8s的restart语义,母机或者容器重启保留根目录的数据

1.2 高低优调度

GPU作为稀缺资源,如何把每一块卡用好,是一个重要课题。算力平台通过挖掘低优先级空闲算力以及GPU空闲卡时,在保证用户额度的情况下对GPU资源进行充分利用。

1)低优free算力

     在算力平台,GPU作为一个大资源池,正常情况下,池子中总会有空闲的buffer资源,这符合用户日常使用波峰波谷的事实,也是为了应对突发的GPU需求所做的准备。这里的挑战就是,如何在不影响常规申请的情况下复用buffer资源,提高GPU的使用率?算力平台为此提出了高低优先级容器的方案:

如上图所示,以一台母机8卡为例,用户通过预算常规申请的GPU卡为高优资源,以H表示,未分配的空闲卡用F表示,L则是低优先级的容器分配到的卡。在图的最左边,一开始有4块空闲的卡,此时低优先级的请求,能且只能分配到这部分空闲资源,如中间所示,有两块卡分配给了低优先级容器;接下来如果有高优先级的请求,会先分配空闲(F)资源出去,如果空闲资源不够,平台会把低优先级容器销毁,释放出资源给高优先级请求。

2)空闲卡时

为了充分挖掘GPU的空闲卡时,算力平台考虑到另一种场景:GPU已经分配给用户容器,但是长时间没有使用。实现的方案是:

修改内核监控容器内打开和关闭GPU设备的事件,当用户进程退出,关闭GPU设备时,标记资源临时可用,通过device plugin上报为临时可用资源(与常规资源区分);此时低优先级的请求可以复用该临时资源;当高优先级容器内的进程再度打开GPU时,停止低优程序并把GPU归还给高优进程。

低优先级容器能充分挖掘GPU空闲资源,但是无法保证资源的持续使用(随时会被回收),对使用者提出了更高的要求;机智平台已全面接入算力平台低优资源。

2.PAAS层面——机智

前面提到,机智具备千卡线性扩展,百万batchsize线性收敛,及大规模并行搜索超参能力(机智AUTOML)。那怎么样做到的?

Part1:扩展性上

1)IO pipline

     "无锁"队列读取数据:机智团队采用多进程"无锁"队列将输入数据和计算图异步化,使得在计算的同时不断入队输入数据,隐藏数据数据读取时间,加速计算。

CPU与GPU数据传输与计算异步:机智团队在GPU设置缓冲队列,通过GPU预取机制提前把处理好的数据块从队列中同步到GPU显存中,当做下一轮的模型计算时,GPU直接从显存读取数据而不需要等待从CPU传输,做到将数据传输隐藏,使得GPU可以一直处于计算状态,加速计算。

2)高效的通信算法

     分层同步与Ring Allreduce结合:传输数据块较大的情况下,机智采取ring allreudce算法。传输数据块较小时,采用分层同步算法

此外支持了2D/3D-Torus通信算法。2D-Torus算法逻辑为:对集群内GPU节点进行分组,首先在组内进行reduce-scatter,然后再在组间进行all-reduce,最后在每组内进行all-gather,这种方式可以减少小数据通信时的overhead,提高Allreduce的性能。

3)梯度融合

     将多次梯度传输合并为一次,根据具体模型自动设置合适Tensor size阈值,超过阈值大小的Tensor不再参与融合;这样可以防止Tensor过度碎片化,从而提升了带宽利用率,大幅优化了传输耗时。

4)RDMA通信

     根据深度学习训练多数都由GPU来完成的特点,进一步整合GDR(GPUDirect RDMA)技术。该技术能够将RDMA技术扩展到GPU上,使跨节点GPU间显存可以直接访问,能够大幅度提升多机多卡并行训练速度和扩展效率。

5)显存优化

     在某些场景下,采用反向计算时重新计算某些前向计算结果的方法,使前向计算的结果占显存减少,从而提升了单卡训练的batch_size大小,计算时间更好地覆盖梯度通信时间,使得扩展性得到提升。

6)参数压缩

     机智采用先进的参数压缩技术,实现全局topk方法,最大程度上减少通信量,使得扩展性进一步提升。

Part2:大batchsize收敛性上

1)大bs的评估

      Noise_Scale评估Batchsize

一个容易在模型训练时得到的量化指标:Gradient Noise Scale(以下简称GNS),即当前全局梯度值中信噪比的某种度量。这个数值可以估计在给定D和M的情况下最大有效batch size,即超过这个batch size之后,继续增大batch size只会让训练时间的收益递减(diminishing return)。同时,在训练中随着精度的提高,GNS值会变大。同时训练模型的复杂度越高,GNS值会越大,但跟模型大小无关。Noise_Scale的指标为B/Noise_Scale的值小于1,若该值等于或者大于1,增大batch不再有加速收敛的效果。

2)大batch收敛性方案

     目前平台集成了业界主流的大bs方案,开箱即用:

     ① 缩放学习率-minibatch size增长了k倍,学习率以线性扩展或根号倍扩展的规则,增长K倍或sqrt(K)倍。

     ② LARS-为解决大batchsize精度下降问题,引入了层次自适应速率缩放(LARS)算法。LARS算法通过对不同的层使用不同的Learning Rate,大幅度提升了大batch size场景下的训练精度。 

     ③ SmoothOut-为解决大batchsize精度下降问题,引入了SmoothOut算法,SmoothOut算法通过注入噪声来帮助收敛至平滑最小值而不是尖锐最小值,提高模型泛化性。

      ④ 超收敛组件-使用周期学习率,让学习率在合理范围内进行周期性变化,并使用一个较大的最大学习率进行训练,能以更少的步骤提高模型的准确率。

      ⑤ 混合精度训练-自适应缩放梯度组件,自适应缩放梯度,保证梯度有效值

关于在不同场景batchsize究竟大到多少合适的普适性研究及如何在大batchsize下保持收敛性,也是我们正在研究解决的一个问题。我们希望最终用户在机智上做训练时,只要提供了算法和数据,就可以精确估计出最合适的最大batchsize,以便最快的做迭代训练。

Part3:AutoML上

AutoML是近年来各大机器学习平台发展的重要模块之一,未来机智机器学习平台中最重要的能力之一也是AutoML。随着深度学习模型复杂度的增大,训练时间和超参的搜索空间都在急剧增大。这给新一代的AutoML系统带来了很大的挑战。这种情况要求AutoML系统不仅要能在算法上尽快收敛超参搜索空间,同时在工程上也要能处理大规模并行实验调度。但是怎么样设计一个兼具可靠性、可扩展性以及高性能的大规模并行实验调度框架在业界尚属开放式问题。因此,机智AutoML的第一阶段着重设计实现了一个可用、稳定,可扩展的框架,并在其上开发了一组AutoML算法。为下一个阶段扩展打下好的基础。

我们将AutoML看做一个黑盒优化系统,优化的输入是模型超参(或未来进行模型结构搜索的话,为模型结构)和模型的量化表现(如精度(图像多分类模型),reward值(强化学习类模型),或CTR(推荐类模型)等),并怀着三个目标设计这个框架:

      · 健壮性:给定相同集合的超参、采样范围和条件,我们的框架应该总能找到稳定的最优解。

       ·并行性:对不同组超参配置,我们的框架应该能并行调度。

       ·可扩展性:针对某个场景运行的算法应该能比较容易的迁移到其他场景。

目前的AutoML系统总体可分为两个部分:

      · 并行实验系统框架负责同机器学习平台交互、管理实验任务以及需要的包(训练及模型效果验证)、模型、及超参数据等。

       ·并行实验系统算法模块包括参数采样算法、指标统计算法(计算模型的量化表现)、以及实验调度策略算法。

近期目标:

·  进一步改进超参调优

·  进一步分析实验pbt和贝叶斯优化等现有调参算法在mini task上的最优配置,并转移到强化学习类AI其他场景·  进行试验。以期对更多模型的训练和调优产生帮助。

进行更多的调参算法的开发,包括ASHA, BOHB, SHAC等。

·  针对多机多卡大batch收敛中学习率等超参的阈值搜索进行调优,协助多机多卡大batch优化找到最佳的超参配置。

·  对其他监督学习类模型的超参调优和模型优化提供并行实验和参数搜索的基础服务。

远期目标:

·  支持通用AI模型的超参调节、元学习及网络结构搜索

·  在机智平台上开放AutoML模块,开始尝试支持通用模型。

·  针对一些强化学习类AI场景中的reward函数调节困难的问题,给定组成reward函数的可能的函数组合方式,进行reward函数的元学习。目标取得超过目前人工调优模型的战力。

·  让AutoML框架支持网络结构搜索,探索如何帮助业务部门找到最优的网络结构。

Part4:信息流特性

在信息流场景,除了支持自研框架自研信息流训练框架外,根据业务需求对Tensorflow进行深度改造,在保留Tensorflow易用性前提下,引入动态特征,以更便捷的验证新模型和加速新模型研发上线,同时首次提出并实现了参数并行训练策略,节省资源、易部署:

近期目标(部分已实现):

·  基于Tensorflow支持动态特征推荐系统,复用机智平台加速技术和Tensorflow生态优势

·  支持参数并行训练策略,降低任务环境管理复杂度、提升资源利用率

·  支持基于GPU的高吞吐、低延迟的实时流在线训练及推理,平台具备服务高优先级业务能力

远期目标:

·  深度优化框架训练性能和易用性,基于Tensorflow打造通用型、千亿量级动态特征推荐系统开放平台,具备服务公司各类主流推荐业务的能力

·  平台统一深度学习模型和推荐类模型的底层计算框架,以适应算法界发展趋势,为业务提供全场景一致的用户体验。

五、效果

1.资源交付

完成了公司各BG 容器平台的对接,已整合公司GPU 资源,每GPU订单均10s内完成;体验容器支持无预算获取GPU资源,支持用户侧各种创新尝试;独立ip和rdma的支持,增强了容器类物理机的体验,赢得了业务侧的好评。

2.训练加速

游戏AI场景:

机智分布式训练框架具有高效的IO机制、节点间通信机制以及集成了主流的加速收敛算法等。在计算和通信上做了优化,加入了进一步的IO优化升级以及混合精度训练等新的优化点,优化后 32机256卡BatchSize达100万,资源利用率由之前的45%提升到80%以上,训练速度提升到2018年H2版的3倍(单精度)到4倍(混合精度)以上,加速游戏AI更快的训练,节省资源,16机可以达到32机的收敛效果。主要的一些优化成果如下:

1)解决游戏AI在强化学习中的GPU利用率低的问题,由45%提升到80%以上;

2)P40训练速度由 2000样本每秒,单精度训练提升到4330样本每秒,混合精度训练提升到5950样本每秒(超过OpenAI的P100训练速度4096样本每秒);V100训练进一步提速,单机每卡训练由之前的2200样本每秒,单精度训练提升到7500样本每秒,混合精度训练提升到9600样本每秒;

3)收敛加速,优化后单精度训练16机8小时可以收敛到优化前16机15小时的效果。混合精度训练收敛性对齐单精度训练。

语音场景:

机智平台相对语音业务基线加速107倍,使原训练任务每迭代由3个月减少到20个小时,同时保持收敛性对齐。机智平台极大的加快了语音业务模型开发和调参速度。

3.超参搜索

Mini task是为了快速验证基于强化学习的AI模型策略的可行性而开发的简化版任务场景。我们使用机智AutoML系统,对mini task场景的reward公式中的三个参数进行调优,并以当前表现较好的一组超参为基线进行对比。我们在30组并行实验的条件下分别在随机搜索、并行贝叶斯优化、以及PBT算法三种方法中获得了对基线全部超过94%胜率的结果。PBT和贝叶斯优化最终都能产生超过随机搜索的结果,并且PBT能够保证搜索出的超参为模型保有多样性。具体来看,给业务带来的价值有:

1) 在基于强化学习的mini task上的实验结果表示基于我们的优化算法的模型能够获得对基线模型高于随机搜索的胜率。证明了目前建设的AutoML系统在当前场景中可以产生效果。

2) 能够进行大规模训练和模型指标(例如预测精度)验证的自动化管理。包括运行,容错,训练和验证的资源优化和结果分析。降低了管理实验的复杂度和人工成本,让每一份闲置算力都得到利用,并杜绝了需要定期人工查看实验状态的问题。

3) 复现并根据业务场景改进了目前业界最先进和常用的Population-based Training、Successive Halving算法、贝叶斯优化算法的并行版本等多种超参调优算法,可以复用在其他任务和场景中。

4) 已经在更多基于强化学习的任务上进行落地实验,并正积极扩展到其他深度学习场景的超参调优中。

4.平台能力

机智平台除了集成前面提到的平台加速技术外,其它特性有:

1)集成了对象存储 文件存储功能

我们使用了对象存储 文件存储。对于体积较大、较少被访问的checkpoint,存放在cos中;对读取速度要求较高的样本数据,支持从Hdfs/Ceph读取;此外还支持流式训练从kafka中读取样本数据。同时我们正在调研使用缓存,以进一步加速数据访问速度。

2)具备亲和调度和计算容灾能力,及资源队列机制

机智平台的cluster server模块和算力平台共同形成了机器学习平台的算力层,提供了cpu和 gpu的计算能力。

cpu方面,算力平台的百万核cpu资源都通过接口可以为机智所用。考虑到cpu容器需求数量大、整体创建耗时长的问题,cluster server维持了一个较小规模的cpu docker池,对百核级别的cpu算力需求做到了秒级交付。训练用到的cpu docker采用Spark On Yarn进行管理,一方面兼容推荐类自研信息流训练框架,另一方面也利于算法同学在熟悉的Spark框架上进行各种算法开发。

gpu方面,采用业界成熟的k8s架构进行管理,提供单卡级别的gpu docker调度,并支持RDMA。cluster server在k8s基础之上,还会考虑卡之间的亲和性,尽力而为地将单个任务内的卡分配到同机或同交换机下。

与其他任务型平台不同的是,我们在资源的弹性使用上还做了很多容错性的工作。

      ① 通过提前30分钟的容器回收通知,我们会将任务调离即将被回收的docker。

      ② 利用训练框架本身的checkpoint机制,我们会定时保存训练任务的checkpoint,当任务失败时可以恢复。

      此外为了利用好昂贵的gpu资源,我们提供低优任务队列功能,如果当时没有足够资源,任务将会在队列中进行等待。当有空闲的GPU时,将根据调度策略激活等待任务。

3)状态机模板方式让新类型任务平滑扩展

机智平台的task server模块管理用户的业务空间、数据集、模型、任务、实例。

通过业务空间的隔离,避免用户之间的误操作和信息保密问题。以任务->实例的方式来管理用户的训练任务,每个任务有自己的数据集和模型,每次实际运行生成一个实例。

通过状态机模板的方式,task server可以很容易地扩展支持不同的训练流程,包括现在的tensorflow监督学习、推荐类自研信息流训练框架批量任务、推荐类自研信息流训练框架流式任务。

机智平台的job server模块负责与各类训练框架的实际交互。抽象出这一模块让我们现在比较方便地支持了推荐类自研信息流训练框架和通用tensorflow框架,未来扩展到其他框架也并不是难事。

4)和业务方和平台方多种方式对接

我们通过webui和api接口两种方式对外提供服务。业务方和平台方可以通过webui直接使用,也可以通过API的形式将机智加速嵌入到自己的pipeline中。

六、总结和展望

1.总结

算力资源随时申请,立即可用,为业务提供了方便高效、稳定的容器化服务同时,资源聚拢也为提升资源利用率、降低成本打下了基础。

机智依托星辰算力,在怎么样用好资源、加速AI研发迭代方面下足功夫,建设了基于任务式的机器学习加速训练平台,在多机扩展性、大batchsize收敛性上、通过AutoML自动搜索超参数上等方面的能力都是行业领先,目前具备千卡线性扩展,百万batchsize线性收敛,及大规模并行搜索超参能力(机智AUTOML,在真实场景验证可work的很好),并且在2018年4分钟训练imagenet突破世界纪录,2019年6月助力游戏AI训练速度达到超过OpenAI水平。此外,在如何方便的使用机智做训练这个点上,机智也做了完整的建设,包括怎么样解决缺少数据问题(和AI数据堂集成),怎么样解决数据从存储集群到计算集群读取耗时的问题(IO缓存系统),怎么样方便的使用机智加速(继承实现4个接口实现加速,也支持通用流程快速跑通),怎么样方便的查看结果(可定制的结果展示系统,以及将建设的模型分析系统),怎么样解决资源稀缺性问题(和星辰一起挖掘低优资源,及任务排队机制),怎么样和业务已有的平台对接(可以通过API的形式嵌入到业务的pipeline中)等

2.展望

星辰和机智希望在接下来,继续在怎么样为用户提供高性能计算服务上深耕:算力虚拟化(时分复用,空分复用),任务队列,训练加速等多种手段,提升可用算力量及使用便捷程度,让海量算力和高性能计算触手可及。与此同时,提升算力的利用率,发挥每一份算力的价值,为公司业务赋能增效。

我们希望将高性能计算服务建设为公司的基础设施,来加速公司AI产品的研发效率和创新研究。

我们不研究AI,我们只智造AI。

七、致谢

机智训练平台的发展成长离不开腾讯兄弟团队的支持:

感谢内部信息流伙伴和游戏AI伙伴,不仅提供了推荐模型训练和游戏AI训练场景,还和机智团队一起合作进行了非常多的研发工作,让机智训练加速的效果能够真正落地到业务上。

感谢内部运管伙伴和网平伙伴,在训练加速能力以及算力平台上都有非常愉快的合作。

后续机智会持续做好加速能力和产品体验,希望能为公司AI基础能力贡献更多力量,后续还会有更多的合作。

再次表示感谢!

0 人点赞