Unduh Model | Hasil Evaluasi | Arsitektur Model | Platform API | Lisensi | Kutipan
Tautan Kertas ?️
Hari ini, kami memperkenalkan DeepSeek-V2, model bahasa Mixture-of-Experts (MoE) yang kuat dan ditandai dengan pelatihan yang ekonomis dan inferensi yang efisien. Ini terdiri dari total 236 miliar parameter, 21 miliar di antaranya diaktifkan untuk setiap token. Dibandingkan dengan DeepSeek 67B, DeepSeek-V2 mencapai kinerja yang lebih kuat, sekaligus menghemat 42,5% biaya pelatihan, mengurangi cache KV sebesar 93,3%, dan meningkatkan throughput pembangkitan maksimum hingga 5,76 kali lipat.
Kami melatih DeepSeek-V2 terlebih dahulu pada korpus yang beragam dan berkualitas tinggi yang terdiri dari 8,1 triliun token. Pra-pelatihan komprehensif ini diikuti dengan proses Supervised Fine-Tuning (SFT) dan Reinforcement Learning (RL) untuk memaksimalkan kemampuan model. Hasil evaluasi memvalidasi efektivitas pendekatan kami karena DeepSeek-V2 mencapai kinerja luar biasa baik pada benchmark standar maupun evaluasi generasi terbuka.
16.05.2024: Kami merilis DeepSeek-V2-Lite.
06.05.2024: Kami merilis DeepSeek-V2.
Model | #Total Param | #Param yang Diaktifkan | Panjang Konteks | Unduh |
---|---|---|---|---|
DeepSeek-V2-Lite | 16B | 2.4B | 32k | ? Memeluk Wajah |
Obrolan DeepSeek-V2-Lite (SFT) | 16B | 2.4B | 32k | ? Memeluk Wajah |
DeepSeek-V2 | 236B | 21B | 128k | ? Memeluk Wajah |
Obrolan DeepSeek-V2 (RL) | 236B | 21B | 128k | ? Memeluk Wajah |
Karena keterbatasan HuggingFace, kode sumber terbuka saat ini mengalami kinerja lebih lambat dibandingkan basis kode internal kami ketika dijalankan pada GPU dengan Huggingface. Untuk memfasilitasi eksekusi model kami secara efisien, kami menawarkan solusi vllm khusus yang mengoptimalkan kinerja untuk menjalankan model kami secara efektif.
Tolok ukur | Domain | LLaMA3 70B | Campuran 8x22B | DeepSeek-V1 (Padat-67B) | DeepSeek-V2 (MoE-236B) |
---|---|---|---|---|---|
MMLU | Bahasa inggris | 78.9 | 77.6 | 71.3 | 78.5 |
BBH | Bahasa inggris | 81.0 | 78.9 | 68.7 | 78.9 |
C-Eval | Cina | 67.5 | 58.6 | 66.1 | 81.7 |
CMMLU | Cina | 69.3 | 60.0 | 70.8 | 84.0 |
Evaluasi Manusia | Kode | 48.2 | 53.1 | 45.1 | 48.8 |
MBPP | Kode | 68.6 | 64.2 | 57.4 | 66.6 |
GSM8K | Matematika | 83.0 | 80.3 | 63.4 | 79.2 |
Matematika | Matematika | 42.2 | 42.5 | 18.7 | 43.6 |
Tolok ukur | Domain | DeepSeek 7B (Padat) | DeepSeekMoE 16B | DeepSeek-V2-Lite (MoE-16B) |
---|---|---|---|---|
Arsitektur | - | MHA+Padat | MHA+MoE | MLA+MoE |
MMLU | Bahasa inggris | 48.2 | 45.0 | 58.3 |
BBH | Bahasa inggris | 39.5 | 38.9 | 44.1 |
C-Eval | Cina | 45.0 | 40.6 | 60.3 |
CMMLU | Cina | 47.2 | 42.5 | 64.3 |
Evaluasi Manusia | Kode | 26.2 | 26.8 | 29.9 |
MBPP | Kode | 39.0 | 39.2 | 43.2 |
GSM8K | Matematika | 17.4 | 18.8 | 41.1 |
Matematika | Matematika | 3.3 | 4.3 | 17.1 |
Untuk rincian evaluasi lebih lanjut, seperti pengaturan dan petunjuk beberapa pengambilan gambar, silakan periksa makalah kami.
Hasil evaluasi tes Needle In A Haystack
(NIAH). DeepSeek-V2 bekerja dengan baik di semua panjang jendela konteks hingga 128K .
Tolok ukur | Domain | QWen1.5 72B Obrolan | Campuran 8x22B | Instruksi LLaMA3 70B | Obrolan DeepSeek-V1 (SFT) | Obrolan DeepSeek-V2 (SFT) | Obrolan DeepSeek-V2 (RL) |
---|---|---|---|---|---|---|---|
MMLU | Bahasa inggris | 76.2 | 77.8 | 80.3 | 71.1 | 78.4 | 77.8 |
BBH | Bahasa inggris | 65.9 | 78.4 | 80.1 | 71.7 | 81.3 | 79.7 |
C-Eval | Cina | 82.2 | 60.0 | 67.9 | 65.2 | 80.9 | 78.0 |
CMMLU | Cina | 82.9 | 61.0 | 70.7 | 67.8 | 82.4 | 81.6 |
Evaluasi Manusia | Kode | 68.9 | 75.0 | 76.2 | 73.8 | 76.8 | 81.1 |
MBPP | Kode | 52.2 | 64.4 | 69.8 | 61.4 | 70.4 | 72.0 |
LiveCodeBench (0901-0401) | Kode | 18.8 | 25.0 | 30.5 | 18.3 | 28.7 | 32.5 |
GSM8K | Matematika | 81.9 | 87.9 | 93.2 | 84.1 | 90.8 | 92.2 |
Matematika | Matematika | 40.6 | 49.8 | 48.5 | 32.6 | 52.7 | 53.9 |
Tolok ukur | Domain | Obrolan DeepSeek 7B (SFT) | Obrolan DeepSeekMoE 16B (SFT) | Obrolan DeepSeek-V2-Lite 16B (SFT) |
---|---|---|---|---|
MMLU | Bahasa inggris | 49.7 | 47.2 | 55.7 |
BBH | Bahasa inggris | 43.1 | 42.2 | 48.1 |
C-Eval | Cina | 44.7 | 40.0 | 60.1 |
CMMLU | Cina | 51.2 | 49.3 | 62.5 |
Evaluasi Manusia | Kode | 45.1 | 45.7 | 57.3 |
MBPP | Kode | 39.0 | 46.2 | 45.8 |
GSM8K | Matematika | 62.6 | 62.2 | 72.0 |
Matematika | Matematika | 14.7 | 15.2 | 27.9 |
Kami mengevaluasi model kami pada AlpacaEval 2.0 dan MTBench, yang menunjukkan kinerja kompetitif DeepSeek-V2-Chat-RL dalam pembuatan percakapan bahasa Inggris.
Alignbench (https://arxiv.org/abs/2311.18743)
itu | 开源/闭源 | 总分 | 中文推理 | 中文语言 |
---|---|---|---|---|
gpt-4-1106-pratinjau | 闭源 | 8.01 | 7.73 | 8.29 |
Obrolan DeepSeek-V2 (RL) | 开源 | 7.91 | 7.45 | 8.36 |
erniebot-4.0-202404 (文心一言) | 闭源 | 7.89 | 7.61 | 8.17 |
Obrolan 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-Obrolan (通义千问) | 开源 | 7.19 | 6.45 | 7.93 |
DeepSeek-67B-Obrolan | 开源 | 6.43 | 5.75 | 7.11 |
Yi-34B-Obrolan (零一万物) | 开源 | 6.12 | 4.86 | 7.38 |
gpt-3.5-turbo-0613 | 闭源 | 6.08 | 5.35 | 6.71 |
Obrolan DeepSeek-V2-Lite 16B | 开源 | 6.01 | 4.71 | 7.32 |
Kami mengevaluasi model kami di LiveCodeBench (0901-0401), sebuah tolok ukur yang dirancang untuk tantangan pengkodean langsung. Seperti yang diilustrasikan, DeepSeek-V2 menunjukkan kemahiran yang cukup besar dalam LiveCodeBench, mencapai skor Pass@1 yang melampaui beberapa model canggih lainnya. Performa ini menyoroti efektivitas model dalam menangani tugas pengkodean langsung.
DeepSeek-V2 mengadopsi arsitektur inovatif untuk menjamin pelatihan ekonomis dan inferensi yang efisien:
Sebagai perhatian, kami merancang MLA (Multi-head Latent Attention), yang memanfaatkan kompresi gabungan nilai kunci tingkat rendah untuk menghilangkan hambatan cache nilai kunci waktu inferensi, sehingga mendukung inferensi yang efisien.
Untuk Jaringan Feed-Forward (FFN), kami mengadopsi arsitektur DeepSeekMoE, arsitektur MoE berkinerja tinggi yang memungkinkan pelatihan model yang lebih kuat dengan biaya lebih rendah.
Anda dapat mengobrol dengan DeepSeek-V2 di situs resmi DeepSeek: chat.deepseek.com
Kami juga menyediakan API yang Kompatibel dengan OpenAI di Platform DeepSeek: platform.deepseek.com. Daftar untuk mendapatkan lebih dari jutaan token gratis. Dan Anda juga dapat membayar sesuai pemakaian dengan harga yang tidak ada duanya.
Untuk menggunakan DeepSeek-V2 dalam format BF16 untuk inferensi, diperlukan GPU 80GB*8.
Anda dapat langsung menggunakan Transformers Huggingface untuk inferensi model.
import torchfrom transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfigmodel_name = "deepseek-ai/DeepSeek-V2"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)# `max_memory` harus disetel berdasarkan perangkat Andamax_memory = {i: "75GB" untuk saya dalam jangkauan(8)}# `device_map` tidak dapat disetel ke `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.generasi_config = GenerationConfig.from_pretrained(model_name)model.generasi_config.pad_token_id = model.generasi_config.eos_token_idtext = "Fungsi perhatian dapat dideskripsikan sebagai memetakan kueri dan sekumpulan pasangan kunci-nilai ke keluaran, di mana kueri, kunci, nilai, dan output semuanya vektor. Outputnya adalah"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(hasil)
import torchfrom transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfigmodel_name = "deepseek-ai/DeepSeek-V2-Chat"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)# `max_memory` harus disetel berdasarkan perangkat Andamax_memory = {i: "75GB " untuk saya dalam jangkauan(8)}# `device_map` tidak dapat disetel ke `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.generasi_config = GenerationConfig.from_pretrained(nama_model)model.generasi_config.pad_token_id = model.generasi_config.eos_token_idmessages = [ {"role": "user", "content": "Tulis sepotong kode quicksort dalam C++"} ]input_tensor = tokenizer.apply_chat_template(pesan, add_generasi_prompt=Benar, return_tensors="pt")outputs = model.generate(input_tensor.to(model.device), max_new_tokens=100)result = tokenizer.decode(outputs[0][input_tensor .bentuk[1]:], skip_special_tokens=Benar)cetak(hasil)
Templat obrolan lengkap dapat ditemukan dalam tokenizer_config.json
yang terletak di repositori model pelukan.
Contoh template obrolan adalah sebagai berikut:
<|awal kalimat|>Pengguna: {user_message_1} Asisten: {assistant_message_1}<|akhir kalimat|>Pengguna: {user_message_2} Asisten:
Anda juga dapat menambahkan pesan sistem opsional:
<|awal kalimat|>{system_message} Pengguna: {user_message_1} Asisten: {assistant_message_1}<|akhir kalimat|>Pengguna: {user_message_2} Asisten:
SGLang saat ini mendukung optimasi MLA, FP8 (W8A8), FP8 KV Cache, dan Torch Compile, menawarkan latensi dan throughput terbaik di antara kerangka kerja sumber terbuka. Berikut adalah beberapa contoh perintah untuk meluncurkan server yang kompatibel dengan OpenAI API:
# BF16, tensor parallelism = 8python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V2-Chat --tp 8 --trust-remote-code# BF16, w/ torch.compile (Kompilasi dapat memakan waktu beberapa menit )python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-V2-Lite-Chat --trust-remote-code --enable-torch-compile# FP8, paralelisme tensor = 8, FP8 KV cachepython3 -m sglang.launch_server --model deepseek-ai/DeepSeek- V2-Obrolan --tp 8 --trust-kode jarak jauh --quant fp8 --kv-cache-dtype fp8_e5m2
Setelah meluncurkan server, Anda dapat menanyakannya dengan 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)
Untuk memanfaatkan vLLM untuk inferensi model, harap gabungkan Permintaan Tarik ini ke dalam basis kode vLLM Anda: vllm-project/vllm#4650.
dari transformator 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=Benar, penegak_eager=Benar)sampling_params = SamplingParams(suhu=0,3, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id])messages_list = [ [{"role": "pengguna", "konten": "Siapa Anda?"}], [{"role": "user", "content": "Terjemahkan konten berikut ke dalam bahasa Mandarin secara langsung: DeepSeek-V2 mengadopsi arsitektur inovatif untuk menjamin pelatihan yang ekonomis dan inferensi yang efisien."}], [{"role": "user", "content": "Tulis sepotong kode quicksort dalam C++."}], ]prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generasi_prompt=True) untuk pesan di messages_list]outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)generated_text = [output.outputs[0].teks untuk keluaran di keluaran]cetak(teks_yang dihasilkan)
Karena API kami kompatibel dengan OpenAI, Anda dapat dengan mudah menggunakannya di langchain. Berikut ini contohnya:
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)
Repositori kode ini dilisensikan di bawah Lisensi MIT. Penggunaan model Basis/Obrolan DeepSeek-V2 tunduk pada Lisensi Model. Seri DeepSeek-V2 (termasuk Base dan Chat) mendukung penggunaan komersial.
@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} }
Jika Anda memiliki pertanyaan, silakan ajukan masalah atau hubungi kami di [email protected].