AI: 토큰 및 임베딩 특수 처리
ㅁ 토큰 및 임베딩 특수 처리
1. Relative Positional Embedding
ㅇ 정의:
– 입력 시퀀스 내 토큰 간의 상대적 위치 정보를 임베딩에 반영하는 기법으로, 절대 위치 대신 토큰 간 거리 관계를 모델이 학습하도록 함.
ㅇ 특징:
– 길이 가변 시퀀스 처리에 유리.
– 시퀀스 길이가 학습 시보다 길어져도 일반화 성능 유지 가능.
– Transformer 모델의 self-attention 계산 시 position bias 형태로 적용.
ㅇ 적합한 경우:
– 긴 문서 처리.
– 문맥 내 관계를 거리 기반으로 파악해야 하는 NLP 태스크.
ㅇ 시험 함정:
– 절대 위치 임베딩과 혼동.
– “토큰의 절대 위치를 직접 인코딩”이라는 설명은 X.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “토큰 간 거리 정보를 활용하여 길이 확장에 강건하다.”
– X: “항상 고정된 위치 인덱스를 사용한다.”
2. Rotary Embeddings
ㅇ 정의:
– 임베딩 벡터에 회전 변환을 적용하여 위치 정보를 연속적이고 주기적으로 부여하는 방법.
ㅇ 특징:
– 사인/코사인 함수를 이용한 회전 변환으로 상대적 위치 인코딩 가능.
– 메모리 효율적이며 긴 시퀀스 확장에 강점.
ㅇ 적합한 경우:
– LLM(Long Context) 모델.
– 음악, 시계열 데이터 등 주기성이 있는 데이터 처리.
ㅇ 시험 함정:
– 단순 사인/코사인 절대 포지셔널 인코딩과 동일시.
– 회전 변환이 아닌 덧셈 방식이라고 설명하면 X.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “벡터 공간에서 회전 연산을 통해 위치 정보를 부여한다.”
– X: “위치 정보를 단순히 추가 벡터로 더한다.”
3. SentencePiece
ㅇ 정의:
– 구글이 개발한 언어 불문 서브워드 토크나이저로, 공백을 포함한 텍스트를 학습 가능한 단위로 분할.
ㅇ 특징:
– 언어 종속성이 낮음.
– 공백까지 하나의 심볼로 처리 가능.
– BPE, Unigram 등 다양한 알고리즘 지원.
ㅇ 적합한 경우:
– 다국어 모델.
– 공백이나 특수문자 처리 일관성 필요 시.
ㅇ 시험 함정:
– 단어 단위 토크나이저로 오해.
– 항상 BPE만 사용한다고 오인.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “공백도 토큰으로 처리할 수 있다.”
– X: “영어 전용 토크나이저이다.”
4. Byte-Pair Encoding
ㅇ 정의:
– 가장 빈번하게 등장하는 바이트(문자) 쌍을 병합하여 서브워드 사전을 구축하는 토크나이징 알고리즘.
ㅇ 특징:
– 희귀 단어를 서브워드로 분해 가능.
– 어휘 크기를 제어 가능.
– 데이터 압축 기법에서 유래.
ㅇ 적합한 경우:
– 희귀 단어가 많은 코퍼스.
– 신조어나 오탈자 처리.
ㅇ 시험 함정:
– 항상 단어 경계를 보존한다고 설명하면 X.
– 바이트 단위만 처리한다고 오해.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “빈번한 문자 쌍을 병합하여 어휘를 확장한다.”
– X: “단어 단위로만 병합한다.”
ㅁ 추가 학습 내용
절대 위치 vs 상대 위치 비교
절대 위치: 각 토큰의 위치를 고정된 인덱스로 표현. 문장 내 위치 번호에 따라 임베딩을 부여. 문장 길이가 변하면 학습된 범위를 넘어서는 위치에서는 일반화가 어려움.
상대 위치: 두 토큰 간의 거리(상대적 차이)를 표현. 문장 길이가 변해도 거리 관계만 유지되면 일반화 가능. 길이 확장에 유리.
Rotary Position Embedding(RoPE)
토큰 임베딩에 위치 정보를 곱셈 형태로 주입하는 방식.
수학적 정의: 임베딩 벡터를 2차원 평면(복소수 평면) 상에서 회전시키는 변환. 각 차원 쌍에 대해 사인/코사인으로 구성된 회전 행렬을 곱하여 위치에 따른 위상 변화를 부여.
특징: 상대적 거리 정보를 자연스럽게 포함하며, 긴 시퀀스 일반화에 강점.
SentencePiece
Unigram Language Model 기반 토크나이저.
특징: 후보 서브워드 집합을 확률적으로 평가하여 최적의 분할을 선택. 확률 기반 접근으로 다양한 분할 가능성 고려.
BPE와의 차이: BPE(Byte-Pair Encoding)는 가장 빈번한 문자 또는 서브워드 쌍을 반복적으로 병합하는 병합 기반 방식. Unigram은 전체 후보 집합에서 확률이 낮은 서브워드를 제거하는 방식.
Byte-Pair Encoding(BPE)
일반 BPE: 데이터에서 가장 자주 등장하는 문자/서브워드 쌍을 병합하여 어휘 확장.
Byte-level BPE: GPT 계열 모델에서 사용. UTF-8 바이트 단위로 토크나이징하여 모든 문자를 바이트 시퀀스로 처리. 멀티바이트 문자를 분해 가능하며, 언어와 무관하게 통일된 처리 가능.