人工智能系统(二):技术栈
这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战
人工智能系统的目的提供更加高效的编程语言、框架和工具。
更具表达能力和简洁的神经网络计算原语和编程语言更直观的编辑、调试和实验工具整个深度学习生命周期中的系统问题:模型压缩、推理、安全、隐私保护等提供全面的学习系统:强化学习、自动机器学习等提供更强大和可扩展的计算能力。
自动编译优化算法自动推导计算图根据不同体系结构自动并行化自动分布式化,并扩展到多个计算节点持续优化模型效果探索并解决新挑战下的系统设计、实现和演化的问题。人工智能系统基本组成部分体验:拥有端到端的人工智能用户体验-模型、算法、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高效的调度算法分配异构计算资源错误恢复和容错管理日志、性能监控系统用户、安全管理