다른 팀들이 ...할 때 겪는 엔지니어링 과제에 대해 읽는 것은 언제나 즐겁습니다
요약
DeepSeek의 기술 보고서는 최상급의 엔지니어링 기법으로 학습 실행 과정을 상세히 다루고 있어 매우 가치가 높습니다. 특히 v4 보고서에서는 10개 이상의 교사 모델을 활용한 온폴리시 증류 과정에서, 효율적인 배치 처리를 위해 '교사 인덱스' 순으로 배치를 정렬하는 방법을 제시했습니다. 또한, 메모리 최적화를 위해 전체 어휘 로짓(full-vocab logits) 대신 더 작은 크기의 마지막 레이어 은닉 상태(last-layer hidden states)를 캐싱하여 계산 부하를 줄이는 기술을 소개하고 있습니다.
핵심 포인트
- 온폴리시 증류 시, 교사 모델의 예측값 순서를 효율적으로 관리하는 배치 정렬 기법이 사용되었습니다.
- 메모리 최적화를 위해 전체 어휘 로짓(full-vocab logits) 대신 마지막 레이어 은닉 상태(last-layer hidden states)를 캐싱하여 계산 부하를 줄였습니다.
- 이는 대규모 모델 학습 시 발생하는 엔지니어링 및 메모리 관리 문제를 해결하는 실질적인 접근 방식입니다.
DeepSeek의 기술 보고서(tech reports)는 최상급의 엔지니어링 (engineering)을 통해 학습 실행 (training runs)을 수행하기 때문에 언제나 읽을 가치가 매우 높습니다.
v4 보고서에는 전체 어휘 (full vocabulary)를 증류 (distilling)하면서 10개 이상의 교사 모델 (teachers)을 사용하여 온폴리시 증류 (on-policy distillation)를 어떻게 관리했는지에 대한 숨겨진 보석 같은 정보들이 포함되어 있습니다.
교사 모델에 따라 예측값의 순서를 정하는 방식입니다.
그들은 미니 배치 (mini-batch)당 교사 모델의 헤드 (head)를 여러 번 로드하는 것을 피하기 위해 교사 인덱스 (teacher index) 순으로 배치를 정렬합니다. 그런 방식으로 한 명의 교사 모델에 대한 모든 예측값을 생성한 뒤 다음 모델로 넘어갑니다.
이는 데이터 측면에서 잠재적으로 간단한 변경 사항이 될 수 있습니다.
로짓 (logits) 대신 마지막 레이어의 은닉 상태 (last-layer hidden states)를 캐싱 (caching)하는 것입니다.
전체 어휘 로짓 (full-vocab logits)은 (num_tokens, ~100k)인 반면, 은닉 상태 (hidden states)는 (num_tokens, ~4k)입니다.
커다란 로짓 텐서 (logit tensor)를 캐싱하는 대신, 더 작은 은닉 상태를 캐싱하고 로짓 = prediction_head(hidden_state)를 즉석에서 계산합니다.
이 정도 규모 (scale)로 학습할 때 다른 팀들이 겪는 엔지니어링 과제 (engineering challenges)에 대해 읽는 것은 언제나 즐거운 일입니다.
다른 세부 사항을 확인하고 싶다면:
AI 자동 생성 콘텐츠
본 콘텐츠는 X @cmpatino_ (자동 발견)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기