2024 年 10 月 26 日,第 19 届中国 Linux 内核开发者大会于湖北武汉成功举办。来自全国各地的近 400 名内核开发者相约华中科技大学,聆听讲座,共商 Linux 内核未来之发展,共享内核技术之盛宴。

此次大会上,vivo 底层技术研究总监杨铠衔以“AI 端侧大模型时代 Linux 内核的现状与发展”为题,聚焦 AI 端侧大模型,从端侧大模型发展、OS 架构、对系统挑战和未来挑战四个方面入手介绍了 vivo 目前在端侧大模型方面所做出的贡献。关于未来,他还提出了对 AI 基础模型能力、硬件算力能力和 AI 软件能力三个方面的要求和个人思考。

那么,Linux 内核究竟面临着哪些技术挑战与优化难题?vivo 又对Linux内核做了哪些具体优化,推动 AI 端侧大模型能力不断增强?为了得到更深入的答案与见解,CSDN 对杨铠衔进行了特别专访。

一、突破思维束缚,优化 AI 端侧大模型运行能力

CSDN:在 AI 端侧大模型于手机等设备上广泛应用的当下,您认为 Linux 内核面临的主要技术挑战有哪些新变化?

杨铠衔:我觉得 Linux 内核主要面临资源管理、能效管理和安全隐私三大技术挑战。

在资源管理方面,一方面是内存压力,当前端侧 AI 大模型通常参数规模庞大,运行时需要占用大量的内存资源,内核需要更高效地分配和管理内存,以确保大模型能够顺利运行,同时还要兼顾其他应用程序的内存需求;另一方面是计算资源分配压力,AI 端侧大模型的运行需要大量的计算资源,包括 CPU 和 NPU 等。Linux 内核需要合理地调度和分配这些计算资源,以保证大模型的推理速度和响应时间。这就要求内核具备更智能的任务调度算法,能够根据不同应用的优先级和资源需求,动态地调整计算资源的分配,避免大模型运行时对其他应用造成过大的影响。

在能效管理提升方面,功耗优化和热管理问题尤为突出。在移动设备等对功耗敏感的场景下,Linux 内核会更加注重功耗控制。通过优化电源管理策略、CPU 能效调度、多硬件设备异构计算等,降低 AI 端侧大模型运行时的功耗。比如,根据大模型任务的负载情况动态调整 CPU 的频率和电压,在任务负载较低时降低频率和电压以减少能量消耗;对于支持的硬件设备,采用更精细的电源管理机制,如关闭暂时不用的硬件模块等。此外,AI 端侧大模型的运行会产生大量热量,内核需要加强热管理以确保设备的稳定性。

在安全与隐私方面,首先是 AI 端侧大模型的安全防护。这包括对模型文件的加密存储和传输,防止模型被窃取或篡改;对大模型的运行环境进行安全加固,防止恶意代码的注入和攻击。其次是数据隐私保护,AI 大模型在运行过程中会处理大量的用户数据,这些数据涉及用户的隐私。Linux 内核需要确保数据的隐私安全,防止数据被泄露或滥用。这就要求内核具备强大的数据加密和访问控制功能,对数据的存储、传输和处理过程进行严格的监管和保护。

CSDN:在优化 Linux 内核以适配端侧大模型运行时,所遇最棘手的技术难题是什么?如何解决的?

杨铠衔:在优化端侧大模型运行的过程中,我们遇到了诸多技术难题,这里以 7B 端侧大模型的加载问题为例进行说明。

在优化之前,7B 端侧大模型加载需要 5 至 6 秒之久,对于手机用户而言这是完全无法接受的。为此,我们对大模型的整个加载过程展开了深入分析,仔细研究了其中的耗时分布情况,并对相关技术指标进行精准度量。在此过程中,我们发现了一个关键问题:模型加载的读写性能仅达到磁盘最佳性能的三分之一,这无疑成为了模型加载的瓶颈所在。

紧接着,我们进一步探寻模型加载性能低下的原因。我们发现,当前读取模型文件的方式是遵循 Linux 内核标准用法,但在读取文件之前需要申请内存,正是这一环节导致了模型读取性能的大幅下降。

正常情况下,问题分析至此或许就结束了。然而,考虑到如此长的加载耗时必然会给用户带来极差的体验,我们决定突破传统思维的束缚:“为何不能摒弃申请内存这一环节呢?”起初,我们发现 dma - buf 并不支持 DIO,可这并没有阻挡我们解决问题的决心,我们决定自主实现 dma - buf 的 DIO 功能,并将其贡献给社区。通过这一举措,成功解决了模型文件加载缓慢的问题,最终模型文件加载耗时缩短至小于 1 秒。

CSDN:在提升大模型加载速度与出词性能的过程中在端侧大模型中 vivo 是怎样保障用户数据安全与隐私不受侵害的?

杨铠衔:一方面,我们对端侧进行优先处理。采取“端侧优先、端云协同”策略,能在端侧处理的数据绝不上云,如录音转写、通话总结、输入法创作等功能都提供端侧处理方案,确保隐私数据不出端。另一方面,采用私密计算技术,面对敏感隐私信息,通过匿名化处理、差分隐私和联邦学习等私密计算技术,在保障隐私前提下来提供个人化服务。

二、创新驱动:引领 Linux 内核优化升级

CSDN:您提到对内核子系统进行全面优化,这一过程中最大的困难是什么?采取了何种策略来克服?

杨铠衔:Linux 内核是一个顶级的开源操作系统,对内核子系统优化的最大困难就是需要突破传统思维的束缚,勇敢地参与 Linux 内核改造。我也相信,我们有能力让 Linux 变得更好!

CSDN:在手机资源有限的情况下运行AI大模型,vivo 是如何在性能、功耗与散热管理间达成平衡的?

杨铠衔:针对 AI 大模型,vivo 结合用户场景和业界整体表现,内部会制定对应的性能、功耗、热标准。我们首先通过算法优化/软件栈调度等方式满足了性能标准,该标准定位在行业领先地位,例如当前 3B 模型的峰值出词速度,就远高于行业平均水平。在满足了标准要求的前提下,内部的功耗优化团队会逐类拆分功耗的分布,结合理论分析/硬件调度/算子执行耗时等维度,拆解出可以优化的方向,逐个去优化功耗,在降低功耗的同时当然也减轻了散热负担。以此来实现不同维度的平衡。

CSDN:为加速大模型加载和提高出词性能,vivo 对 Linux 内核做了哪些具体优化?能否列举一些数据或实际案例展示优化成效?

杨铠衔:针对大模型在应用中的内存需求和 UFS 带宽不足问题,我们通过实现 dma - buf 的 DIO 支持和文件读取与内存申请的并行优化,使模型文件的加载性能提升了 65%。同时,在算力优化上,我们通过提升 NPU 的峰值算力和利用率,以及降低计算量等创新方式,有效缓解了端侧算力瓶颈,出词性能提升约 20%。

三、聚焦 Linux 内核优化,携手行业共同进步

CSDN:随着 AI 技术发展和模型能力增强,您预计 Linux 内核未来可能会在哪些方面遭遇新瓶颈?

杨铠衔:对于未来的 AI 大模型发展,我们会综合考虑模型的大小和适用场景。一方面,大而全的模型能够覆盖更多业务场景;另一方面,多个稍小的场景专用模型则能够提供更精准、更高效的服务。我们将继续加强在内存管理、算力分配和 IO 效率等方面的研究,不断提升系统的性能表现,达到性能、功耗、热的平衡。

CSDN:针对未来可能出现的瓶颈,vivo 是否有前瞻性的规划,确保 Linux 内核能持续支撑 AI 大模型的发展?

杨铠衔:我们秉持以用户为导向,以“自由、协作、创新” 的理念,未来将会不断加大在 Linux 内核技术创新、技术研究和开源方面持续投入,积极参与并贡献开源项目,与全球开发者共同推动 Linux 内核技术的不断发展和进步,在 AI 时代给用户带来更加流畅、高效、智能的体验。

同时,我们也深知三方生态对于整体发展的重要性,会积极与各类第三方合作伙伴展开深入合作与沟通,通过与三方生态的紧密结合,进一步拓展应用场景,优化资源调配等,使得 Linux 内核在面对 AI 大模型发展以及三方生态交互等复杂情况时,都能保持良好的支撑性和适应性。

Logo

加入「COC·上海城市开发者社区」,成就更好的自己!

更多推荐