Nvidia、Hugging Face 和 ServiceNow 已經推出了 StarCoder2,一套先進的開放訪問大型語言模型(LLMs),旨在提升 AI 驅動的程式碼生成能力。這些模型目前提供三種大小,已在超過 600 種程式語言上進行訓練,包括一些相對冷門的語言,使企業能夠精簡開發工作流程中的各種程式碼任務。作為開放 BigCode 項目的組成部分——這是一項由 ServiceNow 和 Hugging Face 共同發起的合作倡議——這些模型倡導負責任地使用 LLMs 進行程式碼生成,並根據開放負責任 AI 授權協議(OpenRAIL)提供免版稅使用。
“StarCoder2 充分展示了開放科學合作與負責任 AI 實踐的力量,”ServiceNow StarCoder2 開發團隊負責人 Harm de Vries 表示。“這一尖端模型提升了開發人員的生產力,讓各種規模的組織都能平等獲取程式碼生成 AI,實現其商業潛力。”
StarCoder2:滿足多樣需求的三款模型
原版 StarCoder LLM 擁有一個 15B 參數模型,訓練使用 80 種程式語言。而 StarCoder2 則推出了三種不同大小的模型——3B、7B 和 15B,這些模型是在 619 種程式語言上進行訓練的。其訓練數據集 The Stack 的大小超過前作的七倍。
值得注意的是,新訓練技術的實施提升了模型理解和生成低資源語言程式碼(如 COBOL)以及數學表達式和程式碼討論的能力。3B 模型利用 ServiceNow 的 Fast LLM 框架,7B 模型則使用 Hugging Face 的 nanotron 框架,兩者都旨在高效生成文本轉程式碼和文本轉工作流程,並降低計算需求。15B 模型則使用 Nvidia NeMo 雲原生框架和 Nvidia TensorRT-LLM 軟體進行優化。
協作創新:ServiceNow、Hugging Face 和 Nvidia
儘管這些模型在不同程式碼場景下的效能尚待觀察,但初步測試顯示,3B 模型的性能可與原始的 15B StarCoder LLM 相媲美。企業團隊可以利用自己的組織數據對這些模型進行定制,應用於程式碼生成、工作流程自動化、程式碼補全、高級總結和代碼片段檢索等多種用途。
廣泛的訓練提升了模型提供準確且考慮上下文的預測能力,從而加快開發進程,讓工程師能專注於更重要的挑戰。Nvidia 應用研究副總裁 Jonathan Cohen指出:“每個軟體生態系統都具有獨特的程式語言,而程式碼 LLM 可以促進各行各業在效率和創新上的重大進步。我們與 ServiceNow 和 Hugging Face 的合作,提供安全、負責任開發的模型,擴大了全球社區對可責任生成 AI 的獲取。”
開始使用 StarCoder2
StarCoder2 系列中的所有模型均根據 Open RAIL-M 許可證提供,無需支付版稅。相關支援程式碼可在 BigCode 項目的 GitHub 倉庫中找到,模型也可從 Hugging Face 下載。此外,15B 模型可通過 Nvidia AI 基金會訪問,開發者可以直接從瀏覽器或透過 API 進行實驗。
儘管 StarCoder 在 AI 驅動的程式碼生成領域取得了重要進展,但它並非獨樹一幟。與此同時,像 OpenAI 的 Codex(支援 GitHub Copilot)、亞馬遜的 CodeWhisper 以及 Replit 和 Codenium 等競爭對手也在探索 LLM 在應用開發中的潛力。