토큰/평가: BPE
ㅁ 토큰/평가
ㅇ 정의:
– 텍스트를 작은 단위로 분리하여 처리하거나 분석하는 과정, 또는 이를 평가하는 방법론.
ㅇ 특징:
– 자연어 처리에서 필수적인 전처리 단계로, 텍스트 데이터를 숫자로 변환하기 위한 기반을 제공함.
– 평가 지표는 모델의 성능을 정량적으로 나타내는 데 사용됨.
ㅇ 적합한 경우:
– 대규모 텍스트 데이터를 처리할 때.
– 모델의 성능 비교가 필요한 경우.
ㅇ 시험 함정:
– 토큰화 방식의 차이를 정확히 이해하지 못하면 혼동을 초래할 수 있음.
– 평가 지표를 잘못 해석하면 모델 성능에 대한 오판 가능성이 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “토크나이저는 텍스트 데이터를 전처리하는 도구이다.”
– X: “토크나이저는 모델의 학습 결과를 평가하는 역할을 한다.”
================================
1. BPE
ㅇ 정의:
– Byte Pair Encoding의 약자로, 텍스트 데이터를 압축하거나 분리하는 알고리즘.
– 자주 등장하는 문자 쌍을 하나의 단위로 병합하여 희소성을 줄이는 방식.
ㅇ 특징:
– 단어 분리를 동적으로 수행하여 OOV(Out of Vocabulary) 문제를 완화함.
– 사전 크기를 조정할 수 있어 메모리 효율적.
ㅇ 적합한 경우:
– 희소성이 높은 언어 데이터를 처리할 때.
– 사전 크기를 제한해야 하는 환경에서.
ㅇ 시험 함정:
– BPE와 WordPiece를 혼동할 수 있음.
– 병합 규칙을 잘못 이해하면 알고리즘의 동작 원리를 오해할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “BPE는 자주 등장하는 문자 쌍을 병합하여 희소성을 줄인다.”
– X: “BPE는 단어를 고정된 크기의 토큰으로 나눈다.”
ㅁ 추가 학습 내용
1. BPE와 WordPiece의 차이점:
– BPE(Byte Pair Encoding)와 WordPiece는 모두 서브워드 단위의 토크나이저로, 단어를 더 작은 단위로 분할하여 처리합니다.
– BPE는 병합 규칙을 단순히 빈도 기반으로 결정합니다. 즉, 가장 자주 등장하는 문자나 서브워드 쌍을 반복적으로 병합합니다.
– WordPiece는 병합 규칙을 확률 기반으로 결정합니다. 각 서브워드 시퀀스의 확률을 최대화하는 방향으로 병합이 이루어집니다. 이는 언어 모델의 성능을 고려한 방식으로, BPE보다 더 정교한 병합 방식이라고 볼 수 있습니다.
2. BPE 알고리즘의 병합 과정:
– 초기화: 모든 단어를 문자 단위로 분할하여 시작합니다. 예를 들어, “hello”는 [“h”, “e”, “l”, “l”, “o”]로 분해됩니다.
– 병합 규칙 생성: 각 문자 쌍의 빈도를 계산하고, 가장 빈도가 높은 쌍을 병합합니다. 예를 들어, “l”과 “l”이 가장 자주 등장하면 이를 “ll”로 병합합니다.
– 반복 병합: 위 과정을 반복하여 점차 더 긴 서브워드를 생성합니다. 병합 횟수는 미리 정한 병합 횟수(k)로 제한됩니다.
– 최종 결과: 생성된 병합 규칙을 사용하여 텍스트를 서브워드 단위로 토큰화합니다.
3. 자연어 처리의 성능 평가 지표:
– BLEU(Bilingual Evaluation Understudy): 기계 번역 성능을 평가하기 위한 지표로, 생성된 텍스트와 참조 텍스트 간의 n-그램 일치를 측정합니다. 주로 n-그램의 정밀도를 기반으로 평가하며, 브리프 길이 패널티를 적용하여 과도한 짧은 번역을 방지합니다.
– ROUGE(Recall-Oriented Understudy for Gisting Evaluation): 텍스트 요약 성능을 평가하기 위한 지표로, 생성된 텍스트와 참조 텍스트 간의 n-그램, LCS(Longest Common Subsequence) 등을 비교하여 회수율(Recall) 중심으로 평가합니다. ROUGE-1, ROUGE-2, ROUGE-L 등의 변형이 존재합니다.