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

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

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

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

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

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

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

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

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

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

Code Llama - Python,專門針對(duì)Python;

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

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

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

Code Llama支持許多流行的編程語(yǔ)言,并可以處理長(zhǎng)達(dá)10萬(wàn)個(gè)標(biāo)記的輸入上下文。

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

Code Llama 工作原理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

評(píng)估 Code Llama 的性能

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

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

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

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

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

發(fā)布Code Llama

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

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

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

生成式人工智能編碼的未來(lái)

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





審核編輯:劉清

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

    關(guān)注

    0

    文章

    454

    瀏覽量

    26723
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

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

    關(guān)注

    1

    文章

    303

    瀏覽量

    5864
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1564

    瀏覽量

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

    關(guān)注

    0

    文章

    296

    瀏覽量

    356

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

    前面我們分享了《三步完成Llama3在算力魔方的本地量化和部署》。2024年9月25日,Meta發(fā)布Llama3.2:個(gè)多
    的頭像 發(fā)表于 10-12 09:39 ?651次閱讀
    使用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已在其平臺(tái)上正式上線。該模型包括Meta
    的頭像 發(fā)表于 10-11 18:08 ?475次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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