AI VIDEO BRIEFING

LLM 밑바닥부터 만들기: 토큰화·GPT 아키텍처·사전학습·가중치 로딩·LoRA 파인튜닝 정리

세바스찬 라시카의 3시간 코딩 워크숍을 정리했다. 텍스트 토큰화와 학습 배치 구성부터 GPT 아키텍처, 소규모 사전학습, 공개 가중치 로딩, LoRA 인스트럭션 파인튜닝과 모델 평가까지 LLM 개발 전 과정을 순서대로 짚는다.

LLM은 어떻게 만들어지나: 토큰화부터 인스트럭션 파인튜닝까지 3시간 실습 정리 영상 대표 이미지

핵심 메시지

  • LLM에 들어가는 입력 데이터의 형태를 이해하면 LLM 동작 원리의 상당 부분을 이해한 것과 같다는 것이 강연자의 출발점이다.
  • GPT 계열과 라마 계열은 층 수·헤드 수·임베딩 크기와 정규화·활성화 함수 정도만 다를 뿐 근본 구조는 같다.
  • 작은 데이터로 직접 사전학습한 모델은 앞뒤가 맞지 않는 문장을 내놓지만, 공개된 사전학습 가중치를 그대로 얹으면 곧바로 훨씬 나은 문장을 생성한다.
  • LoRA를 쓰면 28억 개 파라미터 모델에서 260만 개만 학습해도 되며, 저장 용량 측면의 이득이 특히 크다.
  • 파인튜닝이 항상 모델을 좋게 만들지는 않는다. 강연에서도 벤치마크 점수는 올랐지만 LLM 심판 점수는 오히려 조금 떨어졌다.

쉽게 이해하기

이 워크숍은 대형언어모델을 라이브러리에 의존하지 않고 처음부터 코드로 만들어 보는 3시간짜리 실습이다. 강연자는 라이트닝 AI의 연구 엔지니어이자 위스콘신 매디슨 대학의 통계학 조교수를 지낸 세바스찬 라시카로, 소개 슬라이드 몇 장을 제외한 대부분의 시간을 실제 코드에 쓴다. 다루는 단계는 데이터 준비와 샘플링, 아키텍처 코딩, 사전학습, 사전학습 가중치 로딩, 인스트럭션 파인튜닝이다.

첫 단계는 토큰화다. 텍스트를 단어와 문장부호 단위로 쪼개고, 고유 토큰을 모아 어휘 사전을 만들고, 각 토큰에 정수 ID를 부여한다. 실습에서는 저작권이 만료된 이디스 워튼의 단편 소설을 데이터로 쓴다. 강연자는 직접 만든 단순 토크나이저로 인코딩과 디코딩 개념을 보여준 뒤, 실제로는 처음 보는 단어도 조각으로 나눠 처리할 수 있는 바이트 페어 인코딩을 쓴다고 설명하며 tiktoken 라이브러리로 넘어간다. 이 토크나이저의 어휘 크기는 50,257개다.

학습 데이터는 입력 토큰 묶음과 그것을 한 칸 오른쪽으로 민 목표 토큰 묶음으로 구성된다. 입력 창을 한 칸씩 옮기면 토큰이 겹치므로, 실제로는 창 크기만큼 통째로 이동시켜 겹침을 없앤다. 강연자는 메타에서 여러 토큰을 한 번에 예측하는 연구가 나오긴 했지만, 널리 쓰이는 모델들은 여전히 다음 단어 하나를 예측하는 방식이라고 정리한다.

아키텍처 부분은 큰 그림 위주다. 토큰 ID가 임베딩 층을 거쳐 연속값 벡터가 되고, 트랜스포머 블록을 여러 번 통과한 뒤 출력층에서 어휘 크기만큼의 값을 내놓으면 그중 가장 큰 값의 위치가 다음 토큰이 된다. 1억 2,400만 파라미터 모델과 15억 파라미터 모델의 차이는 트랜스포머 블록 반복 횟수(12회 대 36회), 헤드 수, 임베딩 차원 정도다. 라마 계열은 층 정규화 대신 RMS 정규화를 쓰고 드롭아웃을 없앴으며 회전 위치 임베딩과 다른 활성화 함수를 쓰지만, 근본은 같다는 것이 강연자의 요약이다.

마지막 단계는 평가다. 강연자는 객관식 문제로 지식을 재는 MMLU, GPT 계열 모델을 심판으로 세우는 알파카에벌, 사람이 두 모델의 답을 직접 비교하는 챗봇 아레나를 차례로 소개한다. 그는 객관식 평가가 지식은 재지만 생성 능력은 제대로 재지 못한다고 지적하며, 사람이 유용성을 직접 판단하는 아레나 방식을 긍정적으로 본다.

주요 인사이트

  • 직접 만든 모델을 아주 작은 데이터로 10에폭 학습하면 훈련 손실은 크게 떨어지지만 검증 손실은 일정 수준에서 멈춘다. 전형적인 과적합이며, 실제 대형 모델은 보통 데이터셋을 한 번만 훑는다.
  • 공개 가중치를 자기 구조에 옮겨 넣는 작업은 이름 규칙이 달라 시행착오가 필요하다. 강연자도 올바른 대응을 찾는 데 몇 시간이 걸렸다고 말하며, 매핑이 틀리면 모델이 의미 있는 문장을 못 만드는 것이 좋은 점검 방법이라고 설명한다.
  • 작은 모델은 가중치를 제대로 얹어도 같은 문장을 반복하는 경향이 있다. 강연자는 더 큰 모델을 쓰면 결과가 훨씬 나아진다고 안내한다.
  • LoRA 파인튜닝은 아주 작은 데이터셋으로 3분 남짓 학습해도 벤치마크 점수가 소폭 올랐다. 반면 원본 크기의 인스트럭션 데이터셋으로 학습하면 몇 시간이 걸린다.
  • 같은 모델을 평가해도 벤치마크와 LLM 심판의 결론이 엇갈릴 수 있다. 강연에서는 파인튜닝 후 벤치마크는 올랐지만 심판 점수는 내려갔고, 강연자는 LoRA 설정이나 평가 방법 자체의 한계일 수 있다고 말한다.

자주 묻는 질문

왜 라이브러리를 쓰지 않고 처음부터 코드를 짜나?

강연자는 동작 방식을 모르는 함수를 호출하는 대신 모든 과정을 직접 구현해야 LLM이 어떻게 작동하는지 제대로 이해할 수 있다고 말한다. 그렇게 해야 나중에 스스로 변형하고 개선하기도 쉽다는 것이다.

바이트 페어 인코딩이 단순 토크나이저보다 나은 점은?

처음 보는 단어를 처리할 수 있다는 점이다. 어휘에 없는 단어도 익숙한 조각들로 쪼개 토큰 ID를 부여하므로, 사전에 없다는 이유로 실패하지 않는다.

LoRA로 학습하면 무엇이 절약되나?

강연 실습에서는 28억 파라미터 모델에서 학습 대상이 260만 파라미터로 줄었다. 강연자는 행렬 곱 자체가 메모리를 많이 쓰기 때문에 메모리 절감 폭은 그만큼 크지 않지만, 저장해야 할 파라미터가 줄어드는 이득은 확실히 크다고 설명한다.

LLM 평가 방법에는 어떤 것들이 있나?

객관식 문제로 지식을 재는 MMLU 계열 벤치마크, 강력한 모델을 심판으로 세워 응답을 점수화하는 자동 평가, 그리고 사람이 두 모델의 응답을 직접 비교해 순위를 매기는 챗봇 아레나가 소개된다.

원문과 출처

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

YouTube 원본 영상 보기 ↗

관련 AI 소식