支持80+编程语言、集成VSCode,HuggingFace代码大模型来了

简介: 支持80+编程语言、集成VSCode,HuggingFace代码大模型来了


编辑:杜伟、马梓文

程序员们又有了一款 AI 代码生成工具。


随着近年来大模型的火热,出现了很多效果惊艳的语言大模型、视觉大模型和多模态大模型。与此同时,大模型范畴还在不断向更多垂直领域拓展,代码就是一个重要方向。


2022 年 9 月,HuggingFace 与 ServiceNow Research 联合发起了一个全新的代码大模型项目 BigCode,旨在围绕 AI 代码生成工具建立一个开放社区并开发大语言模型代码。


昨日 BigCoder 宣布推出 155 亿参数开源代码大模型 StarCoder 和 StarCoderBase,它们具有 8k token 的上下文,在 80 多种编程语言的数据上进行训练。StarCoder 在 HumanEval 基准测试中的一次通过率达到了 40.8%,可以充当技术助手。相关论文的作者有 68 位。



StarCoder 不仅可以用来聊天,还能帮助用户集成最新 VSCode 插件进行编码。你还能检查当前代码是否在预训练数据集中(按下 CTRL+ESC 即可)。


StarCoder 在 JupyterNotebooks 上训练,并且使用推特用户 @JiaLi52524397 提供的 Jupyter 插件,它可以利用以前的代码、markdown 单元格和输出来预测下一个单元格。


英伟达人工智能科学家 Jim Fan 对此表示,「编码的 LLaMA 时刻来了!开源 LLM 社区正以超人的速度前进。」


代码大模型 StarCoder 和 StarCoderBase


整体而言,StarCoder 和 StarCoderBase 是在 GitHub 的许可数据上训练的大型代码语言模型(Code LLMs),数据源包括 80 多种编程语言、Git commits、GitHub issues 和 Jupyter notebooks。


与 LLaMA 类似,项目团队首先使用来自 The Stack(具有检查工具和 opt-out 流程的许可 GitHub 库集合)上的 1 万亿个 token 训练了 StarCoderBase。然后在 350 亿个 Python token 上对 StarCoderBase 进行微调,形成了一个新模型 StarCoder。


下表 1 和 2 分别为 StarCoder 的训练数据。


研究发现,StarCoderBase 在流行编程基准上优于现有开源代码 LLM,并媲美或超越了一些封闭模型,如 OpenAI 最初的 Codex 模型。


StarCoder 模型上下文长度超过 8000 个 token,可以比其他任何开放 LLM 处理更多的输入,从而实现大量有趣的应用。例如,通过向 StarCoder 模型提示一系列的对话,可以使它们充当技术助手。此外 StarCoder 模型还可以用来自动完成代码,通过指令对代码进行修改,并以自然语言解释一个代码片段。


下表 11 为 StarCoder 的模型架构。


基准评估


项目团队全面评估了 StarCoder、几个类似的模型以及各种基准,其中包括流行的 Python 基准 HumanEval(用来测试模型是否可以根据签名和文件串补全函数)。


结果发现,StarCoder 和 StarCoderBase 的表现都超过了一些最大的模型,包括了 PaLM、LaMDA 和 LLaMA。这两个模型的表现也超过了 CodeGen-16B-Mono 和 OpenAI 的 code-cushman-001(12B)模型。


项目团队还发现了模型的一个失败用例即产生代码,这可能是因为这种类型的代码通常是练习的一部分。为了让模型生成实际的解决方案,项目团队选择添加了一个 prompt ,创建了 StarCoder-Prompted 模型,使得 HumanEval 的通过率从 34% 大幅提高到 40% 以上。


StarCoder 的一个有趣的方面是支持多语言。项目团队在 MultiPL-E 上对它进行了评估,并观察到 StarCoder 在许多语言上的表现都有过之而无不及。


另外在一个名为 DS-1000 的数据科学基准上,StarCoder 模型明显击败了绝大多数其他开放模型。



更多技术及评估细节请参阅原论文。


参考链接:https://twitter.com/BigCodeProject/status/1654174941976068119

相关文章
|
3月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
765 109
|
3月前
|
人工智能 自然语言处理 安全
代码静态扫描工具集成与实践
代码静态扫描工具(Static Application Security Testing, SAST)是在不运行代码的情况下,通过分析源代码或二进制代码来发现潜在安全漏洞、代码缺陷和质量问题的工具
477 4
|
3月前
|
机器学习/深度学习 编解码 计算机视觉
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
129 2
|
3月前
|
编解码 算法 自动驾驶
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
432 125
|
4月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
175 0
|
5月前
|
人工智能 运维 Serverless
0 代码,一键部署 Qwen3
依托于阿里云函数计算 FC 算力,Serverless + AI 开发平台 FunctionAI 现已提供模型服务、应用模版两种部署方式辅助您部署 Qwen3 系列模型。完成模型部署后,您即可与模型进行对话体验;或以 API 形式进行调用,接入 AI 应用中,欢迎您立即体验。
|
2月前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
534 24
|
5月前
|
安全 API 数据安全/隐私保护
低代码革命:API无代码集成如何让企业“3天上线一个生态”?
在数字化转型浪潮中,API成为释放数据价值、提升企业效率的核心。本文详解API架构设计、安全实践与跨平台集成,为CTO提供效率提升指南,涵盖微服务、安全认证、协议选择、低代码集成及未来趋势,助力企业构建敏捷、安全、高效的数字生态。
|
3月前
|
人工智能 IDE 开发工具
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
CodeGPT是一款基于AI的编程辅助插件,支持代码生成、优化、错误分析和单元测试,兼容多种大模型如Gemini 2.0和Qwen2.5 Coder。免费开放,适配PyCharm等IDE,助力开发者提升效率,新手友好,老手提效利器。(238字)
945 1
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
|
3月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
578 12