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

친구 Markov에게 문자 보내기100% 해석 가능한 다음 토큰 생성기

문자 보내기

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

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

빌드 고치는 방법 아는 사람 있나요

i think

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

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

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

모델 "학습"하기

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

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

전이 행렬

행렬 구성을 시작하려면 위에 메시지를 추가하세요.

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

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

샘플링 해보기

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

i

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

100년 된 기술

"이게 진짜 기술인가요?" 좋은 질문입니다, 독자님."

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