DeepSeek-V3[[deepseek-v3]]
๊ฐ์[[overview]]
DeepSeek-V3 ๋ชจ๋ธ์ DeepSeek-V3 ๊ธฐ์ ๋ณด๊ณ ์์์ DeepSeek-AI ํ์ ์ํด ์ ์๋์์ต๋๋ค.
๋ ผ๋ฌธ์ ์ด๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด 671B๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ง๋ฉฐ ํ ํฐ๋น 37B๊ฐ๊ฐ ํ์ฑํ๋๋ ๊ฐ๋ ฅํ Mixture-of-Experts(MoE) ์ธ์ด ๋ชจ๋ธ์ธ DeepSeek-V3๋ฅผ ์๊ฐํฉ๋๋ค. ํจ์จ์ ์ธ ์ถ๋ก ๊ณผ ๋น์ฉ ํจ์จ์ ์ธ ํ๋ จ์ ๋ฌ์ฑํ๊ธฐ ์ํด, DeepSeek-V3๋ DeepSeek-V2์์ ์ฒ ์ ํ ๊ฒ์ฆ๋ Multi-head Latent Attention(MLA) ๋ฐ DeepSeekMoE ์ํคํ ์ฒ๋ฅผ ์ฑํํ์ต๋๋ค. ๋์๊ฐ DeepSeek-V3๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํ ๋ณด์กฐ ์์ค ์๋ ์ ๋ต์ ๊ฐ์ฒํ๊ณ , ๋ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ์ํด ๋ค์ค ํ ํฐ ์์ธก ํ๋ จ ๋ชฉํ๋ฅผ ์ค์ ํฉ๋๋ค. ์ ํฌ๋ 14.8์กฐ ๊ฐ์ ๋ค์ํ๊ณ ๊ณ ํ์ง์ ํ ํฐ์ผ๋ก DeepSeek-V3๋ฅผ ์ฌ์ ํ๋ จํ์ผ๋ฉฐ, ๊ทธ ์ ์ฌ๋ ฅ์ ์์ ํ ํ์ฉํ๊ธฐ ์ํด ์ง๋ ํ์ธํ๋ ๋ฐ ๊ฐํ ํ์ต ๋จ๊ณ๋ฅผ ๊ฑฐ์ณค์ต๋๋ค. ์ข ํฉ์ ์ธ ํ๊ฐ ๊ฒฐ๊ณผ, DeepSeek-V3๋ ๋ค๋ฅธ ์คํ ์์ค ๋ชจ๋ธ๋ค์ ๋ฅ๊ฐํ๋ฉฐ ์ ๋์ ์ธ ๋น๊ณต๊ฐ ์์ค ๋ชจ๋ธ๋ค๊ณผ ํ์ ํ๋ ์ฑ๋ฅ์ ๋ฌ์ฑํ์์ ๋ณด์ฌ์ค๋๋ค. ๋ฐ์ด๋ ์ฑ๋ฅ์๋ ๋ถ๊ตฌํ๊ณ DeepSeek-V3์ ์ ์ฒด ํ๋ จ์๋ 278.8๋ง H800 GPU ์๊ฐ๋ง์ด ์์๋์์ต๋๋ค. ๋ํ, ํ๋ จ ๊ณผ์ ์ด ๋งค์ฐ ์์ ์ ์ ๋๋ค. ์ ์ฒด ํ๋ จ ๊ณผ์ ๋์ ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํ ์์ค ๊ธ์ฆ์ ๊ฒฝํํ๊ฑฐ๋ ๋กค๋ฐฑ์ ์ํํ ์ ์ด ์์ต๋๋ค. ๋ชจ๋ธ ์ฒดํฌํฌ์ธํธ๋ https://github.com/deepseek-ai/DeepSeek-V3 ์์ ํ์ธํ ์ ์์ต๋๋ค.
ํ๊ณ ๋ฐ ๊ธฐ์ฌ ์์ฒญ![[limitations-and-call-for-contribution!]]
์ ํฌ๋ ์ด ์ฝ๋๋ฅผ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค๊ฒ ๋์ด ๋งค์ฐ ๊ธฐ์๋ฉฐ, ์ฌ๋ฌ๋ถ์ด ๋ค์ ์ฌํญ๋ค์ ์ด๋ป๊ฒ ์ต์ ํํ ์ ์๋์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค.
- ํ์ฌ ๊ตฌํ์ "๊ธฐ๋ณธ์ ์ธ" ์ดํ ์ ๊ณ์ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ Multi-head Latent Attention (MLA) ๊ฐ ์๋๋๋ค.
- ํ์ฌ ๊ตฌํ์ ์ ๋ฌธ๊ฐ๋ค์ ์ํํ๋ ๋ฃจํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ต์ฒด๋์ด์ผ ํ๊ธฐ์
integrations/tensor_parallel์get_packed_weights๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ์ํฉ๋๋ค. - ํ์ฌ ๊ตฌํ์์๋ ROPE์ EleutherAI์ ์์์ ์ฌ์ฉํ์ง๋ง, ์๋ณธ ์์์ ์ ์ฉํ๋ฉด ๋ ํจ์จ์ ์ผ ๊ฒ์ ๋๋ค! (๋จ, ๊ธฐ์กด API๋ ๊ทธ๋๋ก ์ค์ํด์ผ ํฉ๋๋ค)
- generation config ๋๋ config shape์ ๋ฌธ์ ์ผ ๊ฒ์ผ๋ก ์ถ์ ๋๋ ๋ฌธ์ ๋ก ์ธํด ์ ์ ์บ์๋ ์ง์๋์ง ์์ต๋๋ค.
์ฌ์ฉ ํ[[usage-tips]]
์ด ๋ชจ๋ธ์ ํจ์จ์ ์ธ ์ถ๋ก ๊ณผ ๋น์ฉ ํจ์จ์ ์ธ ํ๋ จ์ ์ํด Multi-head Latent Attention (MLA) ๋ฐ DeepSeekMoE ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํ ๋ณด์กฐ ์์ค์ด ์๋ ์ ๋ต๊ณผ ๋ค์ค ํ ํฐ ์์ธก ํ๋ จ ๋ชฉํ๋ฅผ ์ฑํํฉ๋๋ค. ์ด ๋ชจ๋ธ์ 14.8์กฐ ๊ฐ์ ํ ํฐ์ผ๋ก ์ฌ์ ํ๋ จ๋๊ณ ์ง๋ ํ์ธํ๋ ๋ฐ ๊ฐํ ํ์ต ๋จ๊ณ๋ฅผ ๊ฑฐ์น ํ ๋ค์ํ ์ธ์ด ์์ ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
FP8๋ก ๋ชจ๋ธ์ ์๋์ผ๋ก ์คํํ ์ ์์ผ๋ฉฐ, 8๊ฐ์ H100์ผ๋ก ๊ตฌ์ฑ๋ 2๊ฐ ๋
ธ๋๋ฉด ์ถฉ๋ถํ ๊ฒ์
๋๋ค!
# `run_deepseek_v1.py`
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(30)
tokenizer = AutoTokenizer.from_pretrained("deepseek-r1")
chat = [
{"role": "user", "content": "์๋
ํ์ธ์, ์ด๋ป๊ฒ ์ง๋ด์ธ์?"},
{"role": "assistant", "content": "์ ๋ ์ ์ง๋ด์. ์ค๋ ๋ฌด์์ ๋์๋๋ฆด๊น์?"},
{"role": "user", "content": "์ฑํ
ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด์!"},
]
model = AutoModelForCausalLM.from_pretrained("deepseek-r1", device_map="auto", torch_dtype=torch.bfloat16)
inputs = tokenizer.apply_chat_template(chat, tokenize=True, add_generation_prompt=True, return_tensors="pt").to(model.device)
import time
start = time.time()
outputs = model.generate(inputs, max_new_tokens=50)
print(tokenizer.batch_decode(outputs))
print(time.time()-start)
์์ฑ๋ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<๏ฝAssistant๏ฝ><think>
์ข์์, ์ฌ์ฉ์๋ ์ฑํ
ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด ํ๋๊ตฐ์. ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ธ์ง ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฑํ
ํ
ํ๋ฆฟ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ๊ฒ์ธ๋ฐ, ํนํ ํน์ ์
๋ ฅ ํ์์ด ํ์ํ ๋ชจ๋ธ์ ์ค์ํฉ๋๋ค. ์๋ง๋ OpenAI ๊ฐ์ API์์ ๋ฉ์์ง๊ฐ ์ญํ (์ฌ์ฉ์, ์ด์์คํดํธ, ์์คํ
)๊ณผ ํจ๊ป ํ์ํ๋๋ ๋ฐฉ์์ ๋งํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค.
๋จผ์ , ์ฑํ
ํ
ํ๋ฆฟ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํด์ผ๊ฒ ์ต๋๋ค. ์ด๋ ๋ชจ๋ธ์ด ์ดํดํ ์ ์๋ ๊ตฌ์กฐํ๋ ํ์์ผ๋ก ๋ํ ๋ฐ์ดํฐ๋ฅผ ํฌ๋งทํ๋ ๊ณผ์ ์
๋๋ค. ์ฌ๊ธฐ์๋ ๋ณดํต ์ญํ ๊ณผ ์ฝํ
์ธ ๊ฐ ํฌํจ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์ ๋ฉ์์ง, ์ด์์คํดํธ ์๋ต, ์์คํ
๋ฉ์์ง๋ ๊ฐ๊ฐ ๊ณ ์ ํ ์ญํ ํ๊ทธ๋ฅผ ๊ฐ์ง๋๋ค.
์ฌ์ฉ์๋ ์์๋ฅผ ์ํ ์ ์์ต๋๋ค. ๊ฐ๋จํ ๋ํ๋ฅผ ์๊ฐํด ๋ณด์ฃ . ์ฌ์ฉ์๊ฐ "์๋
ํ์ธ์, ์ ์ง๋ด์ธ์?"๋ผ๊ณ ๋งํ๊ณ ์ด์์คํดํธ๊ฐ "๋ค, ์ ์ง๋ด์. ์ค๋ ๋ฌด์์ ๋์๋๋ฆด๊น์?"๋ผ๊ณ ๋ตํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ ์ฑํ
ํ
ํ๋ฆฟ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ๋ค๊ณ ์ด์ด๊ฐ๋๋ค. ๋ฐ๋ผ์ ์์์๋ ๋ํ ๊ธฐ๋ก๊ณผ ์ ๋ฉ์์ง๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
Hugging Face์ Transformers์ ๊ฐ์ ํ๋ ์์ํฌ์์๋ Jinja2 ํ
ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์ฑํ
ํ
ํ๋ฆฟ์ด ์ ์ฉ๋ฉ๋๋ค. ํ
ํ๋ฆฟ์ ์์คํ
๋ฉ์์ง๋ฅผ ๊ฒฐํฉํ ๋ค์, ์ ์ ํ ํ๊ทธ์ ํจ๊ป ์ฌ์ฉ์์ ์ด์์คํดํธ ๋ฉ์์ง๋ฅผ ๋ฐ๋ณตํ๋ ํ์์ผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, {% for message in messages %}๋ฅผ ์ฌ์ฉํ๊ณ <|user|>, <|assistant|>์ ๊ฐ์ ์ญํ ์ ํ ๋นํ๋ ๊ฒ์
๋๋ค.
๋ฉ์์ง ๋ฐฐ์ด ์์๋ฅผ ๊ตฌ์ฑํ๊ณ , ๊ฐ ์ญํ ๊ณผ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ์ด์ผ๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ์์ ํ
ํ๋ฆฟ์ ์ ์ฉํ์ฌ ๋ชจ๋ธ์ด ์ฌ์ฉํ๋ ํ์ํ๋ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๊ณผ์ ์ ๋ณด์ฌ์ค๋๋ค. ๋ํ, ๋ชจ๋ธ๋ง๋ค ํน์ ํ ํฐ์ ์ฌ์ฉํ๊ฑฐ๋ ์ญํ ๋ ์ด๋ธ์ด ๋ค๋ฅธ ๊ฒ์ฒ๋ผ ํ
ํ๋ฆฟ ์๊ตฌ ์ฌํญ์ด ๋ค๋ฅด๋ค๋ ์ ๋ ์ธ๊ธํด์ผ ํฉ๋๋ค.
์ ๊น, ์ฌ์ฉ์๊ฐ "์ฑํ
ํ
ํ๋ฆฟ"์ ๋ณด์ฌ์ฃผ๋ ๋งฅ๋ฝ์์ ์ธ๊ธํ์ต๋๋ค. ์๋ง๋ ๋ฐํํ ์ ์๋ ์ค์ฉ์ ์ธ ์์๋ฅผ ์ํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฝ๋ ์ค๋ํซ์ด๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์์๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๋์์ด ๋ ๊ฒ์
๋๋ค. ์ผ๋ฐ์ ์ธ ๋ฉ์์ง ๋ฐฐ์ด๊ณผ ํ
ํ๋ฆฟ์ด ์ ์ฉ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ๋ต์ ์ผ๋ก ์ค๋ช
ํด ๋ณด๊ฒ ์ต๋๋ค.
๋ํ, ์ ์ ํ ํ
ํ๋ฆฟํ
์ ๋ชจ๋ธ์ด ๋ํ ํ๋ฆ์ ์ดํดํ๋๋ก ๋ณด์ฅํ๋ฉฐ, ์ด๋ ์ผ๊ด๋ ์๋ต์ ์์ฑํ๋ ๋ฐ ์ค์ํฉ๋๋ค. ์ ์ด๊ฒ์ด ์ค์ํ์ง์ ๋ํ ๋ฉ๋ชจ, ์๋ฅผ ๋ค์ด ์ปจํ
์คํธ ์ ์ง ๋ฐ ์ญํ ๋ณ ์ฒ๋ฆฌ์ ์ค์์ฑ์ ํฌํจํ ์๋ ์๊ฒ ์ต๋๋ค.
ํํ ์ค์๋ ํผํด์ผ ํ ์ ์ด ์๋์ง ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๊ทธ๋ฅผ ์ ๋๋ก ๋ซ์ง ์๊ฑฐ๋ ์ญํ ์ด ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ์
๋๋ค. ํ์ง๋ง ์ฌ์ฉ์๊ฐ ๋ฌป์ง ์๋ ํ ๋๋ฌด ์์ธํ ์ ์์ต๋๋ค. ๋จผ์ ๊ธ์ ์ ์ธ ์์์ ์ง์คํฉ์๋ค.
๋ชจ๋ ๊ฒ์ ์ข
ํฉํ๋ฉด, ์๋ต์๋ ์์ ๋ฉ์์ง ๋ฐฐ์ด, ์ ์ฉ๋ ํ
ํ๋ฆฟ, ๊ทธ๋ฆฌ๊ณ ์ต์ข
์ ์ผ๋ก ํ์ํ๋ ๋ฌธ์์ด์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค. ์๋ฆฌ ํ์์๋ก ๊บพ์ ๊ดํธ๋ ํน์ ํ ํฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ, ์ด๊ฒ์ด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ก ๋ชจ๋ธ์ ํ๋ จํ๊ฑฐ๋ ํ์ธํ๋ํ๋ ๋ฐ ๋์์ด ๋๋ค๋ ์ ๋ ์ธ๊ธํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ํ์คํ ์ ๊ทผ ๋ฐฉ์์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ช
ํํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋จ๊ณ๋ณ๋ก ๊ตฌ์กฐํํด ๋ณด๊ฒ ์ต๋๋ค.
</think>
์ฑํ
ํ
ํ๋ฆฟ์ ๋ํ ๋ฐ์ดํฐ(์: ์ฌ์ฉ์/์ด์์คํดํธ ์ํธ์์ฉ)๋ฅผ ์ธ์ด ๋ชจ๋ธ์ด ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๊ตฌ์กฐํํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ด๋ ํนํ ์
๋ ฅ์์ ์ญํ (์ฌ์ฉ์, ์ด์์คํดํธ, ์์คํ
๋ฑ)๊ณผ ๋ฉ์์ง๋ฅผ ๋ช
์์ ์ผ๋ก ๊ตฌ๋ถํด์ผ ํ๋ ๋ค์ค ํด ๋ํ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ํ๋ จ๋ ๋ชจ๋ธ์ ์ค์ํฉ๋๋ค. ์์์ ํจ๊ป ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค!
---
### **1๋จ๊ณ: ์๋ณธ ๋ํ ๊ธฐ๋ก**
๋ค์๊ณผ ๊ฐ์ ๋ํ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค:
- **์ฌ์ฉ์**: "์๋
ํ์ธ์, ์ด๋ป๊ฒ ์ง๋ด์ธ์?"
- **์ด์์คํดํธ**: "์ ๋ ์ ์ง๋ด์. ์ค๋ ๋ฌด์์ ๋์๋๋ฆด๊น์?"
- **์ฌ์ฉ์**: "์ฑํ
ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด์!"
---
### **2๋จ๊ณ: ๊ตฌ์กฐํ๋ ๋ฉ์์ง**
Hugging Face Transformers๋ OpenAI ๊ฐ์ ํ๋ ์์ํฌ์์๋ ๋ํ๊ฐ ์ข
์ข
`role`๊ณผ `content`๋ฅผ ๊ฐ์ง ๋์
๋๋ฆฌ ๋ฆฌ์คํธ๋ก ํ์ํ๋ฉ๋๋ค.
```python
messages = [
{"role": "user", "content": "์๋
ํ์ธ์, ์ด๋ป๊ฒ ์ง๋ด์ธ์?"},
{"role": "assistant", "content": "์ ๋ ์ ์ง๋ด์. ์ค๋ ๋ฌด์์ ๋์๋๋ฆด๊น์?"},
{"role": "user", "content": "์ฑํ
ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด์!"},
]
```
---
### **3๋จ๊ณ: ์ฑํ
ํ
ํ๋ฆฟ ์ ์ฉ**
**์ฑํ
ํ
ํ๋ฆฟ**์ ์ด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ์ ๋ง๋ ๋จ์ผ ๋ฌธ์์ด๋ก ๋ณํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, (Hugging Face์์ ํํ ์ฌ์ฉ๋๋) Jinja ์คํ์ผ ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
```jinja
{% for message in messages %}
{% if message['role'] == 'user' %}
<|user|>{{ message['content'] }}<|end|>
{% elif message['role'] == 'assistant' %}
<|assistant|>{{ message['content'] }}<|end|>
{% endif %}
{% endfor %}
<|assistant|>
```
---
### **4๋จ๊ณ: ์ต์ข
ํ
ํ๋ฆฟ ๊ฒฐ๊ณผ๋ฌผ**
์ ํ
ํ๋ฆฟ์ ์ ํฌ `messages` ๋ฆฌ์คํธ์ ์ ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ์์ฑ๋ฉ๋๋ค:
```text
<|user|>์๋
ํ์ธ์, ์ด๋ป๊ฒ ์ง๋ด์ธ์?<|end|>
<|assistant|>์ ๋ ์ ์ง๋ด์. ์ค๋ ๋ฌด์์ ๋์๋๋ฆด๊น์?<|end|>
<|user|>์ฑํ
ํ
ํ๋ฆฟ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๊ณ ์ถ์ด์!<|end|>
<|assistant|>
```
์ด๋ ๋ชจ๋ธ์๊ฒ ๋ค์์ ์๋ ค์ค๋๋ค:
1. ๋ํ ๊ธฐ๋ก (์ฌ์ฉ์/์ด์์คํดํธ ํด).
2. ๋ชจ๋ธ์ด ์๋ต์ ์์ฑํ ์ฐจ๋ก (`<|assistant|>`๊ฐ ๋์ ์์).
---
### **์ฃผ์ ์ฐธ๊ณ ์ฌํญ**:
- **์ญํ ๋ถ๋ฆฌ**: `<|user|>`์ `<|assistant|>` ๊ฐ์ ํ๊ทธ๋ ๋ชจ๋ธ์ด ํ์๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- **ํน์ ํ ํฐ**: ๋ชจ๋ธ์ ์ข
์ข
๋ฉ์์ง ๊ฒฝ๊ณ๋ฅผ ํ์ํ๊ธฐ ์ํด `<|end|>`์ ๊ฐ์ ๊ณ ์ ํ ํ ํฐ์ ์ฌ์ฉํฉ๋๋ค.
- **์ ์ฐ์ฑ**: ํ
ํ๋ฆฟ์ ๋ชจ๋ธ๋ง๋ค ๋ค๋ฆ
๋๋ค (์: OpenAI๋ ํ๊ทธ ๋์ `{"role": "user", "content": "..."}` ํ์์ ์ฌ์ฉํฉ๋๋ค).
---
### **์ด๊ฒ์ด ์ ์ค์ํ๊ฐ**:
- **์ผ๊ด์ฑ**: ๋ชจ๋ธ์ด ๋ํ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
- **์ปจํ
์คํธ ๋ณด์กด**: ๋ค์ค ํด ๋ํ์ ํ๋ฆ์ ์ ์งํฉ๋๋ค.
- **์ ๋ ฌ**: ๋ ๋์ ์ฑ๋ฅ์ ์ํด ๋ชจ๋ธ์ด ํ๋ จ๋ ํ์๊ณผ ์ผ์น์ํต๋๋ค.
๋ ์์ธํ ์์๋ณด๊ฑฐ๋ ํน์ ํ๋ ์์ํฌ(์: OpenAI, Llama, Mistral)์ ๊ตฌํ์ ๋ณด๊ณ ์ถ์ผ์ ๊ฐ์? ์๋ ค์ฃผ์ธ์! ๐<๏ฝend of sentence๏ฝ>
๋ค์์ ์ฌ์ฉํ์ฌ ์คํํ์ธ์
torchrun --nproc_per_node=8 --nnodes=2 --node_rank=0|1 --rdzv-id an_id --rdzv-backend c10d --rdzv-endpoint master_addr:master_port run_deepseek_r1.py
๋ง์ฝ ๋ค์๊ณผ ๊ฐ์
[rank0]: ncclInternalError: Internal check failed.
[rank0]: Last error:
[rank0]: Bootstrap : no socket interface found
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด, NCCL์ด ๋ก๋๋์ง ์์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์๋ฏธ์ ๋๋ค.
DeepseekV3Config[[deepseekv3config]]
[[autodoc]] DeepseekV3Config
DeepseekV3Model[[deepseekv3model]]
[[autodoc]] DeepseekV3Model - forward
DeepseekV3ForCausalLM[[deepseekv3forcausallm]]
[[autodoc]] DeepseekV3ForCausalLM - forward