Press "Enter" to skip to content

介绍SafeCoder

今天我们很高兴地宣布 SafeCoder – 一款为企业打造的代码助手解决方案。

SafeCoder 的目标是通过一个完全符合规范且自托管的双人编程工具,为企业解锁软件开发生产力。用市场术语来说:“你自己的本地 GitHub Copilot”。

在我们深入探讨之前,这是你需要了解的内容:

  • SafeCoder 不是一个模型,而是一个完整的商业解决方案
  • SafeCoder 以安全和隐私为核心原则构建 – 代码在训练或推断过程中永远不会离开 VPC
  • SafeCoder 设计为客户在自己的基础设施上进行自托管
  • SafeCoder 设计为客户拥有自己的 Code Large Language Model

介绍SafeCoder 四海 第1张

为什么选择 SafeCoder?

基于 LLM(Code Large Language Model)的代码助手解决方案,例如 GitHub Copilot,可以显著提高生产力。对于企业来说,将 Code LLMs 调优到公司代码库上,生成专有的 Code LLMs,提高了代码完成的可靠性和相关性,从而实现了更高层次的生产力提升。例如,谷歌内部的 LLM 代码助手报告了在内部代码库上训练的完成接受率为 25-34%。

然而,依赖闭源的 Code LLMs 来创建内部代码助手会暴露企业面临合规和安全问题。首先,在训练过程中,将闭源的 Code LLMs 对内部代码库进行调优需要将该代码库暴露给第三方。然后,在推断过程中,调优后的 Code LLMs 可能会在推断时“泄露”其训练数据集中的代码。为满足合规要求,企业需要在自己的基础设施中部署调优后的 Code LLMs,而闭源的 LLMs 则无法实现这一点。

通过 SafeCoder,Hugging Face 将帮助客户构建自己的 Code LLMs,基于其专有代码库进行调优,使用最先进的开源模型和库,而无需与 Hugging Face 或任何其他第三方共享其代码。通过 SafeCoder,Hugging Face 提供了一个容器化、硬件加速的 Code LLM 推断解决方案,客户可以直接在其安全基础设施中部署,而不需要代码输入和完成离开其安全的 IT 环境。

从 StarCoder 到 SafeCoder

SafeCoder 解决方案的核心是 StarCoder 系列的 Code LLMs,由 BigCode 项目(Hugging Face、ServiceNow 和开源社区的合作)创建。

StarCoder 模型具有非常适合企业自托管解决方案的独特特性:

  • 最先进的代码完成结果 – 请参阅论文和多语言代码评估排行榜中的基准测试
  • 专为推断性能设计:带有代码优化的 150 亿参数模型,使用多查询注意力以减少内存占用,以及 Flash Attention 技术以支持 8,192 个标记的上下文。
  • 在 Stack 上进行训练,这是一个道德规范的、只包含商业许可的开源代码数据集,开发者可以选择不参与,同时通过大量个人身份信息去除和去重工作进行了完善。

注意:虽然 StarCoder 是 SafeCoder 初始版本的灵感和模型基础,但使用开源模型构建 LLM 解决方案的一个重要好处是,它可以适应最新和最好的开源模型。将来,SafeCoder 可能会提供其他基于符合商业规范的开源模型的版本,这些模型基于道德规范的透明数据集,可用于调优。

隐私和安全作为核心原则

对于任何公司来说,内部代码库都是其最重要和最有价值的知识产权之一。SafeCoder 的核心原则之一是在训练或推断过程中,客户的内部代码库永远不会对任何第三方(包括 Hugging Face)可见。

在 SafeCoder 的初始设置阶段,Hugging Face 团队将提供容器、脚本和示例,与客户密切合作,选择、提取、准备、复制、去标识化内部代码库数据,生成训练数据集,并在由 Hugging Face 提供的训练容器中配置到客户可用的硬件基础设施。

在 SafeCoder 的部署阶段,客户在自己的基础设施上部署由 Hugging Face 提供的容器,以在其 VPC 内部公开内部私有端点。这些容器将根据客户可用的确切硬件配置进行配置,包括 NVIDIA GPU、AMD Instinct GPU、Intel Xeon CPU、AWS Inferentia2 或 Habana Gaudi 加速器。

合规作为核心原则

由于全球范围内的机器学习模型和数据集的监管框架仍在编写中,全球性公司需要确保所使用的解决方案将法律风险降至最低。

数据来源、数据治理、版权数据管理只是需要考虑的几个最重要的合规领域。BigScience是BigCode的前辈,也是其灵感来源,在欧盟AI法草案被广泛认可之前,BigScience通过工作组对这些领域进行了处理,并因此在斯坦福CRFM研究中被评为最符合基础模型提供者之一。

BigCode在此基础上进行了扩展,通过在代码领域实施新颖的技术并以合规作为核心原则构建了The Stack,例如商业许可证过滤、同意机制(开发人员可以轻松查找其代码是否存在并请求从数据集中排除),以及广泛的文档和工具来检查源数据和数据集的改进(例如去重和个人身份信息删除)。

所有这些努力都可为StarCoder模型的用户和SafeCoder的客户带来法律风险的最小化。对于SafeCoder用户来说,这些努力转化为合规功能:当软件开发人员获得代码补全建议时,这些建议会与The Stack进行对比,因此用户可以了解建议的代码是否与源数据集中的现有代码匹配,以及许可证情况。客户可以指定首选的许可证,并将这些偏好呈现给他们的用户。

它是如何工作的?

SafeCoder是一个完整的商业解决方案,包括服务、软件和支持。

训练您自己的SafeCoder模型

StarCoder在80多种编程语言上进行了训练,并在多个基准测试中表现出色。为了为SafeCoder的客户提供更好的代码建议,我们从可选的训练阶段开始,Hugging Face团队直接与客户团队合作,指导他们准备和构建训练代码数据集的步骤,并通过微调创建他们自己的代码生成模型,而无需将其代码库暴露给第三方或互联网。

最终结果是一个适应客户代码语言、标准和实践的模型。通过这个过程,SafeCoder的客户学习了这个过程,并建立了一个用于创建和更新自己模型的流水线,确保没有供应商锁定,并保持对他们的AI能力的控制。

部署SafeCoder

在设置阶段,SafeCoder的客户和Hugging Face设计和提供最佳基础设施,以支持所需并发性,以提供出色的开发人员体验。然后,Hugging Face构建了经过硬件加速和优化吞吐量的SafeCoder推理容器,由客户部署在自己的基础设施上。

SafeCoder推理支持各种硬件,为客户提供了广泛的选择:NVIDIA Ampere GPUs、AMD Instinct GPUs、Habana Gaudi2、AWS Inferentia 2、Intel Xeon Sapphire Rapids CPUs等等。

使用SafeCoder

一旦SafeCoder部署并且其端点在客户VPC中运行,开发人员可以安装兼容的SafeCoder IDE插件,在工作时获得代码建议。目前,SafeCoder支持流行的IDE,包括VSCode、IntelliJ,更多的插件将来自我们的合作伙伴。

如何获得SafeCoder?

今天,我们与VMware在VMware Explore大会上宣布合作推出SafeCoder,并向VMware企业客户提供SafeCoder。与VMware合作有助于确保SafeCoder在客户的VMware Cloud基础设施上的部署成功-无论客户首选云环境、本地环境还是混合基础设施。除了使用SafeCoder之外,VMware还发布了参考架构和代码示例,以实现在VMware基础设施上部署和运营SafeCoder的最快价值实现。VMware的私有AI参考架构使组织可以快速利用流行的开源项目,如ray和kubeflow,在其私有数据集旁部署AI服务,同时与Hugging Face合作,确保组织在总拥有成本或性能方面没有取舍。

“我们与Hugging Face在SafeCoder方面的合作完全符合VMware的目标,即在维护隐私和对商业数据的控制的同时,实现客户对解决方案的选择。事实上,我们在内部运行SafeCoder已有数月,并取得了出色的结果。最重要的是,我们与Hugging Face的合作才刚刚开始,我很高兴将我们的解决方案带给我们全球数十万客户,”VMware AI Labs副总裁Chris Wolf表示。在此处了解有关私有AI和VMware在这一新兴领域的差异化的更多信息。


如果您对SafeCoder适用于您的公司感兴趣,请在此处联系我们 – 我们的团队将与您联系,讨论您的需求!

Leave a Reply

Your email address will not be published. Required fields are marked *