概述
StarCoder 是一個開放的大型程式語言模型,由 ServiceNow Research 和 Hugging Face 透過 BigCode 專案建構。這很重要,因為它將一個經過許可許可、經過透明培訓的編碼助理帶入了一個由封閉模型主導的領域。
ServiceNow 和 StarCoder 在策略、模型存取、平台決策和生態系統合作夥伴關係的背景下得到了最好的理解。
深入探討
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
StarCoder 是一個開放的大型程式語言模型,由 ServiceNow Research 和 Hugging Face 透過 BigCode 專案建構。這很重要,因為它將一個經過許可許可、經過透明培訓的編碼助理帶入了一個由封閉模型主導的領域。 ServiceNow 和 StarCoder 在策略、模型存取、平台決策和生態系統合作夥伴關係的背景下得到了最好的理解。為了建立深入的理解,請將 ServiceNow 和 StarCoder 視為一種操作模型,而不是單一功能:定義期望的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。
在實踐中,使用 ServiceNow 和 StarCoder 的強大團隊在提交之前評估供應商策略、路線圖可靠性和鎖定風險。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。
供應商路線圖會影響您的團隊接下來可以建立的功能。同時,發佈公告可能會超過實際生產工作流程的穩定性。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。
戰略影響
供應商路線圖會影響您的團隊接下來可以建立的功能。
供應商路線圖會影響您的團隊接下來可以建立的功能。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
商業條款和部署選項會影響長期成本和風險。
商業條款和部署選項會影響長期成本和風險。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
公司激勵措施塑造了產品預設、安全態勢和開放性。
公司激勵措施塑造了產品預設、安全態勢和開放性。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。
現實世界的實施
在 IDE 插件和編輯器擴充功能中支援自動完成和程式碼完成建議
從自然語言註釋產生樣板函數、單元測試和文件字串
在企業程式碼庫內的程式語言之間翻譯或重構程式碼
為無法將專有程式碼傳送到封閉雲端 API 的組織提供自託管編碼助手
實施模式
ServiceNow 和 StarCoder 的實踐
在 IDE 外掛程式和編輯器擴充功能中支援自動完成和程式碼完成建議。
在 IDE 外掛程式和編輯器擴充功能中支援自動完成和程式碼完成建議 團隊在預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。
ServiceNow 和 StarCoder 的實踐
從自然語言註釋產生樣板函數、單元測試和文件字串。
從自然語言註釋產生樣板函數、單元測試和文件字串當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
ServiceNow 和 StarCoder 的實踐
在企業程式碼庫內的程式語言之間翻譯或重構程式碼。
在企業程式碼庫內的程式語言之間翻譯或重構程式碼 當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並追蹤一段時間內的生產力提升和錯誤成本時,通常會獲得更好的結果。
ServiceNow 和 StarCoder 的實踐
為無法將專有程式碼傳送到封閉雲端 API 的組織提供自託管編碼助理。
作為無法將專有程式碼傳送到封閉雲端 API 的組織的自託管編碼助手,當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。
風險與防護欄
發佈公告可能會超過實際生產工作流程的穩定性。
API 定價或政策轉變可能會在一夜之間打破假設。
單一供應商依賴性增加了鎖定和遷移成本。
實施路線圖
使用您自己的任務和資料集評估提供者。
使用您自己的任務和資料集評估提供者。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
在整合之前查看隱私、安全和法律條款。
在整合之前查看隱私、安全和法律條款。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
維護跨模型或供應商的後備計劃。
維護跨模型或供應商的後備計劃。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。
監控發行說明,以便路線圖的變更不會讓團隊感到意外。
監控發行說明,以便路線圖的變更不會讓團隊感到意外。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。