Modern Encoders
Encoder의 역할은 GPT 이후에도 사라지지 않았다. Classification이나 Retrieval처럼 입력 전체를 읽고 representation을 만드는 작업에서는 Encoder가 계속 유용하다. ModernBERT와 NeoBERT는 이 역할을 유지하면서, 앞 강의에서 본 RoPE·gated FFN·효율적인 Attention 실행을 도입해 긴 입력과 처리량을 개선한 사례다.
Modern Encoders
ModernBERT의 변경은 단순히 parameter 수를 늘리는 방식과 다르다. BERT의 learned absolute position을 RoPE로, GELU FFN을 GeGLU로 바꾸고, 모든 layer에서 global Attention을 계산하는 대신 2개의 local layer와 1개의 global layer를 조합한다. Local Attention은 가까운 범위의 계산에 집중하고, Global Attention은 멀리 떨어진 token 사이의 연결을 유지한다. Context length는 512에서 8192로 늘어난다.
Training objective는 MLM+NSP에서 MLM only로 바뀐다. 구현에서는 padding을 그대로 계산하는 대신 unpadding과 FlashAttention을 사용한다. 서로 다른 길이의 입력을 같은 길이로 맞추면 짧은 입력 뒤의 padding에도 계산이 들어가므로, 실제 token을 중심으로 처리하면 낭비를 줄일 수 있다. Padding을 없앤다는 말은 서로 다른 sample의 token을 자유롭게 섞어 Attention한다는 뜻이 아니다. Sample 사이의 경계는 여전히 구분해야 한다. 강의에 제시된 ModernBERT의 규모는 149M/395M parameters와 2T training tokens다.
NeoBERT는 250M parameters, context 4096, 2.1T tokens의 모델이다. 강의는 동일한 fine-tuning 조건의 MTEB-English 결과와, 길이 4096·A100 조건에서 ModernBERT-Base보다 46.7% 높은 throughput을 함께 제시한다. Throughput은 초당 처리하는 양이다. Parameter 수나 이론적인 FLOPs만으로 실제 속도를 정할 수 없으며, Attention 구현·padding 처리·hardware 활용까지 함께 보아야 한다. 따라서 이 숫자는 해당 benchmark 조건의 비교로 읽어야 한다.
What a Student Learns
작은 모델을 배포해야 할 때에는 큰 Teacher가 학습한 정보를 Student로 옮기는 Knowledge Distillation을 사용할 수 있다. 정답이 cat이라는 hard label만 주면 tiger와 car는 모두 오답이다. 반면 Teacher가 cat 0.90, tiger 0.09, car 0.01을 출력하면, Student는 정답뿐 아니라 오답 사이의 상대적인 가까움도 학습할 수 있다. Soft targets가 주는 정보는 바로 이 확률분포에 있다.
DistilBERT는 BERT의 110M parameters·12 layers를 66M·6 layers의 Student로 옮긴다. Teacher의 layer를 간격을 두고 가져와 초기화하는 것과, 그 뒤 Student가 Teacher의 동작을 따라가도록 학습하는 것은 별개의 과정이다. Layer 절반을 제거하는 것만으로 distillation이 끝나는 것은 아니다.
DistilBERT의 세 loss는 서로 다른 부분을 맞춘다. Distillation loss는 Teacher의 출력분포를, MLM loss는 원래의 masked-token prediction을, hidden-state cosine loss는 내부 representation의 방향을 맞추도록 한다. 강의의 97% GLUE dev 성능 유지와 60% CPU faster는 이러한 학습 뒤 보고된 setting의 값이며, 모든 task와 hardware에 동일하게 적용되는 비율은 아니다.
Token Relations Instead of Hidden Width
Teacher와 Student의 hidden states를 그대로 비교하면 두 모델의 hidden width를 맞춰야 하는 문제가 생긴다. MiniLM은 마지막 layer의 Q/K 및 V/V relation을 사용해 비교 대상을 token 사이의 관계로 바꾼다. Sequence length가 일 때,
이다. Q, K, V를 만드는 내부 feature dimension이 달라도, 같은 입력의 token relation은 으로 비교할 수 있다. 이 관계를 distill하면 hidden width를 직접 일치시키는 제약을 피할 수 있고, Student의 depth도 자유롭게 선택할 수 있다. DistilBERT가 출력·MLM·hidden state를 함께 맞추는 방식과, MiniLM이 token relation을 전달하는 방식을 구분하면 무엇을 압축해 옮기는지 이해할 수 있다.
Check
ModernBERT의 개선에서 L3의 어떤 개념들이 재사용되는가?
Answer
RoPE,gated FFN,local/global span,FlashAttention,packing/unpadding 같은 효율 설계를 연결한다.
MiniLM이 hidden states 대신 QK/VV relations를 맞추는 이유는?
Answer
Relation을 token간 matrix로 만들면 Teacher/Student hidden width가 직접 같아야 하는 제약을 피할 수 있다.