兼顾效率 与经济性的大规模混合专家语言模型
DeepSeek-V2是一款基于专家混合(MoE)架构的大规模语言模型,总参数量达2360亿,每个token激活210亿参数。相较于DeepSeek 67B,该模型在提升性能的同时,显著降低了训练成本和推理资源消耗。DeepSeek-V2在多项标准基准测试和开放式生成任务中表现优异,展现了其在多领域的应用潜力。
今天,我们推出了DeepSeek-V2,这是一个强大的混合专家(MoE)语言模型,具有经济的训练和高效的推理特点。它总共包含236B参数,其中每个token激活21B参数。与DeepSeek 67B相比,DeepSeek-V2不仅性能更强,还节省了42.5%的训练成本,将KV缓存减少了93.3%,并将最大生成吞吐量提高到了5.76倍。
<p align="center"> <div style="display: flex; justify-content: center;"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/d6a6f83d-d954-4899-b4dd-b585d3e8fbf9.png?raw=true" style="height:300px; width:auto; margin-right:10px"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/56c47f99-ce9f-4f28-84cd-3ce9f34f9220.png?raw=true" style="height:300px; width:auto; margin-left:10px"> </div> </p>我们在包含8.1万亿token的多样化、高质量语料库上对DeepSeek-V2进行了预训练。这种全面的预训练之后,我们还进行了监督微调(SFT)和强化学习(RL)过程,以充分发挥模型的能力。评估结果验证了我们方法的有效性,DeepSeek-V2在标准基准测试和开放式生成评估中都取得了出色的表现。
模型 | 总参数量 | 激活参数量 | 上下文长度 | 下载 |
---|---|---|---|---|
DeepSeek-V2-Lite | 16B | 2.4B | 32k | 🤗 HuggingFace |
DeepSeek-V2-Lite-Chat (SFT) | 16B | 2.4B | 32k | 🤗 HuggingFace |
DeepSeek-V2 | 236B | 21B | 128k | 🤗 HuggingFace |
DeepSeek-V2-Chat (RL) | 236B | 21B | 128k | 🤗 HuggingFace |
由于HuggingFace的限制,开源代码目前在使用Huggingface的GPU上运行时性能比我们的内部代码库慢。为了便于高效运行我们的模型,我们提供了一个专门的vllm解决方案,优化了有效运行我们模型的性能。
基准测试 | 领域 | LLaMA3 70B | Mixtral 8x22B | DeepSeek-V1 (Dense-67B) | DeepSeek-V2 (MoE-236B) |
---|---|---|---|---|---|
MMLU | 英语 | 78.9 | 77.6 | 71.3 | 78.5 |
BBH | 英语 | 81.0 | 78.9 | 68.7 | 78.9 |
C-Eval | 中文 | 67.5 | 58.6 | 66.1 | 81.7 |
CMMLU | 中文 | 69.3 | 60.0 | 70.8 | 84.0 |
HumanEval | 代码 | 48.2 | 53.1 | 45.1 | 48.8 |
MBPP | 代码 | 68.6 | 64.2 | 57.4 | 66.6 |
GSM8K | 数学 | 83.0 | 80.3 | 63.4 | 79.2 |
Math | 数学 | 42.2 | 42.5 | 18.7 | 43.6 |
有关更多评估细节,如少样本设置和提示,请查阅我们的论文。
"大海捞针"(NIAH)测试的评估结果。DeepSeek-V2在所有长度达128K的上下文窗口中表现良好。
基准测试 | 领域 | QWen1.5 72B Chat | Mixtral 8x22B | LLaMA3 70B Instruct | DeepSeek-V1 Chat (SFT) | DeepSeek-V2 Chat (SFT) | DeepSeek-V2 Chat (RL) |
---|---|---|---|---|---|---|---|
MMLU | 英语 | 76.2 | 77.8 | 80.3 | 71.1 | 78.4 | 77.8 |
BBH | 英语 | 65.9 | 78.4 | 80.1 | 71.7 | 81.3 | 79.7 |
C-Eval | 中文 | 82.2 | 60.0 | 67.9 | 65.2 | 80.9 | 78.0 |
CMMLU | 中文 | 82.9 | 61.0 | 70.7 | 67.8 | 82.4 | 81.6 |
HumanEval | 代码 | 68.9 | 75.0 | 76.2 | 73.8 | 76.8 | 81.1 |
MBPP | 代码 | 52.2 | 64.4 | 69.8 | 61.4 | 70.4 | 72.0 |
LiveCodeBench (0901-0401) | 代码 | 18.8 | 25.0 | 30.5 | 18.3 | 28.7 | 32.5 |
GSM8K | 数学 | 81.9 | 87.9 | 93.2 | 84.1 | 90.8 | 92.2 |
Math | 数学 | 40.6 | 49.8 | 48.5 | 32.6 | 52.7 | 53.9 |
基准测试 | 领域 | DeepSeek 7B Chat (SFT) | DeepSeekMoE 16B Chat (SFT) | DeepSeek-V2-Lite 16B Chat (SFT) |
---|---|---|---|---|
MMLU | 英语 | 49.7 | 47.2 | 55.7 |
BBH | 英语 | 43.1 | 42.2 | 48.1 |
C-Eval | 中文 | 44.7 | 40.0 | 60.1 |
CMMLU | 中文 | 51.2 | 49.3 | 62.5 |
HumanEval | 代码 | 45.1 | 45.7 | 57.3 |
MBPP | 代码 | 39.0 | 46.2 | 45.8 |
GSM8K | 数学 | 62.6 | 62.2 | 72.0 |
Math | 数学 | 14.7 | 15.2 | 27.9 |
我们使用AlpacaEval 2.0和MTBench评估我们的模型,展示了DeepSeek-V2-Chat-RL在英语对话生成方面的竞争力。
<p align="center"> <img width="50%" src="https://yellow-cdn.veclightyear.com/835a84d5/57b869a5-65bd-4f9b-87a7-89743a07f2e5.png?raw=true" /> </p>Alignbench (https://arxiv.org/abs/2311.18743)
<div align="center">模型 | 开源/闭源 | 总分 | 中文推理 | 中文语言 |
---|---|---|---|---|
gpt-4-1106-preview | 闭源 | 8.01 | 7.73 | 8.29 |
DeepSeek-V2 Chat (RL) | 开源 | 7.91 | 7.45 | 8.36 |
erniebot-4.0-202404 (文心一言) | 闭源 | 7.89 | 7.61 | 8.17 |
DeepSeek-V2 Chat (SFT) | 开源 | 7.74 | 7.30 | 8.17 |
gpt-4-0613 | 闭源 | 7.53 | 7.47 | 7.59 |
erniebot-4.0-202312 (文心一言) | 闭源 | 7.36 | 6.84 | 7.88 |
moonshot-v1-32k-202404 (月之暗面) | 闭源 | 7.22 | 6.42 | 8.02 |
Qwen1.5-72B-Chat (通义千问) | 开源 | 7.19 | 6.45 | 7.93 |
DeepSeek-67B-Chat | 开源 | 6.43 | 5.75 | 7.11 |
Yi-34B-Chat (零一万物) | 开源 | 6.12 | 4.86 | 7.38 |
gpt-3.5-turbo-0613 | 闭源 | 6.08 | 5.35 | 6.71 |
DeepSeek-V2-Lite 16B Chat | 开源 | 6.01 | 4.71 | 7.32 |
我们在LiveCodeBench(0901-0401)上评估了我 们的模型,这是一个为实时编程挑战设计的基准测试。如图所示,DeepSeek-V2在LiveCodeBench上展示了相当的熟练度,其Pass@1分数超过了几个其他复杂的模型。这一表现突显了该模型在处理实时编程任务方面的有效性。
<p align="center"> <img width="50%" src="https://yellow-cdn.veclightyear.com/835a84d5/dca3984f-7fc3-404e-b8fd-74f52d0b9b6c.png?raw=true"> </p>DeepSeek-V2采用创新架构,以确保经济的训练和高效的推理:
您可以在DeepSeek的官方网站上与DeepSeek-V2聊天:chat.deepseek.com
我们还在DeepSeek平台上提供兼容OpenAI的API:platform.deepseek.com。注册即可获得超过数百万的免费令牌。您还可以以无与伦比的价格按使用量付费。
<p align="center"> <img width="40%" src="https://yellow-cdn.veclightyear.com/835a84d5/d882af83-5061-47d8-87d6-39ab610e5c4b.png?raw=true"> </p> ## 8. 如何本地运行 **要使用BF16格式的DeepSeek-V2进行推理,需要80GB*8的GPU。** ### 使用Huggingface的Transformers进行推理 您可以直接使用[Huggingface的Transformers](https://github.com/huggingface/transformers)进行模型 推理。import torch from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig model_name = "deepseek-ai/DeepSeek-V2" tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) # `max_memory`应根据您的设备进行设置 max_memory = {i: "75GB" for i in range(8)} # `device_map`不能设置为`auto` model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="sequential", torch_dtype=torch.bfloat16, max_memory=max_memory, attn_implementation="eager") model.generation_config = GenerationConfig.from_pretrained(model_name) model.generation_config.pad_token_id = model.generation_config.eos_token_id text = "注意力函数可以被描述为将一个查询和一组键值对映射到一个输出,其中查询、键、值和输出都是向量。输出是" inputs = tokenizer(text, return_tensors="pt") outputs = model.generate(**inputs.to(model.device), max_new_tokens=100) result = tokenizer.decode(outputs[0], skip_special_tokens=True) print(result)
import torch from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig model_name = "deepseek-ai/DeepSeek-V2-Chat" tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) # `max_memory`应根据您的设备进行设置 max_memory = {i: "75GB" for i in range(8)} # `device_map`不能设置为`auto` model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="sequential", torch_dtype=torch.bfloat16, max_memory=max_memory, attn_implementation="eager") model.generation_config = GenerationConfig.from_pretrained(model_name) model.generation_config.pad_token_id = model.generation_config.eos_token_id messages = [ {"role": "user", "content": "用C++写一段快速排序代码"} ] input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt") outputs = model.generate(input_tensor.to(model.device), max_new_tokens=100) result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True) print(result)
完整的对话模板可以在huggingface模型仓库中的tokenizer_config.json
文件中找到。
以下是一个对话模板的示例:
<|begin▁of▁sentence|>User: {user_message_1} A: {assistant_message_1}<|end▁of▁sentence|>User: {user_message_2} A:
您还可以添加一个可选的系统消息:
<|begin▁of▁sentence|>{system_message} User: {user_message_1} A: {assistant_message_1}<|end▁of▁sentence|>User: {user_message_2} A:
要使用vLLM进行模型推理,请将此Pull Request合并到您的vLLM代码库中:https://github.com/vllm-project/vllm/pull/4650。
from transformers import AutoTokenizer from vllm import LLM, SamplingParams max_model_len, tp_size = 8192, 8 model_name = "deepseek-ai/DeepSeek-V2-Chat" tokenizer = AutoTokenizer.from_pretrained(model_name) llm = LLM(model=model_name, tensor_parallel_size=tp_size, max_model_len=max_model_len, trust_remote_code=True, enforce_eager=True) sampling_params = SamplingParams(temperature=0.3, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id]) messages_list = [ [{"role": "user", "content": "你是谁?"}], [{"role": "user", "content": "直接将以下内容翻译成中文:DeepSeek-V2 adopts innovative architectures to guarantee economical training and efficient inference."}], [{"role": "user", "content": "用C++写一段快速排序代码。"}], ] prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list] outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params) generated_text = [output.outputs[0].text for output in outputs] print(generated_text)
由于我们的API与OpenAI兼容,您可以轻松地在langchain中使用它。 以下 是一个示例:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model='deepseek-chat',
openai_api_key=<your-deepseek-api-key>,
openai_api_base='https://api.deepseek.com/v1',
temperature=0.85,
max_tokens=8000)
此代码仓库根据MIT许可证授权。DeepSeek-V2 Base/Chat模型的使用受模型许可证约束。DeepSeek-V2系列(包括Base和Chat)支持商业用途。
@misc{deepseekv2,
title={DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model},
author={DeepSeek-AI},
year={2024},
eprint={2405.04434},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
如果您有任何问题,请提出issue或联系我们:service@deepseek.com。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号