推出 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 感興趣,請聯絡我們——我們的團隊將與您聯絡,討論您的需求!

社群

註冊登入以評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.