推出 SafeCoder

发布于 2023 年 8 月 22 日
在 GitHub 上更新

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

SafeCoder 的目标是为企业解锁软件开发生产力,提供完全合规且自托管的结对编程助手。用市场营销的说法就是:“您自己的本地 GitHub Copilot”。

在我们深入探讨之前,您需要了解以下几点

  • SafeCoder 不是一个模型,而是一个完整的端到端商业解决方案。
  • SafeCoder 以安全和隐私为核心原则构建——在训练或推理过程中,代码绝不会离开 VPC。
  • SafeCoder 专为客户在其自己的基础设施上自托管而设计。
  • SafeCoder 旨在让客户拥有自己的代码大型语言模型。

example

为什么选择 SafeCoder?

基于 LLM 构建的代码助手解决方案,例如 GitHub Copilot,正在大幅提升生产力。对于企业来说,根据公司代码库调整 Code LLM,创建专有的 Code LLM,可以提高代码补全的可靠性和相关性,从而进一步提升生产力。例如,Google 内部的 LLM 代码助手报告称,通过在内部代码库上进行训练,代码补全的接受率为 25-34%

然而,依赖闭源 Code LLM 创建内部代码助手会使公司面临合规和安全问题。首先在训练过程中,因为在内部代码库上微调闭源 Code LLM 需要将此代码库暴露给第三方。其次在推理过程中,因为微调后的 Code LLM 很可能在推理过程中“泄露”其训练数据集中的代码。为了满足合规要求,企业需要将微调后的 Code LLM 部署在自己的基础设施中——而这对于闭源 LLM 是不可能的。

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

从 StarCoder 到 SafeCoder

SafeCoder 解决方案的核心是 StarCoder 系列代码大型语言模型,该模型由 Hugging Face、ServiceNow 和开源社区合作的 BigCode 项目创建。

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

  • 最先进的代码补全结果——请参阅论文多语言代码评估排行榜中的基准测试
  • 专为推理性能设计:一个 15B 参数模型,具有代码优化、用于减少内存占用的多查询注意力机制,以及可扩展到 8,192 令牌上下文的 Flash Attention。
  • The Stack上进行训练,这是一个道德采购的开源代码数据集,仅包含商业许可的代码,并从一开始就提供了开发者选择退出机制,通过密集 PII 移除和去重工作进行了优化。

注:虽然 StarCoder 是 SafeCoder 初始版本的灵感和动力模型,但基于开源模型构建 LLM 解决方案的一个重要优势是它可以适应最新和最优秀的开源模型。未来,SafeCoder 可能会提供其他类似的商业许可开源模型,这些模型基于道德采购和透明的数据集构建,作为可用于微调的基础 LLM。

隐私和安全作为核心原则

对于任何公司而言,内部代码库是其最重要和最有价值的知识产权之一。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 的前辈和灵感来源,它在欧盟人工智能法案草案广泛认可之前,就在工作组中解决了这些领域的问题,因此在斯坦福 CRFM 的一项研究中,被评为基础模型提供商中最合规的

BigCode 在这项工作的基础上,为代码领域实现了新颖的技术,并以合规性为核心原则构建了 The Stack,例如商业许可过滤、同意机制(开发者可以轻松查找自己的代码是否存在并请求退出数据集),以及检查源数据的广泛文档和工具,以及数据集改进(例如去重PII 移除)。

所有这些努力都转化为 StarCoder 模型用户和 SafeCoder 客户的法律风险最小化。对于 SafeCoder 用户而言,这些努力转化为合规功能:当软件开发人员获得代码补全时,这些建议会与 The Stack 进行检查,因此用户可以知道建议的代码是否与源数据集中的现有代码匹配,以及许可证是什么。客户可以指定首选的许可证,并将这些偏好提供给其用户。

它是如何工作的?

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

训练您自己的 SafeCoder 模型

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

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

部署 SafeCoder

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

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

使用 SafeCoder

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

我如何获得 SafeCoder?

今天,我们与 VMware 合作在 VMware Explore 大会上发布 SafeCoder,并向 VMware 企业客户提供 SafeCoder。与 VMware 合作有助于确保 SafeCoder 在客户的 VMware 云基础设施上成功部署——无论客户偏好哪种云、本地或混合基础设施场景。除了使用 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 感兴趣,请联系我们——我们的团队将与您联系,讨论您的需求!

社区

注册登录以评论