인공지능은 어떻게 만들어질까요?
바로 앞 단어 하나만 보고 다음 단어를 고르는 수업용 (단어 )이에요. ·은 없고, 사실을 배우지도 않아요. 단어를 나누는 방법도 실제 가 아닌 수업용이에요.
- 데이터 준비
- ① 토큰화
- ② ID와 원-핫 벡터
- ③ 트레이닝(학습)
- ④ 생성
데이터 준비
짧은 예문을 몇 개 모아 보세요. 같은 문장을 여러 번 넣으면 센 횟수가 늘어나지만, 자료는 많을수록이 아니라 목적에 맞을수록 도움이 돼요. 문장이 끝날 때마다 도 하나씩 세요.
① 토큰화
여기서는 문장을 단어에 가까운 조각으로 나눠요. 실제 LLM 의 은 단어, 단어의 일부, 글자, 일 수 있어요. 토큰으로 나누는 것은 글을 숫자로 다루기 위해서이지, 글이 길어서 그런 것이 아니에요.
② ID와 원-핫 벡터
는 이름표처럼 붙인 번호예요. 는 자기 자리만 1 이고 나머지는 0 이에요. 둘 다 어떤 단어끼리 뜻이 비슷한지는 알려 주지 않아요. 그런 정보를 담는 것은 된 임베딩이라는 다른 이고, 이 실습에서는 학습하지 않아요.
③ 트레이닝(학습)
앞 단어 뒤에 어떤 단어가 몇 번 왔는지 세어요(‘문장 끝’도 세요). 후보의 은 그 후보가 온 횟수를, 앞 단어 뒤에 온 전체 횟수로 나눈 값이에요. 은 이런 작은 표를 저장하는 대신 를 학습해요.
④ 생성
가장 높은 확률만 고르는 과, 확률대로 추첨하는 을 비교해 보세요. ‘문장 끝’이 뽑히면 멈춰요. 샘플링이라도 같은 문장이 다시 나올 수 있어요. 만든 문장은 사실인지 확인하지 않은 글이에요.
| 단어 | 번호 | 숫자 벡터(원-핫) |
|---|---|---|
단어를 하나 고르면, 그 다음에 어떤 단어가 올 확률이 높은지 이 배운 내용을 볼 수 있어요:
백분율은 반올림하므로 표시 합계가 100%와 조금 다를 수 있어요.
이 단어는 문장 맨 끝에만 나와서 다음 단어가 없어요. 다른 단어를 골라보세요.
표의 비율은 1 일 때예요. 온도는 뽑힐 확률만 바꿀 뿐, 센 횟수나 사실 여부는 바꾸지 않아요.
파이썬 실행 환경을 준비하는 중…
내 코드
실행 결과
[실행]을 누르면 여기에 결과가 나타나요.
불러오는 중…
취소할 대기 예약을 선택하세요. 각 예약은 확인 후 취소됩니다.
내 :