배경
로컬에서 언어모델 돌리는데,자꾸 실패함.
문제는 재부팅하고 초기에는 돌아갈때도 있음.
오류 내용
ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process has terminated: CUDA error""}
과정
- 구글에는 자료가 정말 거의 없었다.
- GPT에서는 메모리 문제 라고 나와, 처음에는 RAM 을 조절. llm이 동작하는 운영체제의 RAM을 더 할당함
- 똑같은 방식으로 실패함.
- 현재 언어모델 EEVE-Korean-10.8B로 7.7기가 (용량이 더 작은 언어모델 llama3 다운받아 테스트 해봄)
- 결과 llama3만 동작, 재부팅하고 초반에는 EEVE-Korean-10.8B도 동작하나, 다른 프로세스 동작해 ram 차지하면 안되는듯
- 문제가 ram이 아닌 GPU의 vram인지 정확한 구분이 필요. llm 동작시 사용량을 체크
- RAM의 사용량은 변화가 없고(도커 사용중이라 원래 저정도는 먹는다), VRAM이 치솟으며 중단되고, 사용떨어짐
- llama3의 경우 치솟았지만, 아슬아슬하게 통과, 나머지 두개는 실패
결론
언어모델을 학습하기 위해 높은 VRAM이 필요하다.
사양 | RTX 4090 | RTX 4080 16GB | RTX 4070 Ti | RTX 4070 | RTX 4060 Ti | RTX 4060 |
---|---|---|---|---|---|---|
아키텍처 | Ada Lovelace | Ada Lovelace | Ada Lovelace | Ada Lovelace | Ada Lovelace | Ada Lovelace |
CUDA 코어 | 16,384 | 9,728 | 7,680 | 5,888 | 4,864 | 3,584 |
베이스 클럭 | 2.23 GHz | 2.21 GHz | 2.31 GHz | 1.92 GHz | 2.31 GHz | 1.83 GHz |
부스트 클럭 | 2.52 GHz | 2.51 GHz | 2.61 GHz | 2.47 GHz | 2.54 GHz | 1.78 GHz |
VRAM | 24 GB GDDR6X | 16 GB GDDR6X | 12 GB GDDR6X | 12 GB GDDR6X | 8 GB GDDR6 | 8 GB GDDR6 |
메모리 인터페이스 | 384-bit | 256-bit | 192-bit | 192-bit | 128-bit | 128-bit |
메모리 대역폭 | 1,008 GB/s | 720 GB/s | 504 GB/s | 504 GB/s | 288 GB/s | 288 GB/s |
TDP (전력 소모) | 450W | 320W | 285W | 200W | 160W | 115W |
가격 (출시가) | $1,499 | $1,199 | $799 | $599 | $399 | $329 |
대체로 3080, 3090, 4080 , 4090 같이 뒷 숫자가 높은 경우 VRAM 이 높다.
그리고 AI용 그래픽카드의 경우에 90대 보다 VRAM이 훨씬 큰것이 장점이다.
성능(CUDA코어 수) 자체가 좋다기 보다 VRAM이 크다.
AI용 그래픽카드는 비싼편이라 대안으로 3090, 4090 같은걸 2~4개 씩 배치해 병렬 그래픽 카드로 구성하기도 한다.
그러니까 컴퓨터을 사고 싶으면 LLM을 공부하자. 명분이 된다.
'오류 해결 과정' 카테고리의 다른 글
캐시 생성 에러 (module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap') (0) | 2024.08.22 |
---|---|
LLM 프로젝트에서 저장되는 로그의 용량이 너무 큰 문제 (0) | 2024.08.21 |
험난했던 원격 실행 도전기(PsExec,WinRMOperator) (0) | 2024.07.15 |
가상 환경 활성화 후 스크립트 실행 시 오류 (0) | 2024.07.10 |
ChromeDriver 'DevToolsActivePort' 오류 해결: --no-sandbox 옵션의 중요성 (0) | 2024.07.07 |