feifeibear / LLMSpeculativeSampling

Fast inference from large lauguage models via speculative decoding
415 stars 46 forks source link

使用微调的llm,耗时增加,无法加速 #23

Closed hynnn closed 2 months ago

hynnn commented 8 months ago

A800,llama2-70b和llama2-7b,两个都经过相同的sft微调,70b是4bit加载的 测试后的结果,使用投机采样的耗时比不使用时有一定增加,并没有加速效果 请问是为什么?

feifeibear commented 8 months ago

这个可以理解,这个项目主要看SpS生成text的效果,离under-the-hood的加速库还有差距。 没有加速原因很多,因为拒绝采样是有overhead的,大小模型差异太大拒绝次数过多,大小模型速度本身差别不大,推理runtime实现等因素都会导致观察不到加速效果。 PS:你可以试试多卡。

hynnn commented 8 months ago

这个可以理解,这个项目主要看SpS生成text的效果,离under-the-hood的加速库还有差距。 没有加速原因很多,因为拒绝采样是有overhead的,大小模型差异太大拒绝次数过多,大小模型速度本身差别不大,推理runtime实现等因素都会导致观察不到加速效果。 PS:你可以试试多卡。

现在是两张A800测试。 确实是我原本考虑的简单了,认为两个模型经过相同sft,得到的token分布是相似的,那么理论上应该是可以做到加速的。 但在实际工程中发现,两张A800时单70b的速度就比较快了,其次 采样中的拒绝率比较高,工程方面 很难找到一类任务使其拒绝率降低到30%内,以获取可能的加速。 推理工程方面 好像投机采样并不能有很好的表现,可能还需要考虑很多因素。