Press "Enter" to skip to content

SafeCoder与闭源代码助手

几十年来,软件开发人员设计了一些方法论、流程和工具,帮助他们提高代码质量和提高生产力。例如,敏捷开发、测试驱动开发、代码审查和持续集成/持续交付(CI/CD)现在已经成为软件行业的基本要素。

在《How Google Tests Software》(Addison-Wesley,2012)中,谷歌报告称,修复系统测试阶段的bug比在单元测试阶段修复该bug的代价高出1000倍。这给开发人员带来了很大的压力,作为整个链条中的第一个环节,他们需要一开始就编写质量高的代码。

尽管有关生成式人工智能的炒作,但代码生成似乎是帮助开发人员快速交付更好代码的有希望的方式。事实上,早期的研究表明,像GitHub Copilot或Amazon CodeWhisperer这样的托管服务可以帮助开发人员提高生产力。

然而,这些服务依赖于闭源模型,无法根据您的技术文化和流程进行定制。Hugging Face在几周前发布了SafeCoder,以解决这个问题。SafeCoder是一种为企业打造的代码助手解决方案,提供先进的模型、透明度、可定制性、IT灵活性和隐私保护。

在本文中,我们将比较SafeCoder与闭源服务,并强调您可以从我们的解决方案中获得的好处。

先进的模型

SafeCoder目前基于StarCoder模型构建,StarCoder是一个家族的开源模型,设计并在BigCode合作项目中进行了训练。

StarCoder是一个拥有155亿参数的模型,用于在80多种编程语言中进行代码生成。它使用创新的架构概念,如多查询注意力(MQA),以提高吞吐量和降低延迟,这种技术也在Falcon中出现,并针对LLaMa 2模型进行了调整。

StarCoder具有8192个令牌的上下文窗口,这有助于它考虑更多的代码来生成新的代码。它还可以在您的代码中进行填充,而不仅仅是在末尾添加新代码。

最后,与HuggingChat一样,SafeCoder将随着时间推移引入新的先进模型,为您提供无缝的升级路径。

不幸的是,闭源代码助手服务不会共享有关底层模型、其能力和训练数据的信息。

透明度

遵循Chinchilla Scaling Law,SafeCoder是一个在1万亿(1,000亿)代码令牌上进行训练的计算优化模型。这些令牌是从The Stack中提取的,The Stack是一个从开源代码库中提取的2.7TB数据集,使用的是许可证宽松的开源许可证。我们会尽力遵守退出请求,并构建了一个工具,让代码库所有者检查他们的代码是否包含在数据集中。

为了透明起见,我们的研究论文披露了模型架构、训练过程和详细的度量标准。

不幸的是,闭源服务只提供模糊的信息,例如“[该模型在]数十亿行代码上进行了训练”。据我们所知,没有可用的度量标准。

定制化

StarCoder模型经过特别设计,可以进行定制化,我们已经构建了不同版本:

  • StarCoderBase:在The Stack的80多种语言上进行训练的原始模型。
  • StarCoder:在StarCoderBase的基础上进一步训练了Python。
  • StarCoder+:在StarCoderBase的基础上进一步训练了用于编码交流的英语网络数据。

我们还在GitHub上共享了微调代码。

每个公司都有自己偏爱的语言和编码准则,例如如何编写内联文档或单元测试,以及安全性和性能方面的注意事项。使用SafeCoder,我们可以帮助您训练模型,让其了解您软件工程流程的特殊之处。我们的团队将帮助您准备高质量的数据集,并在您的基础设施上对StarCoder进行微调。您的数据将永远不会暴露给任何人。

不幸的是,闭源服务无法进行定制。

IT灵活性

SafeCoder依赖于Docker容器进行微调和部署。它可以很容易地在本地或云端的任何容器管理服务上运行。

此外,SafeCoder包含我们的Optimum硬件加速库。无论您使用CPU、GPU还是AI加速器,Optimum都会自动启动,帮助您在训练和推断方面节省时间和金钱。由于您控制着底层硬件,您还可以根据自己的需求调整基础设施的成本性能比。

很遗憾,闭源服务只能作为托管服务提供。

安全和隐私

安全始终是一个重要的关注点,尤其是涉及源代码时更加重要。知识产权和隐私必须得到保护。

无论您是在本地部署还是在云中运行,SafeCoder都在您的完全管理控制之下。您可以应用和监控您的安全检查,并在您的IT平台上维护强大且一致的合规性。

SafeCoder不会监视您的任何数据。您的提示和建议属于您个人。SafeCoder不会向Hugging Face或其他任何人发送回家并发送遥测数据。除您以外,没有其他人需要知道您如何以及何时使用SafeCoder。SafeCoder甚至不需要互联网连接。您可以(也应该)完全离线运行它。

闭源服务依赖于底层云的安全性。这是否适用于您的合规性立场由您决定。对于企业用户,提示和建议不会被存储(对于个人用户会存储)。然而,我们遗憾地指出,GitHub收集“用户参与数据”,无法选择退出。AWS默认也是这样做的,但可以让您选择退出。

结论

我们对SafeCoder的未来感到非常兴奋,我们的客户也是如此。没有人应该在最先进的代码生成、透明度、定制性、IT灵活性、安全性和隐私方面妥协。我们相信SafeCoder可以提供所有这些,并且我们将继续努力使其更加优秀。

如果您对公司的SafeCoder感兴趣,请与我们联系。我们的团队将尽快与您联系,了解更多关于您的使用情况并讨论要求。

感谢阅读!

Leave a Reply

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