编者按:人工智能的发展不断改变着人类的生产和生活方式,而 AI 所迈出的每一步都来自于人类智慧的持续输出。协作将可以让我们不断扩大 AI 的边界,突破人机交互的局限。我们也将共同构建越来越强大的模型,让 AI 更好地理解世界,激发人类的创造力。新春伊始,我们梳理了计算机从初始语言学习开始,到模型,再到 AI 规模化的漫长之路。本文编译自微软博客文章 “The Next Generation AI”。

你知道计算机是如何了解我们周围的世界,并由此拓展人们的能力、激发人类创造力的么?

事实上,计算机非常擅长从大量数据中学习,通过高效地组织和检索信息,并对其进行快速处理,从而得出解决方案。而人类,则更善于解决需要借助判断力、同理心和创造力的问题。

为了丰富人们的想象力并激发大家的创新能力,计算机需要将原始数据转化为对人类经验的更深刻理解。通过微软与全球 AI 领域的共同努力,人们与未来世界的距离已经比想象中更近了一步。

为了更好地实现下一代 AI 体验的美好愿景,微软是如何训练计算机,使之成为人们的左膀右臂,以实现更多成就的呢?我们从教计算机学习人类语言开始。

语言

语言是一门复杂的学问。人类花了上百年时间研究单词间的关系和语境的重要性。同时,随着新词的涌现、不同文化的碰撞,语言自身也在不断演进。因此,人们必须不断地学习。

© MSRA

微软通过不断建立关联来掌握语言。

正如人们通过了解各种观点来丰富自己对世界的理解一样,使用庞大和多样化的数据训练 AI 模型,同样可以丰富计算机对语言的深入理解。为了能够在各种语言、多个领域和不同语言习惯之间进行清晰沟通,语言模型要足够庞大且复杂,以便理解底层语言、语法、概念和语境。所以,微软开始着手创建一个人们可以想象的最庞大、最强大的语言模型。

AI 模型

近年来,互联网数据爆炸性增长,再加上云计算技术带来的大规模高性能计算,大大加速了深度学习的进步。作为机器学习的一个细分领域,深度学习通过运用人工神经网络来训练计算机执行各项任务。

© MSRA

我们可以将这些人工神经网络看作一层层相互连接的神经元。神经网络通过复杂的优化过程,并借助示例数据进行训练,从而了解神经元之间每个连接的强度(人们通常将两个神经元之间的连接强度称为突触权重)。通过这个过程,网络不断衡量其自身预测的准确性,并进行自我更新,最终可以获得连接神经元的鲁棒性 AI 模型。每个唯一连接形成一个参数。

© MSRA

规模

训练如此大规模的 AI 模型需要庞大的基础架构。微软已在 Azure AI 平台上构建出了这种大规模基础架构,该平台由数千个用于 AI 加速的图形处理单元(GPU)组成,并在每个服务器内部以及各个服务器之间,通过最新的高带宽网络实现互连。

© MSRA

但是,仅有基础架构还不够。无论基础架构多么强大,训练一个超大的 AI 模型都要将其划分为很多层,并把这些层分布在多个 GPU 上。此外,还必须将大量训练数据分成多个批次,同时在整个集群中展开并行训练以生成最终模型。为了最终扩展到数万亿个参数,我们需要突破一些基本的硬件和软件限制。

© MSRA

实现速度、规模和可用性的指数型增长

微软 DeepSpeed 深度学习优化库和 PyTorch 机器学习库解锁了使用数万亿参数训练 AI 模型的能力。

© MSRA

微软开源的 DeepSpeed 深度学习优化库,通过改善规模、速度、成本和可用性,显著提升了大型模型训练的水平。它通过轻量级、无缝兼容的 API,提供了最前沿的训练技术,例如分布式训练、混合精度和检查点等。只要对现有 AI 模型的几行代码加以改动,就可以借助 DeepSpeed 的能力来应对潜在的性能挑战,同时提高训练速度和规模。DeepSpeed 深度学习优化库也是 PyTorch 机器学习库的一部分。

作为 DeepSpeed 库中的重要组件之一,ZeRO(Zero Redundancy Optimizer,零冗余优化器)是一种全新的并行化优化器,可大大压缩模型和数据并行化所需的资源。ZeRO 可以在当前一代的 GPU 集群上训练具有1000亿个参数的深度学习模型,其数据吞吐量是目前最优系统的三到五倍。

访问以下链接,了解更多 ZeRO 信息:

https://www.microsoft.com/en-us/research/blog/zero-deepspeed-new-system-optimizations-enable-training-models-with-over-100-billion-parameters/

ZeRO通过跨数据并行进程划分模型状态(参数、梯度和优化器状态),而不是单纯地复制它们,从而消除了跨数据并行进程的内存冗余。在训练过程中,ZeRO 使用动态通信时间表,在分布式设备之间共享必要的状态,以保持数据并行中的计算粒度和通信量。由 ZeRO 驱动的数据并行性使集群中内存容量的完全聚合成为可能,从而大大增加了可训练的参数数量。

微软开源的 ONNX Runtime 是针对机器学习模型的跨平台高性能训练和推理运行时长的工具。它的设计重点是性能和可扩展能力,以支持大规模生产场景中的工作负载。为了实现这一目标,ONNX Runtime 采用了 ONNX 表示图的形式进行深度学习执行,并通过转换器对该图加以优化。在转换过程中,它可以融合操作并分割执行,以实现并行性。它还具备一些基本的数学运算功能,(如矩阵乘法、转置、线性代数运算等)以提供高效的实现方法,这些运算都是训练深度学习模型的基本构建模块。此外,ONNX Runtime 还利用了 DeepSpeed 中包括 ZeRO 在内的优化功能,并具有可扩展性选项,用于支持新硬件、自定义运算符和图形转换。

DeepSpeed、ZeRO 和 ONNX Runtime 的创新代表了深度学习系统技术的重大飞跃。通过处理效率的提升和可扩展 Azure AI 基础架构的改进,微软已经建立了一条用于训练具有数万亿个参数的 AI 模型的可行性路径。

访问以下链接,了解更多:

https://innovation.microsoft.com/en-us/exploring-ai-at-scale

模型的调试

使基本 AI 语言模型演进成,在特定领域或任务中表现出专业知识和流利程度的语言模型,需要特殊的模型调试层级。

© MSRA

从核心模型到微调:

  • 训练了少量非常大的 AI 模型,便于在微软公司范围内重复使用。
  • 使用了大量未标记的数据来训练这些模型,其中的数据是来自于网络的公开数据(由必应提供)。
  • 这提供了来自真实世界不断增长、高质量和多主题的数据流,以迭代的方式训练同一个大型模型学会多种人类语言的丰富语义表示。
  • 首先让模型通过自监督学习掌握所有基本语法和语境技能,而后通过“迁移学习”,提升它对具体、特定领域和任务的理解。 随着语言模型从领域数据中不断学习,它还可以在每个组织机构中以符合隐私保护政策的方式继续进行学习。
  • 最终,每个人都可以得到个性化语言模型所提供的服务,这些模型可以由用户以私密和安全的方式进行微调,从而满足他们的具体需求。
  • 通过将“迁移学习”与在处理效率方面的创新相结合,微软将不断提高AI语言模型的智能,从而让所有人都能实现更远大的目标。

© MSRA

驱动 AI 创新

微软正在将这些经过微调、针对特定领域的模型运用到微软的更多产品中,包括消费类产品和企业级产品。这种集中而高度协作的方法也代表了微软工作方式的转变——将研究和工程专业知识相结合构建大型模型。

通过创建每个团队都可以使用的通用 AI 模型,微软可以高效、大规模地提供高价值、以 AI 为驱动的用户体验,并结合隐私权益及负责任的人工智能统筹进行考虑。

AI 规模化赋能每一人

微软正在做的每件事以及所达到的每个里程碑,都是建立在全球协作的基础之上。通过贡献而非竞争才使微软能够突破人机交互的局限。除了在语言理解领域,目前,新一代更大规模的模型正在以更通用的方式,展开跨文本、图像和视频的学习和应用。

通过企业内部以及与全球 AI 社区之间的不断合作,微软将持续把创新的 AI 功能引入到自身的产品和平台中,并提供给客户、合作伙伴以及支持微软“予力全球”使命的计划和举措。

这些人工智能领域的集体努力所带来的突破,注定将帮助世界应对一些艰巨的挑战。我们将共同构建越来越强大的模型,让人工智能更好地理解世界,激发人类自身的创造力。

从语言、模型和规模三个维度,打造下一代AI相关推荐

  1. 谷歌大脑提出EfficientNet平衡模型扩展三个维度,取得精度-效率的最大化!

    点击我爱计算机视觉标星,更快获取CVML新技术 今天要跟大家重磅介绍上午谷歌大脑新出的论文<EfficientNet: Rethinking Model Scaling for Convolut ...

  2. 重磅!谷歌大脑提出EfficientNet平衡模型扩展三个维度,取得精度-效率的最大化!...

    点击我爱计算机视觉标星,更快获取CVML新技术 今天要跟大家重磅介绍上午谷歌大脑新出的论文<EfficientNet: Rethinking Model Scaling for Convolut ...

  3. 可扩展架构设计的三个维度

    业界对于可扩展的系统架构设计有一个朴素的理念,就是: 通过加机器就可以解决容量和可用性问题 这一理念在"云计算"概念疯狂流行的今天,得到了广泛的认可!对于一个规模迅速增长的系统而言 ...

  4. R语言系统教程(三):多维数组和矩阵

    R语言系统教程(三):多维数组和矩阵 3.1 生成数组或矩阵 3.1.1 将向量定义为数组 3.1.2 用array()函数构造多维数组 3.1.3 用matrix()函数构造矩阵 3.2 数组下标 ...

  5. 详细介绍软件架构设计的三个维度

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中 ...

  6. 卡诺模型案例分析_3个维度看竞品分析!

    谁都想站在巨人的肩膀上,问题是怎么上去? ABC分享会线下24期回顾 时间:10月24日 下午13:00-17:30 地点:上海嘉定U-CUBE创意空间 参与人数:18人 主题:怎样做竞品分析 这次活 ...

  7. 软件架构设计的三个维度,软件架构师需要知道的点,了解一下吧!

    架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会.这篇文章主要介绍面向对象OO.面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用. 架构设计有 ...

  8. 软件架构设计_软件架构设计的三个维度,软件架构师需要知道的点,了解一下吧...

    架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会.这篇文章主要介绍面向对象OO.面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用. 架构设计有 ...

  9. ONNX系列三 --- 使用ONNX使PyTorch AI模型可移植

    目录 PyTorch简介 导入转换器 快速浏览模型 将PyTorch模型转换为ONNX 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携 ...

最新文章

  1. 2022-2028年中国锂电材料产业投资分析及前景预测报告
  2. 个人开发者帐号+wireless install 实现非app store程序的在线更新功能
  3. hihoCoder #1068 : RMQ-ST算法(模板)
  4. 提高sql性能的方法
  5. Leetcode每日一题:all-nodes-distance-k-in-binary-tree(二叉树中所有距离为K的节点)
  6. [转帖]内网安全克服五重阻碍 迎来春天
  7. Brooklyn 最新版 |创意多用途响应式 WordPress 主题下载
  8. 学习笔记之30个常用的maven命令
  9. 北京邮电计算机课程表,北邮通信工程本科专业课程表
  10. 批量添加文件名前后缀的工具_艾孜尔江撰
  11. 编曲宿主DAW是什么 2023年编曲宿主软件哪个好用
  12. php根据键值排序,数组根据某个键值排序
  13. winform自定义控件无法显示在工具箱中以及显示但使用时出错的解决办法
  14. 想买个吉他英雄3的正版
  15. 2021年10月世界编程语言排行
  16. 我终于把Boss直聘上热度最高的Java面试八股文总结,渗透面试核心知识点!
  17. Civil 3d 路线之固定图元(AlignmentEntity)部分分析
  18. BUUCTF:[UTCTF2020]sstv
  19. 微信小程序Demo组件大全(对话框、指示器、五星评分,画廊,影院座位……
  20. 唐尼vr眼镜好吗_VR怎么看电影?手把手教你用VR眼镜设备看电影的方法

热门文章

  1. 关于EXCEL超级链接被禁止的解决方法
  2. 话里话外:为什么管理咨询业必须走专业化服务之路
  3. java字符编码问题_java 字符编码问题
  4. 网络抖动多少ms算正常_男性身高175,体重多少算正常?对照公式算一下,你达标了吗?...
  5. Java基础-集合:set
  6. 从文本中提取知识图谱代码比较好的,代码对齐,可以使用的
  7. 隐马尔科夫模型之Baum-Wech算法
  8. pycharm打开报错python已经停止工作
  9. Python参考书籍
  10. 《强化学习周刊》第30期:Deep Mind开展人机交互的新试点研究、MIT提出神经进化优化框架...