UNIVA-Bllossom/DeepSeek-llama3.3-Bllossom-70B
DeepSeek-llama3.3-Bllossom
DeepSeek-Bllossom Series는 기존 DeepSeek-R1-Distill Series 모델의 language mixing, 다국어 성능 저하 문제를 해결하기 위해 추가로 학습된 모델입니다.
DeepSeek-llama3.3-Bllossom-70B는 DeepSeek-R1-distill-Llama-70B 모델을 베이스로 구축된 모델로, 한국어 환경에서의 추론 성능 향상을 목표로 개발되었습니다.
본 모델은 UNIVA와 Bllossom팀이 합작으로 제작한 첫 번째 모델입니다.
<div align="center">
</div>
1. Introduction
DeepSeek-llama3.3-Bllossom-70B는 DeepSeek-R1-distill-Llama-70B 모델을 베이스로 구축된 모델로, 기존 베이스 모델이 영어와 중국어 위주의 데이터로 학습된 한계를 극복하고자 개발되었습니다. 특히, 기존 DeepSeek-R1-distill-Llama-70B의 경우 한국어로 추론 시 모델 성능이 크게 하락하는 문제가 있었는데, DeepSeek-Bllossom은 이 문제를 해결하기 위해 내부 사고 과정은 영어로 수행하고 최종 사용자에게 제공되는 응답은 입력 언어에 따라 출력되도록 추가로 학습되었습니다. 이를 통해 한국어 환경에서의 추론 성능이 크게 개선되었습니다.
학습에는 한국어, 영어 reasoning 데이터를 사용하였으며, 기존 DeepSeek-R1 모델 학습에 주로 사용된 STEM 분야 데이터 외에도 다양한 분야의 데이터가 포함되었습니다. 데이터셋 설계와 모델 학습 과정에서 DeepSeek-llama3.3-Bllossom은 한국어 사용 환경에서 더 정확하고 신뢰할 수 있는 추론 결과를 제공하는 것을 주된 목표로 개발되었습니다.
DeepSeek-Bllossom Series의 조금 더 작은 8B모델은 이곳에서 찾을 수 있습니다. DeepSeek-R1-distill-Llama-Bllossom-8B
2. Post-training
DeepSeek-llama3.3-Bllossom은 자체적으로 제작한 다양한 reasoning 데이터를 활용하여 post-training 과정을 진행하였습니다. 이 과정에서는 대규모 모델이 보유한 우수한 reasoning 능력과 한국어 처리 능력을 DeepSeek-R1-distill-Llama-70B 모델에 효과적으로 distillation하는 방법을 적용하였습니다. 이를 통해 기존 모델의 성능을 보완하고, 복합적인 추론 문제에 대해 더 정확하며 신뢰할 수 있는 응답을 생성할 수 있도록 최적화하였습니다.
3. inference
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"UNIVA-Bllossom/DeepSeek-llama3.3-Bllossom-70B",
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("UNIVA-Bllossom/DeepSeek-llama3.3-Bllossom-70B")
system='''
You are a highly capable assistant. For every user question, follow these instructions exactly:
1. First, think through the problem step-by-step in English. Enclose all of your internal reasoning between <think> and </think> tags. This chain-of-thought should detail your reasoning process.
2. After the closing </think> tag, provide your final answer.
3. Do not include any additional text or commentary outside of this format.
4. Your output should strictly follow this structure:
<think>
[Your detailed step-by-step reasoning in English]
</think>
[Your final answer]
'''
text="철수, 영희, 민수가 3회의 게임에서 점수를 받았습니다. 영희의 점수는 민수의 점수의 두 배이며, 민수의 점수는 철수의 4배입니다. 철수가 10점을 받았다면 이 3명의 평균 점수를 계산하세요."
chat = [
{"role": "system", "content": system},
{"role": "user", "content": text}
]
prompt=tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer(
prompt,
return_tensors="pt",
add_special_tokens=True
)
if "token_type_ids" in model_inputs:
del model_inputs["token_type_ids"]
model_inputs = {k: v.to(model.device) for k, v in model_inputs.items()}
generated_ids = model.generate(
**model_inputs,
max_new_tokens=8192,
)
4. 모델 응답 비교
5. Benchmark
- dtype을 float16으로 추론을 진행하였습니다.
- max_tokens: 32786
- temperature: 0.7
- 평가 방식: 각 벤치마크를 3회 반복 실행한 후 평균 점수를 산출하였습니다.
- _en 벤치마크: 원본 벤치마크 질문을 그대로 사용하였습니다.
- _ko 벤치마크: 원본 벤치마크 질문을 한국어로 고품질 번역하여 사용하였습니다.
6. License
This code repository and the model weights are licensed under the MIT License. DeepSeek-Bllossom series support commercial use, allow for any modifications and derivative works, including, but not limited to, distillation for training other LLMs. Please note that:
- DeepSeek-R1-Distill-Llama-70B is derived from Llama3.3-70B-Instruct and is originally licensed under llama3.3 license.
- DeepSeek-llama3.3-Bllossom-70B is derived from DeepSeek-R1-Distill-Llama-70B and is originally licensed under llama3.3 license.
7. Contributor
8. Contact
If you have any questions, please raise an issue or contact us at frodobaggins@univa.co.kr.
