模型下載| 評估結果| 模型架構| 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_ AutoTokenizer.from_pretrained(model_name, trust_remote_code_Mmax form`m_codes = 75:407_code_code_Mmax) 40m. i in range(8)}# `device_map` 不能設定為`auto`model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="sequential", torch_dtype=torch.codemagerd, max_m )model. Generation_config = GenerationConfig.from_pretrained(model_name)model. Generation_config.pad_token_id = model. Generation_config.eos_token_idtext = "注意力函數可以描述為將查詢和一組鍵值對映射到輸出,其中鍵、鍵、值和輸出查詢都是向量。 ,skip_special_tokens=True)print(結果)
import torchfromtransformers。 for i in range(8)}# `device_map` 不能設定為`auto`model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="sequential", torch_dtype=ch.m. ”)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. 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 快取python3 分鐘-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。
從變壓器匯入 AutoTokenizerfrom vllm 導入 LLM、SamplingParamsmax_model_len、tp_size = 8192、8model_name =“deepseek-ai/DeepSeek-V2-Chat”tokenizer = AutoTokenizer.from_pretrained(model)_Firined(model)_Harl_delmodelsd、Tardfidmodels_Fallind(Hardat_Fdom_dolar_Fildo_Fltra =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.的輸出]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] 與我們聯絡。