2장. 언어 모델링 기초
- 단어와 문서를 수치형 포맷으로 변환하는 방법
- 기초적인 언어 모델링
- 카운트 기반 모델
- 언어 모델의 성능을 측정하는 방법
- 용어 정의, 함수 정의
BoW(Bag of Words)
- BoW 방법으로 문서 주제 분류하기
- 코퍼스, 토큰화 방법
- BPE(Byte-pair encoding)
- 분류기에서의 활성화 함수와 손실 함수
- 이진 : 시그모이드, 이진 크로스 엔트로피
- 다중 : 소프트맥스, 크로스 엔트로피
- BoW 분류의 한계
- 맥락과 순서 무시 → n-gram 방법
- OOV → 단어 임베딩
단어 임베딩
- 단어를 밀집 벡터로 표현(↔ 원핫 벡터)
- word2vec : skip-gram 방식, CBOW 방식
- 대규모 데이터셋을 비지도 학습해서 생성
- GloVe, FastText 등
- 차원 축소
- 완전 단어 대신 부분단어(sub word)를 많이 사용
Byte-Pair Encoding
- OOV 문제 해결
- 원래는 데이터 압축 기법으로 시작됨
- 구현까지 디테일하게 다룸
언어 모델(카운트 기반)
- 이전 토큰을 기반으로 조건부 확률을 추정하여 시퀀스에 있는 다음 토큰을 예측
- 계산하는 것 = 어휘사전에 대해 유효한 이산 확률 분포
- 자기회귀(autoregressive) 언어 모델 OR 코잘(causal) 언어 모델 ↔ 마스크드(masked) 언어 모델
- 트라이그램 모델 예시 : 앞의 두 토큰을 보고 다음 토큰 계산
- 백오프 기법, 스무딩(add one, Laplace), 보간, etc
- 카운트 기반 모델 한계 → RNN, LSTM, Transformer 등 신경망 기반으로
- OOV를 다룰 수 없음
- 큰 문맥을 다룰 수 없음
- 제한된 사용만 가능(휴대폰 자동 완성)
언어 모델 평가
- 혼잡도(perplexity) : 예측에 대한 확신을 표현, 모델이 토큰을 예측할 때 혼란스러운 정도
- 10 → 단계마다 10가지 가능성 중 하나를 균등하게 선택한다.
- gpt-2는 약 20정도, 최신 LLM은 5 이하의 값..
- ROGUE : 생성 텍스트 – 참조 텍스트 간 토큰(또는 n-gram) 중복을 평가
- Recall-Oriented Understudy for Gisting Evaluation)
- 언어 모델 사이를 비교하는 용도로 적합
- 재현율, 정밀도
- 사람의 평가도 함께 적용 : Likert scale, Elo rating