저는 @eliebakouch가 @reflection_ai의 Beam 기술 보고서에 대해 언급하는 것을 기다리다가 지루해져서, 그의 목소리를 근사하게 모방하려는 elie 스타일의 스킬을 만들었습니다. 한번 봅시다:
@reflection_ai의 beam 기술 보고서는 매우 상세하며, 최초의 오픈 모델에 대한 156페이지 분량이며, 올해 서방 연구소에서 나온 가장 완벽한 보고서 중 하나일 것입니다.
총 501B 매개변수 중 23B가 활성 상태이고, 23.8T 토큰을 다루며, 1M 컨텍스트 길이를 가지고, apache 2.0 라이선스를 따릅니다 (다만 제가 알기로는 기본 모델은 출시되지 않았고, 인스트럭트(instruct) 버전만 있습니다).
먼저 구조를 살펴보면: 52개 레이어(3개의 밀집 계층(dense) 후 49개의 MoE), 토큰당 8개가 라우팅되는 256개의 전문가(expert)로 구성되어 있습니다.
주요 선택 사항은 다음과 같습니다: > 5:1 슬라이딩 윈도우 / 아웃풋 게이트가 있는 글로벌 어텐션 > 공유 전문가가 없는 deepseek V3 스타일 MoE > 샌드위치 노름(sandwich norm) + 새로운 깊이 스케일 잔차 연결(depth scaled residual) > 옵티마이저로 AdamC를 사용합니다.
어텐션에 관해서는: 8개의 KV 헤드를 가진 GQA(Grouped-Query Attention)를 사용하고, 작은 창(512)을 가지며, RoPE(Rotary Position Embedding)는 로컬 레이어에만 적용되고 글로벌 레이어에는 NoPE가 적용됩니다. 또한 QK 노름에서는 학습 가능한 게인(learnable gains)을 유지하는데, 이를 제거하면 긴 컨텍스트 외삽(long context extrapolation) 성능이 저하되기 때문입니다.
싱크(sink) 대 게이트(gate) 질문에 대해서는 게이트를 선택했습니다.
이 부분은 흥미롭습니다: 글로벌(NoPE) 레이어는 쿼리 위치와 어텐션 로짓을 스케일링합니다 (1 + p/2048)^0.1). 따라서 로그 버전의 스케일러 소프트맥스(scalable softmax)를 사용하며, 로그 대신 '제곱근' 버전을 사용했습니다 (제가 알기로 Llama 4는 NoPE 레이어에서 이와 유사한 로그 버전을 사용합니다).
이것이 그 모델의 중요한 이유 중 하나라고 생각합니다.
MoE는 설정(config)을 읽어보면 기본적으로 deepseek V3와 같습니다: 256개의 전문가 중 상위 8개를 사용하고, 처음 3개 레이어는 밀집 계층이며, 시그모이드 게이팅(sigmoid gating)과 동일한 그룹 라우팅 및 routed_scaling_factor 값을 가집니다. 주요 차이점은 공유 전문가가 없다는 것입니다.
로드 밸런싱(load balancing)은 추가 손실(aux-loss)이 없는 바이어스(bias)와 그들이 유지하는 시퀀스 추가 손실을 사용합니다.
로드 밸런싱에 대한 좋은 세부 사항이 있습니다. 이는 각 단계에서 변경됩니다:
사전 학습(pretraining): 바이어스 업데이트 비율은 워밍업 후 일정하게 유지되는 대신 코사인 감쇠를 따라 0으로 감소합니다 (V3는 마지막 500B 토큰에 대해 단순히 0으로 전환했습니다). 가장 바쁜 전문가가 균일 부하의 1.04배에서 끝납니다.
미드 트레이닝(midtraining):