netease-youdao / BCEmbedding

Netease Youdao's open-source embedding and reranker models for RAG products.
Apache License 2.0
1.3k stars 85 forks source link

使用gpu就会崩溃 #48

Closed zsinba closed 3 months ago

zsinba commented 3 months ago

04/29/2024 15:58:03 - [INFO] -BCEmbedding.models.RerankerModel->>> Loading from /workspace/bce-reranker-base_v1. 04/29/2024 15:58:04 - [INFO] -BCEmbedding.models.RerankerModel->>> Execute device: cuda; gpu num: 2; use fp16: False Calculate scores: 0%| | 0/1 [00:00<?, ?it/s]Bus error (core dumped)

如上日志, 使用两块3090gpu; 在Docker内跑, 就必现的崩溃; 如果是改为CPU跑,就没有问题,但是cpu跑的比较慢, 按秒算;

shenlei1020 commented 3 months ago

麻烦提供复现代码,这么描述没法帮忙解决。

zsinba commented 3 months ago

代码如下, 通过api调用重排.

在gpu模型下正常运行; 在gpu下面必现崩溃. reranker_api.py.zip 代码可以直接运行, 我是打成镜像运行的. 结果一样.

镜像运行命令: docker run -itd --privileged --restart=unless-stopped --name bce-reranker -p 8080:6006 imagename

zsinba commented 3 months ago

请问有进展吗?

zsinba commented 3 months ago

猜测原因: 打Docker镜像使用的Pytorch+CUDA版本跟宿主有差异,造成的CUDA调用时, Docker内和宿主不同.出现内存越界.

机器是Ubuntu20.04 , 按官方安装的CUDA版本比较低. 不太好升级. 制作镜像时,太低的CUDA版本配置的Pytorch又较低, 所以综合原因,应该就是镜像+Cuda版本造成的.