随着新的 StarCoder 大型语言模型 (LLM) 的推出,如今用于代码生成的生成式 AI 领域变得更加拥挤。
StarCoder 是BigCode 项目的一部分,后者是ServiceNow和Hugging Face的共同努力。BigCode 最初于 2022 年 9 月宣布,旨在围绕 AI 代码生成工具构建一个开放社区。StarCoder LLM 是一个 150 亿参数的模型,该模型已在获得许可并在 GitHub 上提供的源代码上进行了训练。
该模型已经过 80 多种编程语言的训练,尽管它在广泛用于数据科学和机器学习 (ML) 的流行 Python 编程语言方面具有特殊优势。
市场升温
构建开放的生成式 AI 代码生成工具的努力为 OpenAI 的 Codex 带来了新的竞争,它为 GitHub联合试点服务提供支持,以及其他供应商的努力,包括亚马逊的 CodeWhisper工具。OpenAI 和 Amazon 工具都基于专有代码,而 StarCoder 是根据开放责任人工智能许可证 (OpenRAIL) 许可证提供的。
“那里有强大的代码模型,但它们都是闭源的,没有人确切知道如何训练它们,”Hugging Face 的 ML 工程师和 BigCode 的联合负责人 Leandro von Werra 告诉 VentureBeat。
Von Werra 补充说,BigCode 和 StarCoder 背后的想法是建立强大的开放式代码生成模型。虽然这项工作现在由 Hugging Face and Service 牵头,但他强调说,社区中约有 600 人的活跃社区正在为项目的成功做出贡献。
BigCode 是 BigScience 的精神继承者
BigCode 的努力并不是 HuggingFace 第一次帮助建立一个开放人工智能开发的社区。Von Werra 将 BigCode 称为 BigScience 工作的“精神继承者”,该工作于 2021 年开始。2022 年,BigScience 大型开放科学开放访问多语言语言模型 (BLOOM) 发布,提供了一种多语言文本生成模型,旨在成为 OpenAI 的 GPT-3 的开放替代品。
BigCode 在发布 StarCoder 的过程中经历了一些迭代步骤。2022 年 10 月,该项目发布了“The Stack”,这是一个从 GitHub 收集的许可代码集合,作为 LLM 代码生成的训练数据集。2022 年 12 月,BigCode 与 SantaCoder 一起发布了它的第一个“礼物”,这是 StarCoder 的前身模型,在较小的数据子集上进行了训练,并且仅限于 Python、Java 和 JavaScript 编程语言。
通过 StarCoder,该项目提供了一个功能齐全的代码生成工具,涵盖 80 种语言。Harm de Vries 是 ServiceNow Research 的 LLM 实验室负责人和 BigCode 的联合负责人,他向 VentureBeat 解释说 StarCoder 可以用于各种场景。例如,他演示了如何将 StarCoder 用作编码助手,指导如何修改现有代码或创建新代码。
StarCoder LLM可以作为文本到代码生成工具单独运行,也可以通过插件集成以与流行的开发工具(包括 Microsoft VS Code)一起使用。Von Werra 指出,StarCoder 还可以理解和更改代码。例如,用户可以使用诸如“我想修复此功能中的错误”之类的文本提示,而 LLM 将执行此操作。
为什么可解释的 AI 需要开放许可证
总体而言,StarCoder 和 BigCode 工作的一个关键方面是这些技术都在开放许可下可用。当今部署 AI 的组织面临的一个主要挑战是需要可解释的 AI,这样可以理解模型如何以及为何做出某些选择和决策。一个相关的挑战是需要确保以负责任的方式使用 AI,并且不会通过有毒内容或恶意软件对人们造成伤害。为了帮助解决这些棘手的问题,BigCode 使用了 OpenRail 许可证,特别是对于 StarCoder,使用了 Code Open RAIL‑M 许可证。
“我们知道这些模型非常强大,我们希望确保它们用于好的用例,而不是用于会产生不良影响的用例,”De Vries 说。
Code Open RAIL‑M 许可证允许用户查看模型内部的代码,并带有旨在防止代码被滥用的限制——例如使用它来生成勒索软件或社会工程攻击。
“它像开源许可证一样完全开放,”De Vries 说。“它只是附带了一些限制,以确保我们坚持我们负责任的人工智能原则。”
暂无评论内容