公司指南

ServiceNow 和 StarCoder

StarCoder 是一個開放的大型程式語言模型,由 ServiceNow Research 和 Hugging Face 透過 BigCode 專案建構。

閱讀時間約2分鐘最後更新

概述

It matters because it brought a permissively licensed, transparently trained coding assistant to a field dominated by closed models.

深入探討

StarCoder 是由 ServiceNow Research 和 Hugging Face 共同領導的 BigCode 於 2023 年 5 月發布的一系列程式碼產生模型。旗艦產品 StarCoderBase 是一個包含 155 億個參數的模型,使用來自 The Stack 的大約 1 兆個令牌進行訓練,Stack 是一個涵蓋 80 多種程式語言的許可原始碼的大型資料集。一個關鍵的顯著特徵是其 8,000 個令牌上下文視窗和中間填充訓練,使其能夠在給定前一行和後一行的情況下完成程式碼,而不僅僅是向前預測。 BigCode 強調數據治理:它發布了訓練數據,為開發人員提供了選擇退出工具,並在負責任的 OpenRAIL-M 許可證下發布了模型。 StarCoder2 於 2024 年發布,覆蓋範圍擴大到 600 多種語言。

技術洞察

StarCoder 使用具有多查詢注意力的僅解碼器變壓器,它在註意力頭之間共享鍵和值投影,以減少記憶體使用並加速長上下文長度的推理。它使用「中間填充」進行訓練,其中文件被隨機分割和重新排序,以便模型學習根據周圍程式碼產生缺失的範圍。這使得它非常適合 IDE 自動完成,其中上下文存在於遊標兩側。

戰略影響

供應商策略

供應商路線圖會影響您的團隊接下來可以建立的功能。

成本與預算

商業條款和部署選項會影響長期成本和風險。

風險與安全

公司激勵措施塑造了產品預設、安全態勢和開放性。

ServiceNow 和 StarCoder 的未來

程式碼模型正在向代理工作流程發展,它們不僅可以自動完成,還可以規劃、運行測試並修復自己的輸出。 StarCoder2 在使用 Software Heritage 建立的更大 Stack v2 資料集上進行了訓練,指向更廣泛的語言覆蓋範圍和更好的資料來源。隨著對程式碼訓練模型的法律審查的加強,以及與企業開發者平台的更緊密整合,預計將繼續強調透明的訓練資料、選擇退出機制和許可清晰度。

現實世界的實施

在 IDE 插件和編輯器擴充功能中支援自動完成和程式碼完成建議

從自然語言註釋產生樣板函數、單元測試和文件字串

在企業程式碼庫內的程式語言之間翻譯或重構程式碼

為無法將專有程式碼傳送到封閉雲端 API 的組織提供自託管編碼助手

風險與防護欄

發佈公告可能會超過實際生產工作流程的穩定性。

API 定價或政策轉變可能會在一夜之間打破假設。

單一供應商依賴性增加了鎖定和遷移成本。

實施路線圖

1

使用您自己的任務和資料集評估提供者。

2

在整合之前查看隱私、安全和法律條款。

3

維護跨模型或供應商的後備計劃。

4

監控發行說明,以便路線圖的變更不會讓團隊感到意外。

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the ServiceNow and StarCoder quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

LAION 和開放資料集

常見問題

What is ServiceNow and StarCoder?

StarCoder 是一個開放的大型程式語言模型,由 ServiceNow Research 和 Hugging Face 透過 BigCode 專案建構。這很重要,因為它將一個經過許可許可、經過透明培訓的編碼助理帶入了一個由封閉模型主導的領域。

哪兩個組織共同領導了產生 StarCoder 的 BigCode 計畫?

BigCode 是由 ServiceNow Research 和 Hugging Face 共同領導的協作項目,旨在建立開放、負責任地開發的程式碼模型。

用於訓練 StarCoder 的許可原始碼資料集的名稱是什麼?

StarCoder 在 The Stack 上進行了培訓,這是一個包含 80 多種語言的許可程式碼的大型語料庫。

什麼訓練技術可以讓 StarCoder 使用遊標兩側的上下文完成程式碼?

中間填充訓練會對文件重新排序,以便模型學習在給定前後上下文的情況下產生缺少的範圍。

旗艦 StarCoderBase 車型大約有多大?

StarCoderBase 擁有大約 155 億個參數,以前沿標準來看,這個參數並不多,但對於程式碼任務的規模而言,參數卻很強大。

StarCoder 使用哪種注意力優化來減少記憶體並加速推理?

StarCoder 使用多查詢注意力,跨頭共享鍵和值投影來減少記憶體並加速長上下文推理。