開放科學協作組織BigCode選在星戰日,發布論文〈StarCoder : May the source be with you!〉,並釋出150億參數的大型語言模型StarCoderBase,以及進一步為Python調校的StarCoder模型。

兩個模型皆使用大量GitHub上的授權程式碼進行訓練,是目前所有開放程式碼生成模型中效能最佳的模型,甚至已經超過GitHub Copilot初期版本所使用的OpenAI code-cushman-001模型。

ServiceNow研究院與Hugging Face所合作成立的BigCode,是一個開放科學協作組織,該組織目標是負責任地開發程式碼生成大型語言模型。在2022年底,BigCode先釋出了一個僅有11億參數的高效能程式語言模型SantaCoder,可生成和填充Python、Java與JavaScript程式碼。SantaCoder模型雖小,但效能已經比起擁有67億參數的InCoder,以及27億參數的模型CodeGen-multi還要好。

StarCoderBase是更大型的程式碼生成模型,開發團隊使用大量的程式碼訓練,涵蓋80多種程式語言、Git提交、GitHub問題和Jupyter筆記本,模型總共從1兆輸入的文字單位(Token)中學習。開發團隊另外用350億個Python Token微調,生成StarCoder模型。

StarCoder模型的優點之一,是可以處理比其他大型語言模型更多的輸入,可以接受高達8,000個Token,而這將能支援更多樣的應用,像是經過一系列的對話指示,便可使StarCoder成為技術助理。而StarCoder也能勝任一般程式碼生成模型所能達成的任務,像是自動完成程式碼,遵循指令修改程式碼,以及用自然語言解釋程式碼片段等。

開發團隊將StarCoder與類似模型,以Python基準測試HumanEval進行測試,了解StarCoder與其他模型在能力上差異。實驗發現,雖然無論是StarCoderBase還是StarCoder,模型規模都較PaLM、LaMDA和LLaMA小得多,但是表現卻更好,並且也能比Salesforce CodeGen-16B-Mono和OpenAI code-cushman-001模型生成更好的結果。

由於StarCoder是一個多語言模型,因此開發團隊也使用MultiPL-E基準測試進行比較,在多語言上,StarCoder表現比OpenAI code-cushman-001模型更好,並在資料科學DS-1000基準測試上,擊敗其他開放存取模型。

熱門新聞

Advertisement