핵심 요약
AMD Strix Halo iGPU(Vulkan)와 NVIDIA eGPU(CUDA)를 분리된 백엔드로 설정하여, 대규모 MoE 텍스트 모델과 고성능 비전 모델을 동시에 구동하는 최적화 방법을 제시한다.
배경
AMD Ryzen AI Max+ (Strix Halo) 시스템에서 내장 그래픽의 ROCm 연산 오류와 Vulkan의 비전 모델 데이터 손상 문제를 해결하기 위해, Ollama와 llama.cpp를 별도 프로세스로 분리하여 하이브리드 GPU 환경을 구축했다.
의미 / 영향
이 토론은 이종 GPU(AMD iGPU + NVIDIA eGPU) 환경에서 각 하드웨어의 강점을 극대화하는 실질적인 아키텍처를 제시했다. 환경 변수를 통한 정밀한 자원 격리가 로컬 LLM 성능 최적화의 핵심임이 확인됐다.
커뮤니티 반응
매우 긍정적이며, AMD iGPU와 NVIDIA eGPU를 혼용하려는 사용자들에게 실질적인 해결책을 제시했다는 평가를 받았다.
주요 논점
01찬성다수
Vulkan은 텍스트 모델에는 적합하지만 비전 모델에는 치명적인 데이터 오염을 일으키므로 백엔드 분리가 필수적이다.
합의점 vs 논쟁점
합의점
- AMD Strix Halo의 ROCm 지원은 현재 불안정하여 실무 사용이 어렵다.
- Vulkan은 이미지 인코딩 과정에서 데이터를 손상시키는 버그가 존재한다.
실용적 조언
- Ollama 실행 시 GGML_VK_VISIBLE_DEVICES=0을 설정하여 NVIDIA GPU가 Vulkan 장치로 잡히는 것을 방지하라.
- 비전 모델은 반드시 CUDA 기반의 llama.cpp 서버를 통해 별도로 구동하라.
- Open WebUI의 멀티 커넥션 기능을 활용하여 두 백엔드를 하나의 인터페이스로 통합하라.
전문가 의견
- Vulkan은 AMD와 NVIDIA GPU 모두에서 비전 모델의 이미지 입력을 오염시키며, 이는 이미지 인코더 단계의 구조적 문제로 판단된다.
언급된 도구
섹션별 상세
AMD Strix Halo iGPU(gfx1151)의 연산 오류 문제에 대해 논의했다. ROCm 환경에서 텍스트 모델 출력 시 쓰레기 값이 생성되는 고질적인 버그와 Vulkan 환경에서 비전 모델의 이미지 데이터가 손상되어 엉뚱한 결과를 내놓는 현상을 확인했다.
Vulkan 백엔드의 비전 모델 처리 한계를 분석했다. NVIDIA RTX 3090 Ti에서도 Vulkan을 사용하면 영수증 이미지를 전혀 다른 내용으로 오인식하는 등 이미지 인코더 단계에서 데이터 오염이 발생하며, 이를 해결하기 위해 CUDA 백엔드 사용이 필수적임을 입증했다.
Ollama의 단일 프로세스 제약 사항을 지적했다. 하나의 Ollama 인스턴스에서는 CUDA와 Vulkan을 동시에 활성화할 수 없으며, 환경 변수 설정에 따라 한쪽 GPU가 비활성화되거나 잘못된 백엔드가 할당되는 충돌 문제가 발생한다.
이중 백엔드 솔루션(Two-Backend Strategy)을 제안했다. iGPU용 Ollama(Vulkan, 포트 11434)와 eGPU용 llama-swap/llama.cpp(CUDA, 포트 11435)를 별도로 실행하여 각각 텍스트 모델과 비전 모델을 전담하게 하는 아키텍처를 구축했다.
환경 변수를 통한 GPU 격리 기법을 상세히 다뤘다. GGML_VK_VISIBLE_DEVICES=0과 CUDA_VISIBLE_DEVICES=-1 설정을 통해 Ollama가 NVIDIA GPU를 건드리지 못하게 하고, 반대로 llama-swap은 CUDA 장치만 인식하도록 격리하는 것이 핵심이다.
하드웨어 구성 및 실측 성능 지표를 공유했다. OCuLink로 연결된 RTX 3090 Ti와 128GB LPDDR5x 램을 갖춘 시스템에서 Llama 4 Scout 모델 기준 약 20-25 tok/s의 추론 속도를 달성했음을 수치로 제시했다.
Windows 환경에서의 실전 설정 자동화 방법을 안내했다. 배치 파일(.bat)을 작성하여 두 백엔드를 동시에 실행하고 Open WebUI에서 두 개의 연결을 통합하여 사용하는 워크플로우를 단계별로 정리했다.
실무 Takeaway
- AMD iGPU의 ROCm 버그를 피하고 텍스트 모델을 정상 구동하려면 Vulkan 백엔드를 사용해야 한다.
- 비전(OCR) 모델은 Vulkan에서 데이터 오염이 발생하므로 반드시 NVIDIA GPU의 CUDA 백엔드를 사용해야 한다.
- GGML_VK_VISIBLE_DEVICES 변수는 Vulkan이 특정 GPU만 사용하도록 강제하여 하드웨어 간 충돌을 방지하는 결정적인 설정이다.
- Ollama와 llama.cpp를 포트를 달리하여 병렬 실행하면 이종 GPU 자원을 100% 활용할 수 있다.
언급된 리소스
GitHubllama.cpp Releases
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료