精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
LLMs之Code:Code Llama的簡介、安裝、使用方法之詳細攻略
LLMs之Code:Code Llama的簡介、安裝、使用方法之詳細攻略
導讀:2023年08月25日(北京時間),Meta發布了Code Llama,一個可以使用文本提示生成代碼的大型語言模型(LLM)。Code Llama是最先進的公開可用的LLM代碼任務,并有潛力使工作流程更快,更有效的為當前的開發人員和降低進入門檻的人正在學習代碼。Code Llama有潛力作為一種生產力和教育工具來幫助程序員編寫更健壯、文檔更完善的軟件。
Code Llama在Llama 2的基礎上增強了編碼能力。它可以從代碼和自然語言提示(例如,“給我寫一個輸出斐波那契數列的函數。”)中生成代碼和關于代碼的自然語言。它也可以用于代碼完成和調試。它支持許多當今最流行的語言,包括Python、c++、Java、PHP、Typescript (Javascript)、c#和Bash。
>> Code Llama是一個開源的、最先進的LLM,能夠從代碼和自然語言提示中生成代碼和關于代碼的自然語言。它專注于生成代碼和理解自然語言代碼說明,其性能優于當前公開的其他代碼生成LLM,為編程帶來支持,其開源訓練方法有助于社區建立更多創新工具。
>> Code Llama有三個尺寸的版本,參數量分別為7B、13B和34B,并支持多種編程語言。它穩定支持了最高10萬個token的上下文生成。這三個參數版本的Code Llama模型都使用了500B的代碼tokens和代碼相關數據進行訓練。7B和13B版本的模型還經過了FIM(fill-in-the-middle)訓練,可以將代碼插入到現有代碼中,支持開箱即用的代碼補全等任務。不同的服務和延遲要求可以選擇適合的模型版本。例如,7B模型適合在單個GPU上運行,而34B模型提供了更好的編碼輔助和最佳結果,但速度較慢。對于低延遲任務,比如實時代碼補全,較小的7B和13B模型速度更快。
>> Code Llama建立在Llama 2的基礎上,并通過在代碼特定數據集上進行進一步訓練來提升編碼能力。除了基礎模型外,還有針對Python優化的Code Llama - Python和理解自然語言指令優化的Code Llama - Instruct版本。在代碼生成基準測試中,Code Llama表現優于其他公開可用的代碼專用語言模型,性能與ChatGPT相當。
Code Llama的簡介
2023年08月25日,Meta發布了基于的Llama2用于專攻代碼生成的基礎模型 Code Llama。Code Llama 是基于 Llama 2?的一系列面向代碼的大型語言模型,提供了在開放模型中領先的性能,填充能力,支持大型輸入上下文,以及用于編程任務的零-shot指令跟隨能力。
該項目提供多個版本以覆蓋廣泛的應用領域:基礎模型(Code Llama),Python 專用模型(Code Llama - Python),以及指令跟隨模型(Code Llama - Instruct),分別具有7B、13B和34B的參數。所有模型都是在16k標記的序列上進行訓練的,并在最多100k標記的輸入上顯示出改進。7B和13B的 Code Llama 和 Code Llama - Instruct 變體支持基于周圍內容的填充。
Code Llama 是通過對 Llama 2 進行代碼的更高采樣來進行微調開發的。與 Llama 2 一樣,我們對模型的微調版本應用了相當大的安全措施。有關模型訓練、架構和參數、評估、負責人工智能和安全的詳細信息,請參閱我們的研究論文。由 Llama Materials 的代碼生成功能生成的輸出,包括 Code Llama,在內可能受第三方許可證的約束,包括但不限于開源許可證。
我們正在釋放大型語言模型的強大能力,我們的最新版本 Code Llama 現在可以讓個人、創作者、研究人員和各個規模的企業獲得使用權限,以便他們可以負責地進行實驗、創新和擴展他們的想法。此發布包括預訓練和微調 Llama 語言模型的模型權重和初始代碼,參數范圍從7B到34B。該存儲庫旨在作為一個最小的示例,用于加載 Code Llama 模型并進行推理。
Code Llama 是一項帶有潛在風險的新技術。到目前為止進行的測試未能覆蓋所有情況。為了幫助開發人員應對這些風險,我們已創建了《負責任使用指南》。更多詳細信息可以在我們的研究論文中找到。
GitHub官網:GitHub - facebookresearch/codellama: Inference code for CodeLlama models
論文地址:https://ai.meta.com/research/publications/code-llama-open-foundation-models-for-code/
官網文章:https://ai.meta.com/blog/code-llama-large-language-model-coding/
1、《Code Llama: Open Foundation Models for Code》翻譯與解讀
摘要
我們發布了Code Llama,這是一系列基于Llama 2的面向代碼的大型語言模型,具有開放模型中最先進的性能、填充能力、支持大型輸入上下文以及零-shot指令跟隨能力,可用于編程任務。我們提供多種版本以覆蓋廣泛的應用領域:基礎模型(Code Llama)、Python專用模型(Code Llama - Python)和指令跟隨模型(Code Llama - Instruct),分別具有7B、13B和34B個參數。所有模型都是在16k個標記的序列上進行訓練,并在最多100k個標記的輸入上顯示出改進效果。7B和13B的Code Llama和Code Llama - Instruct變種支持基于周圍內容的填充。Code Llama在幾個代碼基準測試中達到了開放模型的最先進性能,分別在HumanEval和MBPP上獲得了53%和55%的得分。值得注意的是,Code Llama - Python 7B在HumanEval和MBPP上的表現超過了Llama 2 70B,而我們的所有模型在MultiPL-E上都優于其他公開可用的模型。我們以寬松的許可證發布Code Llama,既允許研究使用,也允許商業使用。
結論
我們發布了一系列專注于代碼的Llama 2模型,稱為Code Llama,包含三個主要變種,我們以三種規模(7B、13B和34B個參數)發布:Code Llama、Code Llama - Python和Code Llama - Instruct。考慮到實際應用,我們訓練了7B和13B的模型以支持填充,并讓所有模型能夠利用大型上下文。我們在推理中測試它們在最多100K個標記(圖4a)的情況下的穩定性。大型上下文微調和填充在標準基準測試中(表10)的基于從左到右的代碼生成基準測試中有一定的代價,這些測試都基于短序列(即函數級別)。盡管如此,我們的30B模型在標準Python完成基準測試中是公開模型中最先進的,而我們的其他模型與具有相似參數數量的模型相比具有競爭力。在多語言基準測試中,即使是我們最小的模型(Code Llama 7B)也優于其他任何公開模型。
Code Llama - Instruct模型經過訓練,為Code Llama提供了零-shot指令能力。在這種進一步的微調中,我們在一定程度上提煉了Llama 2-Chat,不僅注重更直接的幫助(圖5c),還努力提供更安全的模型供使用和部署(第4節)。遵循指令并過于安全可能會在評估中損失一些得分(例如表2中34B模型在HumanEval上的情況),如圖14所示。需要進一步的工作讓LLM能夠理解上下文和指令中的細微差別。
2、模型評估效果對比:HumanEval、MBPP、MHEval
Code Llama表現優異
3、基于Code Llama的衍生模型
(1)、Phind團隊:Phind-CodeLlama-34B-v1、Phind-CodeLlama-34B-Python-v1
Phind 團隊利用內部Phind數據集調優CodeLlama-34B和CodeLlama-34B-Python模型,在HumanEval上超越GPT-4的表現。在該內部數據集上,兩模型分別獲得67.6%和69.5%的通過率,高于原始模型的48.8%和53.7% 。調優后模型Phind-CodeLlama-34B-v1和Phind-CodeLlama-34B-Python-v1在HumanEval上分別獲得67.6%和69.5%的通過率。顯然都超越了原始 GPT-4 的 67%。
時間
2023年8月27日(北京時間)
作者
Phind團隊
地址
地址:https://www.phind.com/blog/code-llama-beats-gpt4
原文章
通過對CodeLlama-34B和CodeLlama-34B-Python進行微調,我們在內部的Phind數據集上取得了令人矚目的成績。CodeLlama-34B在HumanEval上的一次通過率為48.8%,而CodeLlama-34B-Python則為53.7%。根據OpenAI在三月份的官方技術報告,GPT-4的通過率為67%。為確保結果的有效性,我們對數據集應用了OpenAI的去污染方法。
昨天發布的CodeLlama模型在HumanEval上展現出了出色的性能。
>> Phind-CodeLlama-34B-v1在HumanEval上的一次通過率為67.6%。
>> Phind-CodeLlama-34B-Python-v1在HumanEval上的一次通過率為69.5%。
我們將這兩個模型在一個擁有大約80,000個高質量編程問題和解決方案的專有數據集上進行了微調。與HumanEval在結構上不同的是,該數據集采用了指令-答案對而不是代碼補全示例。
我們對Phind模型進行了兩個時期的訓練,總共約160,000個示例。我們沒有使用LoRA,這兩個模型都經過了本機的微調。我們使用DeepSpeed ZeRO 3和Flash Attention 2,在32個A100-80GB的GPU上進行訓練,序列長度為4096個標記,訓練時間為三個小時。
此外,我們還應用了OpenAI的去污染方法來確保結果的有效性,并且沒有發現任何受污染的示例。該方法如下所示:
>> 對于每個評估示例,我們隨機抽樣了三個50個字符的子字符串,如果示例少于50個字符,則使用整個示例。
>> 如果任何抽樣的子字符串是處理過的訓練示例的子字符串,則認為存在匹配。
有關去污染方法的更多信息,請參閱OpenAI技術報告附錄C。下面是我們在微調模型中實現的一次通過率得分:
>> Phind-CodeLlama-34B-v1在HumanEval上的一次通過率為67.6%。
>> Phind-CodeLlama-34B-Python-v1在HumanEval上的一次通過率為69.5%。
(2)、WizardLM團隊:WizardCoder
WizardLM 團隊發布了基于Code Llama的最新WizardCoder-34B。WizardCoder-34B在HumanEval上的一次通過率(pass@1)達到了驚人的 73.2%,超越了原始 GPT-4、ChatGPT-3.5 以及 Claude 2、Bard。
為了開發我們的WizardCoder模型,我們首先采用了Evol-Instruct方法,專門針對編碼任務進行了適應。這包括將提示信息定制為與代碼相關的指令領域。隨后,我們使用新創建的指令跟隨訓練集對Code LLama的模型進行了微調,包括StarCoder或Code LLama。
時間
2023年8月27日(北京時間)
作者
WizardLM 團隊
地址
GitHub地址:https://github.com/nlpxucan/WizardLM/tree/main/WizardCoder
測試地址:WizardCoder-Python-34B-V1.0
Code Llama的安裝
1、模型部署與推理
第1步,獲取Meta 官網授權
為了下載模型權重和分詞器,請訪問 Meta AI 網站并接受我們的許可協議。
一旦您的請求獲得批準,您將收到一封帶有簽名的電子郵件鏈接。
第2步,sh腳本下載
下載腳本
然后運行 download.sh 腳本,在提示時傳遞提供的 URL 開始下載。請確保復制 URL 文本本身,不要使用右鍵單擊 URL 時的“復制鏈接地址”選項。如果復制的 URL 文本以 https://download.llamameta.net開頭,則復制正確。如果復制的 URL 文本以 https://l.facebook.com開頭,則復制錯誤。
先決條件
先決條件:確保您已安裝 wget 和 md5sum。然后運行腳本:bash download.sh。
請注意,鏈接在24小時后和一定數量的下載后會過期。如果您開始看到諸如 403:Forbidden 的錯誤,您始終可以重新請求鏈接。
設置
在具有 PyTorch / CUDA 的 conda 環境中,克隆存儲庫并在頂級目錄中運行:
pip install -e .
第3步,模型推理
不同的模型需要不同的模型并行(MP)值
Model
MP
7B
1
13B
2
34B
4
所有模型都支持長達100,000標記的序列長度,但我們根據 max_seq_len 和 max_batch_size 值預先分配緩存。因此根據您的硬件和用例設置這些值。
2、預訓練
Code Llama 和 Code Llama - Python 模型沒有經過微調以遵循指令。它們應該通過提示來獲取期望的答案,即提示的自然延續。請參考 example_completion.py 查看一些示例。為了說明,查看下面的命令,以使用 CodeLlama-7b 模型運行它(nproc_per_node 需要設置為 MP 值):
torchrun --nproc_per_node 1 example_completion.py--ckpt_dir CodeLlama-7b/--tokenizer_path CodeLlama-7b/tokenizer.model--max_seq_len 128 --max_batch_size 4 預訓練的代碼模型包括:Code Llama 模型 CodeLlama-7b、CodeLlama-13b、CodeLlama-34b,以及 Code Llama - Python 模型 CodeLlama-7b-Python、CodeLlama-13b-Python、CodeLlama-34b-Python。
3、代碼填充
Code Llama 和 Code Llama - Instruct 7B 和 13B 模型能夠根據周圍上下文填充代碼。
請參考 example_infilling.py 查看一些示例。可以使用以下命令運行 CodeLlama-7b 模型以進行填充(nproc_per_node 需要設置為 MP 值):
torchrun --nproc_per_node 1 example_infilling.py--ckpt_dir CodeLlama-7b/--tokenizer_path CodeLlama-7b/tokenizer.model--max_seq_len 192 --max_batch_size 4 預訓練的填充模型包括:Code Llama 模型 CodeLlama-7b 和 CodeLlama-13b,以及 Code Llama - Instruct 模型 CodeLlama-7b-Instruct、CodeLlama-13b-Instruct。
4、微調指令模型
Code Llama - Instruct 模型經過微調以遵循指令。為了獲得預期的特性和性能,需要遵循 chat_completion 中定義的特定格式,包括 INST 和 <<SYS>> 標簽,BOS 和 EOS 標記,以及之間的空格和換行符(我們建議在輸入上調用 strip() 以避免雙空格)。
您還可以部署附加分類器,以過濾出被認為不安全的輸入和輸出。請參閱 llama-recipes 存儲庫,了解如何將安全檢查器添加到推理代碼的輸入和輸出中的示例。
使用 CodeLlama-7b-Instruct 的示例:
torchrun --nproc_per_node 1 example_instructions.py--ckpt_dir CodeLlama-7b-Instruct/--tokenizer_path CodeLlama-7b-Instruct/tokenizer.model--max_seq_len 512 --max_batch_size 4 經過微調的指令跟隨模型包括:Code Llama - Instruct 模型 CodeLlama-7b-Instruct、CodeLlama-13b-Instruct、CodeLlama-34b-Instruct。
Code Llama的使用方法
更新中……
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
感受Code Llama的力量:一種最先進的大型編碼語言模型
發布一天,Code Llama代碼能力突飛猛進,微調版HumanEval得分超GPT-4
GitHub熱榜登頂:開源版GPT-4代碼解釋器,可安裝任意Python庫,本地終端運行
13個開源類ChatGPT模型
Python 高級教程之探索 Python code object
在VS Code中進行Python開發
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 筠连县| 长泰县| 贵溪市| 咸宁市| 拜泉县| 冀州市| 宜良县| 陈巴尔虎旗| 上犹县| 西林县| 云南省| 乐东| 读书| 秭归县| 简阳市| 晋中市| 新余市| 郑州市| 惠东县| 承德市| 昔阳县| 视频| 巴青县| 洛扎县| 金堂县| 城口县| 大新县| 栖霞市| 福州市| 鄂托克前旗| 精河县| 神木县| 丹寨县| 来凤县| 土默特左旗| 霸州市| 桐梓县| 上思县| 德化县| 嫩江县| 民勤县|