2024-03-19 闲话
昨天在 b 站上找到了一个 talk:大语言模型低延迟推理技术的新进展 by Hao Zhang UCSD
首先介绍了一个叫做 vLLM 的工作,主要贡献是 “reduce memory fragmentation with paging”,是一个 LLM memory management mechanism 的 optimization。
Preliminary
比如现在有一台专门提供 Chat 功能的 LLM 服务器,每个访问都会在 GPU 上预留足够的内存来存储 4096(或者 2048 1024 无所谓) 个 kv 向量 来应对用户的请求。(也就是 Inference 阶段)
显然经常用不了这么多空间,那么就会浪费。和操作系统类似,一共有 reservation/internal fragmentation/external fragmention 三种浪费。分别表示,为了正在进行的 request 而预留的多余空间;预留空间和实际使用的空间 中的 delta;若干个 request 之间的空余内存但是不够任何询问的(对于“顺序安排内存,使用完毕回收 reservation 中未使用的内存”的方法,会在 external frag 上消耗严重)。
因为上述的问题,在之前最出色的 orca “操作系统”上内存利用效率高达不到 40%……我们希望给一台服务器给更多的用户提供服务(更高的 throughput),所以需要提升单位算力使用效率。
method
解铃还须系铃人,memory usage 的问题可以使用了 os 方向的 paging 技巧解决,具体想法就是把 GPU 的内存分块,给正在进行的 requeset 赋予 virtual memory,通过 block table 来进行运行内存和实际内存之间的映射。
这样成功将 reservation 和 external fragmentation 消除了,同时将 internal fragmentation 降至 block size/request,使用效率高达 90%+。
同时它还可以通过 sharing 降低内存消耗,比如在 copilot 场景下,我们需要生成若干条候选,这时候 “prompt” 就需要 sharing,但是整行整行的内容我们完全没必要 copy 若干遍,只要在 block table 中标注它的实际内存地址即可,最后不满一行的需要复制。而这样也将 memory usage 大大降低。
另外讲的一个情形是在端侧使用 LLM 进行推理(比如参数都已经下载到本地了),这时候 setting 是我们有固定的算力(一般比进行 conventional 的 Inference 所需要的算力要多),同时我们单纯希望这个东西跑得快。
做法是随机一组 作为可能得输出,根据 通过 得到 ,此时我们认为如果 ,那么就得到了正确的 token。不难发现 iterate 一次可以得到至少 正确, 次可以得到至少 正确。当所有点都不动的时候根据一些定理可以知道结果和逐个 token 生成的结果一样。
这个方法的 optimization 在于如果你某次得到了多个 正确那么就赚了,我不知道论文里面的实践效果如何。这个方法能否做到 parallel decoding 我还没想清楚,同时需要注意的是这里单步 iteration 比 输出单个 token cost 高。但是 under 这个 setting,确实利用了你端侧一般过剩的算力,本质上是 FlOPS 换 decoding step,是个不错的方法。
【总结与展望】
尴尬的是,current stack 里面的 technique 我是会的基本为 0。后面可能得扎实学习一下。
最近迭代了视频娱乐方式
指看了十几集 friends,非常尴尬的是这里也太多成人内容了。今天上英语课 slides 上出现了:
开幕雷击。
虽然本来就是六个成年人的故事,出现成人关注的题材也很正常,但是感觉这个内容占比,充分说明了激素是行为调节的关键因素。
上周六心血来潮去看了一下未删减 wolf of wall street。知乎数据称其中有 570 次 fuck 及其各种形式。诗云随风潜入夜,润物细无声。评价为 我已经比会说 太强了 更会说 fuck 了。实在是成功人士。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律