AI 모델 개발: 토큰 관리

ㅁ 토큰 관리

ㅇ 정의:
대규모 언어 모델(LLM)에서 입력과 출력에 사용할 수 있는 최대 토큰 수를 효율적으로 관리하는 기법으로, 모델의 컨텍스트 윈도우 제약을 극복하거나 최적화하기 위해 사용됨.

ㅇ 특징:
– 모델별로 최대 토큰 제한이 존재하며 이를 초과하면 입력이 잘리거나 오류 발생
– 긴 문서 처리 시 토큰 절약, 중요 정보 유지, 불필요한 정보 제거 필요
– 다양한 토큰 관리 기법이 존재하며 목적에 따라 선택

ㅇ 적합한 경우:
– 회의록, 논문, 장문 기사 등 긴 텍스트를 모델에 처리시킬 때
– 대화형 AI에서 과거 대화 맥락을 유지해야 할 때

ㅇ 시험 함정:
– 토큰 수와 글자 수를 혼동하는 경우
– 컨텍스트 윈도우 확장과 모델 파라미터 수 증가를 동일시하는 오류

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Extended Context Window는 모델이 더 많은 토큰을 한 번에 처리할 수 있도록 설계된 기법이다.”
X: “Extended Context Window는 모델의 파라미터 수를 증가시켜 토큰 처리를 확장한다.”

================================

1. Extended Context Window

ㅇ 정의:
모델의 기본 컨텍스트 윈도우 크기를 확장하여 더 많은 토큰을 한 번에 처리할 수 있도록 하는 기술.

ㅇ 특징:
– 모델 구조(예: Positional Encoding, RoPE) 변경 필요
– 긴 문서나 전체 대화 히스토리를 한번에 입력 가능
– 연산량 증가 및 메모리 사용량 상승

ㅇ 적합한 경우:
– 법률 문서, 기술 매뉴얼 등 전체 문맥을 유지해야 하는 작업
– 다단계 추론이 필요한 질의응답

ㅇ 시험 함정:
– 단순히 배치 크기를 늘리는 것과 혼동
– 컨텍스트 윈도우 확장이 항상 성능 향상을 보장한다고 생각하는 오류

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Extended Context Window는 긴 텍스트 입력을 위해 Positional Encoding을 조정하는 경우가 많다.”
X: “Extended Context Window는 토큰 수를 줄여서 긴 문장을 처리한다.”

================================

2. Sliding Attention

ㅇ 정의:
긴 시퀀스를 처리할 때 전체 시퀀스를 한 번에 주의(attention)하지 않고, 일정한 윈도우 단위로 이동하며 주의하는 방식.

ㅇ 특징:
– 메모리 사용량 절감
– 국소적 문맥 유지에 유리
– 먼 거리 의존성 처리에는 한계

ㅇ 적합한 경우:
– 스트리밍 데이터 처리
– 실시간 자막 생성, 실시간 로그 분석

ㅇ 시험 함정:
– Sliding Attention이 전체 문맥을 항상 유지한다고 착각
– 윈도우 크기와 모델 성능의 상관관계를 무시

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Sliding Attention은 긴 시퀀스를 작은 윈도우로 나누어 순차적으로 처리한다.”
X: “Sliding Attention은 모든 토큰 쌍에 대해 항상 완전한 주의 연산을 수행한다.”

================================

3. Long Sequence Processing

ㅇ 정의:
긴 입력 시퀀스를 효율적으로 처리하기 위한 다양한 모델 구조 및 최적화 기법의 총칭.

ㅇ 특징:
– Sparse Attention, Memory Tokens, Chunking 등 다양한 접근 포함
– 연산 복잡도와 메모리 사용량을 줄이면서 긴 문맥 처리 가능
– 일부 기법은 정확도 저하 가능성 존재

ㅇ 적합한 경우:
– 대규모 로그 분석, 장편 소설 요약
– 과학 데이터 시계열 분석

ㅇ 시험 함정:
– Long Sequence Processing이 특정 단일 알고리즘을 의미한다고 오해
– 모든 기법이 동일한 성능 특성을 가진다고 생각하는 오류

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Long Sequence Processing에는 Sparse Attention, Chunking 등이 포함된다.”
X: “Long Sequence Processing은 Sliding Attention만을 의미한다.”

ㅁ 추가 학습 내용

[학습 정리]

1. RoPE(Rotary Position Embedding) 기반 윈도우 확장 방법
– RoPE는 위치 정보를 각 토큰의 임베딩 벡터에 회전 변환 방식으로 부여
– 윈도우 확장은 RoPE의 주기성과 스케일링을 조정하여 긴 문맥에서도 위치 정보 유지
– 기존 절대 위치 인코딩 대비 장점: 더 긴 시퀀스 처리 가능, 연속성 유지

2. ALiBi(Attention with Linear Biases)
– 어텐션 점수 계산 시 거리(토큰 간 간격)에 비례하는 선형 감쇠 편향 추가
– 학습 시 최대 길이보다 긴 문맥에도 일반화 가능
– RoPE와 달리 위치 임베딩 벡터 추가 없이 어텐션 스코어에 직접 반영

3. Chunk Overlap 전략
– 긴 문서를 분할(chunks)할 때 각 청크 사이에 일정 부분 겹치게 함
– 문맥 단절 방지, 질의응답/검색 정확도 향상
– 겹치는 비율과 토큰 수를 적절히 조정해야 효율성과 성능 균형 유지

4. Retrieval-Augmented Generation(RAG)
– 모델이 답변 생성 전 외부 지식베이스에서 관련 문서 검색 후 결합
– 검색 단계: 관련 문서 인덱싱 및 검색
– 생성 단계: 검색된 문서를 프롬프트에 포함시켜 답변 생성
– 장점: 최신 정보 반영, 파라미터 수 증가 없이 지식 확장

5. 토큰화 관련
– BPE(Byte Pair Encoding): 가장 빈번한 문자 쌍을 병합하여 서브워드 단위 생성
– SentencePiece: 공백 포함한 문자 시퀀스를 직접 학습, 언어 독립적, 유니코드 기반 처리
– 토큰 수 계산: 모델 입력 전 토크나이저를 통해 실제 토큰 개수 확인
– 모델별 토큰 제한 비교
– OpenAI GPT-4: 최대 8K~32K 토큰(버전별 상이)
– Claude: 최대 100K 토큰 지원(Claude 2 기준)
– Gemini: 버전에 따라 수만~수십만 토큰 지원

[시험 대비 체크리스트]

– RoPE의 원리와 윈도우 확장 방식 설명 가능 여부
– ALiBi의 위치 편향 방식과 RoPE와의 차이점 이해
– Chunk Overlap의 필요성과 적정 겹침 비율 설명 가능 여부
– RAG의 검색 단계와 생성 단계 구분 및 장점 설명 가능 여부
– BPE와 SentencePiece의 토큰화 방식 차이 명확히 구분
– 실제 토큰 수 계산 방법 숙지 및 예시 적용 가능 여부
– GPT-4, Claude, Gemini 등 주요 모델의 토큰 제한 비교 암기

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*