
안녕하세요 , 이번 글에서는 AMD GPU를 LM Studio를 이용해 4장으로 묶어 LLM모델들을 설치해보겠습니다. LM Studio는 MacPC에서 LLM을 구동할때 사용했었는데 이번에는 ubuntu 24에서 LM stuidio cli 를 설치하여 잘 되는지 보겠습니다.
1.AMD ROCm설치
- ROCm(Radeon Open Compute)**은 AMD가 만든 GPU 연산 플랫폼으로, NVIDIA 생태계의 CUDA에 대응하는 존재라고 보면 됩니다.
1-1. 패키지 설치 및 확인
|
lsb_release -a # Ubuntu 24.04 확인 apt update |
1-2. amdgpu-install 설치
- AMD는 ROCm 저장소를 직접 apt에 등록하는 대신,
amdgpu-install이라는 설치 스크립트 패키지를 배포합니다.
| wget https://repo.radeon.com/amdgpu-install/7.2.4/ubuntu/noble/amdgpu-install_7.2.4.70204-1_all.deb apt install -y ./amdgpu-install_7.2.4.70204-1_all.deb apt update |
1-3. 커널 헤더 및 드라이버(DKMS)
amdgpu-dkms는 GPU 커널 드라이버를 DKMS(Dynamic Kernel Module Support) 방식으로 설치합니다.
|
apt install -y “linux-headers-$(uname -r)” “linux-modules-extra-$(uname -r)” |
1-4. GPU 접근 권한 그룹 (root가 아닌 계정 사용 시 필요)
| usermod -a -G render,video $LOGNAME |
1-5. ROCm 본체 설치
| apt install -y rocm |
1-6. PATH 설정
|
echo ‘export PATH=$PATH:/opt/rocm/bin’ >> ~/.bashrc |
1-7. 재부팅 (필수)
| reboot |
1-8. 설치 검증
|
rocminfo | g |
2. llmster (LM Studio 헤드리스 데몬) 설치
-
LM Studio는 로컬 환경에서 GGUF 등 양자화된 LLM을 다운로드하고 실행할 수 있게 해주는 도구로, 보통은 데스크탑 GUI(Electron 앱)로 알려져 있습니다. 모델 검색·다운로드·로드·OpenAI 호환 API 서버 구동까지 한 번에 지원해서,
llama.cpp를 직접 컴파일하고 옵션을 맞추는 수고를 덜어줍니다.문제는 이번 서버가 헤드리스(모니터 없음, SSH 전용) 환경이라는 점입니다. Electron GUI 앱은 디스플레이 서버가 필요하므로 그대로 못 씁니다. 이때 쓰는 것이 llmster로, LM Studio의 핵심 기능(모델 관리, 엔진 관리, API 서버)을 GUI 없이 CLI/데몬 형태로 제공하는 헤드리스 버전입니다.
2-1. 설치
|
curl -fsSL https://lmstudio.ai/install.sh | bash lms –help # 확인 lms daemon up # 데몬 기동 |
- GUI 버전에서는 앱을 실행하면 자동으로 뜨는 백그라운드 서비스를, 헤드리스 환경에서는 이렇게 수동으로 띄워줘야 합니다.
3. GPU 런타임(엔진) 설정
- LM Studio/llmster는 내부적으로
llama.cpp를 추론 엔진으로 사용하는데, 이 엔진이 CPU용/Vulkan용/CUDA용/ROCm용 등 여러 빌드로 나뉘어 배포됩니다. 기본 설치 상태는 대개 Vulkan(범용 GPU API) 엔진만 들어있어서, ROCm 전용 엔진으로 직접 바꿔줘야 ROCm 가속을 제대로 받을 수 있습니다.
3-1. 설치된 엔진 목록 확인
| lms runtime ls lms runtime get |
3-2. AMD ROCm 전용 엔진 다운로드
- 목록에서
llama.cpp-linux-x86_64-amd-rocm-avx2@x.x.x항목을 선택해 다운로드합니다.
3-3. ROCm 엔진으로 전환
| lms runtime select llama.cpp-linux-x86_64-amd-rocm-avx2@2.25.2 # 버전은 실제 받은 버전으로 |
3-4. GPU 인식/하드웨어 서베이
| lms runtime survey |
- GPU 목록과 각 카드 VRAM이 정상적으로 나오는지 확인.
4. 성능 프로파일 고정
- 여기가 이번 구축에서 신경 썻던 부분입니다. AMD GPU는 기본적으로
auto전력 모드로 동작하는데, 이 모드에서는 부하가 낮다고 판단되면 GPU 클럭이 idle 수준으로 자주 떨어집니다. 문제는 LLM 추론이 짧은 버스트성 연산의 연속이라, 클럭이 계속 오르내리면서 추론 속도가 최대 3~10배까지 널뛰는 현상이 발생한다는 겁니다. 벤치마크값이 들쭉날쭉해서 원인 파악에 시간을 꽤 썼습니다.
4-1. 재부팅 시 자동 적용 (권장)
| rocm-smi –setperflevel high echo ‘@reboot root rocm-smi –setperflevel high’ | sudo tee -a /etc/crontab |
4-2. 상태 확인용 명령어
| rocm-smi # 온도/전력/사용률 요약 rocm-smi –showclocks –showpower # 클럭/전력 상세 rocm-smi –showmeminfo vram # GPU별 VRAM 사용량 |
5. 모델 관리 명령어
5-1. 모델 검색 및 다운로드 (LM Studio 카탈로그 등록 모델)
| lms get <검색어 또는 publisher/model-name> 아래와 같이 원하는 모델 구동 가능 lms get qwen/qwen3.6-27b lms get llama-3.3-70b |
- quant(양자화) 선택 창이 뜨면 방향키로 원하는 것을 고르면 되고, 목록에 없는 다른 양자화가 필요하면 ‘Change variant selection’에서 선택할 수 있습니다.
5-2. 카탈로그에 없는 모델 (Hugging Face 직접 다운로드)
| mkdir -p ~/.lmstudio/models/<publisher>/<repo-name> cd ~/.lmstudio/models/<publisher>/<repo-name> wget https://huggingface.co/<publisher>/<repo-name>/resolve/main/<파일명>.gguf |
- 대형 모델은 파일이 여러 파트로 쪼개져 배포되는 경우가 많은데, 이때는 Hugging Face 저장소의
tree/main페이지에서 실제 하위 폴더·파일명을 먼저 확인해야 합니다. 모든 파트를 같은 폴더에 받아두면llama.cpp가 자동으로 이어붙여 인식합니다. 다운로드 용량이 크다면 백그라운드로 돌리는 걸 추천합니다. 저같은경우에는 3개파일로 나뉘어진 111G정도의 모델을 돌려보았습니다. 아래의 명령어로 돌리면 백엔드에서 받아지고 다운로드 로그로 진행도를 확인할수있습니다.
| nohup wget <URL> > download.log 2>&1 & tail -f download.log |
5-3. lms 명령어 모음
| lms ls # 설치된 모델 목록 lms load <model-key> # 모델 로드 lms load <model-key> -c 32768 # 컨텍스트 길이 지정 (기본 8192) lms load <model-key> –gpu max # GPU 오프로드 비율 (기본 자동) lms unload <model-key> # 모델 언로드 lms ps # 현재 로드된 모델 상태 lms log stream # 로그 실시간 확인 |
이상입니다.
이 글은 본인의 실제 경험과 학습을 기반으로 직접 작성하였으며, AI는 참고용(이미지 생성)으로만 활용하였습니다.





