Huggingface:介绍 SafeCoder

Admin 2023-8-26 219 8/26

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

SafeCoder 的目标是通过完全兼容的自托管配对程序员,为企业释放软件开发生产力。用市场营销的话说 "您自己的内部 GitHub 副驾驶员"。

在我们深入探讨之前,你需要知道以下几点:

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

为什么选择 SafeCoder?
建立在LLMs基础上的代码助手解决方案,如GitHub Copilot,正在提供强大的生产力提升。对于企业而言,在公司代码库上调整代码LLM以创建专有代码LLM的能力提高了完成的可靠性和相关性,从而在另一个层面上提高了工作效率。例如,谷歌内部 LLM 代码助手报告称,通过在内部代码库中进行培训,完成接受率达到 25-34%。

然而,依靠闭源代码龙8国际娱乐城创建内部代码助手会使公司面临合规性和安全性问题。首先是在培训期间,因为在内部代码库上微调闭源代码 LLM 需要将代码库暴露给第三方。然后是在推理过程中,因为经过微调的代码 LLM 很可能在推理过程中从训练数据集中 "泄露 "代码。为了满足合规性要求,企业需要在自己的基础设施中部署微调代码 LLM,而封闭源代码 LLM 无法做到这一点。

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

从 StarCoder 到 SafeCoder
SafeCoder解决方案的核心是StarCoder系列代码LLM,由BigCode项目创建,该项目由Hugging Face、ServiceNow和开源社区合作完成。

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

最先进的代码完成结果--参见论文中的基准和多语言代码评估排行榜
专为推理性能而设计:15B 参数模型具有代码优化功能,多查询注意(Multi-Query Attention)可减少内存占用,闪存注意(Flash Attention)可扩展至 8,192 个标记上下文。
在堆栈(Stack)上进行训练,堆栈是一个来源符合道德规范的开源代码数据集,仅包含商业许可的授权代码,从一开始就具有开发人员退出机制,并通过密集的 PII 移除和重复数据删除工作加以完善。
注:虽然 StarCoder 是 SafeCoder 初始版本的灵感来源和模型基础,但在开源模型基础上构建 LLM 解决方案的一个重要好处是,它可以适应现有的最新、最先进的开源模型。未来,SafeCoder可能会提供其他类似的商业许可开源模型,这些模型建立在道德来源和透明数据集的基础上,作为可用于微调的基础LLM。

隐私和安全是核心原则
对于任何公司来说,内部代码库都是最重要、最有价值的知识产权。SafeCoder 的核心原则是,在训练或推理过程中,客户的内部代码库绝不会被任何第三方(包括 Hugging Face)访问。

在SafeCoder的初始设置阶段,Hugging Face团队提供容器、脚本和示例,与客户携手合作,选择、提取、准备、复制内部代码库数据,并将其去标识化为训练数据集,以用于Hugging Face提供的训练容器,并根据客户可用的硬件基础设施进行配置。

在SafeCoder的部署阶段,客户在自己的基础设施上部署Hugging Face提供的容器,以暴露其VPC内的内部私有端点。这些容器根据客户可用的确切硬件配置进行配置,包括英伟达™(NVIDIA®)GPU、AMD Instinct GPU、英特尔至强CPU、AWS Inferentia2或Habana Gaudi加速器。

合规是核心原则
由于全球范围内有关机器学习模型和数据集的法规框架仍在制定中,全球企业需要确保其使用的解决方案能够最大限度地降低法律风险。

数据源、数据治理、版权数据管理只是需要考虑的几个最重要的合规领域。BigScience 是 BigCode 的前身,也是 BigCode 的灵感来源,在人工智能欧盟法案草案广泛认可这些领域之前,BigScience 就已在工作组中解决了这些问题,因此在斯坦福 CRFM 研究中被评为最合规的基础模型提供商。

在此基础上,BigCode 通过实施代码领域的新技术和构建以合规性为核心原则的堆栈(The Stack),如商业上允许的许可过滤、同意机制(开发人员可以很容易地发现他们的代码是否存在,并要求退出数据集)、用于检查源数据的大量文件和工具以及数据集改进(如重复数据删除和 PII 删除)。

所有这些努力都为StarCoder模型的用户和SafeCoder的客户最大限度地降低了法律风险。对于SafeCoder用户来说,这些努力转化为合规功能:当软件开发人员获得代码补全建议时,这些建议将与堆栈(The Stack)进行核对,因此用户可以知道建议的代码是否与源数据集中的现有代码相匹配,以及许可证是什么。客户可以指定首选许可证,并将这些首选许可证显示给用户。

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

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

最终结果是一个适应客户代码语言、标准和实践的模型。通过这一过程,SafeCoder公司的客户可以学习创建和更新自己模型的过程并建立一个管道,确保不被供应商锁定,并保持对其人工智能能力的控制。

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

SafeCoder Inference支持各种硬件,为客户提供多种选择: 英伟达安培图形处理器(NVIDIA Ampere GPU)、AMD Instinct GPU、Habana Gaudi2、AWS Inferentia 2、英特尔至强蓝宝石急流 CPU 等。

使用 SafeCoder
一旦SafeCoder部署完毕,其端点在客户VPC内上线,开发人员就可以安装兼容的SafeCoder IDE插件,以便在工作时获得代码建议。目前,SafeCoder支持流行的集成开发环境,包括VSCode、IntelliJ,我们的合作伙伴还将提供更多插件。

如何获得 SafeCoder?
今天,我们在VMware Explore大会上宣布与VMware合作推出SafeCoder,并向VMware企业客户提供SafeCoder。与VMware的合作有助于确保在客户的VMware云计算基础架构上成功部署SafeCoder--无论客户选择云计算、内部部署还是混合基础架构方案。除了使用SafeCoder,VMware还发布了一个包含代码示例的参考架构,以便在VMware基础架构上部署和运行SafeCoder时能够以最快的速度实现价值。VMware的私有人工智能参考架构使企业能够轻松快速地利用流行的开源项目(如ray和kubeflow)来部署与其私有数据集相邻的人工智能服务,同时与Hugging Face合作,确保企业保持灵活性,以利用最新和最先进的开源模型。所有这一切都不会影响总体拥有成本或性能。

"我们与Hugging Face围绕SafeCoder开展的合作完全符合VMware的目标,即让客户能够选择解决方案,同时维护其业务数据的隐私和控制。事实上,我们已经在内部运行 SafeCoder 数月,并取得了很好的效果。VMware人工智能实验室副总裁Chris Wolf表示:"最重要的是,我们与Hugging Face的合作才刚刚开始,我很高兴能将我们的解决方案带给全球数十万客户。点击此处了解有关私有人工智能和 VMware 在这一新兴领域的差异化优势的更多信息。

- THE END -
最后修改:2023年8月26日

非特殊说明,本博所有文章均为博主原创。