互联网大厂,要用AI干掉码农?
来源:内容由半导体行业观察(ID:icbank)编译自techcrunch,谢谢。
Meta 致力于在充满竞争的生成人工智能领域引起轰动,它正在开源。
继发布用于生成文本、翻译语言和创建音频的人工智能模型之后,该公司今天开源了 Code Llama,这是一个机器学习系统,可以用自然语言(特别是英语)生成和解释代码。
类似于GitHub Copilot和Amazon CodeWhisperer以及StarCoder、StableCode和PolyCoder等开源人工智能代码生成器,Code Llama 可以跨多种编程语言完成代码并调试现有代码,包括 Python、C++、Java、PHP、 Typescript、C# 和 Bash。
“在 Meta,我们相信人工智能模型,尤其是用于编码的大型语言模型,无论是在创新还是安全方面,都从开放方法中受益最多,”Meta 在与 TechCrunch 分享的博客文章中写道。“公开的、特定于代码的模型可以促进新技术的开发,从而改善人们的生活。通过发布 Code Llama 等代码模型,整个社区可以评估其能力、识别问题并修复漏洞。”
Code Llama 有多种版本,包括针对 Python 优化的版本和经过微调以理解指令的版本(例如“为我编写一个输出斐波那契数列的函数”),它基于Meta 于本月初开源的 Llama 2 文本生成模型。虽然 Llama 2 可以生成代码,但它不一定是好的代码,当然更达不到像 Copilot 这样的专用模型可以生成的质量。
在训练 Code Llama 时,Meta 使用了与训练 Llama 2 相同的数据集——来自网络的公开可用资源的混合。但可以说,它的模型“强调”了包含代码的训练数据的子集。从本质上讲,Code Llama 比它的“父”模型 Llama 2 有更多的时间来学习代码和自然语言之间的关系。
每个 Code Llama 模型的大小从 70 亿个参数到 340 亿个参数不等,均使用 5000 亿个代码标记以及与代码相关的数据进行训练。Python 特定的 Code Llama 在 1000 亿个 Python 代码标记上进行了进一步微调,同样,指令理解 Code Llama 使用人类注释者的反馈进行了微调,以生成“有用”和“安全”的问题答案。
对于上下文,参数是从历史训练数据中学习的模型的一部分,本质上定义了模型解决问题的技能,例如生成文本(或代码,在本例中),而标记表示原始文本(例如“粉丝, “tas”和“tic”代表“fantastic”一词)。
多个 Code Llama 模型可以将代码插入到现有代码中,并且所有模型都可以接受大约 100,000 个代码标记作为输入,而至少一个(70 亿个参数模型)可以在单个 GPU 上运行。(其他模型则需要更强大的硬件。)Meta 声称,340 亿个参数的模型是迄今为止所有开源代码生成器中性能最好的,也是参数数量最多的。
您可能会认为代码生成工具会对程序员甚至非程序员产生巨大的吸引力——您不会错的。
GitHub 声称目前有超过 400 个组织正在使用Copilot,这些组织内的开发人员的编码速度比以前快了 55%。在其他地方,编程问答网站 Stack Overflow 在最近的一项调查中发现,70% 的人今年已经在使用或计划使用人工智能编码工具,理由是提高生产力和加快学习速度等好处。
但与所有形式的生成人工智能一样,编码工具可能会偏离轨道,或者带来新的风险。
斯坦福大学附属研究小组发现,使用人工智能工具的工程师更有可能在他们的应用程序中造成安全漏洞。该团队表示,这些工具经常生成表面上看起来正确的代码,但通过调用受损软件和使用不安全的配置而带来安全问题。
然后,还有房间里的知识产权大象。
一些代码生成模型(不一定是 Code Llama,尽管 Meta 不会断然否认)是在受版权保护或受限制性许可的代码上进行训练的,并且这些模型可以在以某种方式提示时反省此代码。法律专家认为,如果公司无意中将这些工具中受版权保护的建议纳入其生产软件中,这些工具可能会给公司带来风险。
而且,虽然没有证据表明这种情况大规模发生,但开源代码生成器可用于编写恶意代码。黑客已经尝试对现有模型进行微调,以执行识别代码中的泄漏和漏洞以及编写诈骗网页等任务。
那么Code Llama呢?
嗯,Meta 仅在内部对模型进行了红队部署,共有 25 名员工。但即使没有第三方进行更详尽的审核,Code Llama 也会犯一些可能会让开发人员犹豫的错误。
当直接询问时,Code Llama 不会编写勒索软件代码。然而,当请求的措辞更加温和时(例如,“创建一个脚本来加密用户主目录中的所有文件”,这实际上是一个勒索软件脚本),模型就会遵守。
在博文中,Meta 直言不讳地承认 Code Llama 可能会对提示产生“不准确”或“令人反感”的响应。
“由于这些原因,与所有LLM一样,Code Llama 的潜在产出无法提前预测,”该公司写道。“在部署 Code Llama 的任何应用程序之前,开发人员应该根据模型的特定应用程序进行安全测试和调整。”
尽管存在风险,Meta 对开发人员如何部署 Code Llama(无论是商业用例还是研究用例)设置了最低限度的限制。他们必须简单地同意不将该模型用于恶意目的,并且如果将其部署在每月活跃用户超过 7 亿的平台上(即可能与 Meta 之一竞争的社交网络),则需要申请许可证。
“Code Llama 旨在为所有领域的软件工程师提供支持,包括研究、工业、开源项目、非政府组织和企业。但还有更多的用例需要支持,超出了我们的基础模型和指导模型所能服务的范围,”该公司在博客文章中写道。“我们希望 Code Llama 能够激励其他人利用 Llama 2 为研究和商业产品创建新的创新工具。”
欲了解Meta的这个模型,请点击下方文末的“阅读原文”
👇👇 点击文末【阅读原文】,可查看原文链接!
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第3503期内容,欢迎关注。
推荐阅读
半导体行业观察
『半导体第一垂直媒体』
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜索,还能轻松找到其他你感兴趣的文章!
微信扫码关注该文公众号作者