CUDA error: device-side assert triggered
#1
by
gihong99
- opened
This comment has been hidden
지금 상황에서 유추를 해보면 해당 모데을 inference하기 위한 requirments.txt를 보내니 다시 설치해보시고 추론 해보면 좋을것 같네요..
[requirements_mistral.txt](transformers
bitsandbytes
git+https://github.com/huggingface/transformers.git
git+https://github.com/huggingface/peft.git
git+https://github.com/huggingface/accelerate.git
trl
xformers
wandb
datasets
einops
sentencepiece
scipy
위와 같이 했는데도 안되면 nvidia-smi 결과와 실행 코드와 전체로그가 보내주면 제가 좀더 쉽게 파악할수 있을것 같습니다.
$ nvidia-smi
Thu Nov 30 14:18:42 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.10 Driver Version: 535.86.10 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:0F:00.0 Off | Off |
| 34% 48C P8 21W / 450W | 6928MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 2023 G /usr/lib/xorg/Xorg 4MiB |
+---------------------------------------------------------------------------------------+
$ mistral_dpo_example.py
..
This comment has been hidden
저같은 경우에는 일반적으로 아래와 같이 CUDA_VISIBLE_DEVICES를 설정하는 방법으로 추론을 하고 있습니다.
아래 코드를 참고해서 적용해보세요.
import os
import torch
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # Set the GPU 2 to use
print(f"Using GPU is CUDA:{os.environ['CUDA_VISIBLE_DEVICES']}")
This comment has been hidden
저는 추론할때는 CUDA_VISIBLE_DEVICES를 하나만 사용하고 있습니다. peft multi gpu는 얼마전까지도 이슈가 있었고 된다 하더라도 속도가 향상되지는 않았던것으로 기억합니다.
- os.environ["CUDA_VISIBLE_DEVICES"] = "0"과 device_map은 'auto'로 설정했을 때도 문제가 발생하나요?
- multi-gpu를 사용하는 이유가 속도때문인가요?
친절한 답변 감사합니다 !
- 문제가 발생하지 않았습니다.
- komt-mistral-7b-v1은 BitsAndBytesConfig를 활용하지 않았을 경우에 메모리 부족 현상을 경험 했기 때문에 추후 더 큰 모델이 나올 경우 또한 multi-gpu를 해야한다고 생각해서 시도 중 이였습니다 !
그럼 BitsAndBytesConfig를 사용할 경우 모델의 추론 결과에 어느 정도 영향을 주는지 경험적으로 알 수 있을까요 ?
글쎄요.. komt-mistral-7b-v1 모델을 BitsAndBytesConfig로 읽어오는 경우 추론이 상당히 나쁜것으로 알고 있습니다.
komt-mistral-7b-v1-lora모델이나 komt-mistral-7b-v1-dpo 모델을 BitsAndBytesConfig로 사용해야합니다.
큰모델을 여러 gpu에 layer별로 올리는것은 안되는것으로 알고 있습니다. 따라서 한개의 gpu가 넘는 모델은 여러개 모델이 있다고 하더라도 올라갈수 없습니다.
gihong99
changed discussion status to
closed