作业 5 进阶部分:从工业与学术前沿分析NexOS的设计¶
一、作业目标¶
作为二选一的进阶选项,本部分面向希望进一步拓展的同学,探索如何将业界和学术界前沿的大模型推理技术引入 NexOS。选择本部分的同学不需要同时完成基础部分。
本部分不强制要求完成完整代码实现。你可以选择一个方向,结合 NexOS 当前已有的用户程序、AI service、内存管理和文件系统机制,完成一份系统设计方案。
可探索方向¶
可以探索的方向示例如下:
在端侧场景下,应当如何在资源受限的情况下最大化系统的推理吞吐量?可以采用的技术示例:
技术示例
模型权重卸载与预取:随着大模型的不断发展,模型权重愈发增大,当模型权重在内存中存放不下的时候,我们需要将模型权重卸载到 SSD 中,并在推理过程中,按层从 SSD 中拉取权重。为了缓解推理中权重加载造成的停机时间,可以采用预取的技术,根据当前执行的情况,将下一层的权重提前加载到内存中。
在云端场景下,面对大量用户请求产生的天量 KV Cache,应当如何进行管理?可以采用的技术示例:
技术示例
Prefix Cache 及相关管理:在云场景下,大量请求之间存在相似度,例如请求之间共享的 System Prompt、多轮对话中之前的对话记录等等。每次都重新计算这些历史信息会带来大量的冗余计算,将这些 KV Cache 缓存下来并进行复用是直接降低推理成本的有效方案。但是这会引入 KV Cache 的存储与管理问题:在内存中存放全部的 KV Cache 并不现实,因此我们需要将部分可能复用到的 KV Cache 卸载到大容量的 SSD。同时,还需要根据这些 KV Cache 的复用频率动态迁移,将经常复用的 KV Cache 放到访问较快的内存中,将较少复用的 KV Cache 迁移到 SSD 中,一直没被复用的 KV Cache 可以驱逐弃用。
开放探索
同学们还可以自行探索感兴趣的部分,以上两点只是助教提供的部分参考。
作业说明¶
本部分为二选一的进阶部分,满分上限为 120 分。我们鼓励同学们认真阅读相关论文,结合 NexOS 的实际机制提出自己的设计思路。
可以使用 AI 工具辅助资料整理、语言润色或思路启发,但提交内容必须体现个人理解、系统分析和与 NexOS 的具体结合。如果进阶部分提交内容空泛、缺少独立思考,或明显依赖 AI 生成且无法在助教追问中解释设计依据,助教将按实际质量评分,最高按基础部分 100 分档评价;情节严重者还会进一步扣分。
作业要求¶
请选择上述一个方向,提交一份 5 页以内 的设计与实现文档。
文档结构要求¶
提交的实现文档需要包括但不限于下面的部分
-
场景与问题定义
说明你选择的是哪一个场景,以及该场景中要解决的核心问题。
-
挑战分析
说明解决该问题可能会遇到哪些系统挑战。
-
NexOS 上的设计方案
结合 NexOS 当前系统,说明你的设计会涉及哪些模块,至少需要讨论其中的两个模块:
- AI service;
- 内存管理;
- 文件系统;
- 用户态程序;
- 系统调用接口;
- 请求调度与状态管理。
可以从以下角度来说明:
- 需要新增哪些数据结构?
- 需要修改哪些模块?
- 一次请求执行时,这些模块如何协同工作?
- 哪些部分可以在当前 NexOS 中模拟实现?
- 哪些部分由于 NexOS 当前不支持真实 GPU/SSD/完整 LLM runtime,只能作为设计讨论?
-
预期效果与局限性
说明你的方案希望优化什么,以及可能带来什么开销和问题。
提交要求¶
请提交一篇 5 页以内的 PDF 报告到BB系统上作业五的进阶部分。
- 需要给出足够清楚的系统设计和伪代码;
- 文档中需要说明参考了哪些论文或系统;
- 文档中需要明确指出:哪些设计可以基于当前 NexOS 实现,哪些需要 NexOS 未来进一步支持。