GN⁺: Byte Latent Transformer: Token보다 확장성이 뛰어난 Patch
(ai.meta.com)- Byte Latent Transformer (BLT) 는 바이트 레벨 대형 언어 모델(LLM)의 새로운 아키텍처로, 토크나이제이션 기반 모델과 동일한 성능을 달성하면서도 추론 효율성과 강건성이 크게 개선됨
- 바이트를 동적 크기의 패치로 인코딩하여, 패치가 주요 연산 단위로 작동
- 동적 패치 분할: 다음 바이트의 엔트로피를 기반으로 복잡도가 높은 데이터에 더 많은 계산 자원 할당
- 바이트 기반 모델의 최초 FLOP 통제 스케일링 연구:
- 8B(80억) 파라미터, 4조(4T) 학습 바이트까지 스케일링
- 고정된 어휘(vocabulary)가 필요 없는 원시 바이트로 모델 학습 가능성 확인
주요 결과
-
효율적인 학습 및 추론:
- 데이터가 예측 가능할 때 긴 패치를 선택하여 계산량 감소
- 모델이 복잡성에 따라 동적으로 패치를 조정해 자원을 최적화
-
스케일링 개선:
- 고정된 추론 비용에서 토크나이제이션 기반 모델 대비 더 나은 성능
- 패치 크기와 모델 크기를 동시에 증가시켜 스케일링 효율성 확보
-
정성적 성능 개선:
- 추론 및 일반화 능력 향상: 이유 추론 및 희소 데이터(long-tail) 처리에서 질적 개선
- 고정 어휘 기반 접근법의 한계를 극복
의의
- BLT는 토크나이제이션 없이 원시 바이트를 처리하면서도, 대규모 데이터와 모델 학습의 효율성을 입증
- 추론 비용 대비 더 우수한 성능을 제공하며, 차세대 바이트 레벨 LLM의 가능성을 시사
- 특히, 복잡한 데이터를 다룰 때 동적 패치 방식이 적응형 모델링의 새로운 표준으로 자리잡을 가능성 제시
Hacker News 의견
-
BERT가 출시되던 여름, 캐릭터 기반 CNN 모델을 사용하여 분류 작업을 하던 스타트업에서 일하고 있었음. 팀원들은 워드 벡터에 관심이 있었지만, 사전 외 단어가 많아 실패로 이어질 수 있다고 생각했음
- "기초 모델"에서도 사전 외 단어가 문제가 되었음
- 캐릭터 기반 모델로 괜찮은 성과를 내고 있었지만, 신경망에 "사전"을 저장하는 것이 비효율적이라는 의견이 있었음
- Word2Vec 같은 방식이 실패할 것이라고 확신하여 이전 프로젝트를 떠났음
- 바이트 쌍 인코딩이 도입되었을 때, 처음으로 지지할 수 있는 토크나이제이션 방식이라고 말했음
- 캐릭터 레이블로 작업할 수 있기를 바람. 토크나이저에 대한 반감이 있음
-
계층 구조가 흥미롭지만 두 단계만 있는 것이 아쉬움. 더 많은 계층을 쌓는 것이 연구의 방향이 될 수 있음
- FLOP 예산을 계층에 따라 분배하는 것에 주의해야 함
- 패치를 더 큰 단위로 그룹화하는 방법을 찾아야 함
-
패치를 생성하기 위해 작은 모델을 사용하여 입력 문자열의 다음 문자의 가능성을 예측함
- 예: 다음 문자가 'a'일 가능성이 100% 또는 'a', 'b'일 가능성이 각각 10%일 수 있음
- 문자 추정치를 함께 묶어 패치(또는 토큰)를 만듦
-
샘플링은 LLM의 어려운 점이지만, 유효한 JSON을 항상 출력하도록 강제하거나 온도를 조정하여 다양한 분포를 얻는 등 흥미로운 사용을 가능하게 함
- BLT에서는 디코더에 허용/금지된 바이트를 추가 입력으로 제공하고 유효한 출력을 얻을 때까지 디코딩을 반복하는 방법을 생각할 수 있음
-
AI가 이진 파일로 사전 훈련할 수 있는지에 대한 질문이 있음
-
토크나이제이션을 암시적으로 만들어 바이트(또는 문자)만 모델에 제공할 수 없는지에 대한 질문이 있음
-
Karpathy의 관련 인용문: 토크나이제이션은 LLM의 많은 이상함의 중심에 있음
- LLM이 단어를 철자할 수 없는 이유는 토크나이제이션 때문임
- LLM이 간단한 문자열 처리 작업을 수행하지 못하는 이유는 토크나이제이션 때문임
- LLM이 비영어권 언어에 약한 이유는 토크나이제이션 때문임
- LLM이 간단한 산술에 약한 이유는 토크나이제이션 때문임
- GPT-2가 Python 코딩에 불필요한 어려움을 겪은 이유는 토크나이제이션 때문임
- LLM이 "<|endoftext|>" 문자열을 보면 갑자기 멈추는 이유는 토크나이제이션 때문임
- "trailing whitespace" 경고가 나타나는 이유는 토크나이제이션 때문임
- "SolidGoldMagikarp"에 대해 질문하면 LLM이 깨지는 이유는 토크나이제이션 때문임
- LLM에서 YAML을 JSON보다 선호해야 하는 이유는 토크나이제이션 때문임
- LLM이 실제로 끝에서 끝까지 언어 모델링을 하지 않는 이유는 토크나이제이션 때문임
- 고통의 진정한 근원은 토크나이제이션임
-
3가지 구성 요소로 이루어진 모델임
- 인코더: 바이트 그룹을 받아 패치라는 숨겨진 상태/인코딩을 출력함
- 트랜스포머: 패치의 인코딩을 자동회귀 방식으로 처리함
- 디코더: 트랜스포머가 처리한 인코딩을 바이트로 출력함
- 손실은 바이트 간 교차 엔트로피(다음 바이트 예측)에 기반함
-
바이트를 그룹화하는 방법
- 엔트로피 임계값 사용: 바이트 시퀀스의 엔트로피가 임계값보다 낮으면 그룹화함
- 데이터에서 학습된 모델임
-
현재 LLM의 바이트 쌍 토크나이제이션보다 이점이 있음
- 인코더/디코더가 "학습 가능한" 토크나이제이션 방식으로 작동함
- 효율성 거래가 더 나음 (예측 가능한 바이트 시퀀스의 경우, 인코더가 주요 트랜스포머의 계산 노력을 "오프로드"할 수 있음)
- 역사가 보여주듯이 끝에서 끝까지 학습된 시스템이 인간이 설계한 메커니즘을 능가함
-
우리는 정체기에 접어들어야 한다고 생각했음