-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
💡 [REQUEST] - <title>qwen推理模型是否可以多机分布式部署?(单机单卡不足以支撑推理模型部署,需要多机多卡) #1324
Comments
目前transformer默认都是使用自家的accelerate这个库来提供推理的,从目前来看这个库只支持单机多卡。多节点的推理其实应该也很简单,都是类似。 |
您提供的连接中,也是咨询多节点得,但是我发现里面并没有给出解决答案,您那有能用的方案吗? |
@feifaxiaoming 对,我给你的链接就说明目前huggingface这边还没有实现这块儿功能,建议你单步跟踪一下huggingface的模型的token的生成过程。尤其是将 device_map 参数设置为 ”auto“ 的时候。transformers库使用了huggingface家的另外一个叫做accelerate的库,这个库会把模型的各个sumodule分散放到不同的设备上(优先gpu,gpu显存不够了,再往cpu的memory上放)。然后在模型进行forward的过程时候,修改了原有模块的forward函数,使得原有的foward函数执行之后还会执行一个post的操作,就是把foward的输出结果放到下一submodule的forward操作之后,首先将上一轮的计算结果防止到该submodule所在设备上。同理,如果是跨节点,那么就需要将某一个节点上最后执行完的结果通过网络发送到下一个节点上。从更高效率的角度上说,似乎还需要一个mpi,或者nccl来做一个调度器,让整个pipeline更加有效率。 |
@feifaxiaoming 另外,训练和推理还是不太一样,推理的时候,如果是分成两台机器,生成一个token需要两次数据传输; |
accelerate这个库只能单机多卡部署,不能实现多机并行,还有您说的这个层的,我试验了使用device_map拆分了80层,在单机上是可用的,但是多机的时候并不好用,您那边是否有可以直接使用的方案呢?就是可以多机分布式部署的模型方案呢》? |
accelerate这个库只能单机多卡部署,不能实现多机并行,还有您说的这个层的,我试验了使用device_map拆分了80层,在单机上是可用的,但是多机的时候并不好用,您那边是否有可以直接使用的方案呢?就是可以多机分布式部署的模型方案呢》? |
@feifaxiaoming 帮你找了一个多机推理的方案,https://github.com/LambdaLabsML/llama/tree/main 不过如我上面所说,普通的硬件做推理没有意义。下面是reddit上一个老外回复。简而言之就是普通硬件的多机推理方案慢到没有实际意义。
以上英文来源于一个叫做wreckingangel的网友在 Reddit 上的回复。 |
起始日期 | Start Date
No response
实现PR | Implementation PR
我想布置qwen-14B-chat推理模型,但是我只有两台16G显存的机器,一张卡上运行不起来模型,我想问一下,是否可以两台机器分布式部署推理模型
相关Issues | Reference Issues
No response
摘要 | Summary
多台机器分布式部署推理模型
基本示例 | Basic Example
如何使用两台tesla-16G进行14B-chat的推理
缺陷 | Drawbacks
单机单卡不足以支撑
未解决问题 | Unresolved questions
No response
The text was updated successfully, but these errors were encountered: