ai工具集2

deepseek coder

deepseek coder,代碼生成,跨文件代碼补全,程式解數学题等

标签:ai工具集2deepseek deepseek ai deepseek coder deepseek coder官网

deepseek coder官网,代碼生成,跨文件代碼补全,程式解數学题等

什么是deepseek coder?

DeepSeek-Coder的訓练資料集由87%的源代碼,10%的与英语相關的自然语言语料库和3%的与代碼無關的中文自然语言语料库组成英语语料库包括来自GitHub的Markdown和StackExchange的材料,这些材料用于增强模型對与代碼相關的概念的理解,并提高其處理库使用和错誤修复等任務的能力。与此同时,中文语料库包括旨在提高模型對中文语言的理解能力的高质量文章! 

deepseek coder官网: https://chat.deepseek.com/coder

deepseek coder

DeepSeek,作為幻方量化旗下人工智能公司深度求索(DeepSeek)的旗舰產品,是一个由大语言模型驱动的智能助手。

技術報告Highlights

  1. 資料首次构建了仓库級代碼資料,并用拓撲排序解析文件之间依賴,顯著增强了长距离跨文件的理解能力。
  2. 訓练:在传統的预测下一个單词任務基礎上,增加了Fill-In-Middle方法,大幅提升了代碼补全的能力。
  3. 效果:對比開源模型,DeepSeek Coder的各尺度模型在代碼生成、跨文件代碼补全、以及程式解數学题等多个任務上均超过開源标杆CodeLllama。對比闭源模型,DeepSeek-Coder-33B-Instruct甚至超越了最新闭源模型GPT-3.5-Turbo,是最接近GPT-4-Turbo能力的開源代碼模型

deepseek coder

資料
DeepSeek Coder的訓练資料集构成如下:
  • 87%代碼資料:主要来自2023年2月前的GitHub,覆蓋87种编程语言
  • 10%代碼相關的英文语料:主要来自GitHub的Markdown格式文件以及StackExchange
  • 3%非代碼相關的中文语料:旨在提高模型對中文理解能力
代碼資料过濾結合了規则、编译器和质量打分模型,来去除含有语法错誤、可讀性差和模块化低的代碼,最終得到798G大小的高质量代碼資料,共6亿个代碼文件。為了确保预訓练資料不被来自测試集資料污染(比如类似HumanEval和MBPP等普遍存在于GitHub上),我们采納了一个n-gram过濾方法:如果一段代碼包含与测試資料中任何10-gram字符串相同的内容,则会被从预訓练資料中删除。

為了處理在實際应用中專案級别(Repo-Level)的代碼場景,我们在提出了一个全新的拓撲排序方法,来利用同一代碼库中文件之间的依賴關系,构建能反映真實的编碼實践和結构的資料集。去重策略也是基于Repo-Level資料。

訓练

訓练包含三个阶段,先在Code和中英混合資料上预訓练了1.8T Tokens,再进行长度插值外擴繼續訓练了200B Tokens,最后进行指令微调了2B Tokens。

deepseek coder

訓练任務

由于编程语言中的特定依賴性,仅根据上文预测下文是不够的,典型的常見如代碼补全,需要基于给定上文和后續文本生成相应插入代碼。因此我们沿用前人提出的提出了FIM(Fill-in-the-Middle)方法,即:填补中间代碼的预訓练方法。

这种方法涉及將文本随机分成三部分(Prefix、Middle、Suffix),然后將Prefix和Suffix顺序打乱来预测Middle。具体来說,我们采用了两种不同新的資料拼接模式:PSM(Prefix-Suffix-Middle)和SPM(Suffix-Prefix-Middle)。这两种模式對于增强模型處理代碼中各种結构排列的能力非常重要。考慮到尽量保持自然序列關系,最終我们選择了PSM模式。

deepseek coder
上圖設计了消融實验對比FIM資料占比對訓练的影响,發现FIM資料50%占比(红色)能更好兼顧代碼生成(HumanEval、MBPP)和代碼补全(HumanFIM)类任務。

訓练超参

DeepSeek Coder全系列模型訓练超参數如下:
deepseek coder

长度外擴

為了支持仓库級的代碼訓练,我们重新配置了RoPE的参數,并采用了线性缩放策略,將缩放因子从1增加到4,并將基礎频率从10000改為100000。修改了配置的模型使用了512的Batch Size和16K的序列长度繼續訓练了1000步。理論上,最終的模型能够處理64K的上下文。但我们實验發现,16K内窗口内的模型結果比較可靠。

實验
代碼生成能力

對于Base模型,DeepSeek-Coder-Base 33B在HumanEval基准测試中的多个代碼语言上均能大幅超越目前開源代碼模型。驚艳的是,DeepSeek-Coder-Base 6.7B也超过了CodeLlama 34B的性能,但参數量仅為后者的20%

在經过指令微调后,我们的模型在HumanEval基准测試中超过了闭源的GPT-3.5-Turbo模型,是目前最接近GPT-4的性能的開源代碼模型。

deepseek coder

為了验證模型在样本外下真實的代碼理解和生成能力,我们构造了一个全新的資料集,题目均来自LeetCode每周更新的编程题,按照难度区分為:Easy、Medium、Hard。

deepseek coder

上圖可以看出,33B的DeepSeek-Coder同样超过了GPT-3.5-Turbo,并且我们發现COT(Chain-of-Thought)的方式可以更好增加我们模型的代碼能力。故而强烈推荐在一些复雜的代碼任務上使用DeepSeek Coder模型的时候,简單在Prompt里面增加一句:

You need first to write a step-by-step outline and then write the code.

跨文件代碼补全能力

在實際代碼补全应用中,理解跨眾多依賴代碼文件之间的關系是至關重要的。

受益于Repo-Level的预訓练任務,DeepSeek-Coder-Base 6.7B的跨文件代碼补全在大部分语言上都表现更佳。

deepseek coder

基于程式的數学推理能力

基于程式的數学推理可以評估大模型透過编程理解和解决數学問题的能力。

deepseek coder

上圖展示了在七个不同的數学能力基准测試中,DeepSeek-Coder-Base多尺度的各个模型都取得了出色的表现,尤其是更大尺度的33B模型,展示了复雜數学计算和問题解决的潛力。

公開竞賽超过GPT3.5逼近4

在诸多代碼能力公開竞賽榜單上,都能看到DeepSeek Coder是目前最贴近GPT4-Turbo版本(绿线)的開源模型,在同等非COT設置下,也超过了CPT-3.5-Turbo(红线)。

deepseek coder
deepseek coder

案例分析

与經过指令微调的DeepSeek-Coder-Instruct进行對话,可以轻松創建小型遊戏或进行資料分析,并且在多輪對话中滿足用户的需求。

deepseek coder
全新代碼模型v1.5開源

伴随此次技術報告还有一个模型開源,DeepSeek-Coder-v1.5 7B:在通用语言模型DeepSeek-LLM 7B的基礎上用代碼資料进行繼續訓练了1.4T Tokens,最終模型全部訓练資料的组成情况如下:

deepseek coder

相比上次開源的同尺度的6.7B的Coder,DeepSeek-Coder-v1.5獲得了更好的语言理解、代碼编程和數学推理等能力。更大尺度、更强綜合能力的Coder模型正在訓练中,我们会持續貢献给開源社区!

deepseek coder
HuggingFace下载地址:

https://huggingface.co/deepseek-ai

deepseek coder
關于DeepSeek

回顧下DeepSeek目前開源模型列表:

deepseek coder

下一步,深度求索会繼續開源更大尺度、創新框架、以及复雜推理能力更好的模型!

数据评估

deepseek coder浏览人数已经达到82,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:deepseek coder的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找deepseek coder的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于deepseek coder特别声明

本站ai工具百寶箱提供的deepseek coder都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai工具百寶箱实际控制,在2025年11月1日 下午6:18收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai工具百寶箱不承担任何责任。

相关导航

暂无评论

暂无评论...