克雷西 发自 凹非寺
量子位 | 公众号 QbitAI
开源代码大模型的王座,再次易主!
来自素有“欧洲OpenAI”之称的Mistral,用22B参数量表现超越了70B的C++ode Llama。
模型名为Codestral,将代码的英文Code与公司名结合而成。
在80多种编程语言上进行过训练后,Codestral用更少的参数实现了更高的性能,窗口长度也达到了32k,相比之前一众4k、8k的模型大幅增加。
而且已经有人表示,GPT-4o和Claude3-Opus都失败的代码编辑任务,被Codestral成功解决了。
于是有网友直言,Codestral的推出,直接改写了多语言代码模型的游戏规则。
另一方面,还有网友直接@了知名本地大模型框架Ollama,希望能够支持Codestral,结果Ollama这边也迅速响应,在请求发出后1个小时就增加了对Codestral的支持。
那么,Codestral在测试中都取得了哪些成绩呢?
开源编程模型的新王者
Codestral的参数量为22B,支持32k的上下文窗口。
在开发过程中,研究人员使用了80多种编程语言的代码数据对Codestral进行了训练。
其中既包括Python、Java、C++和Bash等这些流行语言,也有像Fortran、COBOL这样的古早语言。
值得一提的是,其中的COBOL诞生于1959年,但至今全球仍有43%的银行系统依赖它,然而另一方面,现在会用的人数却寥寥无几,而且普遍年事已高。
AI工具对COBOL的支持,或许将成为解决COBOL人才极度紧缺问题的一种途径。
说回到Codestral,虽然参数量只有不到三分之一,但测评成绩已经大幅超过了70B的Code Llama。
对于Python语言,研发团队使用了HumanEval(pass@1)和MBPP评估了Codestral的Python代码生成能力,用CruxEval来评估输出预测,以及用RepoBench评估Codestral在远程存储库中的代码补全能力。
结果,Codestral在其中的三项测试中都取得了最佳成绩,并对Llama 3和Code Llama形成了全面超越。
数据库方面,在针对SQL的Spider测试中,Codestral的表现也与通用模型Llama3十分接近。
对于其他一些编程语言,Codestral和通用版Llama3各有胜负,平均成绩则小幅超过了Llama3,但相对于Code Llama的优势是十分明显的。
另外,Codestral还支持FIM(fill-in-the-middle),也就是可以对现有代码进行填充补全。
在Python、JS和Java三种语言当中,Codestral都取得了接近或超过90%的HumanEvalFIM评分,平均成绩91.6%,超过了参数量更大的DeepSeek Coder 33B。
速度方面,使用在线对话版本,只要三秒钟就能构建出一个带有顶部banner和侧边栏的HTML框架。
不仅性能表现优异,形式上,Codestral支持的使用方式也多种多样。
Mistral已经把模型权重上传到了HuggingFace,有条件的可以自行下载部署。
以及LangChain、LlamaIndex,还有开头提到的Ollama等这些大模型框架,以及Mistral自家的开发者平台La Plateforme当中都已经支持使用Codestral。
专属API也正在赶来的路上,正在进行为期8周的测试,期间开发者可以免费使用。
如果还是不会部署的话,也可以到Mistral的在线对话平台Le Chat当中,直接使用网页进行对话。
当然,开发者更关心的,可能还是能不能集成到IDE中使用。
对此,官方暂未推出原生的IDE支持,不过已经有Continue.dev、Tabnine等第三方插件支持了Codestral,可以通过这些插件在VSCode和JetBrains系列IDE中使用。
One More Thing
与Codestral一同官宣的,还有Mistral全新的“非生产”(Non-Production)许可协议,简称MNPL。
本次发布的CodeStral使用的许可协议也正是MNPL,按照规定仅可用于研究目的,不能进行商用。
并且,这份协议对“非商用”的界定也十分严格,即使仅将其用于公司内部事务也不被允许。
有开源作者就此吐槽,他们用我代码的时候从未征求我的意见,为什么还反过来要求我遵守他们的规定,这实在是太荒谬了。
而Mistral这边的解释则是,如果放开商业用途,可能无法得到使用者对模型研发的贡献。
官方同时也表示,虽然Codestral不能商用,但并不意味着之后的其他开源模型也是如此,同时明确表示后续会继续发布基于Apache 2.0协议的其他模型。
参考链接:
[1]https://mistral.ai/news/codestral/
[2]https://x.com/GuillaumeLample/status/1795820710750744839
[3]https://www.theverge.com/2024/5/29/24166334/mistral-debuts-a-coding-assistant-called-codestral