- Andrej Karpathy의 3시간 31분짜리 LLM 심층 영상을 짧게 따라가며, 작동 원리·파인튜닝 용어·프롬프트·환각·DeepSeek-R1까지 한 번에 파악하려는 독자를 위한 요약임
- LLM은 대규모 웹 텍스트를 정제해 토큰화한 뒤, 컨텍스트 윈도 안에서 다음 토큰을 예측하도록 학습되며 긴 컨텍스트는 더 많은 정보를 반영하는 대신 계산 비용을 높임
- 사전학습된 base model은 인터넷 스타일의 텍스트를 이어 쓰는 확률적 자동완성기에 가깝고, 대화형 어시스턴트가 되려면 SFT와 정렬 같은 후학습이 필요함
- 환각을 줄이려면 모르는 질문을 거절하거나 도구 사용·RAG로 최신 정보를 참조하게 해야 하며, 수학·논리 문제에서는 단계별 생성과 외부 도구가 더 잘 맞음
- 강화학습은 여러 답을 시도해 성공한 풀이를 학습하게 만들지만, RLHF에서는 보상 모델이 인간 선호의 근사치라 과최적화와 보상 모델 악용 위험이 남음
이 요약이 겨냥하는 독자
- Andrej Karpathy의 "Deep dive into LLMs like ChatGPT"는 3시간 31분 길이의 영상이며, 긴 시청 시간을 들이지 않고 핵심을 얻고 싶은 독자를 위한 TL;DR임
- 특히 다음 독자에게 맞음
- LLM이 표면적으로가 아니라 실제로 어떻게 작동하는지 알고 싶은 사람
chat_template, ChatML 같은 파인튜닝 용어를 이해하고 싶은 사람
- 프롬프트가 왜 잘 작동하거나 실패하는지 이해해 프롬프트 엔지니어링을 개선하려는 사람
- LLM의 환각을 줄이고 싶은 사람
- DeepSeek-R1이 왜 주목받는지 이해하고 싶은 사람
- 영상에서 사용된 Excalidraw 다이어그램은 CDN에 따로 호스팅된 다운로드 링크로 받을 수 있음
사전학습 데이터와 토큰화
- LLM은 인터넷을 크롤링해 대규모 텍스트 데이터셋을 만들지만, 원본 데이터에는 중복 콘텐츠, 저품질 텍스트, 관련 없는 정보가 많아 학습 전에 강한 필터링이 필요함
- 영어 전용 모델을 만들 경우 영어일 확률이 높은 텍스트만 남기는 휴리스틱이 필요함
- 예시 데이터셋인 FineWeb은 12억 개 이상 웹페이지를 포함함
- 정제된 텍스트는 원문 그대로 모델에 들어가지 않고, 반복 패턴을 나타내는 ID인 토큰으로 변환됨
신경망의 입출력과 내부 동작
- 토큰화된 데이터는 신경망에 입력되고, 모델은 정해진 컨텍스트 윈도 안에서 다음 토큰을 예측함
- 일부 모델은 8,000 토큰, GPT-4는 최대 128k 컨텍스트를 사용함
- 모델은 학습된 패턴을 바탕으로 다음 토큰을 예측하고, 역전파로 오류를 줄이도록 가중치를 조정함
- 긴 컨텍스트 윈도는 입력에서 더 많은 내용을 반영하게 하지만 계산 비용을 늘림
- 모델 내부에서는 수십억 개 파라미터가 입력 토큰과 상호작용해 다음 토큰의 확률 분포를 생성함
- 이 과정은 효율을 위해 최적화된 복잡한 수학 방정식으로 정의됨
- 아키텍처는 속도, 정확도, 병렬화 사이의 균형을 맞추도록 설계됨
- 프로덕션 수준 LLM 아키텍처 예시는 bbycroft.net/llm에서 볼 수 있음
- LLM의 추론 결과는 결정론적이지 않고 확률적임
- 같은 모델을 실행해도 출력이 조금씩 달라짐
- 대부분은 학습 데이터와 유사한 패턴을 따르는 새 텍스트를 생성하지만, 어떤 경우에는 학습 데이터 일부와 정확히 일치할 수 있음
- 이 무작위성은 창의적인 출력의 원천이지만, 잘못된 정보를 만들어내는 환각으로 이어지기도 함
GPT-2와 학습 비용 변화
- OpenAI가 2019년에 공개한 GPT-2는 초기 Transformer 기반 LLM의 예시임
-
16억 파라미터
-
1024 토큰 컨텍스트 길이
- 약 1,000억 토큰으로 학습
- 원래 학습 비용은 4만 달러
- 이후 효율은 크게 개선됨
- Andrej Karpathy는 llm.c를 사용해 GPT-2를 672달러에 재현함
- 최적화된 파이프라인을 쓰면 학습 비용이 약 100달러까지 더 내려갈 수 있음
- 비용 하락은 더 깨끗한 데이터와 더 나은 실행 환경에서 나옴
- 더 나은 사전학습 데이터 추출 기법으로 데이터셋이 정제되어 모델이 더 빠르게 학습함
- 더 강한 하드웨어와 최적화된 소프트웨어 덕분에 같은 결과에 필요한 계산량이 줄어듦
Open base model과 base model의 한계
- 여기서 말하는 open base model은 OSI의 오픈소스 AI 정의를 엄격히 따르는 모델이 아니라, 가중치는 공개되어 있지만 학습 데이터와 완전한 재현 가능성은 제공되지 않을 수 있는 모델을 뜻함
- OpenAI의 GPT-2는 open-weight이자 source-available 모델이지만, 학습 데이터가 공개되지 않아 OSI 정의의 완전한 오픈소스는 아님
- Meta의 Llama 3.1 405B는 open-weight 모델이지만 오픈소스 모델은 아님
- base model은 사전학습된 원시 언어 모델이며, 실용적으로 쓰려면 파인튜닝이나 정렬이 필요함
- 인터넷 규모의 필터링되지 않은 데이터로 학습되어 원시적인 완성문을 생성함
- 인간 의도에 맞춘 정렬은 부족함
- base model을 공개하려면 보통 두 가지가 필요함
- 추론 코드: 모델이 텍스트를 생성하는 절차를 정의함
- 모델 가중치: 모델 지식을 담은 수십억 개 파라미터
- base model의 동작 특성은 다음과 같음
- 토큰 단위의 인터넷 스타일 텍스트를 생성함
- 실행할 때마다 출력이 조금씩 달라짐
- 학습 데이터 일부를 그대로 재현할 수 있음
- 파라미터는 인터넷 지식의 손실 압축 zip 파일처럼 볼 수 있음
- 인컨텍스트 예시를 이용한 번역이나 구조화된 프롬프트 기반 기본 어시스턴트에 사용할 수 있음
- Llama 3 405B base model을 직접 실험할 수 있으며, 핵심적으로 base model은 비싼 자동완성기에 가까움
사전학습에서 후학습으로
- base model은 사전학습된 텍스트 생성기일 뿐이며, 실제 어시스턴트를 만들려면 후학습이 필요함
- 텍스트를 생성할 수는 있지만 항상 유용한 답을 내지는 않고 환각도 많음
- 후학습은 모델이 더 나은 응답을 하도록 파인튜닝하는 과정임
- 사전학습은 몇 달이 걸릴 수 있지만, 후학습은 몇 시간 안에 끝날 수 있을 만큼 훨씬 저렴함
지도 파인튜닝과 대화 데이터
- 사전학습 이후에는 인터넷 데이터셋 대신 인간/어시스턴트 대화 데이터로 모델을 후학습해 더 대화형이고 유용하게 만듦
- 모델 알고리듬은 그대로 두고 기존 파라미터를 파인튜닝함
- 초기 후학습 데이터셋은 사람이 직접 선별했지만, UltraChat 같은 모델은 합성 대화를 생성할 수 있음
- 대화 구조를 가르치기 위해 chat template을 사용함
- 예시 템플릿은 다음과 같음
<|im_start|>system<|im_sep|>You are a helpful assistant<|im_end|>
<|im_start|>user<|im_sep|>What is 4 + 4?<|im_end|>
<|im_start|>assistant<|im_sep|>4 + 4 = 8<|im_end|>
<|im_start|>, <|im_end|>는 대화 구조를 돕는 특수 토큰임
- 모델은 사전학습 중 이 새 토큰을 보지 않았고, 후학습에서 도입됨
- OpenAI의 InstructGPT 논문은 대화용 LLM 파인튜닝을 다룸
- 후학습 데이터셋 예시로 OASST1이 있으며, 합성 데이터셋은 Nomic Atlas에서 시각화할 수 있음
환각, 도구 사용, 기억
- LLM의 주요 문제 중 하나는 자신 있게 틀리거나 지어낸 정보를 생성하는 환각임
- 후학습 과정에서 모델은 항상 답을 해야 한다고 학습할 수 있음
- 질문이 말이 되지 않아도 “모른다”고 말하기보다 응답을 생성하려고 함
- Meta의 Llama 3 논문은 사실성을 개선하기 위해 다음 절차를 사용함
- 학습 데이터 일부를 추출함
- Llama 3로 그 데이터에 대한 사실 질문을 생성함
- Llama 3가 답을 생성함
- 원본 데이터와 비교해 응답을 채점함
- 틀리면 잘못된 응답을 인식하고 거절하도록 모델을 학습함
- 환각을 줄이는 한 방법은 모델이 답을 모를 때 도구를 사용하도록 학습시키는 것임
<|im_start|>user<|im_sep|>Who is Orson Kovacs?<|im_end|>
<|im_start|>assistant<|im_sep|><SEARCH_START>Who is Orson Kovacs?<SEARCH_END><|im_end|>
[...search results...]
<|im_start|>assistant<|im_sep|>Orson Kovacs is ....<|im_end|>
- 반복 학습을 통해 모델은 모르는 내용을 지어내기보다 검색하도록 배움
- 모델 파라미터는 한 달 전 일을 어렴풋이 기억하는 것 같은 희미한 기억을 저장하고, 컨텍스트 토큰은 최신 정보를 담는 작업 기억처럼 작동함
- RAG가 잘 작동하는 이유는 모델이 관련 문서에 직접 접근할 때 추측할 필요가 줄어들기 때문임
모델의 자기 인식과 추론 토큰
- 튜닝되지 않은 base model에 “너는 누구냐”고 묻는다면 환각할 가능성이 있음
- OpenAI가 만든 모델이 아닌데도 인터넷 데이터에서 AI 모델과 OpenAI가 많이 연결되어 있어 OpenAI가 만들었다고 답할 수 있음
- 이를 고치는 방법은 두 가지임
- 별도 학습이 없으면 LLM은 자기 자신에 대한 실제 지식 없이 일반적인 AI 응답으로 돌아감
- LLM은 사람처럼 추론하지 않고 토큰을 순차 생성하므로, 제대로 생각하려면 구조화된 생성이 필요함
- 답으로 바로 점프하면 추측에 가까울 수 있음
- 풀이를 단계별로 전개하면 더 신뢰할 수 있음
- 모델의 레이어 수는 유한하므로, 한 토큰 출력이 무한히 처리될 수 없고 문제를 작은 단계로 나누는 방식이 정답 가능성을 높임
- 수학과 논리 작업에서는 모델 자체 추론에만 의존하기보다 외부 도구를 쓰게 하는 편이 좋음
강화학습과 DeepSeek
- 사전학습된 모델은 지식을 갖고 있어도 그 지식을 효과적으로 쓰는 법은 아직 모름
- 지도 파인튜닝은 인간 응답을 모방하도록 가르침
- 강화학습은 시행착오를 통해 더 나은 해결책을 찾게 함
- 강화학습 절차의 예시는 다음과 같음
- 같은 문제에 대해 15개의 해답을 생성함
- 그중 4개만 정답이면, 맞고 짧은 상위 해답을 선택함
- 선택한 해답으로 학습하고 이 과정을 많이 반복함
- 이 과정에는 인간이 직접 들어가지 않으며, 모델은 같은 문제에 대해 많은 해답을 만들고 정답에 도달한 해답을 골라 학습함
- 사전학습과 후학습은 잘 정의되어 있지만, 강화학습 과정은 아직 활발히 연구 중임
- OpenAI 같은 기업도 많은 연구를 하지만 공개되지 않은 부분이 있음
- DeepSeek의 논문은 LLM을 위한 RL과 FT를 공개적으로 다루며, 추론 능력을 끌어내는 방식을 설명함
- DeepSeek 논문 예시에서는 시간이 지나며 모델이 더 많은 토큰을 사용해 추론을 개선함
- 이른바 “aha” 순간은 단순 데이터셋 학습만으로 명시적으로 가르치기 어렵고, 강화학습을 통해 모델이 스스로 찾아내야 하는 성격의 것임
- 장점은 추론이 좋아지는 것이고, 단점은 더 많은 토큰을 소비한다는 점임
AlphaGo와 강화학습의 가능성
- Go를 마스터한 연구에서 강화학습은 모델이 인간을 모방하는 데 그치지 않고 시행착오로 자체 전략을 찾게 함
- AlphaGo 경기에서 나온 Move 37은 학습 데이터에 있던 수가 아니라, 모델이 승리를 위해 만들어낸 전략으로 소개됨
- 연구자들은 이 수가 인간에게서 나올 확률을 1만 분의 1로 예측함
- 강화학습은 아직 탐구되지 않은 영역이 많고 연구가 계속 진행 중임
- LLM이 생각과 아이디어를 표현하는 최선의 방법이라고 판단한다면 자체 언어를 만들어낼 수도 있음
검증 불가능한 영역과 RLHF
- 검증 가능한 영역에서는 인간을 강화학습 과정에서 제외하기 쉽고, LLM이 자기 성능의 판정자처럼 작동할 수 있음
- 농담 작성이나 요약처럼 검증 불가능한 영역에서는 인간을 루프에 포함해야 함
Write a joke about pelicans 같은 프롬프트는 농담 품질을 자동으로 판정하기 어려움
- LLM은 농담을 생성할 수 있지만, 그 품질을 대규모로 판정하기는 어려움
- 인간을 대규모로 투입하기도 어렵기 때문에 RLHF 논문에서 다루는 방식이 필요함
- RLHF는 별도의 보상 모델을 학습해 대규모 응답 품질 판정에 사용함
- 인간이 응답 순위를 평가함
- 그 평가로 보상 모델을 원하는 수준까지 학습함
- 이후 보상 모델이 LLM 응답 품질을 대규모로 판정함
RLHF의 장점과 한계
- RLHF의 장점은 다음과 같음
- 농담 작성이나 요약 같은 검증 불가능한 영역에서도 강화학습을 가능하게 함
- 환각을 줄이고 응답을 더 인간답게 만들어 모델을 개선하는 경우가 많음
- 인간은 답을 생성하는 것보다 평가하는 일이 더 쉬운 discriminator-generator gap을 활용함
- 예: “시를 써라”보다 “이 5개 시 중 무엇이 가장 좋은가”를 고르는 일이 쉬움
- RLHF의 한계도 명확함
- 보상 모델은 실제 인간이 아니라 인간 선호의 시뮬레이션임
- 강화학습은 보상 모델의 약점을 악용하는 적대적 예시를 만들 수 있음
- 예를 들어 1,000번 업데이트 뒤 “펠리컨에 대한 최고의 농담”이
the the the the the the the the 같은 무의미한 결과가 될 수 있음
- 이런 문제는 Adversarial Machine Learning으로 알려져 있음
- 시스템을 악용하는 방법은 무한히 많기 때문에 나쁜 응답을 걸러내기가 단순하지 않음
- 과최적화와 성능 저하를 막기 위해 보상 모델 학습은 몇백 번 반복 수준에서 제한됨
앞으로의 LLM 방향
- 향후 LLM은 여러 방향으로 확장될 수 있음
- 멀티모달 능력: 텍스트뿐 아니라 이미지, 오디오, 비디오를 이해하고 생성함
- 에이전트 기반 모델: 단일 작업을 넘어 장기 기억, 추론, 실수 수정으로 이동함
- 일상적이고 보이지 않는 AI: 워크플로에 자연스럽게 통합됨
- 컴퓨터 사용 AI: 텍스트 생성만이 아니라 소프트웨어와 상호작용하고 행동을 수행함
- 테스트 시점 학습: 정확도를 즉석에서 높이기 위해 실시간으로 적응함
LLM을 따라가고 실험하는 곳
- LLM 발전을 추적할 수 있는 리소스
- 다양한 LLM을 사용해볼 수 있는 곳
- Proprietary Models: OpenAI GPT-4, Google Gemini, Anthropic Claude 등
- Open-Weight Models: DeepSeek, Meta Llama 등이며 Together.ai에서 사용 가능함
- 로컬 실행: Ollama 또는 LM Studio 사용
- Base Models: Hyperbolic에서 탐색 가능함