본문 바로가기

Computer Science/BioNLP

BioNLP(T10316101-01) Lec08. Tokenization

수업내용을 요약한 것임을 밝힙니다.


take home message: LLM을 그대로 갖다 쓰기전에 tokenization 구성을 확인해보는 습관이 필요하다. 
일반 도메인에서 이미 SOTA를 달성해서 생의학 어휘에 대한 Tokenization 연구가 축소됨.

 

llm이나 transformer 모델을 쓰면 허깅페이스에서 불러올 4개의 모듈을 사용하게 될 것임.

1. tokneizer

2.language model

3. downstream task

4. loss objective

먼저, tokenization 여러 알고리즘을 확인함.

 

1. Tokenization  

긴 문자열을 언어 모델이 처리할 수 있는 작은 단위(token)의 시퀀스로 바꾸는 과정

정수 ID 시퀀스로 변환해 신경망의 Embedding 층에 넣기 전 전처리 단계

 

희귀어, 다국어, 도메인 특화 용어에도 잘 표현하는 것이 목표임.

 

2. Algorithms

1. Word Based Tokenization

2. Character Based Tokenization

3. Sub-word Based Tokenization

- Byte-Pair Encoding(BPE) : 데이터 압축하는 cs 에서 따옴

- Word Piece

- Unigram

- Sentence Piece

- Byte-level BPE: GPT-2, LLaMA 등 최신 LLM에 사용

: sub-word 또는 Byte level의 토크나저를 사용하고 있다.

 

2.1 BPE encoding tokenization

방법: ex lower, lowest

  1. 문자(character) 단위로 쪼갠다.: l,o,w,e,r,l,o,w,e,s,t
  2. pair에 대해 count: l+o=2, o+w=2,  w+e=2, ... 
  3. merge 한 뒤, vocab에 업데이트 다시 split : lo 추가
  4. 또다시 pairs frequencies에 대해 계산하면서 2-3번을 반복한다.: lo+w, w+e, e+r, r+lo, ...

장점:

  • 완전히 새로운 단어도 sub-word 조합으로 표현되어있음. OOV(out of vocabulary)가 없음
  • word 기반보다는 어휘 크기가 작고, chrarcter 기반보다는 시퀀스 길이가 짧아져 효율적임

단점:

  • 단순 빈도 기반으로 언어학적으로 자연스럽지 않은 sub-word가 생길 수 있음
  • 새로운 도메인 최적화하기 위해서는 다시 학습이 필요함.(비용이 꽤 드는 작업)

 

2.2. Word Piece Toeknization

  • 방법: BERT 계열에서 사용하는 방식, BPE + likelihood 고려 

  • 장점:
    • 우도를 고려해, 비교적 언어 모델에 유리한 wub-word 구성
    • BERT, RoBERT 등 중 모델에 널리 사용되며 성능이 검증된 바
  • 단점
    • 훈련 과정 복잡성과 구현 의존성 존재
    • 영어 기준으로 설계된 경우가 많아, 한국어,중국어 등에 그대로 사용하기 어려움

 

2.3. Unigram Tokenization

  • 방법
    • 고정된 sub-word 후보 집합을 가정하고, 가장 높은 확률을 주는 분해 방법을 선택함.
  • 장점
    • 확률적 접근으로 보다 견고한 모델
    • 실제로 많이 사용되는 방법임.
  • 단점
    • BPE보다 학습 비용이 더 든다.
    • merge 규칙을 직관적으로 이해하기가 BPE보다 어렵다

 

 

2.4.SentencePiece Tokenization

  • 방법
    • raw text 그대로 받아 sub-word를 학습
  • 장점
    • 언어 비의존적으로, 다양한 언어에서 동일한 파이프라인 사용가능
    • 배포와 재현성이 좋음
  • 단점
    • 출력 토큰의 이해가 어렵다.
    • 언어분석 목적에는 부적합하다.