模型下载| 评估结果| 模型架构| API平台| 许可证| 引文
论文链接?️
今天,我们推出 DeepSeek-V2,这是一种强大的专家混合 (MoE) 语言模型,其特点是经济的训练和高效的推理。它总共包含 236B 个参数,其中每个令牌激活 21B 个参数。与DeepSeek 67B相比,DeepSeek-V2实现了更强的性能,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,并将最大生成吞吐量提升至5.76倍。
我们在包含 8.1 万亿个代币的多样化且高质量的语料库上对 DeepSeek-V2 进行了预训练。在进行全面的预训练之后,进行监督微调 (SFT) 和强化学习 (RL) 过程,以充分释放模型的能力。评估结果验证了我们方法的有效性,DeepSeek-V2 在标准基准测试和开放式生成评估上均取得了出色的性能。
2024年5月16日:我们发布了DeepSeek-V2-Lite。
2024年5月6日:我们发布了DeepSeek-V2。
模型 | #总参数 | #激活参数 | 上下文长度 | 下载 |
---|---|---|---|---|
DeepSeek-V2-Lite | 16B | 2.4B | 32k | ?抱脸 |
DeepSeek-V2-Lite-Chat (SFT) | 16B | 2.4B | 32k | ?抱脸 |
DeepSeek-V2 | 236B | 21B | 128k | ?抱脸 |
DeepSeek-V2-聊天 (RL) | 236B | 21B | 128k | ?抱脸 |
由于 HuggingFace 的限制,当前在使用 Huggingface 的 GPU 上运行时,开源代码的性能比我们的内部代码库慢。为了促进模型的高效执行,我们提供了专用的 vllm 解决方案,可以优化模型的有效运行性能。
基准 | 领域 | 拉玛3 70B | 混合 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-评估 | 中国人 | 67.5 | 58.6 | 66.1 | 81.7 |
CMLU | 中国人 | 69.3 | 60.0 | 70.8 | 84.0 |
人类评估 | 代码 | 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 |
数学 | 数学 | 42.2 | 42.5 | 18.7 | 43.6 |
基准 | 领域 | DeepSeek 7B(密集) | 深寻MoE 16B | DeepSeek-V2-Lite (MoE-16B) |
---|---|---|---|---|
建筑学 | - | MHA+致密 | 内政部+教育部 | 司法部+教育部 |
MMLU | 英语 | 48.2 | 45.0 | 58.3 |
BBH | 英语 | 39.5 | 38.9 | 44.1 |
C-评估 | 中国人 | 45.0 | 40.6 | 60.3 |
CMLU | 中国人 | 47.2 | 42.5 | 64.3 |
人类评估 | 代码 | 26.2 | 26.8 | 29.9 |
MBPP | 代码 | 39.0 | 39.2 | 43.2 |
GSM8K | 数学 | 17.4 | 18.8 | 41.1 |
数学 | 数学 | 3.3 | 4.3 | 17.1 |
有关更多评估详细信息,例如少样本设置和提示,请查看我们的论文。
Needle In A Haystack
(NIAH) 测试的评估结果。 DeepSeek-V2 在高达128K的所有上下文窗口长度上都表现良好。
基准 | 领域 | QWen1.5 72B聊天 | 混合 8x22B | LLaMA3 70B 指导 | DeepSeek-V1 聊天 (SFT) | DeepSeek-V2 聊天 (SFT) | DeepSeek-V2 聊天 (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-评估 | 中国人 | 82.2 | 60.0 | 67.9 | 65.2 | 80.9 | 78.0 |
CMLU | 中国人 | 82.9 | 61.0 | 70.7 | 67.8 | 82.4 | 81.6 |
人类评估 | 代码 | 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 |
数学 | 数学 | 40.6 | 49.8 | 48.5 | 32.6 | 52.7 | 53.9 |
基准 | 领域 | DeepSeek 7B 聊天 (SFT) | DeepSeekMoE 16B 聊天 (SFT) | DeepSeek-V2-Lite 16B 聊天 (SFT) |
---|---|---|---|---|
MMLU | 英语 | 49.7 | 47.2 | 55.7 |
BBH | 英语 | 43.1 | 42.2 | 48.1 |
C-评估 | 中国人 | 44.7 | 40.0 | 60.1 |
CMLU | 中国人 | 51.2 | 49.3 | 62.5 |
人类评估 | 代码 | 45.1 | 45.7 | 57.3 |
MBPP | 代码 | 39.0 | 46.2 | 45.8 |
GSM8K | 数学 | 62.6 | 62.2 | 72.0 |
数学 | 数学 | 14.7 | 15.2 | 27.9 |
我们在 AlpacaEval 2.0 和 MTBench 上评估我们的模型,显示 DeepSeek-V2-Chat-RL 在英语会话生成方面的竞争性能。
Alignbench (https://arxiv.org/abs/2311.18743)
模型 | 开源/闭源 | 总分 | 中文推理 | 中文 |
---|---|---|---|---|
gpt-4-1106-预览 | 闭源 | 8.01 | 7.73 | 8.29 |
DeepSeek-V2 聊天 (RL) | 开源 | 7.91 | 7.45 | 8.36 |
erniebot-4.0-202404 (文心一言) | 闭源 | 7.89 | 7.61 | 8.17 |
DeepSeek-V2 聊天 (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-聊天 | 开源 | 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 聊天 | 开源 | 6.01 | 4.71 | 7.32 |
我们在 LiveCodeBench (0901-0401) 上评估我们的模型,这是一个专为实时编码挑战而设计的基准。如图所示,DeepSeek-V2 在 LiveCodeBench 中表现出相当高的熟练程度,取得了超过其他几个复杂模型的 Pass@1 分数。这一性能凸显了该模型在处理实时编码任务方面的有效性。
DeepSeek-V2采用创新架构,保证经济训练和高效推理:
对于注意力,我们设计了MLA(多头潜在注意力),它利用低秩键值联合压缩来消除推理时键值缓存的瓶颈,从而支持高效的推理。
对于前馈网络(FFN),我们采用 DeepSeekMoE 架构,这是一种高性能的 MoE 架构,能够以更低的成本训练更强的模型。
您可以在 DeepSeek 官方网站上与 DeepSeek-V2 聊天:chat.deepseek.com
我们还在 DeepSeek 平台提供 OpenAI 兼容 API:platform.deepseek.com。注册即可获得超过数百万个免费代币。您还可以以无与伦比的价格按需付费。
要利用 BF16 格式的 DeepSeek-V2 进行推理,需要 80GB*8 GPU。
您可以直接使用Huggingface的Transformers进行模型推理。
import torchfrom Transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfigmodel_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 = 模型。 Generation_config.eos_token_idtext = “注意力函数可以描述为将一个查询和一组键值对映射到一个输出,其中查询、键、值和输出都是向量。输出为”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(结果)
import torchfromtransformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfigmodel_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` 模型= 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_idmessages = [ {"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(结果)
完整的聊天模板可以在位于 Huggingface 模型存储库的tokenizer_config.json
中找到。
聊天模板示例如下:
<|句首|>用户:{user_message_1} 助理:{assistant_message_1}<|句末|>用户:{user_message_2} 助手:
您还可以添加可选的系统消息:
<|句首|>{system_message} 用户:{user_message_1} 助理:{assistant_message_1}<|句末|>用户:{user_message_2} 助手:
SGLang 目前支持 MLA 优化、FP8 (W8A8)、FP8 KV Cache 和 Torch Compile,在开源框架中提供最佳的延迟和吞吐量。以下是启动 OpenAI API 兼容服务器的一些示例命令:
# BF16, 张量并行度 = 8python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V2-Chat --tp 8 --trust-remote-code# BF16, w/ torch.compile (编译可能需要几分钟)python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V2-Lite-Chat --trust-remote-code --enable-torch-compile# FP8,张量并行度 = 8,FP8 KV cachepython3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V2-Chat --tp 8 --trust-remote-code --quant fp8 --kv-cache-dtype fp8_e5m2
启动服务器后,可以使用OpenAI API进行查询
import openai client = openai.Client( base_url="http://127.0.0.1:30000/v1", api_key="EMPTY") # Chat completion response = client.chat.completions.create( model="default", messages=[ {"role": "system", "content": "You are a helpful AI assistant"}, {"role": "user", "content": "List 3 countries and their capitals."}, ], temperature=0, max_tokens=64, ) print(response)
要利用 vLLM 进行模型推理,请将此 Pull 请求合并到您的 vLLM 代码库中:vllm-project/vllm#4650。
from Transformers import AutoTokenizerfrom vllm import LLM, SamplingParamsmax_model_len, tp_size = 8192, 8model_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(温度= 0.3,max_tokens = 256,stop_token_ids = [tokenizer.eos_token_id])messages_list = [ [{"role": "用户", "content": "你是谁?"}], [{"role": "user", "content": "将以下内容直接翻译成中文:DeepSeek-V2采用创新架构,保证经济训练、高效推理。"}], [{"role": "user", "content": "用C++编写一段快速排序代码。"}], ]prompt_token_ids = [tokenizer.apply_chat_template(messages, add_ Generation_prompt=True) for messages_list 中的消息]outputs = llm.generate(prompt_token_ids=prompt_token_ids, Sample_params=sampling_params) generated_text = [output.outputs[0].text 用于输出中的输出]print (生成的文本)
由于我们的API与OpenAI兼容,因此您可以轻松地在langchain中使用它。这是一个例子:
from langchain_openai import ChatOpenAI llm = ChatOpenAI( model='deepseek-chat', openai_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} }
如果您有任何疑问,请提出问题或通过 [email protected] 与我们联系。