인공지능은 어떻게 만들어질까요?
코드를 몰라도 괜찮아요. 데이터를 넣으면 인공지능이 토큰화 → 벡터화 → 학습 → 생성으로 만들어지는 과정을 눈으로 볼 수 있어요. 원하면 진짜 파이썬 코드로도 만들 수 있답니다.
바로 앞 단어만 보는 교육용 단어 바이그램 모형이에요. 임베딩·attention·사실을 학습하지 않아요. 단어 분할기도 실제 LLM 토크나이저가 아닌 수업용 예제예요.
- 데이터 준비
- ① 토큰화
- ② ID와 원핫 벡터
- ③ 트레이닝(학습)
- ④ 생성
데이터 준비
짧은 예문을 모아 보세요. 반복하면 횟수가 바뀌지만 자료는 목적에 맞아야 도움이 돼요. 각 문장은 따로 끝나요.
① 토큰화
여기서는 문장을 단어에 가까운 조각으로 나눠요. 실제 LLM 토큰은 단어·단어 일부·글자·바이트일 수 있어요. 토큰화는 텍스트 표현 방식이지, 글이 길어서 이해하지 못하기 때문이 아니에요.
② ID와 원핫 벡터
ID는 이름표로 쓰는 숫자예요. 원-핫 벡터는 해당 위치만 1로 표시해요. 둘 다 뜻이 비슷한 단어를 알려주지 않아요. 학습된 임베딩은 별도의 벡터이며, 이 실습에서는 학습하지 않아요.
③ 트레이닝(학습)
문장 끝을 포함해 이어지는 횟수를 세어요. 후보의 확률은 그 후보 횟수를 선택한 단어 뒤의 전체 횟수로 나눈 값이에요. 신경망 언어모델은 이 작은 표를 저장하는 데 그치지 않고 가중치를 학습해요.
④ 생성
최고 확률을 고르는 탐욕 선택과 확률대로 뽑는 샘플링을 비교하세요. 문장 끝을 뽑으면 멈춰요. 샘플링도 같은 결과가 다시 나올 수 있어요. 생성문은 사실 확인을 거치지 않아요.
| 단어 | 번호 | 숫자 벡터(원-핫) |
|---|---|---|
단어를 하나 고르면, 그 다음에 어떤 단어가 올 확률이 높은지 인공지능이 배운 내용을 볼 수 있어요:
백분율은 반올림하므로 표시 합계가 100%와 조금 다를 수 있어요.
이 단어는 문장 맨 끝에만 나와서 다음 단어가 없어요. 다른 단어를 골라보세요.
표는 온도 1의 관찰 빈도를 보여줘요. 온도는 추첨 확률을 바꾸며 학습 횟수나 사실 정확성을 바꾸는 장치는 아니에요.
파이썬 실행 환경을 준비하는 중…
내 코드
실행 결과
[실행]을 누르면 여기에 결과가 나타나요.