本文来自微信公众号“信创产业”,作者/林栖。
ChatGPT之后,大模型已成席卷从人工智能到泛科创行业的公认爆点,国内的互联网科技厂商也在2020年至今的三年期间,相继推出自有大模型。
然而在欣欣向荣的AI浪潮背后,用于支撑大模型的超算基础设施,却依然面临着严峻的“卡脖子”难题,超算国产化已经迫在眉睫。
「信创产业」认为,持续追赶GPU硬件性能的同时,也不能忽视软件生态的发力。在国产化大趋势面前,国产芯片达到及格基线之后,软件的优势将成为弥补性能体验鸿沟的利器。
来源:沙利文
做好国产大模型生态系统,需要越过哪些软件门槛?以下是10大主要方向:
●编程框架
编程框架的主要角色是帮助用户降低编写AI大模型的难度和复杂度,利用基本算子快速构建大模型。目前国外的主流框架包括PyTorch、TensorFlow等,国内有百度飞桨、OneFlow等,但成熟度和易用性尚且有较大的距离。
●并行加速
主要功能是为多机多卡环境提供AI模型并行训练的能力,目前国外有微软的DeepSpeed、英伟达的Megatron-LM。
●通信库
主要用于提供通信能力,其性能的两大考量指标一是需要支持AI模型训练所需要的多种通信模式,二是必须能根据底层网络的特点,最大化利用网络通信带宽。目前国外主流软件包括:英伟达NCCL库、MPI库。
●算子库
芯片算子库是位于芯片底层之上的算子开发工具包,提供AI模型所需基本操作的高性能实现。目前国外有英伟达cuDNN、cuBLAS,国内的华为、讯飞、北京智源人工智能研究院等也都在构建算子库,但刚处于起步阶段。
●AI编译器
对算子库不能提供的操作,可以通过AI编译器自动生成高效目标代码。目前主流产品有英伟达NVCC、XLA、TVM等。
●编程语言
用于支持在异构处理器上编写并行程序,需要能够编写AI模型的基本算子。最著名的就是英伟达的CUDA,英特尔的oneAPI。
●调度器
用于提供在大规模系统上高效调度人工智能任务的能力,需要设计高效调度算法,提高集群资源的利用率。目前国外以K8S(Kubernetes)为主,国内则有华为ModelArts等。
●内存分配系统
主要针对人工智能应用的特点,提供高效的内存分配策略,做好这一方向,将有助于弥合我国AI模型从理论到实践的差距,解决实际运行效率难以达到理论峰值的痛点。
●容错系统
在硬件发生故障后,能够保障模型训练的快速恢复。这一细分方向,对影响国产AI模型在支持复杂应用全流程计算方面的能力改善,至关重要。
●存储系统
在训练过程中,支持高调的数据读写功能,将有效消除计算任务的延迟问题,提升模型训练和进化效率。