Karpathy Bigram explained in 10min..
Quick Summary
Karpathy Bigram은 GPT로 가기 전, 다음 토큰 예측과 손실 최소화가 어떻게 언어 모델 학습의 기본 원리가 되는지 보여주는 가장 단순한 출발점이다.
영상 보기
클릭 전까지는 가벼운 미리보기만 먼저 불러옵니다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 결론
Karpathy Bigram은 GPT로 가기 전, 다음 토큰 예측과 손실 최소화가 어떻게 언어 모델 학습의 기본 원리가 되는지 보여주는 가장 단순한 출발점이다.
📌 핵심 요점
- 바이그램 언어 모델은 현재 문자 하나를 보고 다음 문자를 예측하는 구조로, Karpathy의 GPT-from-scratch 흐름에서 GPT 이전 단계의 기초 모델로 소개된다.
- 셰익스피어 데이터에서 65개 문자 토큰 vocabulary를 만들고, 각 현재 토큰에 대해 다음 토큰 후보의 가능성을 embedding table 형태로 표현한다.
- 학습 전 무작위 테이블은 의미 없는 문자열을 생성하므로, 핵심은 데이터셋의 실제 다음 문자 패턴에 맞게 숫자 표현을 조정해 손실을 낮추는 것이다.
- softmax는 raw score를 확률로 바꾸고, negative log likelihood는 정답 토큰에 낮은 확률을 준 경우 더 큰 penalty를 부여해 학습 방향을 만든다.
- 반복 학습으로 loss는 낮아지고 출력은 개선되지만, 바이그램은 직전 토큰 하나만 보기 때문에 긴 문맥과 단어 구조를 안정적으로 만들지 못하며 attention과 GPT 구조가 필요한 이유가 된다.
🧩 배경과 문제 정의
- 이 영상은 Karpathy의 GPT-from-scratch 흐름에서 GPT로 바로 들어가기 전에, 가장 단순한 다음 토큰 예측 모델인 바이그램 언어 모델을 먼저 이해시키는 데 초점을 둔다.
- 문제의 출발점은 “셰익스피어처럼 들리는 텍스트를 어떻게 생성할 것인가”이며, 이를 위해 원문 데이터에서 문자 단위 토큰을 만들고 현재 토큰 다음에 어떤 토큰이 올 가능성이 높은지 학습해야 한다.
- 학습 전 embedding table은 무작위 숫자에 불과하므로, 그대로 생성하면 셰익스피어 문체와 거리가 먼 의미 없는 문자열이 나온다.
- 따라서 핵심 과제는 embedding table의 숫자 표현을 데이터셋의 실제 다음 토큰 패턴에 맞게 조정하고, softmax와 negative log likelihood를 통해 손실을 낮추는 것이다.
- 다만 바이그램 모델은 직전 토큰 하나만 참고하므로 짧은 문자 패턴은 흉내 낼 수 있어도 긴 문맥, 단어 구조, 문장 수준의 일관성을 안정적으로 포착하기 어렵다.
- 이 한계가 이후 attention과 GPT 구조가 왜 필요한지로 이어지는 문제 정의가 된다.
🕒 시간순 섹션별 상세정리
1. 셰익스피어 데이터와 다음 토큰 예측 문제 설정
- Karpathy의 GPT 구현 흐름에서는 GPT에 들어가기 전에 바이그램 언어 모델이 먼저 다뤄지고, 2시간짜리 원본 강의의 기술적 내용을 짧게 나누어 설명하는 맥락에서 이 바이그램 파트가 출발점이 된다 [00:21]
- 무작위 모델을 셰익스피어처럼 들리게 만들려면 셰익스피어 아카이브를 단순히 모으는 것만으로는 부족하고, 그 데이터를 이용해 “현재 토큰 다음에 무엇이 올지”를 예측하는 학습 문제로 바꿔야 한다 [00:36]
2. 무작위 테이블에서 오류 최소화 목표로 전환
- 65개 토큰은 행과 열로 구성된 테이블에 대응하며, 각 행은 현재 토큰을, 각 열은 다음 토큰 후보의 가능성을 나타내는 방식으로 드러난다 [01:46]
- 학습 전 테이블은 무작위 숫자 상태이기 때문에 특정 문자 다음에 엉뚱한 기호를 고를 수 있고, 이 상태로 추론하면 셰익스피어 문체와 거리가 먼 의미 없는 문자열이 생성된다 [02:11]
- 따라서 모델을 “텍스트 생성기”로 만들기 위한 핵심은 무작위 선택을 그대로 두는 것이 아니라, 실제 데이터에서 관찰되는 다음 토큰 패턴과의 차이를 줄이는 방향으로 숫자들을 조정하는 것이다 [02:26]
3. 배치·블록 구조와 결정론적 업데이트의 한계
- 셰익스피어 데이터셋은 자막 기준 1,75,394개 문자 규모로 다뤄지며, 작은 모델에서는 한 번에 처리할 수도 있지만 확장성을 고려하면 실제 학습은 데이터를 chunk로 나눠 병렬 처리하는 방식으로 진행된다 [04:16]
- 각 chunk 안에는 batch와 block size가 설정되고, 예시 문장 “to be or not to be”는 4개 batch와 8개 token block으로 쪼개져 각 토큰이 65차원 embedding row에 연결된다 [04:49]
- 이 구조는 모든 데이터를 한 번에 외우듯 처리하는 대신, 여러 조각에서 다음 토큰 예측을 반복하며 embedding table을 점진적으로 개선하는 학습 절차를 보여준다 [05:04]
4. 손실 함수, softmax, negative log likelihood
- loss function은 현재 batch에서 embedding table이 만들어낸 예측이 셰익스피어 데이터의 실제 다음 토큰과 얼마나 어긋나는지 측정하는 기준으로 사용된다 [06:23]
- softmax는 embedding table의 raw number를 다음 토큰 후보들에 대한 확률처럼 해석할 수 있게 바꾸는 단계로 드러난다 [06:38]
- negative log likelihood는 정답 다음 토큰에 모델이 부여한 확률이 충분히 높은지 확인하며, 정답 확률이 낮을수록 더 큰 penalty를 만들어 손실을 키운다 [06:53]
- 결국 학습은 정답 토큰에 더 높은 확률을 주도록 embedding table의 숫자를 바꾸고, 전체 손실을 낮추는 방향으로 반복된다 [07:08]
5. 반복 학습의 안정성과 바이그램 구조의 한계
- 훈련 run이 불안정하거나 loss가 spike하는 현상은 raw number를 손실이 낮아지는 방향으로 조금씩 갱신하는 과정에서 발생할 수 있으며, 업데이트 폭 선택에는 경험적 판단이 섞인다 [08:06]
- 업데이트가 너무 크면 학습이 불안정해지고, 너무 작으면 시간이 오래 걸리거나 충분히 낮은 loss에 도달하지 못할 수 있다 [08:27]
- 이 때문에 수천 번 이상의 iteration이 필요하며, 예시에서는 loss가 4.7 근처에서 mid-2 수준으로 내려가는 흐름으로 드러난다 [08:42]
- 그러나 loss가 내려가더라도 바이그램 모델은 직전 토큰 하나만 보고 다음 토큰을 고르는 구조이므로, 문장처럼 보이는 출력은 만들 수 있어도 긴 문맥과 단어 구조를 안정적으로 잡는 데 한계가 있다 [08:57]
- 제공된 section-detail 기준으로는 이 한계가 attention과 GPT 구조로 이어지는 마지막 마무리 논지이며, 08:27 이후 후반부의 정확한 세부 타임스탬프와 표현은 원 transcript 검증이 필요하다 [10:12]
🧾 결론
- 이 영상의 핵심은 “언어 모델 학습”을 거창한 개념이 아니라, 현재 토큰에서 다음 토큰을 더 잘 맞히도록 확률 분포를 조정하는 문제로 풀어낸다는 점이다.
- 바이그램 모델은 단순하지만, vocabulary, embedding table, batch, loss, softmax, negative log likelihood, backpropagation, optimizer 같은 핵심 요소를 한 번에 연결해 보여준다.
- 무작위 출력이 데이터셋의 패턴에 가까워지는 과정은 학습의 직관을 제공하지만, loss가 낮아져도 모델 구조 자체가 단순하면 출력 품질에는 한계가 남는다.
- 최종적으로 바이그램의 한계는 더 긴 문맥을 다루는 attention mechanism과 GPT architecture로 넘어가야 하는 이유를 설명한다.
📈 투자·시사 포인트
- AI 모델의 성능 차이는 단순히 데이터를 넣는 것만이 아니라, 어떤 architecture가 문맥을 얼마나 잘 활용하느냐에 크게 좌우된다는 점을 시사한다.
- 기초 모델을 이해할 때는 완성된 GPT만 보는 것보다, 바이그램처럼 단순한 모델에서 손실을 줄이는 과정을 따라가면 학습 원리를 더 명확히 파악할 수 있다.
- 모델 개발 관점에서는 loss 감소가 곧바로 고품질 생성으로 이어지지 않을 수 있으며, architecture의 한계와 학습 안정성까지 함께 봐야 한다.
- 검증 필요: 이 영상은 특정 기업, 종목, 시장 규모, 상용 제품 성과를 다루지 않으므로, 특정 투자 판단으로 연결하려면 별도의 재무·시장·기술 검증이 필요하다.
⚠️ 불확실하거나 확인이 필요한 부분
- 자막 요약에는 셰익스피어 데이터셋 규모가 “1,75,394개 문자”로 적혀 있으나, 숫자 표기와 자릿수가 불명확합니다. 원 영상 또는 코드 출력에서 정확한 문자 수를 확인해야 한다.
- vocabulary가 65개 문자 토큰이라는 설명은 해당 셰익스피어 데이터와 전처리 기준으로 보인다. 다른 데이터셋이나 tokenizer 설정에도 그대로 적용되는 값은 아닙니다.
- loss가 4.8786에서 mid-2 또는 2 미만 근처로 내려간다는 수치는 영상 속 특정 실행 예시로 보인다. seed, batch size, block size, learning rate, iteration 수에 따라 재현 결과가 달라질 수 있다.
- 자막 기반 정리: 타임스탬프가 있는 자막을 기준으로 정리했으며, 고유명사·수치·인용은 원문 확인 필요 시 별도 검증한다.
- 영상 속 주장: 발표자의 해석·전망·비교는 확인된 외부 사실이 아니라 영상 속 주장으로 분리해 읽는다.
- 검증 필요: 수치, 기업 실적, 정책·시장 전망은 발행 전 최신 자료로 별도 검증이 필요하다.
✅ 액션 아이템
- 바이그램 언어 모델의 핵심 구조를 “현재 문자 하나만 보고 다음 문자를 예측하는 모델”로 요약해 별도 개념 노트에 정리한다.
- 65개 문자 vocabulary, 65차원 embedding row, softmax 확률 변환, negative log likelihood의 관계를 하나의 학습 흐름도로 정리한다.
- “결정론적으로 하나의 다음 토큰만 정답 처리하면 왜 문제가 되는가”를
T다음에O와H가 모두 올 수 있는 예시로 설명한다. - 바이그램 모델의 한계를 attention과 GPT 구조가 왜 필요한지로 연결해 후속 학습 질문 목록에 추가한다.
❓ 열린 질문
- 바이그램 모델에서 block size가 설정되더라도 실제 예측은 직전 토큰 하나만 사용하는데, 이때 block size는 학습 데이터 구성과 병렬 처리 측면에서 어떤 역할을 하는가?
- 영상에서 언급된 loss 감소 수준은 바이그램 구조의 한계 때문에 더 이상 크게 낮아지기 어려운 것인가, 아니면 hyperparameter 조정으로 더 개선될 여지가 있는가?
- 문자 단위 토큰화를 사용했을 때와 단어 또는 subword 단위 토큰화를 사용했을 때, 바이그램 모델의 출력 품질과 한계는 어떻게 달라지는가?