部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >DeepSeekV2:这个新的开源的模型在多个基准测试中击败了 GPT-4、Claude-3 和 Llama-3!(附代码演示)

DeepSeekV2:这个新的开源的模型在多个基准测试中击败了 GPT-4、Claude-3 和 Llama-3!(附代码演示)

作者头像
AI进修生
发布2024-12-02 18:48:15
发布2024-12-02 18:48:15
1.7K00
代码可运行
举报
文章被收录于专栏:AI进修生AI进修生
运行总次数:0
代码可运行

Aitrainee | 公众号:AI进修生

🌟它是 DeepSeek 团队发布的一个新的开源专家混合模型。该模型在多个基准测试中击败了 GPT-4、ChatGPT、Claude-3、Gemini、Mixtral 8x22b 和 Llama 3。它可用于创建自己的 ChatGPT 克隆和 Github Copilot 替代品。

体验地址:https://chat.deepseek.com/coder

Hello,大家好,我是Aitrainee,欢迎阅读本期新文章。

这两天有个新模型引起了不少关注,那就是DeepSeek-Coder-V2。这个模型是DeepSeek-Coder的最新升级版,相比之前的版本有了很大的提升,特别是在编码任务方面的表现令人惊艳

DeepSeek-Coder-V2一共有两个版本:标准版DeepSeek-Coder-V2和精简版DeepSeek-Coder-V2 Light。标准版的参数量高达2360亿,而精简版的参数量则是160亿。

虽然精简版的体积小了不少,但在本地推理时依然表现出色。两个版本都支持128k的上下文长度,并且兼容338种编程语言,远超之前仅支持86种语言的旧版。

新模型通过8万亿标记进行训练,不仅在代码相关任务中表现卓越,在推理和一般能力方面也有显著进步。DeepSeek-Coder-V2在多个基准测试中都击败了其他闭源模型,如GPT-4 Turbo、Claude 3、Opus和Gemini 1.5 Pro。

▲ 在标准基准评估中,DeepSeek-Coder-V2 在编码和数学基准测试中的表现优于 GPT4-Turbo、Claude 3 Opus 和 Gemini 1.5 Pro 等闭源模型。

在HumanEval基准测试中,DeepSeek-Coder-V2取得了90.2的高分,超越了所有竞争对手。而在mbpp plus和GSM 8K基准测试中也表现优异,除了在GSM 8K中仅次于Claude 3 Opus,差距只有一个小数点。

更令人惊喜的是,DeepSeek-Coder-V2的定价非常合理,每百万输入标记只需14美分,输出标记为28美分,这远低于其他模型。而且,它采用MIT许可证,允许各种商业和非商业用途,非常灵活。

▲ 在DeepSeek 平台上提供与 OpenAI 兼容的 API:platform.deepseek.com。注册即可获得数百万个免费代币。还可以以无与伦比的价格按使用量付费。

如果你想试用这个模型,可以从Hugging Face下载权重文件,或者通过AMA平台直接使用。还可以免费试用DeepSeek Chat平台,只需注册账号即可。在界面中选择Coder V2选项就能开始体验。

我们来做几个测试。首先,我们让它生成一个Python版本的贪吃蛇游戏程序,代码解释详细且运行正常。

然后,我们尝试创建一个现代化的HTML、CSS和JavaScript登陆页面,效果也相当不错。

DeepSeek-Coder-V2的2000亿参数版本可以直接在平台上运行,而小版本需要本地运行。我在本地测试了相同的任务,小版本在大多数任务中的表现与大版本类似,虽然在非常高级的任务中略有下降,但整体仍然优于CodeStral。

总的来说,DeepSeek-Coder-V2在编码任务中表现非常出色,支持超过300种编程语言,可本地运行且完全免费用于商业用途。另外,它还提供500万免费API标记,非常适合小型和个人项目。你可以将其连接到如continue Dev这样的协作平台。

下面提供官方的文档介绍、相关资源、部署教程等,进一步支撑你的行动,以提升本文的帮助力。

1. 介绍

我们介绍了DeepSeek-Coder-V2,这是一种开源的Mixture-of-Experts(MoE)代码语言模型,在代码相关任务中达到了与GPT4-Turbo相媲美的性能。

具体来说,DeepSeek-Coder-V2是在DeepSeek-V2的一个中间检查点基础上,继续进行额外的6万亿个标记的预训练。通过这种持续的预训练,DeepSeek-Coder-V2显著增强了DeepSeek-V2的编码和数学推理能力,同时在一般语言任务中保持了相当的性能。

与DeepSeek-Coder-33B相比,DeepSeek-Coder-V2在代码相关任务以及推理和一般能力方面表现出显著进步。此外,DeepSeek-Coder-V2支持的编程语言从86种增加到338种,同时将上下文长度从16K扩展到128K。

▲ 上下文窗口:(NIAH) 测试的评估结果Needle In A Haystack。DeepSeek-Coder-V2 在高达128K的所有上下文窗口长度上表现良好。

在标准基准评估中,DeepSeek-Coder-V2在编码和数学基准测试中表现优于闭源模型如GPT4-Turbo、Claude 3 Opus和Gemini 1.5 Pro。支持的编程语言列表可以在这里找到。

2. 模型下载

我们基于DeepSeekMoE框架发布了具有16B和236B参数的DeepSeek-Coder-V2,包括基础模型和指令模型,公开提供。

模型

总参数量

激活参数量

上下文长度

下载链接

DeepSeek-Coder-V2-Lite-Base

16B

2.4B

128k

🤗 HuggingFace

DeepSeek-Coder-V2-Lite-Instruct

16B

2.4B

128k

🤗 HuggingFace

DeepSeek-Coder-V2-Base

236B

21B

128k

🤗 HuggingFace

DeepSeek-Coder-V2-Instruct

236B

21B

128k

🤗 HuggingFace

3. 评估结果

3.1 代码生成

总参数量

激活参数量

HumanEval

MBPP+

LiveCodeBench

USACO

闭源模型

Gemini-1.5-Pro

-

-

83.5

74.6

34.1

4.9

Claude-3-Opus

-

-

84.2

72.0

34.6

7.8

GPT-4-Turbo-1106

-

-

87.8

69.3

37.1

11.1

GPT-4-Turbo-0409

-

-

88.2

72.2

45.7

12.3

GPT-4o-0513

-

-

91.0

73.5

43.4

18.8

开源模型

CodeStral

22B

22B

78.1

68.2

31.0

4.6

DeepSeek-Coder-Instruct

33B

33B

79.3

70.1

22.5

4.2

Llama3-Instruct

70B

70B

81.1

68.8

28.7

3.3

DeepSeek-Coder-V2-Lite-Instruct

16B

2.4B

81.1

68.8

24.3

6.5

DeepSeek-Coder-V2-Instruct

236B

21B

90.2

76.2

43.4

12.1

3.2 代码补全

模型

总参数量

激活参数量

RepoBench (Python)

RepoBench (Java)

HumanEval FIM

CodeStral

22B

22B

46.1

45.7

83.0

DeepSeek-Coder-Base

7B

7B

36.2

43.3

86.1

DeepSeek-Coder-Base

33B

33B

39.1

44.8

86.4

DeepSeek-Coder-V2-Lite-Base

16B

2.4B

38.9

43.3

86.4

3.3 代码修复

总参数量

激活参数量

Defects4J

SWE-Bench

Aider

闭源模型

Gemini-1.5-Pro

-

-

18.6

19.3

57.1

Claude-3-Opus

-

-

25.5

11.7

68.4

GPT-4-Turbo-1106

-

-

22.8

22.7

65.4

GPT-4-Turbo-0409

-

-

24.3

18.3

63.9

GPT-4o-0513

-

-

26.1

26.7

72.9

开源模型

CodeStral

22B

22B

17.8

2.7

51.1

DeepSeek-Coder-Instruct

33B

33B

11.3

0.0

54.5

Llama3-Instruct

70B

70B

16.2

-

49.2

DeepSeek-Coder-V2-Lite-Instruct

16B

2.4B

9.2

0.0

44.4

DeepSeek-Coder-V2-Instruct

236B

21B

21.0

12.7

73.7

3.4 数学推理

#TP

#AP

GSM8K

MATH

AIME 2024

Math Odyssey

闭源模型

Gemini-1.5-Pro

-

-

90.8

67.7

2/30

45.0

Claude-3-Opus

-

-

95.0

60.1

2/30

40.6

GPT-4-Turbo-1106

-

-

91.4

64.3

1/30

49.1

GPT-4-Turbo-0409

-

-

93.7

73.4

3/30

46.8

GPT-4o-0513

-

-

95.8

76.6

2/30

53.2

开源模型

Llama3-Instruct

70B

70B

93.0

50.4

1/30

27.9

DeepSeek-Coder-V2-Lite-Instruct

16B

2.4B

86.4

61.8

0/30

44.4

DeepSeek-Coder-V2-Instruct

236B

21B

94.9

75.7

4/30

53.7

3.5 通用自然语言

基准测试

领域

DeepSeek-V2-Lite Chat

DeepSeek-Coder-V2-Lite Instruct

DeepSeek-V2 Chat

DeepSeek-Coder-V2 Instruct

BBH

英文

48.1

61.2

79.7

83.9

MMLU

英文

55.7

60.1

78.1

79.2

ARC-Easy

英文

86.1

88.9

98.1

97.4

ARC-Challenge

英文

73.4

77.4

92.3

92.8

TriviaQA

英文

65.2

59.5

86.7

82.3

NaturalQuestions

英文

35.5

30.8

53.4

47.5

AGIEval

英文

42.8

28.7

61.4

60

CLUEWSC

中文

80.0

76.5

89.9

85.9

C-Eval

中文

60.1

61.6

78.0

79.4

CMMLU

中文

62.5

62.7

81.6

80.9

Arena-Hard

-

11.4

38.1

41.6

65.0

AlpaceEval 2.0

-

16.9

17.7

38.9

36.9

MT-Bench

-

7.37

7.81

8.97

8.77

Alignbench

-

6.02

6.83

7.91

7.84

4. 模型训练

4.1 数据

DeepSeek-Coder-V2的初始权重来自于DeepSeek-V2,其中包含了大量从网络上收集的公共和许可证兼容的数据。此外,我们还通过包含许多语言的开源GitHub代码库来增强训练数据。特别是为了增强代码任务能力,我们从以下领域添加了高质量的开源数据:

  1. 1. 常规代码数据: 包括GitHub代码、StackOverflow答案等。
  2. 2. 数学数据: 包括用于增强数学推理能力的数学题库。

4.2 微调

DeepSeek-Coder-V2的训练分为两个阶段:

  1. 1. 基础训练: 在DeepSeek-V2的一个中间检查点基础上进行额外的6万亿个标记的预训练。
  2. 2. 微调: 为了提升指令跟随能力,我们在指令数据集上进行微调。

5. 使用DeepSeek-Coder-V2

5.1 环境设置

首先,安装所需的库:

代码语言:javascript
代码运行次数:0
复制
pip install torch transformers

5.2 加载模型

以下是一个简单的示例代码,演示如何加载和使用DeepSeek-Coder-V2进行推理:

代码语言:javascript
代码运行次数:0
复制
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# 加载tokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-Coder-V2-Instruct")

# 加载模型
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-Coder-V2-Instruct")

# 输入文本
input_text = "def add(a, b):"
inputs = tokenizer(input_text, return_tensors="pt")

# 生成代码
output = model.generate(**inputs)
print(tokenizer.decode(output[0], skip_special_tokens=True))

5.3 示例

以下是使用DeepSeek-Coder-V2生成Python代码的示例:

代码语言:javascript
代码运行次数:0
复制
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "deepseek-ai/DeepSeek-Coder-V2-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

inputs = tokenizer("def add(a, b):", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

参考链接: [1]https://github.com/deepseek-ai/DeepSeek-Coder-V2 [2]https://chat.deepseek.com/coder [3]https://www.youtube.com/watch?v=yY0RSqRs0xQ&t=92s

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI进修生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 介绍
    • 2. 模型下载
    • 3. 评估结果
      • 3.1 代码生成
      • 3.2 代码补全
      • 3.3 代码修复
      • 3.4 数学推理
      • 3.5 通用自然语言
    • 4. 模型训练
      • 4.1 数据
      • 4.2 微调
    • 5. 使用DeepSeek-Coder-V2
      • 5.1 环境设置
      • 5.2 加载模型
      • 5.3 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档