面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍 原创

龙蜥社区OpenAnolis
发布于 2024-4-19 17:49
浏览
0收藏

编者按:随着 AI 快速发展,未来数据中心的 AI 服务器占比越来越多,甚至超过一半以上,那这会对操作系统带来什么影响呢?龙蜥社区 AI SIG Maintainer、阿里云高级技术专家林演,从 AI 对操作系统的影响、面向 AI 软件栈优化设计、AI 技术辅助用户使用操作系统、让 AI 参与操作系统生产制作等四个方面,分享了龙蜥社区在 AI 生态方面的建设和思考。以下为分享原文:

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区

AI对操作系统的影响

面向 AI 软件栈的优先设计 龙蜥社区 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 的基础设施,如 AI 关注的容器跟其他容器有什么特色?目前,AI 的南向硬件生态比较碎片化,比如针对英特尔、AMD 或 ARM 等不同架构甚至相同架构不同代际的芯片上,针对 AI 的优化技术都不一样,这会非常的碎片化。但是,龙蜥基础设施通过把所有主流芯片相关的一些 AI 优化做完整的支持。


目前,很少有发行版会做 pytorch 等软件包的 RPM 化,或内置到操作系统上,这是为什么?因为 AI 软件本身的发展非常迅速,大家都以 pip/conda + 容器镜像等方式安装,这在本质上会带来一些问题,软件供应链安全上也会面临严峻挑战。你会发现前不久做出的软件镜像,过段时间更新一下就运行不了了,这是因为上游修改不受控,下游和用户需要自己去做兼容性适配验证测试。其次,从产品的维度看,也会面临比较严峻的安全问题,一些“挖矿脚本”甚至伪装成知名软件发布在上游开源社区,用户误安装后分发使用会有很大的安全风险,所以这里面临的很大问题是无法直接使用上游生态软件,需要进行大量的安全分析。


通过龙蜥社区可重复构建的理念以及针对安全上的选型,可以做到软件包的分发体系里面去。龙蜥操作系统自带了 AI 主流软件,可通过 yum install 的方式安装。当然基于 yum 提供的软件包安装之后,龙蜥还会把软件包做一层容器分发,在任何环境下也可以跑起来。除此之外,龙蜥社区还会做 AI 相关实践、虚拟机镜像,更多面向想体验 AI 的新手用户,使得 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 应用开发者,希望体验最新版本 AI 的最新技术特性。我们会结合龙蜥容器的制作技术平台,在每一个版本发布时,自动化生成新的 AI 镜像,用户可以立马体验到最新的上游软件版本。第四大优势是社区及时解决镜像问题及 CVE 修复。龙蜥社区拥有一个长周期且持续维护的操作系统版本,所有 CVE 都会及时修复,包括重要的安全漏洞。第五大优势是针对不同平台优化至最佳性能第六大优势是镜像供应链安全和 SBOM 安全平台。非 RPM 生态或不可控生态的软件生态里,会有很多的供应链安全事件,包括商户跑路、软件投毒等比较严峻的安全形势,龙蜥社区希望建立 SBOM 安全平台,帮助 AI 开发者以及广大的龙蜥社区用户,能够放心使用龙蜥社区提供的容器镜像。

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区


例如,在 ARM 上做 BF16 的使能来对 Pytorch 推理的性能做优化,目前从编译优化角度、算子优化、计算库基础库优化等方面,对社区默认版本有巨大的性能提升。

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区


在整个 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 软件栈的设计优化,接下来分享融合 AI 或 AI 哪些技术已经集成到了龙蜥操作系统。

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区

Copilot 和 KeenTune(轻豚)组件是龙蜥社区两个重要的 AI 组件:Copilot 组件未来会作为操作系统的运维问题处理入口和知识库入口,甚至很可能会成为龙蜥操作系统使用的入口,如遇到操作系统、软件安装等问题不知如何解决,告诉 Copilot 即可。

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区


KeenTune(轻豚)​是龙蜥专门为操作系统性能优化做的一款 AI 智能调优组件,通过 AI 提供算法来帮助操作系统实现智能调优,这个组件比 Copilot 更早投入使用。 目前,KeenTune(轻豚)已经在龙蜥社区开源,且已在很多领域商用。通过 KeenTune(轻豚)这样一款 AI 智能调优工具,能够让操作系统运行在最佳的更上层 workload 或 APP 环境中,让用户得到最佳的性能保障。

让AI参与操作系统制作

面向 AI 软件栈的优先设计 龙蜥社区 AI 生态建设介绍-鸿蒙开发者社区


龙蜥在AI 参与操作系统生产制作方面,目前已有一些进展。


因为没有情感,AI 在参与测试、用例生成方面有天然优势。人在不停地重复写每一条代码,可能会觉得没有价值,不停地处理测试、用例,也会感到疲惫,那这部分是不是能够交给 AI?AI 自动化帮助操作系统开发者提高操作系统组件的编写效率,还会挖掘、自动修复操作系统 bug。我们相信在 AI 的演进过程中,慢慢地会走入到真实生产可用的环境中。

现在国外一些社区也在慢慢从 C89 标准、C99 标准编写的古老操作系统软件上,往新的、现代化的编程语言和应用上迁移,那么在这个领域里,AI 是否能够做更多的事情,是一个非常值得探讨的课题。


精彩视频回放、课件获取:

2023 龙蜥操作系统大会直播回放点击下方链接观看~

回放链接:​​https://openanolis.cn/openanolisconference​

技术 PPT :关注龙蜥公众号【OpenAnolis 龙蜥】,回复“龙蜥课件”获取。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐