编者按:随着 AI 快速发展,未来数据中心的 AI 服务器占比越来越多,甚至超过一半以上,那这会对操作系统带来什么影响呢?龙蜥社区 AI SIG Maintainer、阿里云高级技术专家林演,从 AI 对操作系统的影响、面向 AI 软件栈优化设计、AI 技术辅助用户使用操作系统、让 AI 参与操作系统生产制作等四个方面,分享了龙蜥社区在 AI 生态方面的建设和思考。以下为分享原文:
(图/龙蜥社区AI SIG Maintainer、阿里云高级技术专家林演)
AI对操作系统的影响
随着 AI 快速发展,未来数据中心的 AI 服务器占比越来越多,甚至超过一半以上,那这会对操作系统带来什么影响呢?未来操作系统面临的挑战和机遇又是什么?第一个方面是面向 AI 软件栈优化设计,即 System for AI。无论如何 AI 是要跑在操作系统平台上,操作系统如何为 AI 软件栈做更多的优化、协同,从而让 AI 负载跑的更好,或跟操作系统有一个协同优化的效应。第二个方面是 AI 的很多技术是否能够融合到操作系统中,给操作系统用户提供一个新的入口,包括 AI 在操控领域里能够做到的一些智能调优,或做一些自主决策等事情,也可以融入到操作系统里,给操作系统用户提供更好的体验。第三个方面是让 AI 参与操作系统生产制作。随着 AI 技术的快速发展,AI 编程领域非常火,AI 对于 bug 的探索修复,包括 AI 能够自主产生对于操作系统组件的优化作用,所以我们大胆推测, AI 未来会直接参与到操作系统的生产制作中,实际在当下我们已经看到一些发展的苗头。
接下来从这三个方向分别阐述龙蜥社区当前正在做的一些工作。
OS面向AI软件栈优化设计
上图可以看到,关于 AI 在整个社区从基础设施平台到分发渠道的总框架图。社区会不断地打磨基础设施,包括面向 AI 的基础设施,如 AI 关注的容器跟其他容器有什么特色?目前,AI 的南向硬件生态比较碎片化,比如针对英特尔、AMD 或 ARM 等不同架构甚至相同架构不同代际的芯片上,针对 AI 的优化技术都不一样,这会非常的碎片化。但是,龙蜥基础设施通过把所有主流芯片相关的一些 AI 优化做完整的支持。
目前,很少有发行版会做 pytorch 等软件包的 RPM 化,或内置到操作系统上,这是为什么?因为 AI 软件本身的发展非常迅速,大家都以 pip/conda + 容器镜像等方式安装,这在本质上会带来一些问题,软件供应链安全上也会面临严峻挑战。你会发现前不久做出的软件镜像,过段时间更新一下就运行不了了,这是因为上游修改不受控,下游和用户需要自己去做兼容性适配验证测试。其次,从产品的维度看,也会面临比较严峻的安全问题,一些“挖矿脚本”甚至伪装成知名软件发布在上游开源社区,用户误安装后分发使用会有很大的安全风险,所以这里面临的很大问题是无法直接使用上游生态软件,需要进行大量的安全分析。
通过龙蜥社区可重复构建的理念以及针对安全上的选型,可以做到软件包的分发体系里面去。龙蜥操作系统自带了 AI 主流软件,可通过 yum install 的方式安装。当然基于 yum 提供的软件包安装之后,龙蜥还会把软件包做一层容器分发,在任何环境下也可以跑起来。除此之外,龙蜥社区还会做 AI 相关实践、虚拟机镜像,更多面向想体验 AI 的新手用户,使得 AI 小白也会有一些关于 AI 上使用的直观体验。
龙蜥容器镜像集中于从南向生态角度去做主流的 AI 生态覆盖,不管是 GPU 还是 CPU 中关于 AI 增强指令集,比如 BF16 、 INT8 、AMX、VNNI 等指令方面的优化。软硬件协同优化是操作系统的天然优势,因为上层的 AI 开发者或 AI 用户对于底层的芯片指令集比较陌生,但对于操作系统研发人员,会比较的熟悉,这也是龙蜥做这件事的优势所在。龙蜥 AI 容器镜像对于 AI 南向生态硬件碎片化的现状将会大大改善,而 AI 开发者只要上到龙蜥镜像中,就可以找到最适合自己 AI 的开发与运行平台,不需要对底层硬件去额外了解熟悉,就可以拿到最佳的容器镜像解决方案。
目前,龙蜥社区主要在做训练推理,包括对 Modelscope 的适配兼容。现在 Modelscope 上的一些大模型能够跑在所有龙蜥适配的硬件平台。以上介绍了龙蜥社区 AI SIG 目前正在做的项目,欢迎大家登录容器官网试用 AI 容器镜像:https://cr.openanolis.cn/mirror
AI 容器镜像拥有六大优势,目前已陆陆续续发布了很多。第一大优势是种类越来越丰富,比如针对不同硬件专门优化的容器镜像。第二大优势是容器镜像安全扫描,检查镜像中有没有带病毒的软件,保障基础安全。第三大优势是紧随上游发布节奏,上游三个月发布主版本,对于很多 AI 应用开发者,希望体验最新版本 AI 的最新技术特性。我们会结合龙蜥容器的制作技术平台,在每一个版本发布时,自动化生成新的 AI 镜像,用户可以立马体验到最新的上游软件版本。第四大优势是社区及时解决镜像问题及 CVE 修复。龙蜥社区拥有一个长周期且持续维护的操作系统版本,所有 CVE 都会及时修复,包括重要的安全漏洞。第五大优势是针对不同平台优化至最佳性能。第六大优势是镜像供应链安全和 SBOM 安全平台。非 RPM 生态或不可控生态的软件生态里,会有很多的供应链安全事件,包括商户跑路、软件投毒等比较严峻的安全形势,龙蜥社区希望建立 SBOM 安全平台,帮助 AI 开发者以及广大的龙蜥社区用户,能够放心使用龙蜥社区提供的容器镜像。
例如,在 ARM 上做 BF16 的使能来对 Pytorch 推理的性能做优化,目前从编译优化角度、算子优化、计算库基础库优化等方面,对社区默认版本有巨大的性能提升。
在整个 AI 软件栈以外,龙蜥社区与英伟达 DPU 合作,支持做为 DPU 上默认运行的操作系统,龙蜥操作系统 8.6 目前已经是 Nvidia BFB 官方支持的操作系统之一(https://github.com/Mellanox/bfb-build)。未来,龙蜥社区在 AI 网络、存储等方面持续探索,在开源领域孵化和增强解决方案,在 AI 大模型的加载、分发与存储 等环节也都有优化的空间(如几十个G 大模型的分发、加载本身是个大问题)。那是否有能力基于分布式系统做 Cephfs 等技术上的优化,未来都在龙蜥社区的考虑方向内。
除了 AI 网络、AI 存储外,龙蜥在整个 AI 技术栈方面,还会从 MLOps 需要的软件上进行拉齐,如 AI IDE 等软件,也会逐渐补齐并进行集成推广。龙蜥社区的目标是所有 AI 的开发从前端数据处理,到中间训练到最后推理部署等,都能够在龙蜥社区上找到与之对应的解决方案,我们希望能够把龙蜥打造成面向 AI 最友好的操作系统。
龙蜥社区已经在持续推进 AI 实践,如 AI 用户、 AI 小白能够很便捷、很简单运行其感兴趣的 AI 软件或大模型,包括图形图像、声音、唱歌等处理,这些已在龙蜥操作系统软件中进行了一系列的实践探索。在这里, AI 用户能够一键式地把他们感兴趣的 AI 组件拉起,并且硬件是最优的,性能是最好的。
AI技术辅助用户使用操作系统
上面主要介绍了龙蜥操作系统在 AI 软件栈的设计优化,接下来分享融合 AI 或 AI 哪些技术已经集成到了龙蜥操作系统。
Copilot 和 KeenTune(轻豚)组件是龙蜥社区两个重要的 AI 组件:Copilot 组件未来会作为操作系统的运维问题处理入口和知识库入口,甚至很可能会成为龙蜥操作系统使用的入口,如遇到操作系统、软件安装等问题不知如何解决,告诉 Copilot 即可。
KeenTune(轻豚)是龙蜥专门为操作系统性能优化做的一款 AI 智能调优组件,通过 AI 提供算法来帮助操作系统实现智能调优,这个组件比 Copilot 更早投入使用。 目前,KeenTune(轻豚)已经在龙蜥社区开源,且已在很多领域商用。通过 KeenTune(轻豚)这样一款 AI 智能调优工具,能够让操作系统运行在最佳的更上层 workload 或 APP 环境中,让用户得到最佳的性能保障。
让AI参与操作系统制作
龙蜥在AI 参与操作系统生产制作方面,目前已有一些进展。
因为没有情感,AI 在参与测试、用例生成方面有天然优势。人在不停地重复写每一条代码,可能会觉得没有价值,不停地处理测试、用例,也会感到疲惫,那这部分是不是能够交给 AI?AI 自动化帮助操作系统开发者提高操作系统组件的编写效率,还会挖掘、自动修复操作系统 bug。我们相信在 AI 的演进过程中,慢慢地会走入到真实生产可用的环境中。
现在国外一些社区也在慢慢从 C89 标准、C99 标准编写的古老操作系统软件上,往新的、现代化的编程语言和应用上迁移,那么在这个领域里,AI 是否能够做更多的事情,是一个非常值得探讨的课题。
精彩视频回放、课件获取:
2023 龙蜥操作系统大会直播回放点击下方链接观看~
回放链接:https://openanolis.cn/openanolisconference
技术 PPT :关注龙蜥公众号【OpenAnolis 龙蜥】,回复“龙蜥课件”获取。