一、现存痛点
目前端侧大模型推理,大多是把整个模型提前完成静态编译。当我们发送提问之后,从输入文本编码、嵌入处理,再到注意力运算,部分算子需要在请求发起的瞬间现场编译、调度,造成首token等待时间偏长。
现有的编译方案是对整个模型做统一静态处理,不会结合当前这一条用户实际输入的聊天内容做针对性优化。
模型后续生成回答存在随机性,我们没办法预判输出内容,但是,有一部分运算,无论大模型最后回复什么内容,只要这条请求发起,就一定会执行。这一部分可以利用起来做加速。
二、优化构想
在大模型推理框架中增加请求级预编译模块。
触发时机:用户输入完内容,点击发送按钮之后,正式开始推理运算之前。
1、拿到用户完整输入文本,区分两类运算
- 【确定必执行算子】:不管模型输出什么答案都必须运行的逻辑:文本token编码、词嵌入Embedding、输入prompt的注意力计算、KV‑Cache初始化。
这部分不存在分支选择,100%会被调用。针对这一批算子,提前完成算子融合、编译、内存布局预分配。
注意:只编译算子执行逻辑,不提前计算张量内部数据,数据仍然在推理阶段实时运算。
4 人已参与
支持
反对