最强开源编程大模型一夜易主:精通80+语言,仅22B

  克雷西发自凹非寺

  量子位公众号 QbitAI

  开源代码大模型的王座,再次易主!

  来自素有“欧洲 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