开源代码大模型的王座,再次易主!
来自素有“欧洲 openai”之称的 mistral,用 22b 参数量表现超越了 70b 的 code 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
发表评论