본문 바로가기

인공지능 논문 정리

DeepSeek-V3 Technical Report 내용 정리

DeepSeek-V3 개요

모델 스펙

  • 전체 파라미터: 6710억 개
  • 활성화 파라미터: 370억 개
  • 학습 데이터: 14.8조 토큰

핵심 특징

  • Multi-Head Latent Attention (MLA): 효율적인 Key-value 캐시를 지원하면서 성능 저하를 최소화하는 Attention layer 구조를 활용
  • DeepSeekMoE 아키텍처: Shared expert와 Router expert를 동시에 이용하고, Router expert를 세분화하여 활용함으로써 효율적인 추론을 수행
  • Auxiliary-loss-free Load Balancing: 기존의 보조 손실(auxiliary loss) 없이도 전문가(expert) 간의 부하를 효과적으로 균형 조정하는 방법을 도입
  • Multi-Token Prediction (MTP): 단일 토큰 예측이 아닌, 다음 여러 토큰을 순차적으로 예측하여 생성 속도를 향상시키고 학습 신호를 풍부하게 함
  • FP8 혼합 정밀도 훈련: 기존 BF16 대비 더 낮은 정밀도를 사용하지만, 정밀도 손실을 줄이기 위한 세밀한 축소(quantization) 전략과 고정밀 누적(accumulation) 기법을 적용하여 안정적인 학습을 보장

Multi-Head Latent Attention (MLA)

DeepSeekMoE 구조와 Multi-Head Latent Attention (MLA) 구조

 

기존 Multi-Head Attention에서는 모든 헤드별로 Key, Value를 그대로 저장하고 활용했다. 그 결과 모델 규모가 커질수록 Key-Value 캐시에 대한 메모리 사용량이 급증했다. DeepSeek-V3는 이를 해결하고자 Multi-Head Latent Attention(MLA)을 도입했다. Key, Value를 먼저 낮은 차원의 latent로 압축한 뒤, 필요한 시점에 다시 확장하는 구조이다.

 

먼저 Key와 Value에 대한 입력 벡터를 일정한 차원으로 낮추는 Projection 연산을 수행한다. 이후 이렇게 압축된 Key, Value를 MLA에서 관리하며, 실제 Attention 시점에는 다시 확장된 형태로 사용한다. 예를 들어, Key, Value를 하나의 압축 벡터 $c_t^{KV}$로 만든 뒤, Key와 Value를 다시 확장한다. 이때 Key 일부에 대해서만 RoPE를 적용해 positional 정보를 추가로 반영한다.

 

이런 MLA 방식으로 인해 Key-Value 캐시에서 보관해야 할 텐서 양이 크게 줄어든다. 토큰을 처리할 때 필요한 캐시 메모리가 줄어들어, 특히 긴 문맥을 처리하거나 대규모 모델을 다룰 때 추론 시간을 단축하고 메모리를 효율적으로 쓸 수 있다. 또한 Query에 대해서도 별도의 압축/확장 과정을 거쳐서, 전체 Attention 연산에서 발생하는 활성화 메모리를 줄인다.


DeepSeekMoE

DeepSeekMoE는 Mixture-of-Experts(MoE)의 구조를 재해석하고 확장한 것이다. 모델의 Feed-Forward Network(FFN)를 여러 전문가 모델(expert)로 구성하고, 토큰마다 가장 적합한 expert의 출력을 선택해 쓰는 방식이다. DeepSeekMoE에서는 크게 Shared ExpertRouted Expert를 구분한다.

  1. Shared Expert
    모든 토큰에 대해 동일하게 적용되는 전문가이다. MoE 레이어마다 일정 개수의 Shared Expert가 존재한다.
  2. Routed Expert
    Gating 함수를 통해 토큰별로 서로 다른 expert를 선택하게 만든다. 모델은 토큰과 expert 사이의 적합도를 측정해 높은 값을 가진 expert를 활성화한다.

일반적인 MoE 구조에서는 토큰마다 1개 또는 2개의 expert를 선택하는 경우가 많다. 그러나 DeepSeekMoE는 더 세분화된 작은 expert를 많이 배치하고, 한 토큰에 여러 expert를 동시에 할당한다. 이렇게 하면 모델 크기를 확장하면서도 학습과 추론 효율을 높일 수 있다.

 

특히 DeepSeekMoE가 효율적인 이유는, finer-grained expert 방식으로 각각의 expert가 필요한 부분에 집중해서 파라미터를 학습하고, 그렇게 분산된 전문가들이 종합적으로 풍부한 표현력을 갖추기 때문이다. 또한 Shared Expert가 토큰 전반에 걸친 전역적 역할을 수행하고, Routed Expert가 특정 영역에 집중함으로써 다양성과 일반성을 동시에 추구한다.


Aux-Loss-Free Strategy

Mixture-of-Experts 구조에서 중요한 문제는 expert 간 부하 분산이다. 특정 expert에만 토큰이 몰리면 학습 및 추론에서 병렬화 이점을 살리지 못한다. 전통적으로는 auxiliary loss를 추가로 도입해 로드 밸런싱을 강제한다. 하지만 이 방법은 모델이 균등화에 과도하게 집중해 성능이 떨어질 수 있다.

 

DeepSeek-V3는 Aux-Loss-Free Strategy로 이러한 문제를 해결했다. Auxiliary loss를 따로 두지 않고, 각 expert마다 bias를 두어 token-to-expert affinity 점수에 동적으로 반영한다. 학습 도중에 매 스텝마다 expert별로 실제 부하량을 모니터링(!!!)하고, 특정 expert에 토큰이 몰리면 bias를 낮추고 적게 몰리면 bias를 높이는 식이다.

$g'_{i, t}$를 통해 expert의 사용 여부를 결정하고, $b_i$가 bias이다. 학습중에 bias를 부하량에 따라서 조절해준다.

 

이 방식은 다음과 같은 장점이 있다.

  1. 추가 손실 항이 없다
    모델의 기본 학습 목표 외에 별도의 loss가 존재하지 않으므로, 균등화를 위한 불필요한 페널티가 없어 성능 저하가 덜 발생한다.
  2. 유연한 부하 조절
    부하가 많은 expert는 bias를 줄이고, 적은 expert는 bias를 늘려 batch 단위로 균형을 맞춘다. 모달리티에 따라 특정 expert가 전문화되는 것도 자연스럽게 허용한다.
  3. 고른 활용
    최종적으로는 expert가 극단적으로 편중되는 현상을 방지하면서도, 각 expert마다 다른 도메인에 최적화된 표현을 학습할 수 있다.

이 Aux-Loss-Free Strategy 덕분에 DeepSeekMoE는 학습 초반부터 안정적으로 load balancing이 이루어지고, 학습 후반까지도 다양한 토큰 분포에 대응하면서 충분한 expert 특화 효과를 얻었다.


Multi-Token Prediction

Multi-Token Prediction은 기존의 언어 모델이 다음 토큰 하나만 예측하던 것과 달리, 같은 위치에서 여러 개의 미래 토큰을 동시에 예측하도록 하는 기법이다. DeepSeek-V3에서는 토큰마다 다음 토큰뿐 아니라 그 다음 토큰까지 예측하는 형태로 구현했다.

 

예를 들어 일반적인 언어 모델은 시점 tt에서 토큰 $\text{token}_t$를 입력받아 $\text{token}_{t+1}$을 예측한다. 하지만 Multi-Token Prediction에서는 동일한 $\text{token}_t$에 대해 $\text{token}_{t+1}$, $\text{token}_{t+2}$ 모두를 예측하도록 훈련한다. 이때 각 예측은 별도의 출력 모듈(또는 투영 모듈)을 통해 이루어지며, 여러 단계로 구성된 Transformer Block을 거치면서 순차적으로 추가 토큰을 예상한다.

 

이렇게 하면 훈련 과정에서 모델이 다음 토큰만 고려하는 것이 아니라 여러 미래 토큰을 한꺼번에 내다보며 내부 표현을 학습한다. 그 결과 데이터에서 얻을 수 있는 학습 신호가 좀 더 촘촘해지며, 실제 결과에서도 더 나은 정확도를 달성한다.

 

추론 단계에서는 여러 토큰을 동시 예측하는 과정이 그대로 사용될 수도 있고, 원하는 경우 기존처럼 한 토큰씩 디코딩할 수도 있다. DeepSeek-V3는 추가 토큰 예측을 활용해 speculative decoding 기법을 적용할 수도 있는데, 이를 통해 토큰 생성을 가속화하는 방안을 모색할 수 있다.

 

정리하면 Multi-Token Prediction은 한 번의 입력으로 여러 개의 토큰을 동시에 예측하도록 학습함으로써 모델의 데이터 효율을 높이고, 더 풍부한 내부 표현을 형성하도록 도와주는 방법이다. DeepSeek-V3가 이 방식을 채택해 실제 벤치마크에서 더 나은 성능을 달성했다.


FP8 Training

DeepSeek-V3는 대규모 모델임에도 효율적인 학습을 위해 FP8 mixed precision 방법을 채택했다. FP8은 BF16 대비 더욱 낮은 비트 수로 연산하지만, 적절한 quantization 방식을 활용해 학습 불안정 문제를 최소화했다. tile-wise와 block-wise quantization을 병행하고, Tensor Core에서 누적 연산을 FP32에 가깝게 올려 정확도를 지켰다. 이 과정을 통해 학습 속도와 GPU 메모리 효율을 동시에 잡았다.

분산 학습 최적화

  • DualPipe: DeepSeek-V3 학습에는 DualPipe라는 pipeline parallelism 기법을 사용했다. 서로 다른 micro-batch 쌍을 묶어 forward와 backward, 그리고 통신 단계를 최대한 겹치도록 하여 pipeline bubble을 줄였다.
  • Cross-node All-to-All 통신 최적화: MoE 구조에서 token이 여러 expert로 분산될 때 통신 비용이 커진다. 이를 효율적으로 처리하기 위해, IB와 NVLink의 대역폭 특성을 고려한 맞춤형 커널을 개발해 통신을 빠르게 수행했다.
  • Memory 사용 최적화: RMSNorm, MLA up-projection 등 계산량이 작은 연산은 backward에서 재계산하고, Exponential Moving Average 파라미터는 CPU에 보관했다. 이를 통해 불필요한 GPU 메모리를 줄였다.

Pre-Training 전략

데이터와 학습 파라미터

  • 14.8T token으로 다양하면서도 품질 높은 코퍼스를 구축했다. 영어와 중국어가 중심이지만, 기타 다국어 데이터도 포함되었다.
  • Fill-in-Middle 전략을 일부 적용해 중간 문맥 예측 능력을 높였다.
  • 4K context length를 기반으로 학습을 시작해, 최종적으로 128K까지 길이를 확장했다.
  • Multi-Token Prediction으로 각 token 예측 시 추가적인 token을 함께 예측하여 성능을 높였다.
  • Aux-Loss-Free Strategy로 expert load를 안정적으로 유지하면서 token을 dropout 없이 처리했다.

Long Context Extension

MoE 구조와 MLA를 적용해도, 더 긴 문맥 처리를 위해서는 추가 조정이 필요하다. DeepSeek-V3는 pre-training 이후 YaRN 방법으로 32K, 그리고 128K context length를 순차적으로 달성했다. 128K 길이에서도 안정된 성능을 보여주는 것이 큰 특징이다.

 

 

평가 결과

언어이해 및 지식 평가

영어 기반 MMLU, MMLU-Pro, TriviaQA, NaturalQuestions 등에서 DeepSeek-V3는 기존 오픈소스 모델보다 높은 정확도를 기록했다. 또한 프롱프팅을 통한 multiple-choice 테스트, reasoning 테스트에서도 경쟁 모델을 크게 앞섰다. 중국어 관련 C-Eval, C-SimpleQA 등에서도 우수한 성능을 보여주었다.

코드와 수학

HumanEval, LiveCodeBench 같은 코드 관련 benchmark에서도 상위권 기록을 달성했다. 수학 능력을 보는 GSM8K, MATH, AIME 등에서도 강력한 결과를 내며, 특히 긴 계산 과정을 필요로 하는 문제에 대한 reasoning 수행 능력이 인상적이었다. 이는 DeepSeek-R1 시리즈로부터 reasoning 역량을 효과적으로 distillation받은 결과이다.

모델 크기에 비해 경제적인 학습 비용

671B 파라미터의 대규모 모델임에도, MLA와 MoE 구조를 결합하고 FP8 Training, DualPipe와 같은 병렬 최적화를 수행해 학습 비용을 크게 절감했다. 14.8T token 전체 pre-training에 2.664M GPU hour, context extension과 후속 학습 과정까지 합쳐 2.788M GPU hour를 소모했다. 합리적인 GPU 임대 비용을 가정하면 약 5.5M 달러 수준으로 추정된다.


Post-Training

Supervised Fine-Tuning

1.5M개 이상의 instruction 데이터로 Supervised Fine-Tuning을 진행했다. 특정 도메인(코딩, 수학, 논리 등)에 대해서는 DeepSeek-R1과 같은 모델이 생성한 데이터를 엄선해 사용했다. 이 과정을 통해 고난도 reasoning 데이터 역시 수용 가능한 형식으로 정제해 모델이 폭넓은 활용성을 갖추도록 했다.

Reinforcement Learning

Group Relative Policy Optimization 방식으로 다양한 분야의 prompt에 대해 모델이 더 나은 답변을 내도록 미세 조정했다. 모델이 자체적으로 평가(Constitutional AI) 또는 rule-based 검증(예: 수학 결과 확인, 코드 실행) 과정을 수행해 보상 신호를 반영함으로써, 실제 사용자 요구 사항에 맞게 답변 품질을 높였다.