직접 해보기: 다음 토큰 예측

강의 55분
Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

Text Your Friend Markov

100% 해석 가능한 다음 토큰 생성기

문자 보내기

오래전, 저와 친구들은 휴대폰을 꺼내 추천된 다음 단어만 사용해서 친구에게 메시지를 작성하는 게임을 하곤 했습니다. 여러분도 이런 걸 해보셨을지도 모르겠네요.

여기 약간의 콘텐츠로 "학습된" 시뮬레이터가 있습니다. 한번 해보세요!

안녕 혹시 빌드 고치는 법 아는 사람
i think |

우리는 이것을 마치 "나-봇"인 것처럼 이야기했습니다. 우리는 그것이 각자의 개인적인 사용 패턴을 기반으로 단어를 추천하고 있다는 것을 알고 있었고, 개인화된 추천 속에서 우리 자신의 목소리를 볼 수 있었습니다.

당시 우리는 그것을 그냥 기술 마법으로 치부하고 넘어갔습니다. 그 알고리즘이 얼마나 단순할 수 있는지는 깨닫지 못했던 것 같습니다.

저와 함께 하나 만들어보고 싶다면 계속 읽어보세요 :)

모델 "학습"시키기

몇 개의 메시지로 학습을 해봅시다. 우리가 해야 할 일은 단어 간의 연결을 집계하는 것뿐입니다. 한 번에 메시지 하나씩 해봅시다.

1."i think we should probably ship it"
2."i think that sounds good"
3."i think we should probably wait"
4."we should check with the team"
5."that sounds good to me"

전이 행렬

위에 메시지를 추가하여 행렬 만들기를 시작하세요.

단어 간 연결을 완성한 이 지도를 빈도표이라고 부릅니다. 각 행을 정규화하면 다음에 올 단어의 확률 분포를 얻게 됩니다.

지금까지 나온 내용을 바탕으로 다음 단어를 고르는 행위를 샘플링이라고 부릅니다. Claude와 같은 현대 언어 모델에서도 이 과정에 동일한 용어를 사용합니다.

직접 샘플링해보기

5개의 텍스트를 기반으로 한 동일한 행렬을 사용해서, 이제 더 많은 정보를 가지고 우리 게임을 해보세요. 확률을 보여드리겠습니다.

i _

강조 표시된 행이 현재 컨텍스트입니다. 계속하려면 사용 가능한 선택지 중에서 단어를 고르세요.

규모 키우기

메시지 5개로는 아주 작은 행렬과 몇 가지 예측만 얻을 수 있었습니다. 데이터가 더 많아지면 어떻게 될까요?

5메시지
17고유 단어
13컨텍스트
24전이
2최대 옵션 수

다음:

ship 50%wait 50%

조절 장치

샘플링을 할 때, 확률을 볼 수 있었지만 어떤 단어가 "맞는 느낌"인지에 대한 직감도 사용했습니다.

직감 대신 그런 선택을 하기 위한 코드를 작성해야 한다면, 어떤 규칙을 코드화하면 최선의 결과를 만들어낼 수 있을까요?

다리 놓기

방금 사용한 샘플링 전략은 개발자가 Claude에 전달하는 샘플링 제약 조건과 거의 동일합니다. LLM의 경우 몇 가지가 다릅니다.

Markov 체인
LLM
1 컨텍스트 읽기
마지막 단어: "think"
1 컨텍스트 읽기
지금까지의 전체 대화
2 분포 계산
표에서 한 행을 조회
2 분포 계산
수십억 개의 파라미터를 거치는 순전파 — 어텐션, 임베딩, 피드포워드 레이어, 잔차 연결, 레이어 정규화...
3 다음 토큰 샘플링
we 32%the 16%i 11%
3 다음 토큰 샘플링동일한 과정
we 32%the 16%i 11%

Markov 표 조회는 정말 단순하고 설명 가능한 연산입니다. 신경망을 통한 순전파는 훨씬 더 복잡합니다. 하지만 어느 경우든 출력은 동일합니다: 가능성 있는 다음 단어 또는 토큰의 확률 분포입니다.

샘플링은 동일하지만, 학습은 근본적으로 다릅니다. 앞서 나온 지수적 벽(어휘N 행)은 여기에 적용되지 않습니다. LLM은 단순히 단어를 집계하는 방식의 설명 가능성을 훨씬 더 많은 컨텍스트와 훨씬 더 뛰어난 능력과 맞바꿉니다.

100년 된 기술

"이게 실제 기술인가요?" 좋은 질문입니다, 독자 여러분.

Markov는 1906년에 이 아이디어를 발표했습니다. 한 세기 후인 2010년, 이와 같은 n-gram 모델이 여러분의 휴대폰에서 다음 단어 예측을 구동하고 있었습니다(SwiftKey, 그다음 Apple의 QuickType). 2015년 무렵, 신경망 — 처음에는 RNN, 그다음 2017년에는 트랜스포머 — 이 표 조회 방식을 학습된 함수로 대체하기 시작했고, 그 나머지는... 음, 바로 우리가 지금 작업하고 있는 것입니다.