本文章是对于美杜莎加速推理框架的大致理解,具体代码可以参考 https://github.com/FasterDecoding/Medusa),经过美杜莎的加速,推理速度能达到原始模型速度的两倍多,可以应用于llama架构的大模型。
该框架的核心是在transformer layers处理后的最后一个隐藏层处添加多个美杜莎头,从而同时预测多个未来的tokens,实现一次推理可以得到多个tokens,具体的实现是通过美杜莎树的结构来生成。
1.美杜莎头
单个美杜莎头的结构代码如下,残差层+线性层的组合
Sequential(
(0): ResBlock(
(linear): Linear(in_features=4096, out_features=4096, bias=True)
(act): SiLU()
)
(1): Linear(in_features=4096, out_features=