AI 框架前沿技术分享:一个预告

文@ 小 P 家的 001314

摘要

大家好,从今天开始,我们将针对 AI 框架中的一些前沿技术进行分享。

本系列的分享内容主要基于商汤科技自研 AI 框架 SenseParrots。

全系列将从 AI 框架基础技术展开,覆盖深度学习编译器、大规模训练、模型部署与业务落地、DataLoader 技术、AutoML 相关等不同方面的详细内容。

这篇文章分为以下两个部分:

  1. 对之后的分享内容做个预告。
  2. 介绍为什么要做这些分享,以及这些分享在业界的具体作用。

分享内容预告

本系列分享后续保持每周双更频率,后续发文频率和内容会根据实际情况和大家感兴趣的内容调整。

你的转赞评是我们努力创作的动力哦~

下面是一些之后会分享介绍的内容专题:

AI 框架基础技术

  • 基于 Python API 搭建深度学习模型
  • AI 框架中的自动求导技术
  • AI 框架中的显存分配策略
  • AI 框架中的通信优化
  • AI 框架中的小算子性能瓶颈问题
  • ......

深度学习编译器

  • 嵌入在 AI 框架中的深度学习编译器
  • 深度学习编译技术之 JIT (trace)
  • 深度学习编译技术之 DPT
  • 运算型算子与访存型算子的编译(primitive IR 到 tensor IR 转化)
  • 在线编译 benchmark 与一些场景落地
  • ......

大规模训练

  • 大规模训练中的技术挑战
  • 超大模型训练中的显存占用问题:ZeRO 与 DLMO
  • 超大模型训练中的算力问题
  • 千卡训练
  • ......

模型部署与业务落地

  • 训练推理一体化
  • 基于量化高性能硬件的部署友好型设计
  • 基于量化芯片的损失分析
  • 模型转换问题
  • 量化加速方案
  • ......

DataLoader 技术

  • Dataloader 共享内存
  • 使用 parallel-in-batch 来加速大 batch size 的数据读取
  • ……

AutoML

  • NAS 介绍
  • 超参搜索
  • 模型压缩
  • ……

分享内容介绍

这个部分中,我们将介绍 AI 框架设计面临的具体问题和挑战,SenseParrots 及其他业界主流框架对于这些问题和挑战各自采用的技术方案,目前的一些技术成果,以及对 AI 框架未来演进方向的展望。

AI 框架是深度学习基础设施建设的核心。

第一代 AI 框架(以 torch、theano、caffe 为代表)奠定了基于 Python 构建深度学习模型,基于计算图进行模型表示与执行、在框架内部实现自动求导等基本设计思路。

第二代 AI 框架中,TensorFlow 通过分布式训练、多样的部署能力在工业界广泛使用;PyTorch 则以动态图机制带来的灵活性吸引了大量的研究者和算法工程师。

在 AI 框架发展演进的过程中,我们业务结合实际需求,研发实现了适应工业场景的 AI 框架 SenseParrots,并针对 AI 框架基础技术做了一些自己的实现,包括自动求导机制、显存分配策略、执行引擎设计、计算与通信并行等。我们会在 AI 框架基础技术 专题详细介绍这些内容。

将灵活的模型表达和高效的模型执行联系在一起的深度学习编译技术是 AI 框架演进的一个主要方向。TensorFlow 的 XLA、PyTorch 的 JIT 模块,以及 TVM、JAX、MLIR 等开源项目都在深度学习编译器设计方面进行了尝试,并取得了不错的效果。在 SenseParrots 中,我们深度总结了深度学习编译中遇到的问题和挑战,通过与AI框架中的执行引擎协同设计,重新设计出了一套完整的深度学习编译方案。

为了检验方案的效果,我们从 MMDetection 等上层框架中找到一些小算子密集的热点代码,构建出在线编译 benchmark。实验结果表明,基于我们的方案进行在线编译,在支持情况及热点代码加速效果两方面都优于业界的一些相关工作。我们会在 深度学习编译器 专题中和大家分享相关技术及成果。

另外,基于类脑科学以及目前特征学习的发展(如 BiT、GPT 等),超大规模的神经网络训练将对目前的业务性能带来革命性的升级,但是目前业内框架普遍使用的多机多卡数据并行已无法应对海量数据和超大模型的双重挑战。针对此关键技术问题,SenseParrots 在大规模训练上取得关键技术成果,并将在超大规模大模型训练领域持续进行技术突破,通过重算搜索显存压缩(DLMO)、Distributed Model States、多粒度稀疏通信等技术,支撑超大模型训练,探索模型容量与训练规模在超算集群上的边界。我们会在 大规模训练 专题中详细讲述这些内容。

算法落地的核心问题在于模型如何能在特定芯片上实现高性能部署,如何实现模型的高效生产,目前还是一个业界亟待解决的复杂问题。为了解决模型的快速落地,并获取高性能的加速收益,我们也在不断努力并结合真实场景演进技术。在分享过程中,我们也将给出 SenseParrots 的一些解决想法。这些内容我们会在 模型部署与业务落地 专题中逐步和大家分享。

数据读取是模型训练的一个基本组成部分。相比于复杂的网络算法设计,数据读取这个概念听起来简单且微不足道。然而在实际业务落地中,数据读取往往是造成模型速度和精度问题的元凶。在 DataLoader 技术 专题中, 我们将讲述对于数据读取技术的研究与思考。

在过去的几年里,机器学习在广泛的应用中取得了成功。然而,机器学习模型的部署与算法设计对于很多公司来说依然充满困难。为了让不具备专业知识的使用者也能够应用机器学习,自动化机器学习 (Auto ML) 框架逐渐流行起来。我们会在 AutoML 技术 专题中与大家分享我们对这一领域的研究与思考。

结语

除了以上预告技术专题内容,我们也会推送一些业界前沿新闻动态。

大家如果有感兴趣的技术内容和难点,欢迎随时指出,在评论区给我们留言~


关注 公众号「SenseParrots」,获取人工智能框架前沿业界动态与技术思考:

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5682856/blog/5501468