迅速逼近 ChatGPT!Meta Llama 最新程式碼產生模型直追 GPT-4

作者 | 發布日期 2023 年 08 月 29 日 8:30 | 分類 AI 人工智慧 , Facebook line share follow us in feedly line share
迅速逼近 ChatGPT!Meta Llama 最新程式碼產生模型直追 GPT-4


發表開源商用大模型 Llama 2 後,Meta 日前又發表程式設計版 Code Llama,彌補程式碼任務表現不佳缺點,拉近與閉源 GPT 模型的差距,測試結果直追 GPT-4。

Code Llama發表前兩天,OpenAI開放微調GPT-3.5功能,允許開發者和企業據自己需求客製模型。身為開源和閉源綜合實力最強的兩大模型,不免有些你追我趕意味,甚至出現一絲火藥味。

程式設計為大語言模型最重要應用,幾乎所有產品和服務都離不開,每次最佳化和改版都有重要意義。此次Code Llama是在Llama 2基礎上,以特定程式資料庫訓練,支援C++、Java、Python、PHP、Typescript(Javascript)、C#和Bash等許多主流語言,且依然開源可商用。

Code Llama對程式設計專家和初學者都非常好用,無論專業程式設計語言還是自然語言描述程式設計需求,Code Llama都能理解,並產生程式碼或相關解釋,大大降低開發門檻和效率。

多版本模型涵蓋更多特定場景

Meta部落格文說明Code Llama分為7B、13B和34B三個參數版,可滿足不同服務和延遲要求。每版模型都使用500B tokens與相關資料訓練。

最小7B參數模型可用單GPU運行,回應速度快,適用低延遲任務。但比起更大模型,程式碼產生或理解當然不夠精準。最大34B模型提供最佳編碼輔助,複雜程式設計表現最好,但需要最多計算資源,延遲也可能更高。中等規模13B參數模型在性能和延遲間找到平衡點。7B和13B模型經過中間填充(fill-in-the-middle,FIM)訓練,理解如何在現成程式碼內加入新程式碼,可補全直接自動程式碼等,無需另外設定或訓練。

Code Llama支援一次性理解並記住最多10萬token上下文,強大的文本處理能力對處理大型程式庫或長篇文章都非常有用。當開發者需處理大量程式碼時,可將整個程式碼片段一次性餵給Code Llama。為了滿足更多特定需求,Meta還針對Python和自然語言指令微調兩個Code Llama變體,分別稱為Code Llama-Python和Code Llama-Instruct。

Python是最受歡迎程式設計語言,多領域廣泛應用,特別數據科學、機器學習等。專門針對Python的模型能更準確產生和理解Python程式碼,提高模型處理相關任務時的性能。

Code Llama-Instruct更注重理解自然語言指令,非常適合不很熟悉程式設計但又有這方面需求的使用者,更容易理解自然語言指令,更適合非專業使用者,除了產生程式碼,也能勝任其他相關自然語言處理任務,如程式碼註釋或產生文件。

透過更多垂直子版,Code Llama模型涵蓋更廣範例和族群,滿足不同場景特定需求,更容易取得競爭優勢。Meta說明,Code Llama更專注程式碼任務,不適合當成聊天或寫文章等日常語言的基礎模型,只是為了幫助人們設計程式或處理程式碼問題而設計。

性能和安全性雙雙領先

Code Llama的性能,多程式碼基準測試都達開源模型最先進程度。Code Llama所有模型在MultiPL-E都優於其他公開模型。34B參數版的HumanEval得分為53.7%,MBPP得分56.2%,與ChatGPT(GPT 3.5)相當,優於其他開放解決方案。

安全性方面,Meta採取許多措施,如研究者要求寫惡意程式,Code Llama是否會聽話產生,並與ChatGPT比較,結果顯示Code Llama更不容易產生有問題或有害程式碼。

Meta詳細介紹Code Llama的論文〈Code Llama: Open Foundation Models for Code〉披露Code Llama開發細節及如何基準測試等,其中出現Unnatural Code Llama模型(上圖),各項評分都非常高,但只是一閃而過並未詳述,或許之後Code Llama還會出現更強版本。

(本文由 品玩 授權轉載;首圖來源:Meta