StarCoder2 和 The Stack v2

釋出於 2024 年 2 月 28 日
在 GitHub 上更新
StarCoder2

BigCode 正在釋出 StarCoder2,這是下一代經過透明訓練的開放程式碼大語言模型 (LLM)。所有 StarCoder2 變體都在 The Stack v2 上進行了訓練,這是一個全新的大型高質量程式碼資料集。我們釋出了所有模型、資料集、以及處理和訓練程式碼。請檢視論文以獲取詳細資訊。

什麼是 StarCoder2?

StarCoder2 是一個開放的程式碼大語言模型系列,提供 3 種不同大小,引數分別為 30 億、70 億和 150 億。旗艦級的 StarCoder2-15B 模型在 The Stack v2 資料集上訓練,該資料集包含超過 4 萬億個 token 和 600 多種程式語言。所有模型都使用了分組查詢注意力 (Grouped Query Attention)、16,384 個 token 的上下文視窗以及 4,096 個 token 的滑動視窗注意力,並採用“填充中間”(Fill-in-the-Middle) 目標進行訓練。

StarCoder2 提供三種模型大小:一個由 ServiceNow 訓練的 30 億引數模型,一個由 Hugging Face 訓練的 70 億引數模型,以及一個由 NVIDIA 使用 NVIDIA NeMo 在 NVIDIA 加速基礎設施上訓練的 150 億引數模型。

  • StarCoder2-3B 在 The Stack v2 的 17 種程式語言、超過 3 萬億個 token 上進行了訓練。
  • StarCoder2-7B 在 The Stack v2 的 17 種程式語言、超過 3.5 萬億個 token 上進行了訓練。
  • StarCoder2-15B 在 The Stack v2 的 600 多種程式語言、超過 4 萬億個 token 上進行了訓練。

StarCoder2-15B 在其同等規模的模型中表現最佳,並且在許多評估中與 330 億以上引數的模型相當。StarCoder2-3B 的效能與 StarCoder1-15B 相當。

StarCoder2 Evaluation

什麼是 The Stack v2?

The Stack v2

The Stack v2 是目前最大的適用於大語言模型預訓練的開放程式碼資料集。The Stack v2 比 The Stack v1 更大,採用了改進的語言和許可證檢測程式,以及更好的過濾啟發式方法。此外,訓練資料集按程式碼倉庫進行分組,從而允許模型在訓練時利用程式碼倉庫的上下文資訊。

The Stack v1 The Stack v2
完整版 6.4TB 67.5TB
去重後 2.9TB 32.1TB
訓練資料集 約 2000 億個 token 約 9000 億個 token

該資料集源自 Software Heritage 檔案庫,這是最大的軟體原始碼及其開發歷史的公共檔案庫。Software Heritage 是由 Inria 與聯合國教科文組織 (UNESCO) 合作發起的,是一個旨在收集、儲存和分享所有公開可用軟體原始碼的開放非營利性倡議。我們感謝 Software Heritage 提供了這一寶貴資源的訪問許可權。更多詳情,請訪問 Software Heritage 網站

可以透過 Hugging Face Hub 訪問 The Stack v2。

關於 BigCode

BigCode 是一個由 Hugging Face 和 ServiceNow 聯合領導的開放科學合作專案,致力於負責任地開發用於程式碼的大型語言模型。

連結

模型

  • 論文:關於 StarCoder2 和 The Stack v2 的技術報告。
  • GitHub:關於使用或微調 StarCoder2 的所有資訊。
  • StarCoder2-3B:小尺寸的 StarCoder2 模型。
  • StarCoder2-7B:中等尺寸的 StarCoder2 模型。
  • StarCoder2-15B:大尺寸的 StarCoder2 模型。

資料與治理

其他

您可以在 huggingface.co/bigcode 找到所有資源和連結!

社群

註冊登入 以發表評論

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