캐릭터닷에이아이, 6비트 기울기 압축 '스퀸치' 등 사전학습 최적화 기술 공개
캐릭터닷에이아이가 놈 샤지어가 이끌었던 초기 대규모 사전학습 최적화 노하우를 최초로 공개했습니다. 핵심은 6비트 기울기 압축 알고리즘 '스퀸치(Squinch)'로, 제한된 네트워크 대역폭 속에서도 bfloat16 수준의 훈련 정확도를 온전히 유지하도록 설계되었습니다.

최신 환경 대비 네트워크 대역폭이 4분의 1에 불과한 클러스터에서 대규모 언어 모델을 학습시켜야 한다면 어떻게 해야 할까요?
Character.ai가 오픈소스 모델 기반으로 방향을 틀기 전, 공동 창립자 놤 샤지어(Noam Shazeer)가 이끌던 초기 사전 학습 팀은 극한의 하드웨어 제약을 소프트웨어 기법으로 극복했습니다. Character.ai는 당시 활용했던 다섯 가지 핵심 최적화 기술을 처음으로 공개했습니다.
6비트 기울기 압축 Squinch와 정밀도 제어
가장 눈길을 끄는 기술은 놤 샤지어가 고안한 6비트 기울기 압축 알고리즘 'Squinch'입니다. 극심한 대역폭 병목을 해결하기 위해 8개의 그래디언트 값을 48비트 블록 하나로 압축해 요소당 6비트로 줄였습니다.
트랜스포머의 기울기 분포에 맞춰 설계되어 bfloat16 수준의 정확도를 그대로 유지하면서 노드 간 통신 비용을 대폭 낮췄습니다. 이 접근법은 훗날 DeepSeek의 logfmt 등 다른 모델 설계에도 영향을 미쳤습니다.
수치 안정성을 잡기 위한 'Attention Z-Reg'도 공개되었습니다. bfloat16은 값이 커질수록 정밀도가 급격히 떨어지므로, 역전파 과정에서 어텐션 로짓의 총합을 0 근처로 유지하도록 기울기에 직접 정규화를 걸어 정밀도 손실을 방지했습니다.
양자화 인식 학습에서는 고정 범위 클램핑으로 인해 작은 활성화 값이 0으로 사라지는 현상을 막기 위해, 가중치 RMS에 따라 범위를 유동적으로 조절하는 'Dynamic Clamping'을 도입했습니다.
대화 트리 패킹과 오프라인 증류 최적화
대화형 데이터의 구조적 특성을 처리하기 위해 고안한 'Visibility Mask'도 유용합니다. 시작점과 한계점을 나타내는 단 두 개의 텐서만으로 트리 구조 대화, 인과적 어텐션, 추론 시 빔 서치 등을 하나의 배치 안에 효율적으로 패킹했습니다.
지식 증류 최적화에서는 대형 어휘집을 가진 교사 모델의 확률 분포를 오프라인에 저장할 때 생기는 용량 부담을 Gumbel top-k 서브샘플링으로 해결했습니다. 학생 모델에 편향을 주지 않으면서도 저장 비용을 획기적으로 절감했습니다.
왜 중요한가
네트워크 인프라가 넉넉하지 않은 환경에서 분산 학습이나 희소 MoE 모델을 훈련해야 하는 엔지니어들에게 Squinch와 같은 기법은 훌륭한 실전 레퍼런스입니다. 대역폭 병목을 알고리즘 수준에서 해결할 수 있음을 입증하기 때문입니다.
산업적 관점에서는 초기 생성형 AI 스타트업이 자본과 장비의 열세를 극단적인 엔지니어링 역량으로 극복해 낸 사례를 잘 보여줍니다. 놤 샤지어 팀이 증명한 이러한 기술적 깊이는 훗날 빅테크가 이들을 다시 영입하게 만든 핵심 배경이기도 합니다.
우리는 Character.ai가 자체 대규모 사전 학습을 중단한 시점에서 이 코드와 아이디어를 공개한 것이 영리한 선택이라고 봅니다. 천문학적 자본이 드는 사전 학습 경쟁에서는 발을 빼고, 오픈소스 파인튜닝과 제품 경험에 집중하면서도 개발자 생태계에는 실질적인 유산을 남겼기 때문입니다.
출처 (1)
- blog.character.ai(새 탭에서 열림)원문blog.character.ai