AMD ROCm WSL2 설치: 로컬 AI 개발 환경 구축의 시작
최근 인공지능(AI) 기술의 발전 속도가 눈부십니다. 특히 오픈 소스 모델들의 등장으로 로컬 환경에서 AI 모델을 직접 구축하고 실험하는 것이 더욱 중요해지고 있습니다. AMD GPU 사용자라면 ROCm(Radeon Open Compute platform)을 통해 이러한 로컬 AI 개발 환경을 구축할 수 있습니다. 하지만 ROCm은 리눅스 환경에 최적화되어 있어 윈도우 사용자에게는 다소 생소할 수 있습니다.
이 글에서는 윈도우 환경에서 WSL2(Windows Subsystem for Linux 2)를 활용하여 AMD ROCm을 설치하고, 이를 기반으로 Wan 2.1, CogVideoX와 같은 최신 AI 모델을 로컬에서 구축하는 방법을 전문가 수준으로 상세하게 안내합니다. 복잡한 설정 과정을 명확하게 이해하고, 안정적인 AI 개발 환경을 구축하는 데 필요한 모든 정보를 제공할 것입니다.
WSL2 환경 설정: ROCm 설치를 위한 필수 단계
ROCm은 리눅스 기반의 라이브러리 및 도구 모음이므로, 윈도우에서 이를 사용하기 위해서는 WSL2 환경을 제대로 설정하는 것이 선행되어야 합니다. WSL2는 윈도우 내에서 리눅스 커널을 직접 실행하여 기존 WSL1보다 훨씬 뛰어난 성능과 호환성을 제공합니다.
1. WSL2 설치 및 Ubuntu LTS 버전 선택
가장 먼저 윈도우에 WSL2를 설치해야 합니다. 윈도우 10 버전 2004 이상 또는 윈도우 11을 사용하고 있다면, 관리자 권한으로 PowerShell 또는 명령 프롬프트를 열고 다음 명령어를 실행하여 WSL 설치를 간편하게 진행할 수 있습니다.
wsl --install
이 명령은 기본적으로 Ubuntu LTS(Long Term Support) 버전을 설치합니다. ROCm은 특정 Ubuntu LTS 버전에 최적화되어 있으므로, 공식 ROCm 문서를 참고하여 호환되는 LTS 버전을 선택하는 것이 중요합니다. 현재(2023년 기준) ROCm 5.x 버전은 Ubuntu 20.04 LTS 또는 22.04 LTS에서 가장 안정적으로 작동합니다. 만약 다른 LTS 버전을 설치하고 싶다면, Microsoft Store에서 원하는 Ubuntu 버전을 검색하여 설치할 수 있습니다.
2. WSL2 기본 리눅스 배포판 설정 및 업데이트
wsl --install 명령을 실행하면 기본적으로 Ubuntu가 설치되고 실행됩니다. 설치 후에는 반드시 시스템을 최신 상태로 업데이트해야 합니다.
sudo apt update && sudo apt upgrade -y
이 명령어는 패키지 목록을 업데이트하고 설치된 모든 패키지를 최신 버전으로 업그레이드합니다. -y 옵션은 모든 확인 질문에 자동으로 ‘yes’로 응답하여 설치 과정을 자동화합니다.
3. GPU 드라이버 설치: ROCm 호환성 확인
ROCm은 AMD GPU와 상호작용하기 위한 드라이버 및 라이브러리를 포함하지만, WSL2 환경에서는 윈도우 호스트 시스템의 GPU 드라이버 또한 중요합니다. WSL2는 GPU 가상화를 통해 호스트 GPU에 접근하므로, 윈도우에 최신 AMD Radeon 드라이버가 설치되어 있어야 합니다.
- AMD 공식 드라이버 다운로드: AMD 웹사이트에서 사용 중인 GPU 모델에 맞는 최신 드라이버를 다운로드하여 설치합니다.
- WSL2 GPU 지원 확인: WSL2에서 GPU를 사용하기 위해서는 “WSLg”와 같은 추가 설정이 필요할 수 있습니다. 최신 윈도우 버전에서는 기본적으로 지원되지만, 간혹 추가 설정이 필요할 경우 Microsoft의 공식 문서를 참고하십시오. (예: WSL에서 GPU 컴퓨팅 사용)
주의: WSL2에서 ROCm을 설치할 때, 윈도우 호스트 드라이버와 ROCm 자체 드라이버 간의 호환성 문제가 발생할 수 있습니다. ROCm 공식 설치 가이드에서 권장하는 윈도우 드라이버 버전을 확인하는 것이 좋습니다.
AMD ROCm 공식 설치: WSL2 환경에 GPU 지원 활성화
이제 본격적으로 WSL2 환경에 AMD ROCm을 설치할 차례입니다. ROCm 설치는 공식 설치 스크립트를 사용하는 것이 가장 권장되는 방법이며, 이를 통해 대부분의 의존성 문제를 해결할 수 있습니다.
1. ROCm 설치 스크립트 다운로드 및 실행
AMD ROCm 공식 GitHub 저장소에서 제공하는 설치 스크립트를 사용합니다. 먼저, 저장소를 클론하거나 설치 스크립트 파일을 다운로드합니다.
git clone https://github.com/ROCm/ROCm-Installers.git
cd ROCm-Installers
설치 스크립트를 실행하기 전에, requirements.txt 파일을 확인하여 필요한 Python 패키지를 설치합니다.
pip install -r requirements.txt
그 다음, ROCm 설치 스크립트를 실행합니다. 설치 스크립트는 사용자의 시스템 환경을 감지하고 필요한 컴포넌트를 설치합니다.
sudo ./rocm_install.sh --usecase amd --production # 또는 --develop 옵션 사용
--usecase amd: AMD GPU를 사용함을 명시합니다.--production: 안정적인 프로덕션 환경을 위한 설치를 진행합니다.--develop: 개발 환경을 위한 설치를 진행하며, 추가적인 디버깅 도구 등이 포함될 수 있습니다.
중요: 설치 스크립트는 다양한 옵션을 제공합니다. --help 옵션을 사용하여 사용 가능한 모든 옵션을 확인하고, 자신의 환경에 맞는 옵션을 선택하는 것이 좋습니다. 특히 --no-dkms 옵션은 커널 모듈 빌드를 건너뛰는데, WSL2 환경에서는 종종 이 옵션이 필요할 수 있습니다.
2. ROCm 컴포넌트 설치 확인
설치가 완료되면, ROCm이 제대로 설치되었는지 확인해야 합니다. 다음 명령어를 통해 ROCm 버전 정보를 확인할 수 있습니다.
rocminfo
rocminfo 명령어는 시스템에 설치된 AMD GPU 정보와 ROCm의 상태를 출력합니다. 오류 없이 GPU 정보가 출력된다면 ROCm 설치가 성공적으로 완료된 것입니다.
또한, ROCm에 포함된 샘플 코드들을 컴파일하고 실행하여 GPU가 정상적으로 작동하는지 테스트해볼 수 있습니다.
cd /opt/rocm/example/matrix_multiplication
make
./matrix_multiplication
이 테스트를 통해 GPU 컴퓨팅 기능이 정상적으로 활성화되었는지 확인할 수 있습니다.
3. 환경 변수 설정
ROCm 라이브러리 및 실행 파일에 접근하기 위해 환경 변수를 설정해야 합니다. 일반적으로 ~/.bashrc 또는 ~/.profile 파일에 다음 내용을 추가합니다.
echo 'export ROCM_PATH=/opt/rocm' >> ~/.bashrc
echo 'export PATH=$PATH:$ROCM_PATH/bin' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROCM_PATH/lib' >> ~/.bashrc
source ~/.bashrc
환경 변수를 설정한 후에는 source ~/.bashrc 명령을 실행하여 변경 사항을 즉시 적용하거나, WSL 터미널을 재시작합니다.
최신 AI 모델 구축: Wan 2.1 및 CogVideoX 예시
ROCm이 성공적으로 설치되었다면, 이제 이를 활용하여 다양한 AI 모델을 로컬 환경에서 구축하고 실행할 준비가 된 것입니다. 여기서는 최근 주목받는 모델인 Wan 2.1과 CogVideoX를 예시로 들어 설명합니다.
1. Wan 2.1 설치 및 실행
Wan 2.1은 텍스트-이미지 생성 모델로, Stable Diffusion과 유사하지만 더 나은 성능과 제어 기능을 제공하는 것을 목표로 합니다. Wan 2.1을 ROCm 환경에서 실행하기 위해서는 PyTorch와 같은 딥러닝 프레임워크를 ROCm 지원 버전으로 설치해야 합니다.
1.1 PyTorch ROCm 버전 설치
PyTorch 공식 웹사이트에서 ROCm 지원 빌드를 다운로드하거나, pip를 사용하여 설치할 수 있습니다.
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2 # ROCm 버전에 맞춰 URL 수정
참고: PyTorch ROCm 빌드는 특정 ROCm 버전과 호환됩니다. 설치하려는 PyTorch 버전과 ROCm 버전에 맞는 설치 명령을 PyTorch 공식 웹사이트에서 확인하십시오.
1.2 Wan 2.1 코드 다운로드 및 설정
Wan 2.1의 GitHub 저장소에서 코드를 다운로드합니다.
git clone <Wan 2.1 GitHub Repository URL>
cd <Wan 2.1 Directory>
필요한 Python 라이브러리를 설치합니다.
pip install -r requirements.txt
1.3 모델 가중치 다운로드
Wan 2.1 모델의 학습된 가중치(weights)를 다운로드해야 합니다. 보통 모델 저장소의 README 파일에 다운로드 링크나 방법이 안내되어 있습니다. 다운로드한 가중치 파일을 지정된 경로에 배치합니다.
1.4 텍스트-이미지 생성 실행
설정이 완료되면, 제공된 스크립트를 사용하여 텍스트 프롬프트를 입력하고 이미지를 생성할 수 있습니다.
python generate.py --prompt "A majestic cat wearing a crown, digital art" --output output.png
이때, 모델이 GPU를 사용하도록 설정되어 있는지, 그리고 ROCm이 제대로 인식되고 있는지를 확인하는 것이 중요합니다.
2. CogVideoX 설치 및 실행
CogVideoX는 텍스트-비디오 생성 모델로, 텍스트 설명을 기반으로 짧은 비디오 클립을 생성합니다. CogVideoX 역시 ROCm 환경에서 실행하기 위해 PyTorch와 같은 프레임워크의 ROCm 지원이 필수적입니다.
2.1 CogVideoX 코드 및 종속성 설치
CogVideoX의 GitHub 저장소에서 코드를 클론하고, 요구되는 라이브러리를 설치합니다.
git clone <CogVideoX GitHub Repository URL>
cd <CogVideoX Directory>
pip install -r requirements.txt
2.2 모델 가중치 다운로드
CogVideoX 모델의 사전 학습된 가중치를 다운로드합니다. 이 가중치 파일은 모델의 성능을 결정하는 핵심 요소이므로, 정확한 버전을 다운로드하는 것이 중요합니다.
2.3 비디오 생성 실행
CogVideoX는 텍스트 설명으로부터 비디오를 생성하는 스크립트를 제공합니다.
python generate_video.py --text "A dog chasing a ball in a park" --output my_video.mp4
이 과정에서 GPU 메모리 사용량, 생성 속도 등을 모니터링하며 ROCm이 효율적으로 작동하는지 확인합니다.
팁: 대규모 AI 모델을 실행할 때는 GPU 메모리(VRAM)가 충분한지 확인하는 것이 매우 중요합니다. 모델 크기, 배치 사이즈(batch size), 이미지/비디오 해상도 등에 따라 필요한 VRAM 용량이 달라집니다.
문제 해결 및 성능 최적화
ROCm 설치 및 AI 모델 실행 과정에서 다양한 문제가 발생할 수 있습니다. 일반적인 문제와 해결 방법, 그리고 성능 최적화 팁을 소개합니다.
1. 일반적인 문제 해결
rocminfo에러:- 원인: 드라이버 미설치, 잘못된 ROCm 버전 설치, 환경 변수 미설정.
- 해결: 윈도우 호스트의 AMD 드라이버 최신 버전 설치, ROCm 설치 스크립트 재실행 (호환되는 버전 확인), 환경 변수 재설정.
- PyTorch ROCm 인식 실패:
- 원인: PyTorch ROCm 빌드와 설치된 ROCm 버전 불일치, CUDA 관련 종속성 충돌 (ROCm은 CUDA와 호환되지 않음).
- 해결: PyTorch 공식 웹사이트에서 호환되는 ROCm 버전용 빌드 확인 및 재설치.
pip uninstall torch후 재설치. - AI 모델 실행 중 메모리 부족:
- 원인: GPU VRAM 부족.
- 해결: 배치 사이즈(batch size) 축소, 모델 입력 해상도 낮추기, 모델 양자화(quantization) 적용, 더 큰 VRAM을 가진 GPU 사용.
- 성능 저하:
- 원인: CPU 병목 현상, 잘못된 ROCm 컴파일 옵션, 비효율적인 데이터 로딩.
- 해결: CPU 사용률 모니터링, ROCm 컴파일 시 최적화 옵션 사용, 데이터 로딩 파이프라인 개선.
2. 성능 최적화 팁
HIP사용: ROCm은 CUDA API와 유사한 HIP(Heterogeneous-compute Interface for Portability) API를 제공합니다. PyTorch, TensorFlow 등 주요 딥러닝 프레임워크는 HIP를 지원하므로, 이를 통해 CUDA 코드를 ROCm으로 쉽게 포팅할 수 있습니다.- 컴파일 최적화: ROCm 컴파일러(
hipcc)는 다양한 최적화 옵션을 제공합니다.--O3와 같은 최적화 레벨을 사용하거나, 특정 GPU 아키텍처에 맞는 컴파일 옵션을 설정하여 성능을 향상시킬 수 있습니다. - 병렬 처리 활용: 멀티 GPU 환경이나, CPU와 GPU를 함께 활용하는 연산에서 병렬 처리 전략을 잘 설계하면 성능을 크게 높일 수 있습니다.
- 최신 ROCm 버전 사용: AMD는 지속적으로 ROCm을 업데이트하며 성능 개선 및 버그 수정을 진행합니다. 가능하다면 최신 안정화 버전을 사용하는 것이 좋습니다.
결론: WSL2와 ROCm으로 강화된 로컬 AI 개발 환경
WSL2와 AMD ROCm을 결합하면 윈도우 환경에서도 강력한 로컬 AI 개발 및 실험 환경을 구축할 수 있습니다. 이 가이드에서는 WSL2 설정부터 ROCm 설치, 그리고 Wan 2.1 및 CogVideoX와 같은 최신 AI 모델을 구동하는 방법에 이르기까지 전문가 수준의 정보를 상세하게 다루었습니다.
핵심 요약:
- WSL2 설정: 윈도우에 WSL2를 설치하고 Ubuntu LTS 버전을 최신 상태로 업데이트합니다.
- ROCm 설치: AMD 공식 설치 스크립트를 사용하여 WSL2 환경에 ROCm을 설치하고,
rocminfo로 정상 작동을 확인합니다. - AI 모델 구축: ROCm 지원 PyTorch를 설치하고, Wan 2.1, CogVideoX 등 원하는 AI 모델의 코드를 다운로드하여 실행합니다.
- 문제 해결 및 최적화: 발생 가능한 문제에 대한 해결책을 숙지하고, 성능 최적화 팁을 활용하여 개발 효율을 높입니다.
이 가이드가 여러분의 로컬 AI 개발 여정에 든든한 기반이 되기를 바랍니다. 이제 여러분의 AMD GPU를 최대한 활용하여 창의적인 AI 프로젝트를 시작해 보세요.
EXTERNAL_LINKS: AMD ROCm Documentation, PyTorch for ROCm, WSL GPU Computing