이 글은 머신러닝을 공부하면서 cursor AI, chat gpt, Grok, perplexity 등에게 배운 내용을, 나처럼 개노가다 하지 않기를 바라는 마음에서 정리한 것입니다. 모쪼록 도움이 되기를 바래 봅니다. 머신러닝이란게 수행 당시의 버전들에 민감하니 하드웨어 사양과 함께 먼저 자신에게 맞는지 확인 바랍니다.
이 글은 2025년 9월 10일에 작성했음.
작업했던 PC사양
OS : MS Windows 11 pro, 10.0.26100 빌드 26100, x64 기반
CPU : AMD Ryzen 7 7800X3D
GPU : Geforce RTX 4070 Ti Super VRam16G
DRAM : 32G
0. Vllm 이란? 대규모 언어 모델(LLM)의 추론과 API 서빙을 고속·메모리 효율적으로 지원하는 오픈소스 라이브러리다. 뭐 속도를 높여주고, 어쩐다 어쩐다 했지만, 결국 Vram이 딸려서 "openai/gpt-oss-20b"이 돌아가지 않아 KV캐시 메모리 문제를 해결하여 메모리 사용률을 높였기 때문에, 적은 메모리 공간에서도 돌아갈지 모른다는 얘기*(cursor AI 출처)가 있어서 작업을 시작해 보았다. 결과적으로는, 별짓 다해 봤지만, 실패였다. 다음엔 하드웨어에서 만만한 DRAM을 업그레이드해서 시도해 볼꺼다.
1. 작업 환경 구축
1-1. Vllm을 anaconda 환경에서 바로 적용해 보았으나, 1차 실패. 검색 결과, 'Vllm은 linux 환경에서 검증된 놈으로 windows 환경에서는 지원이 잘 안될 수도 있다' 라는 말을 하더라고. 그래서 알아보니, WSL2 (Windows에서 리눅스 환경을 네이티브처럼 사용할 수 있게 해주는 하위 시스템(Windows Subsystem for Linux)의 두 번째 버전으로, 실제 리눅스 커널을 포함한 경량화된 가상 머신 기반 기술이다.) 기반으로 하면 된다고 하더라고.
대충 구조는 다음과 같데.

자, 그럼 순서대로 해보자
1.2 Windows NVIDIA 드라이버 최신화
https://www.nvidia.com/en-us/drivers/
Download The Latest Official NVIDIA Drivers
Download the latest official NVIDIA drivers to enhance your PC gaming experience and run apps faster.
www.nvidia.com

여기서, Find를 누르면, Game용이나 Studio Drivers냐를 선택해야 하는데, 머신러닝이니깐 후자를 선택하면 된다. 여기서 무조건 건 최신 사양으로 설치하면 된다고. 닥치고 깔기.
1.3 Windows CUDA Toolkit 설치하기
먼저, 꼭 windows 용 툴킷을 설치하는거야. linux용은 이따가 또 해. 여기에 가면, Latest Releases에 CUDA Toolkit 13.0(숫자는 항상 최신버전으로 다를 수 있음)를 클릭해봐. 그럼 다운로딩 페이지로 이동해. 하지만 우린, 최신버전을 깔지 않아. Vllm이 가장 검증되고, 버그 픽스가 잘된 건 12.1 버전이래. 그러니깐 좀 지난 버전을 설치해야해. Resources 에 보면 Archive of Previous CUDA Releases를 클릭해봐. 그럼 예전 항목들이 나오고, 거기서 12.1 버전을 선택하면, 그 버전을 다운받을 수 있어. 여기서 각자에 맞게 선택하고 다운받아서 설치하길 바래.

1.4 WSL2 설치하기
window키 + X를 눌러봐. 그럼 Terminal(Admin)또는 터미널(관리자) 항목이 있을꺼야. 이게 앞으로 말 할 windows powershell을 관리자 권한으로 실행하는거야. 도스창 같은거 하나 뜰꺼야. 거시서 wsl2 버전을 확인해보자.
PS C:\Users\lean1me> wsl --version
Linux용 Windows 하위 시스템 설치되어 있지 않습니다. 'wsl.exe --install'을 실행하여 설치할 수 있습니다.
자세한 내용은 https://aka.ms/wslinstall\ 참조하세요.
Linux용 Windows 하위 시스템 설치하려면 아무 키나 누르세요. CTRL-C 누르거나 이 창을 닫아 취소하세요.
난, 이렇게 뜨더라. 그래서 아무키나 눌렀더니 자기가 막 깔아. 이건
wsl --install
를 실행 한 것과 같아. 설치 버전이 안나오는데 자동으로 안깔아주면 wsl --install 를 입력해서 스스로 설치해. 그러고 똑같이 버전을 확인했더니, 이젠 다음과 같이 나오더라
WSL 버전: 2.5.10.0
커널 버전: 6.6.87.2-1
WSLg 버전: 1.0.66
MSRDC 버전: 1.2.6074
Direct3D 버전: 1.611.1-81528511
DXCore 버전: 10.0.26100.1-240331-1435.ge-release
Windows 버전: 10.0.26100.4946
자동으로 최신 버전으로 깔아줬어. 그럼 된거야. 근데, 혹 버전을 확인했더니, 버전이 나와. 그럼 예전 버전일 수 있으니, 업그레이드를 꼭 해. grok에게 물어봤더니, 업그레이드는 해도 손해는 아니래.
wsl --update
* 설치명령어와 업데이트 명령에서 windows10 특정 버전은 진행이 안되고, 계속 0%라고 나오는 경우가 있던데, window11로 업그레이드하자. 이럼 아무리 해봐야 안되더라고.
Wsl은 결국 window에서 리눅스 환경을 가상머신 처럼 만들어 준거야. 리눅스 환경을 쓸 준비가 된거지.
자 그럼, 모두 2.x의 버전이 설치되었을 거라 믿고, 다음으로 넘어가자.
그럼 다음은 뭘까? 아까 windows powershell 봤지. 윈도우에 있는 파일, 폴더들을 넘나들며, 프로그램도 설치하고 막 다해. 그걸 linux에서도 해야겠지. 리눅스용 폴더, 파일, 프로그램 설치 등등. 이런 리눅스용 powershell 같은 놈이 Ubuntu 라는 놈이 있어. 이걸 이제 설치할거야.
원래는 wsl 설치하면 같이 설치된다던데, 난 안되더라고. 설치 확인
wsl --list --all

Ubuntu 항목이 나타나면 설치가 되어 있는거야. 난 아무것도 안보이더라. 그럼 뭐 설치해야지. 설치 방법은 두 가지가 있는데, 파워셀에서
wsl --install -d Ubuntu-22.04
명령하거나, 또는 Microsoft Store에가서 22.04.x 로 되어있는 젤 많이 후기 있는 놈으로 설치해. (현재 젤 안정적이래)
잠깐,, 혹 설치하다가 다음과 같은 에러가 나오는 사람 있나?
Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80370114 Error: 0x80370114 ??? ??? ???? ?? ?? ??? ??? ??? ? ????.
난 나왔어. 지지리 복도 없지. 정상 설치된 사람은 넘어가고, 나와 같은 사람은 아래처럼 하면 된데. 1번은 보통 아니더라고. 2번에서 나도 해결했지.
1. BIOS에서 가상화(Virtualization) 활성화 확인
WSL2는 CPU 가상화(Intel VT-x 또는 AMD-V)를 필요로 합니다. 이 기능이 BIOS에서 꺼져 있으면 오류가 발생합니다.
- PC 재부팅 후 BIOS 설정 진입 (부팅 중 F2, Del, F10 등의 키 누름; 제조사별로 다름 – Dell/HP: F2, Lenovo: F1, ASUS: Del).
- BIOS 메뉴에서 "Advanced" 또는 "CPU Configuration" 섹션으로 이동.
- "Intel Virtualization Technology" (Intel CPU) 또는 "SVM Mode" (AMD CPU)를 "Enabled"로 설정.
- 변경 후 저장(F10)하고 재부팅.
- 확인: Windows 작업 관리자(Ctrl+Shift+Esc) > "성능" 탭 > "CPU"에서 "가상화: 사용"으로 표시되는지 확인.
- 주의: BIOS 접근이 어렵다면 PC 제조사 매뉴얼 검색 (예: "Dell BIOS virtualization enable").
2. Windows 기능 활성화 (가장 일반적인 원인)
WSL2를 위해 필요한 "Virtual Machine Platform"과 "Windows Subsystem for Linux" 기능이 꺼져 있을 수 있습니다.
- Windows 검색창에서 "Windows 기능 켜기 또는 끄기" 검색 후 열기.
- 목록에서 다음 항목 체크:
- "Windows Subsystem for Linux" (WSL)
- "Virtual Machine Platform" (VMP)
- "Hyper-V" (Windows 10/11 Pro/Enterprise 에디션에서만; Home 에디션에서는 VMP만으로 충분)
- "플랫폼" 또는 "가상 머신 플랫폼" (이미 체크되어 있으면 재체크).
- "확인" 클릭 후 설치 완료 대기 (재부팅 요구 시 재부팅).
- PowerShell에서 확인 및 재설치:
재부팅 후 wsl --set-default-version 2 실행.powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart - Home 에디션 사용자: Hyper-V가 없으므로 VMP만 활성화. 여전히 오류 시, Microsoft Store에서 "Ubuntu" 재설치 시도.
3. Hyper-V Host Compute Service (vmcompute) 시작
WSL2가 Hyper-V 서비스를 사용하므로 이 서비스가 중지되면 등록이 실패합니다.
- Windows 검색창에서 "서비스" 검색 후 "서비스" 앱 열기.
- 목록에서 "Hyper-V Host Compute Service" (또는 "Hyper-V 호스트 계산 서비스") 찾기.
- 오른쪽 클릭 > "시작" (실패 시 "속성" > 시작 유형을 "자동"으로 변경 > 적용 > 시작).
- 시작 안 될 경우: 명령 프롬프트(관리자)에서 sc start vmcompute 실행.
- 오류 시, Windows Defender나 타사 안티바이러스(예: Avast, Norton)가 차단할 수 있음 – 일시적으로 비활성화 후 재시도.
- 확인: wsl --status 명령어로 WSL 상태 확인.
4. Windows 보안(Exploit Protection) 설정 조정
Windows Defender의 Exploit Protection이 WSL 프로세스를 차단할 수 있습니다.
- Windows 검색창에서 "Windows 보안" 열기 > "앱 및 브라우저 제어" > "활용 보호 설정" 클릭.
- "시스템 설정" 섹션에서 "Control Flow Guard (CFG)"를 "사용 (기본값)"으로 설정.
- "프로그램 설정" 섹션에서 "vmcompute.exe"와 "vmwp.exe" 검색/추가:
- "추가" > "vmcompute.exe" 경로 추가 (일반적으로 C:\Windows\System32\vmcompute.exe).
- "Control Flow Guard (CFG)"를 "사용 안 함" 또는 "기본값 사용"으로 설정.
- "vmwp.exe"도 동일하게 추가 (경로: C:\Windows\System32\vmwp.exe).
- 변경 후 재부팅.
- 주의: 보안 설정 변경은 잠재적 위험 있음 – 완료 후 원상 복구 고려.
하나씩, 바꿔가면서 재설치를 시도해봐. 그럼 될꺼야. 잘 깔렸다면, 위에서 말한 wsl --list --all 명령어로 확인했을 때, 위의 결과처럼 잘 나와야해. 그럼 된거야. 처음 설치하면
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username. Enter new UNIX username:
사용자 이름을 만들어야 하는데, 이건 윈도우의 로그인 계정 만드는 것과 같은 의미야. 리눅스 계정 하나 만드는 거지. ID 아무거나 만들고, 비번 2번 똑같이 입력해. 그럼 된다. 비번은 꼭 기억해. 리눅스에서 설치할 때 권한이 필요하면 비번 종종 물어보거든.
2. 리눅스 환경 설정
2.0 준비
이제부터 할 내용을 하기 전에, 혹시 윈도우즈 기능 활성화(위에 초록색 목록 2번)를 모르고 넘어온 경우가 있을거야. 그럼 보통은 정상 상태일 것인데, 혹시 만에 하나 모를 재수없는 사람들을 위해서, 이 작업을 한번만 하고 2.1로 넘어가면 좋겠어. 윈도우 파워셀에서
wsl --shutdown
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
shutdown /r /t 0
각각, wsl 끝내기, 옵션 켜기 1/2, 재부팅 기능이야. 이럼 확실하게 필요한 옵션은 다 켠거야.
2.1 Ubuntu 실행
이제 비로서 리눅스를 사용할 수 있게 되었어. 이제 작업은 Ubuntu에서 해야 하는데, 그러려면 실행시켜야겠지? 위에서 설치를 했다면, 설치 완료 후 자동으로 터미널이 실행되었을꺼고, 아니라면 실행 방법에 또 2가지가 있어. 첫째는 윈도우 파워셀에서 다음의 명령어를 입력한다.
wsl -d Ubuntu
그럼 커서가 깜빡이는 앞에 나오는 경로 같은 글자가 바뀔거야. 아까 만든 계정과 비번을 요청할 수도 있어. 두번째는, 윈도우 시작에서 ubuntu 앱을 검색하면, 전용 UI 앱으로 띄워서 사용할 수도 있어. 뭐 둘 다 똑같어. 리눅스 터미널이야. 이제부터의 명령어 입력은 이 터미널에서 하는거야.
2.1 Ubuntu 패키지 업데이트
리눅스 홈 디렉토리로 이동 (/home/계정이름/)
cd ~
여기서, pwd를 입력하면 현재 폴더 위치가 나와. 그리고 여기서
explorer.exe .
를 입력하면 현재 폴더를 windows 탐색기로 확인 할 수 있음 (윈도우 탐색기는 ubuntu에서 작업한게 바로바로 갱신이 안되니 수동으로 갱생해줘야, 뭐 새로 만든 폴더나 파일들이 보여)
sudo apt update && sudo apt upgrade -y
2.2 리눅스에서 사용 할 CUDA Toolkit 12.1 설치하기.
아까 위에서 window용 툴킷을 설치했잖아. 리눅스에서도 설치를 해야된데. 그런데 주의할 것은 둘다 같은 버전 12.1을 설치하는 것이고, 여긴 가상머신 위의 리눅스이기 때문에, 특이하게 윈도우용과 리룩스용을 둘 다 사용한다고 하네. 그래서 윈도우용을 이용하는 것은(드라이브) 중복 설치하지 않고, 툴킷만 설치를 해야 오류가 없다고 하니, 집중해서 잘 따라하자.
설치는 아까 윈도우용 설치 사이트에서 리눅스 버전으로 하면 된다는데, 그런거 다 필요없고, 다음과 같이 명령어를 입력해야해.
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
대충, 파일 다운받고, 이동하고, 패키지 깔고 뭐 하는거임. 자 여기서 마지막 실행한 결과를 잘 봐. 그럼 아래처럼 명령어를 추천해줘
숫자숫자들이 아마 보일텐데 그건 바뀌는 거라. 잘 보고 카피해서 아래 명령을 잘 만들어서 실행하면 된다. 숫자숫자들에 들어갈 숫자를 위 명령어 수행 결과에서 잘 찾아 너가 바꿔치기 하라는 거야. 이해됨?
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-숫자숫자들-keyring.gpg /usr/share/keyrings/
그리고 아래까지 실행
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-1
설치 끝~~
참고로 설치 확인는
nvcc --version
결과는 대충
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr_10_19:23:44_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
설치는 했으니, 설치된 툴킷의 경로를 환경 변수로 등록하자.
echo 'export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc
고민할 필요 없어. 그대로 하면 되더라고. .bashrc 파일은 루트 폴더에 있어. 그 파일에 에코 내용을 써주는 거야. 그럼 로그인할 때마다 읽고, 환경을 잡아줘. 알았지?
2.3 가상 환경 만들기
아나콘다를 사용해 본 사람들은 알겠지. 파이썬은 오픈 소스라, 연계된 라이브러리들의 파이썬 자체도 계속 버전업이 되어서, 특정 버전에서만 되는 경우가 많아. 그래서, 그런 버전 환경들을 따로 관리하기 위해서 환경을 만들고 리스트로 관리할 수 있어. 똑같어 리눅스도. 그래서 이번엔 내 목표인 vllm 사용 환경을 만들어 볼꺼야. 이름은 내 맘대로 vllm_env 로 잡았어.
환경을 만들려면 파이썬을 먼저 깔아야 하더군.
sudo apt install -y build-essential git curl wget ca-certificates
python3 --version || sudo apt install -y python3
python3 -m pip --version || sudo apt install -y python3-pip
그리고, 환경 생성 및 환경으로의 진입
python3 -m venv ~/venvs/vllm_env
source ~/venvs/vllm_env/bin/activate
설치 프로그램도 필요하니
pip install --upgrade pip wheel setuptools
이럼, 커서 앞에 (vllm_env) 가 하나 더 보일거야. vllm_env 으로 활성화 되어 진입했다는 거야. 이 상태에서 이제 너가 깔고 싶은거 다 하면 되. 난 vllm 써야 하니깐..
툴킷에 맞는 토치도 깔고 vllm도 깔고
pip install --index-url https://download.pytorch.org/whl/cu121 torch torchvision torchaudio
pip install vllm
다 했어. 이제 vllm 이 잘 작동하는지 간단 실행 테스트
가벼운 모델(만만한 거. huggingface에 있는 것 찾음)
python -m vllhttp://m.entrypoints.openai.api_server --model Qwen/Qwen2.5-0.5B-Instruct --dtype bfloat16 --port 8000
API 서버가 열렸다고 문구가 뜨면 대장정의 막이 내린거야. 성공한거야. 혹, 실패하였다면, 나도 몰라. AI의 도움을 받아봐.
참고고, 서버를 종료하는 건
ps aux | grep vllm
kill <PID>
kill -9 <PID> # 강제 종료
여기까기 오느라 고생 많았어. 토닥토닥..
ps. 기타 ---------
필요시 설치
pip install transformers accelerate
pip install datasets tokenizers
cursor 실행하기
cursor .
'머신러닝' 카테고리의 다른 글
| 005. Whisper & Wiki 를 docker / fastapi 사용하기 (0) | 2025.09.29 |
|---|---|
| 004. Nemo Docker에 띄우기 (0) | 2025.09.22 |
| 000. 유용한 정보 (0) | 2025.09.18 |
| 003. OpenVoice 설치 및 내 목소리로 음성 만들기 (0) | 2025.09.17 |
| 002. Docker 설치 및 SearXNG 올리기 (0) | 2025.09.15 |