home..

DeepSeek-Coder: When the Large Language Model Meets Programming - The Rise of Code Intelligence

논문 링크

오픈소스 모델과 폐쇄형(Closed-source) 모델 간의 성능 차이가 여전히 중요한 과제로 남아 있다(Li et al., 2023; Nijkamp et al., 2022; Roziere et al., 2023; Wang et al., 2021). 특히, 폐쇄형 모델(OpenAI GPT-4, Gemini 등)은 강력하지만, 연구자 및 개발자들에게 접근이 제한적이라는 점이 문제로 지적된다. 이에 대한 해결책으로 DeepSeek-Coder 시리즈를 소개한다. 이 모델 시리즈는 1.3B(13억)에서 33B(330억)까지 다양한 크기의 오픈소스 코드 모델을 포함하며, 각 크기별로 기본(Base) 모델과 지시(Instruct) 모델이 존재한다.

1. 서론

요즘 코드 생성 인공지능이 엄청 발전하고 있다. 하지만 오픈소스 코드 LLM(대형 언어 모델)과 폐쇄형(상용) 모델 사이에는 여전히 큰 성능 차이가 존재한다. GPT-4, Gemini 같은 상용 모델은 강력하지만, 일반 개발자나 연구자들은 쉽게 쓸 수 없다.

“DeepSeek-Coder는 이 문제를 해결하기 위해 등장한 오픈소스 코드 특화 LLM 시리즈다.”

2.DeepSeek-Coder 모델 구조(Architecture)

Transformer 기반 구조

Transformer 기반 디코더 전용 구조 RoPE 위치 임베딩 사용 FlashAttention v2 및 Grouped-Query Attention(GQA) (33B 모델에 적용)

최적화 및 학습 정책

Optimizer: AdamW (β₁=0.9, β₂=0.95) Warm-up: 2000 스텝 3단계 러닝레이트 스케줄링: 각 단계마다 √(1/10)씩 감소 32K Vocabulary BPE Tokenizer (HuggingFace 기반)

데이터셋(Data Collection & Processing)

데이터 전처리는 다음의 5단계로 구성:

  1. 크롤링: 2023년 2월 이전 GitHub 공개 저장소 대상
  2. 규칙 기반 필터링: StarCoder 규칙 기반으로 낮은 품질 제거
  3. 의존성 파싱: import, include 등 정규식을 통해 파일 간 의존성 추출
  4. Repo 단위 중복 제거: 저장소 전체를 하나의 샘플로 보고 중복 제거
  5. 품질 스크리닝 + 테스트 셋 디컨태미네이션: 컴파일, 정적분석, n-gram 기반 HumanEval 등 벤치마크 제거

중복 제거는 파일 단위가 아닌 저장소 단위로 진행해 구조를 보존했고, HumanEval/MBPP 등 벤치마크 누출을 방지하는 n-gram 수준 필터링을 적용했다.

dataset creation

의존성 기반 정렬 학습

단순한 파일 레벨 학습에서 벗어나, 파일 간 의존성을 고려한 순서 정렬(topological sort)을 수행하여 실제 소프트웨어 구조에 더 가까운 데이터로 학습한다.

Pretraining

코드뿐만 아니라 코드 관련 문서, 영어/중국어 자연어도 일부 포함해서 학습했다.

  1. Next Token Prediction: 일반적인 다음 토큰 예측

  2. FIM(Fill-In-Middle) 기법을 적용했다. → 코드의 중간을 비워두고, 그 부분을 채우는 방식으로 학습시켜 코드 자동 완성 능력이 강화됐다. 레포지토리 단위로 학습하여, 여러 파일에 걸친 코드 생성도 잘 할 수 있게 됐다.

<|fim_start|>Prefix<|fim_hole|>Suffix<|fim_end|>Middle<|eos_token|>

Instruction Tuning

Benchmark Evaluation(실험)

HumanEval, MBPP, DS-1000 등 다양한 코드 생성 벤치마크에서 실험했다. DeepSeek-Coder-Base 33B: 모든 오픈소스 코드 LLM 중 최고 성능을 기록했다. DeepSeek-Coder-Instruct 33B: GPT-3.5 Turbo보다 더 좋은 성능을 보였다. 6.7B 모델: CodeLlama-34B보다 더 좋은 결과를 냈다.

FIM 성능, 파일 간 코드 완성, 수학 추론 등 다양한 테스트에서 강력함을 입증

Analysis & Ablation Study

FIM 기법이 실제로 코드 자동 완성 성능을 얼마나 올려주는지 분석 Repository 단위 학습이 파일 간 코드 생성에 미치는 영향도 분석

Conclusion

DeepSeek-Coder는 오픈소스 코드 LLM의 새로운 기준을 제시했다. 다양한 크기와 강력한 성능, 그리고 repo 단위 학습, FIM 기법 등 혁신적인 접근이 특징이다. 앞으로 더 큰 일반 LLM을 기반으로 한 코드 특화 모델이 나올 가능성도 보여줬다.개발자와 연구자 모두에게 강력한 오픈소스 코드 생성 도구를 제공한다는 점에서 의미가 크다.

DeepSeek-Coder는 오픈소스 코드 생성 LLM 중 최강 성능을 자랑하며, 폐쇄형 모델과의 격차를 빠르게 좁히고 있는 혁신적인 모델이다.

© 2025 Jeewon Yoon   •  Powered by Soopr   •  Theme  Moonwalk