thunlp / InfLLM

The code of our paper "InfLLM: Unveiling the Intrinsic Capacity of LLMs for Understanding Extremely Long Sequences with Training-Free Memory"
MIT License
269 stars 21 forks source link

多卡支持问题 #28

Closed ChuanhongLi closed 4 months ago

ChuanhongLi commented 5 months ago

非常棒的工作,我们验证了 Qwen1.5-7B-Chat 在 ∞-Bench 数据集上的表现也是非常的出色。看之前的issue中,你们这边也提到暂无计划支持多卡,想请问下 InfLLM支持多卡的主要的难点在哪里?我们想尝试下支持下多卡,请问能否提供一些思路指导 ?

guyan364 commented 5 months ago

感谢支持! 目前没有计划支持多卡的一个原因在于我们对目前多卡推理框架并不熟悉,没有办法估计实现难度以及兼容性。 Accelerate 提供 Pipeline 切分模型,根据(https://github.com/thunlp/InfLLM/issues/20#issuecomment-2031559067) 的错误信息,应该是 position embed 的 buffer 只在一个 device 上。一个简单的解决方法是修改 inf_llm/attention/rope.py 的实现,让其在不同的 device 上初始化。

ChuanhongLi commented 4 months ago

感谢支持! 目前没有计划支持多卡的一个原因在于我们对目前多卡推理框架并不熟悉,没有办法估计实现难度以及兼容性。 Accelerate 提供 Pipeline 切分模型,根据(#20 (comment)) 的错误信息,应该是 position embed 的 buffer 只在一个 device 上。一个简单的解决方法是修改 inf_llm/attention/rope.py 的实现,让其在不同的 device 上初始化。

您好,“一个简单的解决方法是修改 inf_llm/attention/rope.py 的实现,让其在不同的 device 上初始化” 能否提供个示例代码? 我对这块代码不是很熟悉,尝试修改了下一直不大对,谢谢