AI VIDEO BRIEFING
Ollama·Unsloth로 로컬에서 LLM 파인튜닝하기: LoRA·4비트 양자화 실전
Unsloth와 Llama 3.1로 작은 LLM을 텍스트-투-SQL 작업에 파인튜닝하고, Ollama로 내 컴퓨터에서 직접 실행하는 과정을 데이터셋 선택부터 LoRA 어댑터, 4비트 양자화, 모델 파일까지 단계별로 정리했다.

핵심 메시지
쉽게 이해하기
이 영상은 대형 언어 모델을 파인튜닝해 Ollama로 내 컴퓨터에서 직접 돌리는 전 과정을 보여준다. 가장 먼저, 그리고 가장 중요한 단계는 적절한 데이터셋을 찾는 것이다. 수행하려는 작업과 관련성 높은 데이터셋으로 작은 모델을 학습시키면, 오히려 큰 모델을 능가할 수 있기 때문이다. 여기서는 표 데이터를 기반으로 SQL을 생성하는 빠르고 작은 LLM을 만드는데, 10만 5천 건이 넘는 합성 text-to-SQL 데이터셋을 사용한다.
하드웨어는 NVIDIA 4090 GPU에 우분투 환경을 예로 들지만, GPU가 없다면 클라우드에서 학습 코드를 돌릴 수 있는 구글 Colab을 써도 된다. 복잡한 장비가 꼭 필요한 프로젝트는 아니라는 점이 강조된다. 학습 효율화를 위해 Unsloth를 쓰는데, 오픈소스 모델을 약 80% 적은 메모리로 파인튜닝할 수 있게 해준다. 모델은 영어 성능이 뛰어나고 상업·연구용으로 쓸 수 있는 Llama 3.1을 선택한다.
환경 설정은 Anaconda와 CUDA 라이브러리(CUDA 12.1, Python 3.10) 설치로 시작한다. Unsloth가 안내하는 의존성을 설치해 새 환경을 만들고 PyTorch·CUDA 라이브러리와 최신 Unsloth를 넣은 뒤, Jupyter 노트북을 실행해 작업을 진행한다. 노트북에서 Unsloth의 FastLanguageModel을 불러오고, 최대 시퀀스 길이를 2048 토큰으로 설정하며, 4비트 로딩을 켜서 16/32비트 대신 더 적은 비트로 정보를 표현해 메모리 부담을 낮춘다.
이어서 LoRA 어댑터에 해당하는 PEFT 모델을 적용한다. LoRA를 쓰면 모델 전체가 아니라 파라미터의 1~10%만 갱신하면 되므로, 전체 재학습에 드는 막대한 시간·에너지·비용을 아낄 수 있다. 데이터셋은 모델이 이해할 수 있는 형식으로 맞춰야 하는데, Llama 3는 Alpaca 프롬프트 형식을 사용한다. 여기서는 데이터셋에서 SQL과 프롬프트, 생성 코드·설명만 골라 쓰도록 응답 형식을 가공한다.
학습은 Hugging Face의 SFTTrainer(지도 미세조정 트레이너)로 설정한다. 학습 스텝 수(max steps), 결과 재현용 시드(seed), 학습률을 점진적으로 올리는 워밍업 스텝 등 여러 파라미터를 지정하고 실행하면 모델 학습이 끝난다. 이후 로컬에서 Ollama로 돌리려면 적절한 파일 형식으로 변환해야 하는데, Unsloth가 한 줄 명령으로 처리해 준다. 마지막으로 터미널에서 Modelfile을 만들어 시스템 프롬프트(예: 사용자 질의를 받아 SQL을 만들어 주는 생성기)를 넣고 Ollama를 실행하면, 파인튜닝한 모델을 OpenAI 호환 API로 내 애플리케이션에서 쓸 수 있다.
주요 인사이트
- 모델 크기보다 데이터셋의 관련성이 성능을 좌우할 수 있다. 작업에 딱 맞는 데이터로 작은 모델을 학습시키면 큰 모델을 이길 수 있다
- Unsloth와 LoRA, 4비트 양자화를 결합하면 고가의 대형 장비 없이도 개인 PC나 Colab에서 파인튜닝이 가능하다
- LoRA는 전체 파라미터의 1~10%만 갱신하기 때문에, 전체 재학습 대비 시간·비용·에너지를 획기적으로 절약한다
- 데이터셋마다 형식이 다르므로, 모델이 이해하는 프롬프트 형식(예: Llama 3의 Alpaca 형식)에 맞춰 응답을 가공하는 작업이 중요하다
- Ollama의 Modelfile은 도커 파일과 비슷한 설정으로, 파인튜닝한 모델에 시스템 프롬프트를 입혀 로컬에서 손쉽게 서비스화할 수 있게 한다
자주 묻는 질문
작은 모델을 파인튜닝하는 게 왜 가치가 있나?
수행하려는 작업과 관련성이 높은 데이터셋으로 학습시키면, 작고 빠른 모델이 큰 모델을 능가할 수 있기 때문이다. 영상에서는 표 데이터로 SQL을 생성하는 특화 모델을 이렇게 만든다.
GPU가 없어도 파인튜닝을 할 수 있나?
가능하다. 영상은 NVIDIA 4090 GPU를 쓰지만, GPU가 없으면 클라우드에서 학습 코드를 실행할 수 있는 구글 Colab을 사용하면 된다. 이 프로젝트는 복잡한 고성능 장비를 꼭 요구하지 않는다.
LoRA 어댑터를 쓰면 무엇이 좋은가?
전체 모델을 재학습하지 않고 파라미터의 1~10%만 갱신하면 되므로, 학습에 드는 시간·에너지·비용을 크게 줄일 수 있다. Unsloth가 권장 설정과 함께 이를 제공한다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗