AI VIDEO BRIEFING

오픈소스 LLM 파인튜닝 입문 - 분류 파인튜닝 3가지 방식과 LoRA로 비용을 줄이는 법

세바스찬 라시카가 정리한 오픈소스 LLM 파인튜닝 입문 강연. 분류용 파인튜닝 세 가지 방식의 정확도 차이부터 지시 파인튜닝, LoRA의 행렬 분해 원리, 실제 학습 시간과 GPU 메모리 절감 수치까지 차례로 짚는다.

GPU 6장 9시간이 1장 1시간으로, 오픈소스 LLM 파인튜닝의 실제 영상 대표 이미지

핵심 메시지

  • 사전학습 모델을 쓰는 방법에는 프롬프트를 다듬는 것, 외부 문서를 검색해 붙이는 것, 그리고 파인튜닝이 있으며 이 강연은 세 번째에 집중한다.
  • 분류용 파인튜닝은 임베딩만 뽑아 쓰는 방식, 층 몇 개를 덧붙여 학습하는 방식, 전체 층을 갱신하는 방식으로 나뉘고 비용이 커질수록 정확도가 올라간다.
  • 같은 영화 리뷰 데이터에서 세 방식의 정확도는 각각 75%, 90%, 93%로 갈렸고, 사용된 모델은 수억 개 규모의 작은 모델이었다.
  • LoRA는 큰 가중치 갱신 행렬을 두 개의 작은 행렬로 분해해 학습할 파라미터 수를 크게 줄이는 기법이다.
  • 70억 파라미터 모델 기준으로 전체 파인튜닝은 GPU 6장에 9시간이 걸린 반면, 파라미터 효율적 파인튜닝은 한 시간 남짓에 16~17GB 메모리로 끝났다.

쉽게 이해하기

강연은 대부분의 사람이 LLM을 쓰는 방식, 즉 프롬프트를 넣고 답을 받는 데서 출발한다. 같은 요청이라도 입력을 어떻게 구성하느냐에 따라 결과가 달라지기 때문에 프롬프트를 여러 방식으로 시험해 보는 단계가 먼저 있고, 외부 문서를 조각으로 나눠 임베딩한 뒤 질의 임베딩과 함께 검색해 답변에 끼워 넣는 검색 증강 방식도 자주 쓰인다. 다만 이 강연의 주제는 그다음 단계인 파인튜닝이다.

가장 단순한 활용은 분류기다. 스팸 여부, 문서 분류, 유해 댓글 판별처럼 쓰임새가 넓은데 접근법은 셋으로 나뉜다. 첫째는 사전학습 모델을 얼린 채 임베딩만 뽑아 로지스틱 회귀나 서포트 벡터 머신 같은 고전 분류기를 학습시키는 방식으로 가장 저렴하다. 둘째는 여전히 본체를 얼린 채 은닉층과 출력층을 덧붙여 그 부분만 학습한다. 셋째는 트랜스포머 전체를 갱신하는 방식으로 비용이 가장 크지만 성능도 가장 좋다.

발표자는 5만 건 규모의 영화 리뷰 데이터로 세 방식을 직접 비교했다. 결과는 임베딩만 쓴 경우 75%, 층을 덧붙인 경우 90%, 전체 층을 갱신한 경우 93%였다. 여기 쓰인 모델은 파라미터가 수억 개인 작은 모델이며, 그는 실제 서비스에서도 이런 분류 파인튜닝의 쓸모가 아직 충분히 활용되지 않고 있다고 본다.

요즘 관심이 쏠리는 쪽은 지시 파인튜닝이다. 사전학습된 모델에 지시문과 그에 맞는 출력 쌍을 학습시켜 번역, 요약, 계산 같은 요청을 수행하게 만드는 방식이고, 선택지에서 어울리지 않는 항목을 고르라는 식으로 분류 작업까지 흡수할 수 있다. 다만 지도 파인튜닝은 공짜가 아니어서 GPU 자원이 필요하고, 여기서 파라미터 효율적 파인튜닝이 등장한다.

대표 기법인 LoRA는 큰 가중치 갱신 행렬을 두 개의 작은 행렬 곱으로 대체한다. 10×10 행렬이라면 100개 대신 10×2와 2×10, 즉 40개 파라미터로 줄어드는 식이고 이 분해를 트랜스포머의 여러 층에 적용한다. 실제 측정에서 70억 파라미터 모델을 전체 파인튜닝할 때는 GPU 6장으로도 메모리가 모자라 CPU 오프로딩을 써야 했고 9시간이 걸렸지만, 파라미터 효율적 방식은 한 시간을 조금 넘겼다. 메모리는 16~17GB, 양자화를 더한 QLoRA에서는 12GB까지 내려갔다.

주요 인사이트

  • 파인튜닝 방식 선택은 성능과 비용 사이의 위치 선정에 가깝다. 갱신하는 층이 많을수록 결과가 좋아지지만, 임베딩만 뽑아 고전 분류기를 붙이는 저렴한 방식으로도 실용적인 정확도가 나오는 경우가 있다.
  • 거대한 생성 모델만 주목받는 사이 작은 분류 모델의 쓸모는 오히려 과소평가돼 있다. 발표자는 유해 콘텐츠 필터링처럼 이미 널리 쓰이는 사례를 들어 이 지점을 강조한다.
  • LoRA의 이득은 정확도보다 접근성에 있다. 여섯 장의 GPU와 하루에 가까운 시간이 필요하던 작업이 GPU 한 장에 한 시간 규모로 내려오면 개인 연구자도 같은 실험을 반복할 수 있다.
  • 16비트 정밀도는 성능을 거의 유지하면서 메모리를 절반으로 줄이는 선택지로 권장된다. 양자화는 계산 시간이 조금 늘지만 GPU 메모리가 빠듯할 때 몇 기가바이트를 아껴 준다.
  • 발표자는 코드를 읽고 고칠 수 있다는 점을 오픈소스 도구의 핵심 가치로 꼽는다. 캡슐화 수준이 낮아 내부를 이해한 사람이 직접 손댈 수 있어야 실험이 가능하다는 관점이다.

자주 묻는 질문

분류를 위한 파인튜닝 세 방식은 각각 어떻게 다른가?

첫째는 사전학습 모델을 얼린 채 임베딩만 뽑아 별도 분류기를 학습시키고, 둘째는 얼린 본체 위에 은닉층과 출력층을 붙여 그 부분만 학습하며, 셋째는 트랜스포머의 모든 층을 갱신한다. 뒤로 갈수록 계산 비용과 성능이 함께 올라간다.

LoRA는 어떤 원리로 파라미터를 줄이는가?

학습 과정에서 만들어지는 큰 가중치 갱신 행렬을 두 개의 작은 행렬 곱으로 분해한다. 10×10 행렬을 10×2와 2×10으로 나누면 100개였던 파라미터가 40개로 줄고, 행렬이 클수록 절감 폭이 커진다.

파라미터 효율적 파인튜닝으로 얼마나 절약되는가?

70억 파라미터 모델 기준으로 전체 파인튜닝은 GPU 6장에 약 9시간이 걸렸지만 파라미터 효율적 방식은 한 시간을 조금 넘겼고, 메모리는 16~17GB, 양자화를 적용하면 12GB 수준이었다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식