Skip to content
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

请问是否支持多显卡? #10

Open
CairoLee opened this issue Jan 25, 2024 · 4 comments
Open

请问是否支持多显卡? #10

CairoLee opened this issue Jan 25, 2024 · 4 comments

Comments

@CairoLee
Copy link

我想考虑配一台机器来跑一下,不过出于预算原因,考虑用两张 nvidia 芯片的显卡,单张显存20G左右。

我的疑问是:是否通常这些大模型项目(以及咱这个项目)都能够比较好的支持利用多显卡的显存?

是否有一些硬件条件具备的朋友曾经尝试过,盼望您能给个过来人的建议?

@tpoisonooo
Copy link
Collaborator

tpoisonooo commented Jan 25, 2024

先说怎么做

如果用 hf/transformers 的话,加载模型时,配置 device_map=‘auto’ 就可以直接用单机多卡来推理。

豆哥这里写的就是:

self.model = AutoModelForCausalLM.from_pretrained(
model_path,
trust_remote_code=True,
device_map='auto',
torch_dtype='auto').eval()

用俺的代码的话,不用改,直接就支持多卡。

再说能否“比较好的支持利用”

显存/内存的分配,往往是池化的。 实际上因为内存碎片,直接用 hf 的话,显存利用率不高。 应该多花点时间,改用 vllm 或 lmdeploy 这类全职 LLM 推理框架。

没时间就 hf 完事。

结论

LLM 软件,一般都要考虑多卡的问题。都支持。 差别只在哪家效率高低上。

@tpoisonooo
Copy link
Collaborator

@CairoLee

@tpoisonooo
Copy link
Collaborator

tpoisonooo commented Jan 25, 2024

跑之前,要确保环境变量没没没有配置 CUDA_VISIBLE_DEVICES,即

unset CUDA_VISIBLE_DEVICES

这样应该就会用两个卡。

如果你那边还是测不过,麻烦说一声。我调一个 “一定能跑通” 的双卡 20G 的版本, merge 到这个项目里。

@CairoLee
Copy link
Author

感谢作者的飞速回应,让我对这个事情有了一个比较客观的了解。其中提到的一些名词对我搜索相关的细节起到了非常关键的作用。

当前我还没有多显卡设备,我去筹备一下。等环境就绪,我会测试一下咱项目,如果有异常我再来单独提交Issue告知(不过由于年底比较忙,可能我没办法很快的给出结果)

再次感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants