가입하면 어디까지 배웠는지 기억해 드려요.
자, 이제 여러분들만의 인공지능을 만들어 봅시다.
바로 앞 단어만 보는 교육용 단어 바이그램 모형이에요. 임베딩·attention·사실을 학습하지 않아요. 단어 분할기도 실제 LLM 토크나이저가 아닌 수업용 예제예요.
직접 개발로 이어지는 계획
처음에는 장난감처럼 작게 만들고, 원리를 이해한 뒤 점점 키웁니다.
단어를 모으기
내가 배우고 싶은 주제의 문장을 모읍니다. 처음에는 10문장만 있어도 됩니다.
다음 단어 횟수 세기
어떤 단어 뒤에 어떤 단어가 몇 번 나왔는지 표로 만듭니다.
확률 점수 계산하기
문장 끝을 포함해 이어지는 횟수를 세어요. 후보의 확률은 그 후보 횟수를 선택한 단어 뒤의 전체 횟수로 나눈 값이에요. 신경망 언어모델은 이 작은 표를 저장하는 데 그치지 않고 가중치를 학습해요.
두 선택 방식 비교하기
최고 확률을 고르는 탐욕 선택과 확률대로 뽑는 샘플링을 비교하세요. 문장 끝을 뽑으면 멈춰요. 샘플링도 같은 결과가 다시 나올 수 있어요. 생성문은 사실 확인을 거치지 않아요.
내 기준으로 개선하기
더 좋은 문장, 더 많은 데이터, 다른 선택 규칙을 넣어 나만의 인공지능으로 키웁니다.
작은 확률 계산기
표는 온도 1의 관찰 빈도를 보여줘요. 온도는 추첨 확률을 바꾸며 학습 횟수나 사실 정확성을 바꾸는 장치는 아니에요.
관찰한 단어 토큰 10개
| 앞 단어 다음 단어 | 날아요 | 노래해요 | 헤엄쳐요 | 문장 끝 |
|---|---|---|---|---|
| 새는 | 1 | 2 | 0 | 0 |
| 날아요 | 0 | 0 | 0 | 1 |
| 노래해요 | 0 | 0 | 0 | 2 |
| 물고기는 | 0 | 0 | 2 | 0 |
| 헤엄쳐요 | 0 | 0 | 0 | 2 |
핵심 개념
문장 끝을 포함해 이어지는 횟수를 세어요. 후보의 확률은 그 후보 횟수를 선택한 단어 뒤의 전체 횟수로 나눈 값이에요. 신경망 언어모델은 이 작은 표를 저장하는 데 그치지 않고 가중치를 학습해요.
신경망 언어모델은 학습 예제에서 숫자 가중치를 배워요. 생성할 때는 가중치와 주어진 문맥으로 후보 토큰 점수를 계산해요. 인터넷 문장을 그대로 찾아 꺼내거나 바로 앞 단어의 횟수만 세는 방식은 아니에요.
이 실습과 실제 언어모델 비교
| 이 실습 (바이그램) | 신경망 언어모델 | |
|---|---|---|
| 보는 범위 | 바로 앞 단어 하나 | 주어진 긴 문맥 |
| 배우는 것 | 이어진 횟수 표 | 숫자 가중치 |
| 임베딩·어텐션 | 아니요 | 예 |
| 스스로 사실 확인 | 아니요 | 아니요 |
라리아에게 맡길 개발 요청
라리아챗봇에게 이 요청을 보내 교육용 바이그램을 코드로 구현하는 방법을 함께 살펴보세요. 작은 수업용 모형이며 완전한 현대 언어모델은 아니에요.
이 교육용 바이그램을 이해하도록 도와줘. 학습 문장: 새는 날아요. 새는 노래해요. 새는 노래해요. 물고기는 헤엄쳐요. 물고기는 헤엄쳐요.. 시작: . 계산을 보여주기 전에 다음 단어 확률을 내가 예상하도록 질문해 줘. 신경망 언어모델과 어떻게 다른지도 설명해 줘.