人工智能系统的目的
提供更加高效的编程语言、框架和工具。
- 更具表达能力和简洁的神经网络计算原语和编程语言
- 更直观的编辑、调试和实验工具
- 整个深度学习生命周期中的系统问题:模型压缩、推理、安全、隐私保护等
- 提供全面的学习系统:强化学习、自动机器学习等
提供更强大和可扩展的计算能力。
- 自动编译优化算法
- 自动推导计算图
- 根据不同体系结构自动并行化
- 自动分布式化,并扩展到多个计算节点
- 持续优化模型效果 探索并解决新挑战下的系统设计、实现和演化的问题。
人工智能系统基本组成部分
- 体验:拥有端到端的人工智能用户体验-模型、算法、Pipeline、实验、工具、生命周期管理
- 框架:包括编程接口、计算图、自动梯度计算、IR(中间表示)、编译器基础设施
- 运行时:包括深度学习运行时-优化器、规划器、执行器
- 架构(单节点和云):包含硬件API(GPU、CPU、FPGA、ASIC)、资源管理/调度器、可扩展的网络堆栈(RDMA、IB、NVLink)
人工智能系统生态
首先是核心系统软硬件,其主要包含:
- 深度学习任务运行和优化环境
- 通用资源管理和调度系统
- 新型硬件及相关高性能网络和计算栈
在此之上,我们有深度学习算法和框架,其主要包含:
- 广泛用途的高效新型通用AI算法
- 多种深度学习框架的支持与进化
- 深度神经网络编译架构及优化
最后是,更广泛的Al系统生态,主要有:
- 机器学习新模式(RL)
- 自动机器学习(AutoML)
- 安全与隐私
- 模型推导、压缩与优化
因此,如果我们要系统的解决问题意味着需要全面深入的了解整个问题空间,因为任何维度的短板都可能会影响整个系统。
一个典型的AI系统平台样例
以OpenPAI为例,下面展示了一个典型的人工智能平台所包含的基本功能,具体如下:
- 提供接口和工具供用户提交训练任务
- 提供文件管理系统管理训练所需的大数据
- 提供运行环境供深度学习框架访问
- 计算资源:GPU/FPGA/ASIC/TPU/CPU
- 网络资源:IB/RDMA
- 存储资源:HDFS/NFS/Ceph
- 高效的调度算法
- 分配异构计算资源
- 错误恢复和容错管理
- 日志、 性能监控系统
- 用户、 安全管理