안녕하세요! 오늘은 최신 코딩 언어 모델 DeepSeek-Coder-V2에 대해 알아보겠습니다. 이 모델은 수학적 추론과 코딩 능력 벤치마크에서 GPT-4-터보, Claude-3-Opus, Gemini-1.5-pro와 같은 고성능 상용 AI 모델을 앞서면서, 일반적인 자연어 처리 작업에서도 경쟁력 있는 성능을 보여줍니다. 또한 이 모델은 338개 프로그래밍 언어를 지원하고, 최대 문맥 길이가 128,000 토큰으로 확장되어 긴 코드와 복잡한 문제를 처리할 수 있습니다. 이 블로그에서는 DeepSeek-Coder-V2의 개요와 벤치마크 결과를 살펴보고, 파이썬 및 자바스크립트, PHP 코딩테스트를 통해 그 성능을 실제로 확인해 보겠습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
DeepSeek-Coder-V2 개요
DeepSeek-Coder-V2는 분야별 서브 네트워크(전문가)의 조합으로 데이터를 처리하는 MoE(Mixture-of-Experts) 프레임워크 기반의 오픈소스 언어 모델로서, 160억 및 2360억 개의 파라미터를 가지며, 실제 학습에 기여하는 활성화 파라미터는 각각 24억 및 210억 개로 다양한 계산 및 응용 요구를 효율적으로 지원하며, 공개된 모델의 종류는 다음과 같습니다.
모델명 | 전체 파라미터 수 | 활성화 파라미터 수 | 문맥 길이 |
DeepSeek-Coder-V2-Lite-Base | 16B | 2.4B | 128k |
DeepSeek-Coder-V2-Lite-Instruct | 16B | 2.4B | 128k |
DeepSeek-Coder-V2-Base | 236B | 21B | 128k |
DeepSeek-Coder-V2-Instruct | 236B | 21B | 128k |
위 표에서 전체 파라미터 수는 모델이 학습하는 모든 가중치(weight)와 편향(bias) 등의 변수의 총 개수로 모델의 용량(capacity)을 결정하고, 활성화 파라미터 수는 실제 학습 중에 모델에서 사용되는 파라미터의 개수를 말합니다.
https://github.com/deepseek-ai/DeepSeek-Coder-V2
DeepSeek-Coder-V2는 기존 모델 DeepSeek-Coder에 비해 크게 향상된 기능을 제공합니다. 지원 프로그래밍 언어 수가 86개에서 338개로, 최대 문맥 길이가 16K에서 128K 토큰으로 확장되었습니다. 전체 파라미터 수는 33B에서 236B로 증가했으며, 6조 개의 추가 토큰으로 사전 훈련되었습니다. 이 모델은 GPT-4 Turbo, Claude 3 Opus, Gemini 1.5 Pro와 같은 상용 모델과 경쟁할 수 있으며, 특히 코드와 수학적 추론 능력이 매우 우수합니다. Mixture-of-Experts(MoE) 구조를 활용하여 필요시 활성화되는 파라미터로 효율성을 높였습니다.
특징 | DeepSeek-Coder | DeepSeek-Coder-V2 |
지원 프로그래밍 언어 수 | 86개 | 338개 |
최대 문맥 길이 (tokens) | 16,000토큰 | 128,000토큰 |
전체 파라미터 수 | 33B (DeepSeek-Coder-33B) | 236B (DeepSeek-Coder-V2-Instruct) |
DeepSeek-Coder-V2의 아키텍처는 DeepSeek-V2와 동일하며 자세한 내용은 이전 포스팅을 참고하시기 바랍니다.
2024.05.11 - [AI 언어 모델] - DeepSeek-V2: 오픈소스 최고 성능과 가성비를 자랑하는 혁신 MoE 언어 모델
DeepSeek-Coder-V2 벤치마크 결과
DeepSeek-Coder-V2는 코드 이해 및 수정, 수학적 추론과 같은 복잡한 문제 해결 능력에서 뛰어난 성과를 보입니다. 코드 생성 벤치마크 평가에서는 모든 오픈 소스 모델을 압도하면서 GPT4-Turbo, Claude 3 Opus, Gemini 1.5 Pro와 같은 최신 비공개 모델과 동등한 성능을 보입니다. 특히, 파이썬 코드 생성능력을 평가하는 HumanEval에서 90.2%, 프로그래밍 문제 벤치마크 세트인 MBPP+에서 76.2%를 기록하였고, 다양한 플랫폼에서 프로그래밍 능력을 평가하는 LiveCodeBench에서 43.4%를 기록했습니다. 또한, DeepSeek-Coder-V2는 소프트웨어 엔지니어링 능력을 평가하는 SWEBench Lite에서 10%를 넘은 첫 번째 오픈 소스 모델입니다.
위 표에서 DeepSeek-Coder-V2-Instruct는 236B 파라미터 모델로, Python 코드를 생성하는 데 있어 90.2%의 정확도를 보입니다. C++, Java, TS, JS, PHP, Bash 코드 생성에서도 상위권 성능을 보이고 있으며, 특히 C++에서는 84.8%의 정확도로 1위를 기록합니다. DeepSeek-Coder-V2는 다양한 프로그래밍 언어에 대한 뛰어난 코드 생성 능력을 보유하고 있다고 할 수 있습니다.
또한 DeepSeek-Coder-V2는 GPT-4o, Gemini 1.5 Pro, Claude 3 Opus와 같은 최신 비공개 모델과 견줄 만한 강력한 수학적 추론 능력을 보여줍니다. 다양한 수학문제를 포함하는 GSM8K와 같은 기본 벤치마크에서 94.9%로 GPT-4-Turbo를 능가하였으며, 대규모 수학문제 벤치마크인 MATH 벤치마크에서 75.7%의 정확도를 기록하여, GPT-4o가 달성한 76.6%의 최신 정확도에 근접합니다. 이러한 결과는 모델이 복잡한 수학 문제를 효과적으로 해결할 수 있는 능력을 입증합니다.
일반 언어 성능에서 DeepSeek-Coder-V2는 DeepSeek-V2와 유사한 성능을 유지합니다. 예를 들어, DeepSeek-Coder-V2는 MMLU(대규모 멀티태스크 언어 이해성능)에서 79.2%를 기록하였으며, GPT-4가 심사한 주관적 평가에서는 arena-hard에서 65.0, MT-bench에서 8.77, 고난이도 자연어 추론문제 alignbench에서 7.84를 기록합니다. 이러한 점수는 다른 코드 전용 모델보다 상당히 우수하며, 일반 오픈 소스 모델과도 비교할 만한 수준입니다.
코딩 성능 테스트
다음은 코딩 성능 테스트입니다. 코딩 테스트는 DeepSeek 플랫폼 (https://chat.deepseek.com/coder)에 접속해서 파이썬 스네이크 게임 작성과, edabit.com 코딩 교육 사이트의 파이썬, 자바 스크립트, PHP 코딩 시험문제로 테스트하였습니다.
스네이크 게임 작성요청은 특별한 기능 언급 없이 "Pygame을 이용해서 파이썬으로 스네이크 게임 만들어줘"라고 요청하였는데, 첫 번째는 뱀이 벽에 부딪혀도 죽지 않고 반대편 벽으로 나왔으나, 두 번째 시도에서 기본기능이 성공하였습니다.
- 첫 번째 시도 : 뱀이 벽에 부딪혀도 죽지 않고 반대편 벽으로 나옴
- 두 번째 시도 : 스네이크 게임 기본기능 성공
다음 코딩 테스트에서는 난이도 단계별로 1문제당 2회 시도하였으며, 첫 번째 시도에서 성공하면 테스트를 종료하고, Mistral의 최신 코딩 언어 모델 Codestral과 비교하였습니다. 파이썬 코딩성능 테스트 결과, 두 모델 모두 모든 문제를 첫 번째 시도에 성공하였습니다.
모델명/Python | Easy | Medium | Hard | Very Hard | Expert |
DeepSeek-Coder-V2 | Pass | Pass | Pass | Pass | Pass |
Codestral | Pass | Pass | Pass | Pass | Pass |
아래 표는 JavaScript 테스트 결과입니다. (첫 번째 시도/두 번째 시도)
모델명/JavaScript | Easy | Medium | Hard | Very Hard | Expert |
DeepSeek-Coder-V2 | Pass | Pass | Pass | Pass | Pass |
Codestral | Pass | Pass | Pass | Pass | Fail/Fail |
DeepSeek-Coder-V2는 JavaScript 코딩테스트에서도 첫 번째 시도에 모든 문제를 맞혔습니다.
아래 표는 PHP 코딩성능 테스트 결과입니다. (첫 번째 시도/두 번째 시도)
모델명/PHP | Easy | Medium | Hard | Very Hard | Expert |
DeepSeek-Coder-V2 | Pass | Pass | Pass | Pass | Fail/Pass |
Codestral | Pass | Pass | Pass | Pass | Pass |
DeepSeek-Coder-V2는 PHP 코딩 테스트에서 Expert 단계 첫 번째 시도는 실패하였으나, 두 번째 시도에 성공하였습니다.
DeepSeek-Coder-V2는 벤치마크 결과와 같이 파이썬, JavaScript, PHP 코딩 테스트에서 우수한 성능을 보여주었습니다.
VSCode Co-pilot 설정
다음은 DeepSeek-Coder-V2를 비주얼 스튜디오 코드의 코딩 보조 도우미로 설정해 보겠습니다. 비주얼 스튜디오 코드에서 DeepSeek-Coder-V2를 Co-pilot으로 설정하기 위해서는 아래 화면과 같이 Continue 확장 프로그램을 설치합니다.
확장프로그램에서 모델추가를 누르고, 위 화면과 같이 OpenAI 호환 API를 선택한 후, DeepSeek-Coder를 선택하고, VSCode에서 config.json 파일을 아래와 같이 수정합니다.
{
"title": "DeepSeek-Coder",
"model": "deepseek-coder",
"apiBase": "https://api.deepseek.com",
"completionOptions": {},
"apiKey": "sk-acecc77d54c1479d9958e8208e0036c3",
"provider": "openai"
}
config.json 파일 설정이 완료되고, 코드 설명을 요청한 결과 아래 화면과 같이 한국어로 잘 대답해 주었습니다.
맺음말
이번 블로그에서는 최신 코딩 언어 모델인 DeepSeek-Coder-V2에 대해 살펴보았습니다. 이 모델은 뛰어난 수학적 추론 능력과 다양한 프로그래밍 언어에 대한 높은 이해도를 바탕으로, 기존의 고성능 상용 AI 모델들과 견줄 만한 성능을 보여주고 있습니다. 특히, 파이썬, 자바스크립트, PHP와 같은 주요 프로그래밍 언어에서 탁월한 코드 생성 능력을 입증하며, 벤치마크 결과에서 여러 모델을 압도하는 성과를 나타냈습니다.
DeepSeek-Coder-V2는 338개 프로그래밍 언어 지원, 최대 128,000 토큰의 문맥 길이, 효율적인 MoE 아키텍처 등 다양한 특징을 통해 복잡한 문제 해결 능력을 가지고, 실제 코딩 테스트에서도 높은 성공률을 기록하며, 개발자들에게 강력한 도구가 될 수 있음을 보여주었습니다.
여러분도 DeepSeek-Coder-V2 모델을 활용해서 더 효율적인 코딩 작업을 경험하시길 바라면서 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2024.06.08 - [AI 언어 모델] - Qwen-2:🌐27개 언어 구사, 알리바바의 자바스크립트 천재 언어 모델 💻
'AI 언어 모델' 카테고리의 다른 글
CoLLaVO: 카이스트의 최첨단 시각-언어 모델 분석 및 테스트👀💬🔍 (0) | 2024.06.25 |
---|---|
Claude 3.5 Sonnet: GPT-4o를 뛰어넘은 성능 및 새로운 인터페이스 Artifacts 리뷰 (0) | 2024.06.22 |
Stable Diffusion 3 Medium: 최신 T2I 모델 설치와 활용법(SwarmUI) (2) | 2024.06.15 |
Qwen-2:🌐27개 언어 구사, 알리바바의 자바스크립트 천재 언어 모델 💻 (2) | 2024.06.08 |
[AI 논문] Aya 23 모델: 🌐23개 언어 지원 다국어 LLM 성능 분석 (2) | 2024.06.01 |