各编程语言最优秀的开源大模型都有哪些?应该如何选择?Codestral我们是否可以使用?

在软件工程的垂直领域,现在最活跃的莫过于使用Code LLM助力于程序员编码,并且各大厂都在持续发力,针对编码的大模型的更新更是非常迅速。下面我来盘点一下,针对各种主流的编程语言,哪些开源的大模型支持最好?我们应该如何选择?(最近公众号更新的频率低了,精力都放在测评各种开源Code LLm上了,测评过程中,我使用的是Continue插件连接各Code LLM进行的测评,主要从代码生成和补全两个层面)


Java领域

在Java领域,使用感觉最好的三个开源模型是:

  • CodeQwen1.5-7B

  • CodeFuse-DeepSeek-33b

  • Nxcode-CQ-7B



CodeQwen1.5-7B是来自于阿里自研的Code LLM,而CodeFuse-DeepSeek-33b是阿里的蚂蚁集团基于DeepSeek-Coder-33b,通过多任务微调框架MFTCoder进行微调后的模型。所以严格来说,这两个都是阿里的Code LLM。而Nxcode-CQ-7B则是ORPO这家芬兰人工智能公司,基于上面所说的CodeQwen1.5-7B微调后的模型。


上面这三个模型,在humanval 和 humaneval plus的评分,均超过了GPT-4-Turbo。


大家可能都发现了,上面这三个模型都与阿里有关,事实上阿里在编码大模型领域一直在世界上都处于领先地位,并且蚂蚁集团的CodeFuse团队更是一支致力于简化和优化软件开发生命周期中的各个环节的团队,非常了不起。


但是,在Java领域,大模型的表现,远远不如Python领域和JS领域。


Python领域

在Python领域,使用感觉最好的三个开源模型是:

  • Nxcode-CQ-7B

  • CodeQwen1.5-7B

  • DeepSeek-Coder-7B



Code大模型在Python领域的表现,要远好于Java领域,并且好用的开源大模型,我们又看到了Nxcode-CQ-7B和CodeQwen1.5-7B。另一个模型则是大名鼎鼎的DeepSeek-Coder-7B(个人也测评过其33B版本,但是差距很小,所以这里选择了7B版本)。


这里要重点介绍下DeepSeek(深度求索)了,虽然于2023年刚成立(背后的主要支持者是幻方量化),是一家专注于研究世界领先的通用人工智能底层模型与技术的公司,其没有阿里那种大的背景,但是编码大模型领域,真可谓在圈里混的风生水起,一直走在AI技术前沿,很了不起的一个初创企业。


JS领域

在JS领域(主要试了Vue & React + TS),使用感觉最好的三个开源模型是:

  • Nxcode-CQ-7B

  • CodeQwen1.5-7B

  • OpenCodeInterpreter-DS-33B



Code大模型在JS领域的表现没有Python那么优秀,但还是要远好于Java领域,并且好用的开源大模型,你没看错,我们又又看到了Nxcode-CQ-7B和CodeQwen1.5-7B这两个大模型。但这次另一个模型则换成了的OpenCodeInterpreter-DS-33B(个人使用的感觉和CodeFuse-DeepSeek-33b模型差不多),它是基于StarCoder2微调后的版本,来自于LoneStriker公司。


C语言领域

因为个人不是搞C语言的,所以没有进行评测,结合各种专业机构的评测结果,排行最高的三个开源模型是:

  • Nxcode-CQ-7B

  • CodeQwen1.5-7B

  • CodeFuse-DeepSeek-33b



没啥多说的,又又又看到了上面提到过那些熟悉的大模型。只能说,我们国家在这个领域,实在太强了,包括经常被用于微调的DeepSeek-Coder大模型,也是我们国家的。


----------------


从上面的各语言评测结果,相信大家也看出来了,无论是什么开发语言领域,好用的开源编码大模型,无非就是下面这几个,并且在一些机构的专业测评上,都要高于GPT-4。


  • CodeQwen1.5-7B

  • CodeFuse-DeepSeek-33b

  • Nxcode-CQ-7B

  • DeepSeek-Coder-7B

并且这些大模型,在Continue插件的使用中,均支持代码补全的功能,但是相比之下,CodeFuse-DeepSeek-33b和DeepSeek-Coder-7B的表现要好很多。


--------------


最后再来说一个其他的大模型,因为这个大模型比较特殊,没有放在上面一起说,那就是来自于法国AI独角兽MistralAI推出首个编码大模型Codestral。为什么说他特殊呢,因为它并不是完全开源,可用于研究和测试,禁止商用


Codestral



支持80多种编程语言,参数规模为22B。并且Codestral的上下文长度为32k,而CodeLlama-70B为4k,DeepSeek-Coder-33B为16k。在代码生成评估基准 RepoBench上,Codestral的表现优于其他模型,甚至高于GPT-4o,同样也支持代码补全功能。其对编程语言的支持性上,主流的编程语言都很出色,和上面提到的四个模型都差不多,但是推理响应速度确实要快一些。


这么出色的模型,我们到底是否可以用呢?我个人认为是可以使用的,只要不进行二次包装或微调,然后用于商业销售就可以。例如在公司内部搭建一个服务器,部署后,只是进行私有化使用,用于提升公司内编码效率是没有问题的。


还有一点需要说明一下,Codestral对中文的支持没有上面的四个模型好,因为毕竟上面的四个大模型都是国产的背景,但是Codestral是法国AI独角兽Mistral公司的,对英语的支持非常好,虽然中文也支持,从我使用的体验来看,不如那四个大模型。


最后再给大家列一下,这几个大模型的Ollama支持情况:


  • CodeQwen1.5-7B(支持Ollama)

  • CodeFuse-DeepSeek-33b

  • Nxcode-CQ-7B

  • DeepSeek-Coder-7B(支持Ollama)

  • Codestral(支持Ollama)


上面不支持Ollama的那两个CodeFuse-DeepSeek-33b 和 Nxcode-CQ-7B 模型,可以去HuggingFace上下载使用。


所以,大家不要只知道Code-Llama,只知道Meta的Llama大模型好,其实并不是这样,或许是因为他们的知名度最高。其实各领域还有更多优秀的大模型,而今天主要的介绍的是Code LLM这个编码垂直领域,后续会带来更多领域的开源大模型测评。

(正文完)

更多精彩内容,欢迎扫码加入免费知识星球
极客e家

共同打造极客文化

请使用浏览器的分享功能分享到微信等