AI VIDEO BRIEFING

LLM 사전학습과 사후학습 기초 정리: BERT의 마스킹, T5의 텍스트투텍스트, GPT의 다음 토큰 예측

대학 LLM 강의가 사전학습과 사후학습의 큰 그림을 정리한다. 인코더·인코더디코더·디코더 세 계열이 무엇을 다르게 했고 왜 GPT의 다음 토큰 예측 방식만 남았는지, SFT는 사전학습과 정확히 어디서 갈리는지 짚었다.

LLM은 어떻게 학습되나, BERT와 T5를 거쳐 "다음 토큰 예측"으로 수렴한 이유 영상 대표 이미지

핵심 메시지

  • 학습에 드는 연산량은 순전파 2배, 역전파 4배를 합쳐 대략 토큰 수 곱하기 파라미터 수의 6배로 어림잡을 수 있다.
  • 요즘 LLM은 레이블 없는 대규모 텍스트로 사전학습한 뒤 사후학습으로 다듬고, 사용할 때는 대개 파인튜닝 대신 프롬프팅과 인컨텍스트 러닝으로 처리한다.
  • BERT는 양방향 문맥을 얻기 위해 토큰 15%가량을 가리고 맞히는 마스크드 언어 모델링을 썼지만, 그 대가로 문장 생성이 까다로워졌다.
  • T5는 출력을 텍스트로 통일해 태스크마다 분류 레이어를 새로 붙일 필요를 없앴고, 그 발상이 자연어 지시문으로 학습하는 인스트럭션 파인튜닝으로 이어진다.
  • 사전학습과 SFT는 똑같이 다음 토큰을 예측하지만, 정답을 데이터에서 자동으로 얻느냐 사람이 직접 작성하느냐에서 갈린다.

쉽게 이해하기

강의는 지난 시간에 다룬 자원 계산을 복습하며 시작한다. 어떤 레이어의 순전파 연산량은 배치 크기와 입력·출력 채널을 곱한 뒤 2를 곱하는데, 행렬 연산에서 곱셈과 덧셈을 모두 세기 때문이다. 역전파는 가중치와 입력 양쪽으로 그래디언트를 구해야 하므로 4배가 되고, 둘을 합치면 전체 학습 연산량은 대략 토큰 수 곱하기 파라미터 수의 6배로 정리된다. 메모리 쪽은 더 단순하다. 파라미터 수만큼 그래디언트가 있고, 아담을 쓰면 상태가 파라미터의 두 배만큼 추가되며, 액티베이션은 배치 크기에 출력 채널을 곱한 만큼이다. 실제로는 혼합 정밀도를 써서 자료형이 섞이지만, 규모를 가늠하는 용도로는 이 정도로 충분하다. 이번 주 주제는 트랜스포머라는 구조를 어떤 목표로 학습시킬 것인가다. 전통적인 딥러닝은 이미지를 개와 고양이로 나누듯 태스크마다 레이블을 붙여 지도학습을 했고, 그렇게 학습한 모델은 그 태스크 바깥에서는 쓸 수 없었다. 최신 패러다임은 레이블 없이 대규모 텍스트로 사전학습을 한 뒤 필요하면 파인튜닝을 얹는 쪽이다. 강연자는 요즘은 파인튜닝조차 잘 하지 않고 프롬프트를 잘 주는 것으로 끝나는 경우가 많다고 덧붙인다. GPT-3 무렵부터 등장한 인컨텍스트 러닝, 즉 주어진 문맥 안의 예시와 지시만 보고 문제를 푸는 방식이다.

전체 흐름은 사전학습, 사후학습의 두 단계로 잡을 수 있고 사후학습은 다시 지도 파인튜닝(SFT)과 강화학습 기반 학습으로 나뉜다. 강의는 이를 사람이 배우는 과정에 빗댄다. 토크나이저를 만드는 것은 단어를 익히는 단계, 사전학습은 교과서를 정답 없이 읽어 나가는 단계, SFT는 문제를 풀어 보는 단계, 강화학습은 정답을 확인하거나 선생님의 피드백을 받아 지식을 다듬는 단계다. 사람의 피드백을 쓰면 RLHF, 정해진 정답으로 검증하면 최근 많이 언급되는 RLVR이 된다. 사전학습과 사후학습 사이에 미드트레이닝이라는 단계를 두는 경우도 있지만 이번 강의에서는 다루지 않는다.

사전학습의 목표함수는 역사적으로 세 계열이 있었다. 인코더만 쓰는 BERT, 인코더와 디코더를 모두 쓰는 T5, 디코더만 쓰는 GPT다. BERT의 핵심은 양방향 인코더라는 이름 그대로 양쪽 문맥을 함께 보는 것이다. 강의는 bank라는 단어를 예로 든다. 앞에 강이 나오면 강둑이고, 뒤에 예금을 넣는다는 말이 나오면 은행이다. 어느 쪽 문맥이 필요한지는 문장마다 다르니 양방향이 유리하다. 문제는 양방향으로 한 토큰씩 예측하게 하면 맞혀야 할 답을 이미 문맥에서 볼 수 있게 된다는 점이다. 그래서 문장에서 15%가량의 토큰을 무작위로 가린 뒤 양쪽 문맥으로 그 자리를 맞히게 하는 마스크드 언어 모델링을 쓴다. 결국 어휘 중 하나를 고르는 분류 문제이므로 손실 함수 설계는 어렵지 않다. BERT가 만든 변화는 파인튜닝 방식에 있다. 대규모 사전학습으로 일반적인 지식을 갖춘 모델을 내려받아, 마지막에 나온 표현 위에 레이어를 한두 개만 얹어 원하는 분류 문제를 푸는 식이다. 스팸 메일 분류라면 예전에는 메일을 대량으로 모아 전부 레이블을 붙여야 했지만, 이제는 극소량의 주석만으로 가벼운 분류기 하나를 학습시키면 된다. 강연자는 이것이 7년 전 기술이라고 짚으면서, 양방향이라는 장점이 곧 문장 생성이라는 약점과 맞물려 있다고 정리한다.

T5는 이름 그대로 텍스트를 텍스트로 옮기는 트랜스포머다. 출력이 텍스트이므로 태스크마다 출력 차원이 다른 분류 레이어를 새로 붙일 필요가 없고, 여러 태스크를 자연스럽게 함께 파인튜닝할 수 있다. 입력 앞에 어떤 태스크인지 알려 주는 토큰을 붙이는 방식이다. 다만 그 태스크 표시가 의미론적으로 연결돼 학습되지는 않는다는 한계가 있고, 여기서 한 걸음 더 나간 것이 인스트럭션 파인튜닝이다. 알아보기 어려운 토큰 대신 "다음 문장이 자연스러운가", "다음 두 문장이 1점에서 5점 사이에서 얼마나 비슷한가" 같은 자연어 지시문을 주고 학습시키는 것이다. 이렇게 하면 가르치지 않은 새로운 지시에도 일반화가 되는데, 그러려면 모델과 사전학습 데이터가 충분히 커야 한다. GPT 계열은 디코더만 써서 이전 문맥만 보고 다음 토큰을 예측한다. 자기회귀적 언어 모델링, 또는 넥스트 토큰 프리딕션이라 부르는 방식이다. 형태만 보면 클래스 개수가 어휘 크기만큼 큰 분류 문제이고, 소프트맥스를 지나 손실을 계산하는 절차는 일반적인 분류와 다르지 않다. 결정적인 장점은 정답을 따로 만들 필요가 없다는 점이다. 문장을 한 칸 옮기면 그대로 정답이 되기 때문이다. 강연자는 왜 이 방식이 이겼는지에 대해 확정된 답 대신 하나의 설명을 소개한다. 데이터가 적을 때는 양방향을 강제하는 편이 유리했지만, 데이터가 충분히 커지면 한 방향만 보고도 문맥을 충분히 모델링할 수 있고 그때는 텍스트를 자연스럽게 생성할 수 있다는 장점이 남는다는 것이다. 본인도 다른 사람에게 들은 논리이며 틀릴 수 있다고 밝힌다.

데이터 규모는 감을 잡기 어려운 숫자다. 2023년 메타의 라마 1은 커먼크롤, 위키피디아, 책, 아카이브, 스택익스체인지 등에서 모은 1.4조 토큰으로 학습했고 디스크 기준으로 수 테라바이트다. 요즘은 그보다 열 배 가까이 쓰는 모델도 있어 15조 토큰 수준이 언급된다. 강의는 1조 토큰을 실물로 환산해 본다. 책 한 쪽에 300~500단어가 들어간다고 보면 18억 쪽 분량이고, 사람이 분당 200단어를 읽는다고 계산하면 다 읽는 데만 수천 년이 걸린다. 읽는 것과 기억하는 것은 또 다른 문제다. 사족처럼 붙은 이야기도 있다. GPT-1은 작은 데이터셋에서 돌아가는 그리 좋지 않은 모델이었고, 인터넷 스케일 데이터를 쓴 것은 GPT-2부터인데 그때 쓴 것이 레딧에서 크롤링한 링크였다. 사전학습만으로는 챗봇이 되지 않는다. 인터넷 전체를 흡수한 모델은 유용한 지식과 쓰레기를 함께 담고 있어 통제하기 어렵다. 강의는 GPT-3 시절 예시를 든다. "여섯 살 아이에게 달 착륙을 몇 문장으로 설명해 줘"라고 물으면 사전학습 모델은 문법적으로 흠잡을 데 없지만 지시를 따르지는 않는 문장을 내놓는다. 스택오버플로에 질문을 올렸을 때 친절한 답과 대충 쓴 답과 중복이라는 지적이 섞여 오는 것과 같은 이치다. 좋은 답이 100개 중 하나뿐이라면 확률적으로 나머지가 나온다. 사후학습은 그 안에 묻힌 보석을 끄집어내 우리의 선호에 맞게 정렬하는 과정이다. SFT의 구현은 개념적으로 단순하다. 목표함수는 사전학습과 똑같이 다음 토큰 예측이지만, 학습 데이터의 정답을 사람이 직접 작성한다는 점이 다르다. 사전학습은 문장을 한 칸 옮겨 정답을 자동으로 만들 수 있지만, SFT는 프롬프트마다 답변을 써 줘야 하므로 비용이 든다. 수학 문제처럼 전문성이 필요한 영역이면 그만한 사람을 고용해야 한다. 강연자는 인스트럭션 파인튜닝보다 SFT라는 용어가 더 널리 쓰이는 이유도 짚는다. 지시를 따르게 만드는 것뿐 아니라, 예컨대 사내 문서나 법률 데이터로 도메인 전용 모델을 만드는 것까지 포괄하는 더 일반적인 표현이기 때문이다. 어느 쪽이든 근본은 다음 토큰을 예측하는 방식으로 학습한다는 데 있다.

주요 인사이트

  • 학습 연산량을 토큰 수와 파라미터 수의 곱에 6을 곱한 값으로 어림잡는 습관은, 이후 병렬 컴퓨팅과 스케일링 논의를 따라가는 기본 언어가 된다.
  • BERT의 마스킹은 양방향 문맥을 얻으려는 목적이 아니라, 양방향으로 보면서 생기는 미래 참조 문제를 우회하기 위한 장치다.
  • T5가 남긴 진짜 유산은 인코더-디코더 구조가 아니라 모든 출력을 텍스트로 통일한다는 발상이고, 그것이 자연어 지시문으로 이어졌다.
  • GPT 방식의 승리는 구조 자체의 우월함보다 데이터 규모가 커지면서 양방향 강제의 이점이 줄어든 결과로 설명된다.
  • 사전학습과 SFT가 같은 목표함수를 쓴다는 사실은, 두 단계를 가르는 것이 손실 함수가 아니라 정답을 누가 만드느냐라는 점을 분명히 한다.

자주 묻는 질문

BERT는 왜 다음 단어를 예측하지 않고 가린 토큰을 맞히나?

양방향으로 문맥을 보면서 한 토큰씩 예측하게 하면 맞혀야 할 답이 이미 반대편 문맥에 들어 있어 학습이 성립하지 않는다. 그래서 문장의 15%가량을 무작위로 가리고 양쪽 문맥으로 그 자리를 맞히게 한다.

T5는 BERT의 파인튜닝과 무엇이 다른가?

BERT는 태스크마다 출력 차원이 다른 분류 레이어를 새로 붙여 학습해야 한다. T5는 입력도 출력도 텍스트라 그런 레이어가 필요 없고, 입력 앞에 태스크를 알려 주는 표시만 붙여 여러 태스크를 함께 파인튜닝할 수 있다.

다음 토큰 예측 학습에는 왜 레이블이 필요 없나?

문장을 한 칸 오른쪽으로 옮기면 그다음 토큰이 곧 정답이 되기 때문이다. 어휘 크기만큼의 클래스를 갖는 분류 문제로 두고 소프트맥스와 손실을 그대로 쓰면 된다.

SFT와 인스트럭션 파인튜닝은 같은 말인가?

거의 겹치지만 의도가 조금 다르다. 인스트럭션 파인튜닝은 사람의 지시를 따르게 만드는 데 초점이 있고, SFT는 지도학습 방식으로 파인튜닝하는 것 전반을 가리킨다. 사내 문서나 법률 데이터로 도메인 전용 모델을 만드는 것도 SFT에 들어간다.

원문과 출처

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

YouTube 원본 영상 보기 ↗

관련 AI 소식