0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Meta發(fā)布一款可以使用文本提示生成代碼的大型語言模型Code Llama

vliwulianw ? 來源:軟件質(zhì)量報道 ? 2023-08-25 09:06 ? 次閱讀

今天,Meta發(fā)布了Code Llama,一款可以使用文本提示生成代碼的大型語言模型(LLM)。Code Llama在代碼任務(wù)上是公開可用的LLM中最先進(jìn)的,它有可能讓當(dāng)前開發(fā)者的工作流程更快更高效,也降低了學(xué)習(xí)編程的門檻。Code Llama有可能被用作一種生產(chǎn)力和教育工具,幫助程序員編寫更健壯、更有文檔的軟件。

Code Llama是一個新的大型語言模型,專門用于生成代碼,它基于Meta的Llama 2基礎(chǔ)模型構(gòu)建。它可以從自然語言提示生成代碼。

Code Llama是免費的,可用于研究和商業(yè)用途。

Code Llama是基于Llama 2構(gòu)建的,有三種模型:

Code Llama,基礎(chǔ)的代碼模型;

Code Llama - Python,專門針對Python;

以及Code Llama - Instruct,它是為了理解自然語言指令而微調(diào)的。

Code Llama在代碼生成基準(zhǔn)測試(如HumanEval和MBPP)上優(yōu)于其他公開可用的模型。它與ChatGPT可媲美。

發(fā)布了三種大小的Code Llama模型 - 7B、13B和34B參數(shù)。34B模型具有最佳性能,但較小的模型更快。

Code Llama支持許多流行的編程語言,并可以處理長達(dá)10萬個標(biāo)記的輸入上下文。

潛在的應(yīng)用包括幫助開發(fā)人員更有效地編寫、調(diào)試和記錄代碼。它還可以幫助降低學(xué)習(xí)編程的門檻。

Code Llama 工作原理

Code Llama是Llama 2的一個代碼專用版本,它是通過在Llama 2的代碼特定數(shù)據(jù)集上進(jìn)一步訓(xùn)練,從同一數(shù)據(jù)集中采樣更多的數(shù)據(jù)進(jìn)行更長時間的訓(xùn)練而創(chuàng)建的。本質(zhì)上,Code Llama具有增強的編碼能力,建立在Llama 2之上。它可以從代碼和自然語言提示(例如,“寫一個輸出斐波那契數(shù)列的函數(shù)?!保┥纱a,以及關(guān)于代碼的自然語言。它也可以用于代碼補全和調(diào)試。它支持許多當(dāng)今最流行的語言,包括Python, C++, Java, PHP, Typescript (Javascript), C#, 和Bash(請參閱下面參考的研究論文以獲得完整的列表)。

33a73fb8-42e1-11ee-a2ef-92fbcf53809c.png

我們將發(fā)布三種尺寸的 Code Llama,分別具有 7B、13B 和 34B 參數(shù)。每個模型都使用 500B 代碼令牌和代碼相關(guān)數(shù)據(jù)進(jìn)行訓(xùn)練。7B 和 13B 基礎(chǔ)模型和指令模型也經(jīng)過了中間填充 (FIM) 功能的訓(xùn)練,允許它們將代碼插入到現(xiàn)有代碼中,這意味著它們可以支持開箱即用的代碼完成等任務(wù)。

這三種模型滿足不同的服務(wù)和延遲要求。例如,7B 模型可以在單個 GPU 上運行。34B 模型返回最佳結(jié)果并提供更好的編碼輔助,但較小的 7B 和 13B 模型速度更快,更適合需要低延遲的任務(wù),例如實時代碼完成。

33cdc5f2-42e1-11ee-a2ef-92fbcf53809c.png

Code Llama 模型提供了具有多達(dá) 100,000 個上下文標(biāo)記的穩(wěn)定生成。所有模型都在 16,000 個標(biāo)記的序列上進(jìn)行訓(xùn)練,并在最多 100,000 個標(biāo)記的輸入上顯示出改進(jìn)。

除了是生成更長程序的先決條件之外,擁有更長的輸入序列還可以為代碼LLM解鎖令人興奮的新用例。例如,用戶可以為模型提供來自其代碼庫的更多上下文,以使各代更相關(guān)。它還有助于在較大的代碼庫中調(diào)試場景,在這種情況下,掌握與具體問題相關(guān)的所有代碼對于開發(fā)人員來說可能是一項挑戰(zhàn)。當(dāng)開發(fā)人員面臨調(diào)試大量代碼時,他們可以將整個代碼長度傳遞到模型中。

33f2a980-42e1-11ee-a2ef-92fbcf53809c.png

此外,我們還進(jìn)一步微調(diào)了 Code Llama 的兩個附加變體:Code Llama - Python 和 Code Llama - Instruct。

Code Llama - Python 是 Code Llama 的語言專用變體,在 Python 代碼的 100B 標(biāo)記上進(jìn)一步微調(diào)。因為 Python 是代碼生成方面最具基準(zhǔn)測試的語言,并且因為 Python 和PyTorch在 AI 社區(qū)中發(fā)揮著重要作用,所以我們相信專門的模型可以提供額外的實用性。

Code Llama - Instruct 是 Code Llama 的指令微調(diào)和對齊變體。指令調(diào)整繼續(xù)訓(xùn)練過程,但目標(biāo)不同。該模型接受“自然語言指令”輸入和預(yù)期輸出。這使得它能夠更好地理解人們對提示的期望。我們建議在使用 Code Llama 進(jìn)行代碼生成時使用 Code Llama - Instruct 變體,因為 Code Llama - Instruct 已經(jīng)過微調(diào),可以用自然語言生成有用且安全的答案。

我們不建議使用 Code Llama 或 Code Llama - Python 執(zhí)行一般自然語言任務(wù),因為這兩個模型都不是為遵循自然語言指令而設(shè)計的。Code Llama 專門用于特定于代碼的任務(wù),不適合作為其他任務(wù)的基礎(chǔ)模型。

使用 Code Llama 模型時,用戶必須遵守我們的許可和可接受的使用政策。

3413098c-42e1-11ee-a2ef-92fbcf53809c.jpg

評估 Code Llama 的性能

為了針對現(xiàn)有解決方案測試 Code Llama 的性能,我們使用了兩個流行的編碼基準(zhǔn):HumanEval和 Mostly Basic Python Programming ( MBPP )。HumanEval 測試模型根據(jù)文檔字符串完成代碼的能力,MBPP 測試模型根據(jù)描述編寫代碼的能力。

我們的基準(zhǔn)測試表明,Code Llama 的表現(xiàn)優(yōu)于開源、特定于代碼的 Llama,并且優(yōu)于 Llama 2。例如,Code Llama 34B 在 HumanEval 上得分為 53.7%,在 MBPP 上得分為 56.2%,與其他狀態(tài)相比最高。最先進(jìn)的開放解決方案,與 ChatGPT 相當(dāng)。

3428108e-42e1-11ee-a2ef-92fbcf53809c.jpg

與所有尖端技術(shù)一樣,Code Llama 也存在風(fēng)險。負(fù)責(zé)任地構(gòu)建人工智能模型至關(guān)重要,我們在發(fā)布 Code Llama 之前采取了許多安全措施。作為我們紅隊工作的一部分,我們對 Code Llama 生成惡意代碼的風(fēng)險進(jìn)行了定量評估。我們創(chuàng)建了試圖以明確意圖征求惡意代碼的提示,并根據(jù) ChatGPT (GPT3.5 Turbo) 對 Code Llama 對這些提示的響應(yīng)進(jìn)行了評分。我們的結(jié)果發(fā)現(xiàn),Code Llama 的回答更安全。

有關(guān)負(fù)責(zé)任人工智能、進(jìn)攻性安全工程、惡意軟件開發(fā)和軟件工程領(lǐng)域?qū)<业募t隊工作的詳細(xì)信息,請參閱研究論文。

發(fā)布Code Llama

程序員已經(jīng)在使用LLM來協(xié)助完成各種任務(wù),從編寫新的軟件到調(diào)試現(xiàn)有的代碼。我們的目標(biāo)是讓開發(fā)者的工作流程更高效,讓他們能夠?qū)W⒂谒麄児ぷ髦凶罹呷诵曰姆矫?,而不是重?fù)性的任務(wù)。

在Meta,我們相信AI模型,特別是編碼用的LLM,從開放的方式中受益最多,無論是在創(chuàng)新還是安全方面。公開可用的、代碼特定的模型可以促進(jìn)開發(fā)新技術(shù),改善人們的生活。通過發(fā)布像Code Llama這樣的代碼模型,整個社區(qū)可以評估它們的能力,發(fā)現(xiàn)問題,并修復(fù)漏洞。

Code Llama 的訓(xùn)練方法可在我們的Github 存儲庫中找到,還提供模型參數(shù)。

生成式人工智能編碼的未來

Code Llama 旨在為所有領(lǐng)域的軟件工程師提供支持,包括研究、工業(yè)、開源項目、非政府組織和企業(yè)。但是,還有更多的用例需要支持,超出了我們的基礎(chǔ)模型和指導(dǎo)模型所能提供的服務(wù)范圍。 我們希望 Code Llama 能夠激勵其他人利用 Llama 2 為研究和商業(yè)產(chǎn)品創(chuàng)建新的創(chuàng)新工具。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    452

    瀏覽量

    26630
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375
  • GPU芯片
    +關(guān)注

    關(guān)注

    1

    文章

    303

    瀏覽量

    5770
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1546

    瀏覽量

    7359
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

    297

原文標(biāo)題:Meta發(fā)布最先進(jìn)的代碼生成模型Code Llama

文章出處:【微信號:軟件質(zhì)量報道,微信公眾號:軟件質(zhì)量報道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Meta發(fā)布Llama 3.2量化版模型

    近日,Meta在開源Llama 3.2的1B與3B模型后,再次為人工智能領(lǐng)域帶來了新進(jìn)展。10月24日,Meta正式推出了這兩個模型的量化版
    的頭像 發(fā)表于 10-29 11:05 ?265次閱讀

    如何使用 Llama 3 進(jìn)行文本生成

    使用LLaMA 3(Large Language Model Family of AI Alignment)進(jìn)行文本生成,可以通過以下幾種方式實現(xiàn),取決于你是否愿意在本地運行模型或者使
    的頭像 發(fā)表于 10-27 14:21 ?197次閱讀

    使用OpenVINO 2024.4在算力魔方上部署Llama-3.2-1B-Instruct模型

    前面我們分享了《三步完成Llama3在算力魔方的本地量化和部署》。2024年9月25日,Meta發(fā)布Llama3.2:個多
    的頭像 發(fā)表于 10-12 09:39 ?383次閱讀
    使用OpenVINO 2024.4在算力魔方上部署<b class='flag-5'>Llama</b>-3.2-1B-Instruct<b class='flag-5'>模型</b>

    亞馬遜云科技上線Meta Llama 3.2模型

    亞馬遜云科技近日宣布,Meta公司的新模型Llama 3.2已在其平臺上正式上線。該模型包括Meta
    的頭像 發(fā)表于 10-11 18:08 ?401次閱讀

    亞馬遜云科技正式上線Meta Llama 3.2模型

    亞馬遜云科技宣布,Meta的新模型Llama 3.2,包括其首多模態(tài)模型,現(xiàn)已在Amazo
    的頭像 發(fā)表于 10-11 09:20 ?428次閱讀

    Meta發(fā)布全新開源大模型Llama 3.1

    科技巨頭Meta近期震撼發(fā)布了其最新的開源人工智能(AI)模型——Llama 3.1,這舉措標(biāo)志著Me
    的頭像 發(fā)表于 07-24 18:25 ?1373次閱讀

    Meta發(fā)布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺上正式宣布推出了一款革命性的LLM編譯器,這模型家族基于Meta Co
    的頭像 發(fā)表于 06-29 17:54 ?1430次閱讀

    了解大型語言模型 (LLM) 領(lǐng)域中的25個關(guān)鍵術(shù)語

    1.LLM(大語言模型大型語言模型(LLMs)是先進(jìn)的人工智能系統(tǒng),經(jīng)過大量文本數(shù)據(jù)集的訓(xùn)練,
    的頭像 發(fā)表于 05-10 08:27 ?1205次閱讀
    了解<b class='flag-5'>大型</b><b class='flag-5'>語言</b><b class='flag-5'>模型</b> (LLM) 領(lǐng)域中的25個關(guān)鍵術(shù)語

    Meta Llama 3基礎(chǔ)模型現(xiàn)已在亞馬遜云科技正式可用

    亞馬遜云科技近日宣布,Meta公司最新發(fā)布的兩Llama 3基礎(chǔ)模型——Llama 3 8B和
    的頭像 發(fā)表于 05-09 10:39 ?356次閱讀

    英特爾AI產(chǎn)品助力其運行Meta代大語言模型Meta Llama 3

    英特爾豐富的AI產(chǎn)品——面向數(shù)據(jù)中心的至強處理器,邊緣處理器及AI PC等產(chǎn)品為開發(fā)者提供最新的優(yōu)化,助力其運行Meta代大語言模型Meta
    的頭像 發(fā)表于 04-28 11:16 ?556次閱讀

    LLaMA 2是什么?LLaMA 2背后的研究工作

    Meta 發(fā)布LLaMA 2,是新的 sota 開源大型語言模型 (LLM)。
    的頭像 發(fā)表于 02-21 16:00 ?915次閱讀

    Meta發(fā)布CodeLlama70B開源大模型

    Meta發(fā)布CodeLlama70B開源大模型 Meta發(fā)布了開源大模型CodeLlama70B
    的頭像 發(fā)表于 01-31 10:30 ?1346次閱讀

    Meta發(fā)布開源大模型Code Llama 70B

    近日,Meta宣布推出了一款新的開源大模型Code Llama 70B,這是其“Code
    的頭像 發(fā)表于 01-31 09:24 ?855次閱讀

    Meta推出最新版AI代碼生成模型Code Llama70B

    Meta近日宣布了其最新版本的AI代碼生成模型Code Llama70B,并稱其為“目前最大、最
    的頭像 發(fā)表于 01-30 18:21 ?1355次閱讀

    Meta推出“性能最優(yōu)”代碼生成AI模型Code Llama 70B

    據(jù)悉,Code Llama工具于去年8月份上線,面向公眾開放且完全免費。此次更新的Code Llama 70B不僅能處理更多復(fù)雜查詢,其在HumanEval基準(zhǔn)測試中的準(zhǔn)確率高達(dá)53%
    的頭像 發(fā)表于 01-30 10:36 ?715次閱讀