写点什么

都白学了!Mistral 的首个“开放”编程模型,精通 Python、C 等 80+ 语言,用 220 亿参数赢了 GPT-4

  • 2024-05-30
    北京
  • 本文字数:3301 字

    阅读完需:约 11 分钟

大小:1.49M时长:08:40
都白学了!Mistral 的首个“开放”编程模型,精通Python、C等 80+ 语言,用220 亿参数赢了 GPT-4

整理 | 华卫

 

5 月 29 日,由微软支持、估值 60 亿美元的法国 AI 初创公司 Mistral 发布了其有史以来的第一个用于编码的“开放式”生成式 AI 模型,称为 Codestral。

 

与其他代码生成模型一样,Codestral 旨在通过共享指令和完成 API 端点,帮助开发人员编写代码并与之交互。由于精通代码和英语,它还可用于为软件开发人员设计高级人工智能应用程序。值得一提的是, Codestral 的参数要求很高,还受到一些许可证方面的使用场景限制。

 

虽然该模型刚刚推出,尚未进行公开测试,但 Mistral 声称,Codestral 在大多数编程语言上已经优于现有的以代码为中心的模型,包括 CodeLlama 70B、Deepseek Coder 33B 和 Llama 3 70B。此外,Codestral 在 Kotlin 语言的表现上似乎还超过了 GPT-4-Turbo 和 GPT-3.5-Turbo。

 

精通 80+ 编程语言

多个基准测试中名列前茅

 

首先, Codestral 具备广泛的语言基础,可以在各种编码环境和项目中为开发人员提供帮助。据悉,Codestral 在 80 多种编程语言的不同数据集上进行了训练,其中包括 Python、Java、C、C++、JavaScript 和 Bash 等流行语言。在 Swift 和 Fortran 等更特殊的语言上,Codestral 也表现出色。

 

而且,Codestral 可以完成编码函数、编写测试和“填写”部分代码,以及用英语回答有关代码库的问题,可为开发人员节省时间和精力。与 Codestral 的互动,将有助于提高开发人员的编码水平,减少错误和 bug 的风险。

 

性能方面,相比之前其他用于编码的模型,Codestral 作为 22B 的模型,在代码生成的性能/延迟空间方面树立了新的标准。Mistral 介绍,Codestral 拥有 32k 的较大上下文窗口(竞争对手为 4k、8k 或 16k),在代码生成的远程评估 RepoBench 中优于所有其他模型。

 

同时,Mistral 将 Codestral 与硬件要求更高的现有特定代码模型进行了比较。针对 Python,其使用了四个基准测试:通过 HumanEval pass@1、MBPP sanitised pass@1 来评估 Codestral 的 Python 代码生成能力;CruxEval 来评估 Python 输出预测能力;RepoBench EM 来评估 Codestral 的远程存储库级代码完成能力。

 


在远程存储库级 Python 代码的完成情况上,Codestral 以 34% 的准确率优于所有三个模型。同样,在评估 Python 代码生成的 HumanEval 和测试 Python 输出预测的 CruxEval 上,该模型分别以 81.1% 和 51.3% 的分数击败了竞争对手。它甚至优于 HumanEval 上用于 Bash、Java 和 PHP 的模型。

 

为评估在 SQL 方面的性能,Mistral 使用了 Spider 基准,Codestral 以 63.5% 的得分位居第二。除了 Python 之外,Mistral 还评估了 Codestral 在六种不同语言的 HumanEval pass@1 中的表现: C++、bash、Java、PHP、Typescript 和 C#,并计算了这些评估的平均值。值得注意的是,该模型在 HumanEval 的 C++,C 和 Typescript 上的表现不是最好的,但所有测试的平均得分最高,为 61.5%,仅次于 Llama 3 70B 的 61.2%。

 


此外,Mistral 使用 Python、JavaScript 和 Java 中的 HumanEval pass@1 评估了 Codestral 的中间填充性能,并将其与 DeepSeek Coder 33B 进行了比较,后者的中间填充能力可立即使用,而 Codestral 的得分比它更高。

 


在开发者社区的反馈中,JetBrains 研究员 Mikhail Evtikhiev 还表示,“我们使用 Codestral 对 Kotlin-HumanEval 基准进行了测试,结果令人印象深刻。例如,在 T=0.2 的通过率方面,Codestral 获得了 73.75 分,超过了 GPT-4-Turbo 的 72.05 分和 GPT-3.5-Turbo 的 54.66 分。”

 

220 亿个参数

并不完全对外开放


根据 Mistral 的官方介绍,Codestral 是一个 22B 的开放式模型,采用 Mistral AI 新推出的非生产许可证 (MNPL),允许开发人员将其技术用于研究和测试目的,在 HuggingFace 上可以下载。该公司通过两个 API 端点提供该模型:codestral.mistral.ai 和 api.mistral.ai。

 

前者专为希望在其 IDE 中使用 Codestral 的 Instruct 或 Fill-In-the-Middle 路由的用户而设计,它带有一个在个人级别管理的 API 密钥,没有通常的组织速率限制,并且可以在八周的测试期间免费使用。后者则是更广泛的研究、批量查询或第三方应用程序开发的常用端点,查询按令牌计费。

 

但该模型是否真的“完全开放”,还有待商榷。这家初创公司的非生产许可证禁止将 Codestral 及其产出用于任何商业活动,虽然有 “开发 ”的例外,但也有注意事项: 许可证明确禁止 “员工在公司业务活动的背景下进行任何内部使用”。

 

原因可能是 Codestral 部分训练内容受版权保护,Mistral 在官方博文中没有证实或否认这一点,但这并不奇怪;有证据表明,这家初创公司以前的训练数据集包含受版权保护的数据。

 

今年 3 月,由前 Meta 研究人员创立的 AI 模型评估公司 Patronus AI 发布了一项研究,展示了 AI 模型制作受版权保护内容的频率,测试的四个模型是 OpenAI 的 GPT-4、Anthropic 的 Claude 2、Meta 的 Llama 2 和 Mistral AI 的 Mixtral。当时,Patronus AI 的联合创始人兼首席技术官 Rebecca Qian 表示,“我们几乎在评估的所有模型中都发现了受版权保护的内容,无论是开源还是闭源。”

 

不过无论如何,Codestral 的这一问题可能也不值得太麻烦地讨论。据介绍,该模型有 220 亿个参数,需要一台强大的 PC 才能运行。(参数从本质上定义了人工智能模型处理问题的能力,比如分析和生成文本)。从参数规模的使用门槛来说, Codestral 对大多数开发人员来说或许并不实用,在性能提升方面也是渐进式的。

 

代码模型的使用争议

 

Codestral 的出现,可能会引发“关于依赖代码生成模型作为编程助手是否明智”的争论。

 

至少在某些编码任务中,开发人员肯定会采用生成式 AI 工具。在 2023 年 6 月的一次 Stack Overflow 民意调查中,44% 的开发人员表示,他们现在在开发过程中使用 AI 工具,26% 的开发人员计划不久后使用。然而,需要注意的是,这些工具有明显的缺陷。

 

今年 1 月,GitClear 收集并分析了 2020 年 1 月至 2023 年 12 月期间编写的 1.53 亿行更改的代码。其发现,生成式 AI 开发工具正在导致更多错误代码被推送到代码库中,且这些助手并没有重构代码,而是提供了一键式重复现有代码的“诱惑”。当时,GitClear 指出,2024 年的问题是:谁来收拾残局?“对于代码的长期可维护性而言,也许没有比复制/粘贴代码更大的祸害了。”

 

2 月,Snyk 的一项新研究警告说,生成式 AI 驱动的编码助手,如 GitHub Copilot 等通常会放大用户代码库中现有的错误和安全问题。“简单地说,当 Copilot 建议代码时,它可能会无意中复制邻居文件中存在的现有安全漏洞和不良做法。这可能导致不安全的编码实践,并为一系列安全漏洞打开大门。”Snyk 的开发者关系和社区主管 Randall Degges 表示,大多数开发人员可能没有意识到 AI 编码助手可以很容易地从用户的代码库和开源项目中复制现有的安全问题。

 

在 2024 计算机-人机交互会议(CHI 2024)上,普渡大学的一项研究显示,OpenAI 的 ChatGPT 对编程问题给出的答案,有 52%包含错误信息,77%的答案比人类答案更冗长,78%与人类答案存在不同程度的不一致。

 

但这些研究结果,或许并不能阻止 Mistral 等公司试图用他们的代码模型来赚钱。

 

现在,Mistral 已经在其 Le Chat 对话式人工智能平台上推出了托管版 Codestral 及其付费 API。Mistral 还表示,将致力于把 Codestral 构建到 LlamaIndex、LangChain、Continue.dev 和 Tabnine 等应用框架和开发环境中。“从我们最初的测试来看,Codestral 是代码生成工作流程的绝佳选择,速度快、具有有利的上下文窗口,且 instruct 版本支持工具使用。”LangChain 首席执行官兼联合创始人 Harrison Chase 在一份声明中表示。

 

参考链接:

https://techcrunch.com/2024/05/29/mistral-releases-its-first-generative-ai-model-for-code/?guccounter=1

https://mistral.ai/news/codestral/

https://venturebeat.com/ai/mistral-announces-codestral-its-first-programming-focused-ai-model/

2024-05-30 15:328155

评论

发布
暂无评论
发现更多内容

50道Java面试常问的基础知识,虽是基础但是避坑之路可得小心谨慎

Java 程序员 后端

双维度第一!百度智能云领衔中国“AI+工业互联网”市场领导者阵营

百度大脑

人工智能 百度

6种新方法帮你提高Java学习能力,mysql教程入门到精通pdf

Java 程序员 后端

最佳实践|Apache Pulsar 在拉卡拉的技术实践

Apache Pulsar

开源 架构 中间件 Apache Pulsar 消息系统 Apache 分布式

Flink企业级优化全面总结(3万字长文,15张图)

大数据老哥

OpenYurt 与 FabEdge 集成验证——云边数据面通信初试

阿里巴巴云原生

阿里云 云原生 边缘计算 openyurt FabEdge

2021秋招必刷题:Redis+Mybatis,java使用教程答案

Java 程序员 后端

2021最新支付宝4面+美团4面+拼多多四面面试总结,狂刷200道数据结构与算法

Java 程序员 后端

AcWing 1532,java教程下载网盘

Java 程序员 后端

2021最新整理美团面经分享:999页Java面试宝典+技术知识点总结(1)

Java 程序员 后端

如何将字符串截取成一个集合

卢卡多多

内容合集 11月日更

7张图带你轻松理解Java 线程安全,java开发架构思想

Java 程序员 后端

2021技能大赛云计算赛项先电2,java基础入门课后答案清华大学出版社

Java 程序员 后端

2021毕业的Java应届生,面试需要掌握哪些技能,才能收割offer

Java 程序员 后端

3分钟快速搞懂Java的桥接方法,Java多态实现原理解析

Java 程序员 后端

30岁,转行学编程靠谱吗?,java银行面试的问题

Java 程序员 后端

谈一谈区块链项目使用的数据库LevelDB

Regan Yue

区块链 leveldb 11月日更

09 K8S之对象类资源配置

穿过生命散发芬芳

k8s 11月日更

97 道大厂 Java 核心面试题出炉,来试试看你会几道题?

Java 程序员 后端

2021版阿里Java亿级并发设计手册:基础+数据库,linux服务器开发需要的技术

Java 程序员 后端

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K

Java 程序员 后端

30天熬夜苦学这本Java后端架构设计精讲,大厂三面架构问题so easy

Java 程序员 后端

2021春招总结,面了阿里,腾讯,做Java程序员真的没有春天吗

Java 程序员 后端

linux之git入门命令

入门小站

Linux

【Java 原理剖析系列】深度分析 Semaphore工作原理分析

洛神灬殇

Java 并发编程 Semaphore 11月日更

阿里P6面试官:Redis如何实现分布式锁?锁过期了怎么办?

Java高级开发

redis Java、

95 后程序员一出校门就拿年薪 32 万?,java入门视频教学

Java 程序员 后端

@RequestMapping详解,隔壁都馋哭了

Java 程序员 后端

2021最新整理美团面经分享:999页Java面试宝典+技术知识点总结

Java 程序员 后端

2021版最新!字节跳动3面+腾讯6面一次过,java高级特性面试题

Java 程序员 后端

5年Java经验字节社招:半月3次面试,成功拿到Offer,大厂Mysql高频面试题

Java 程序员 后端

都白学了!Mistral 的首个“开放”编程模型,精通Python、C等 80+ 语言,用220 亿参数赢了 GPT-4_生成式 AI_华卫_InfoQ精选文章