오류 해결 과정

ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process has terminated: CUDA error\""}

필만이 2024. 7. 24. 10:42

배경

로컬에서 언어모델 돌리는데,자꾸 실패함.
문제는 재부팅하고 초기에는 돌아갈때도 있음.

오류 내용

ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process has terminated: CUDA error""}

과정

  1. 구글에는 자료가 정말 거의 없었다.
  2. GPT에서는 메모리 문제 라고 나와, 처음에는 RAM 을 조절. llm이 동작하는 운영체제의 RAM을 더 할당함
  3. 똑같은 방식으로 실패함.
  4. 현재 언어모델 EEVE-Korean-10.8B로 7.7기가 (용량이 더 작은 언어모델 llama3 다운받아 테스트 해봄)
  5. 결과 llama3만 동작, 재부팅하고 초반에는 EEVE-Korean-10.8B도 동작하나, 다른 프로세스 동작해 ram 차지하면 안되는듯
  6. 문제가 ram이 아닌 GPU의 vram인지 정확한 구분이 필요. llm 동작시 사용량을 체크
  7. RAM의 사용량은 변화가 없고(도커 사용중이라 원래 저정도는 먹는다), VRAM이 치솟으며 중단되고, 사용떨어짐
  8. 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을 공부하자. 명분이 된다.