RTX 4090 한 장으로 QLoRA 미세조정과 vLLM 배포를 익히는 핸드북

V2EX3일 전

머신러닝 배경 없이 LoRA 계열 미세조정을 처음부터 끝까지 따라 해보려는 개발자를 겨냥한 오픈소스 핸드북이 공개됐다. 저장소 이름은 llm-lora-tutorial이며, 소비자용 그래픽카드 한 장인 RTX 4090 환경에서 데이터 준비부터 QLoRA 미세조정, 모델 병합, 서비스 배포까지 한 번에 경험하도록 설계됐다. MIT 라이선스로 배포되며 GitHub 저장소와 별도의 온라인 열람 페이지를 함께 제공한다.

분량은 본문 9장에 부록 5개다. 개념 정리에서 출발해 학습 데이터 구성, GPU 대여, 학습 실행, 모델 병합과 내보내기, 서비스 배포, 성능 평가, 오류 대응까지 순서대로 밟는다. 본문은 중국어, 영어, 일본어, 한국어 전환을 지원해 언어 때문에 진입이 막히지 않도록 했다.

실습은 곧바로 실행되는 노트북 형태다. LoraConfig, SFTTrainer, trainer.train() 같은 핵심 API가 코드 셀에 그대로 드러나 있고, 각 셀 아래에는 해당 코드가 무슨 일을 하는지, 왜 필요한지, 실행하면 어떤 결과가 보이는지가 적혀 있다. 1에폭 학습은 약 72스텝 규모로 잡혀 있다. 예제 데이터셋은 사실 카드 60장과 학습·검증·테스트용 대화 500·50·50개로 구성되며, 주제별로 분리돼 있고 각 필드의 의미를 설명하는 예시가 붙어 있다.

연습 과제는 초등학생의 과학 질문에 중국어로 답하는 것이다. 대화 스타일이 뚜렷해 미세조정 전과 후의 차이를 눈으로 확인하기 쉽다는 이유에서 골랐다고 저자는 설명한다.

학습에서 멈추지 않고 배포로 이어진다. 어댑터를 저장하고 다시 불러오는 절차, BF16으로 병합하는 단계, vLLM으로 OpenAI 호환 API를 띄우는 과정, 서비스에 어댑터를 붙이는 방법, OpenAI SDK로 스트리밍 호출하는 예제가 모두 담겼다. vllm bench serve를 이용한 부하 테스트 항목도 포함된다. 문서에 실린 명령과 부록 코드, 배포 예시는 실제 코드와 글자 단위로 대조해 문서는 읽히는데 코드가 돌지 않는 상황을 줄이려 했다고 한다.

기존 LoRA 튜토리얼은 머신러닝 지식을 전제로 하거나 완성된 코드 조각만 던져주는 경우가 많다. 학습이 돌아가도 VRAM이 어디에 쓰이는지, 결과 파일이 어디에 남는지, 이 단계가 성공한 것인지 판단하기 어렵다는 불만이 꾸준히 제기돼 왔다. 이 핸드북은 그 간극을 메우려는 시도로, 백엔드·프론트엔드·클라이언트·데이터 개발 등 분야를 가리지 않고 대상 독자를 설정했다.

실무적으로는 단일 소비자용 GPU로 파인튜닝과 서빙을 한 사이클 끝까지 돌려볼 수 있다는 점이 의미가 있다. 특히 OpenAI 호환 API 형태로 배포하는 구간은 기존 코드베이스를 크게 고치지 않고 자체 모델로 갈아끼우는 경로를 보여준다.

저자는 미세조정이 잘 다듬은 프롬프트 기반 베이스라인보다 항상 우수하다고 보장하지 않는다. 어느 쪽이 유리한지는 독자가 직접 비교해 확인해야 할 몫이라는 입장이다. 첫 장문 문서인 만큼 오류 가능성도 열어두고 이슈 제보를 받고 있다.