模型概述
模型特點
模型能力
使用案例
🚀 Code Llama
Code Llama是一系列預訓練和微調的生成式文本模型,參數規模從70億到700億不等。本倉庫是Hugging Face Transformers格式下340億參數的Python專業版本模型。該模型專為通用代碼合成和理解而設計。其他模型的鏈接可在底部索引中找到。
🚀 快速開始
若要使用此模型,請確保安裝transformers
庫:
pip install transformers accelerate
模型能力:
- [x] 代碼補全
- [ ] 代碼填充
- [ ] 指令響應/對話
- [x] Python專業處理
✨ 主要特性
模型詳情
注意:使用此模型需遵循Meta的許可協議。Meta開發並公開發布了Code Llama系列大語言模型(LLM)。
- 模型開發者:Meta
- 模型變體:Code Llama有三種模型規模和三種變體:
- Code Llama:基礎模型,用於通用代碼合成和理解
- Code Llama - Python:專門為Python設計
- Code Llama - Instruct:用於指令跟隨和更安全的部署 所有變體均有70億、130億和340億參數的版本。
- 本倉庫包含:340億參數的Python版本模型。
- 輸入:模型僅接受文本輸入。
- 輸出:模型僅生成文本。
- 模型架構:Code Llama是一種自迴歸語言模型,採用了優化的Transformer架構。
- 模型訓練時間:Code Llama及其變體於2023年1月至7月期間進行訓練。
- 模型狀態:這是一個基於離線數據集訓練的靜態模型。隨著我們根據社區反饋改進模型安全性,未來將發佈Code Llama - Instruct的新版本。
- 許可證:可在此處獲取自定義商業許可證。
- 研究論文:更多信息可參考論文Code Llama: Open Foundation Models for Code或其arXiv頁面。
預期用途
- 預期用例:Code Llama及其變體旨在用於英語和相關編程語言的商業和研究用途。基礎模型Code Llama可用於各種代碼合成和理解任務;Code Llama - Python專門處理Python編程語言;Code Llama - Instruct則更安全地用於代碼助手和生成應用。
- 非預期用途:以任何違反適用法律法規(包括貿易合規法律)的方式使用;使用英語以外的語言;以違反Code Llama及其變體的可接受使用政策和許可協議的任何其他方式使用。
硬件和軟件
- 訓練因素:我們使用了自定義訓練庫。已發佈模型的訓練和微調在Meta的研究超級集群上進行。
- 碳足跡:總體而言,訓練所有9個Code Llama模型需要在A100 - 80GB(熱設計功耗350 - 400W)類型的硬件上進行40萬GPU小時的計算。估計總排放量為65.3噸二氧化碳當量,其中100%已通過Meta的可持續發展計劃抵消。
訓練數據
此處報告的所有實驗和已發佈的模型均使用與Llama 2相同的數據進行訓練和微調,但權重不同(詳情請參閱研究論文的第2節和表1)。
評估結果
請參閱研究論文第3節中主要模型的評估和詳細消融實驗,以及第4節中的安全評估。
道德考量和侷限性
Code Llama及其變體是一項新技術,使用時存在風險。到目前為止的測試均使用英語進行,且無法涵蓋所有場景。因此,與所有大語言模型一樣,Code Llama的潛在輸出無法提前預測,在某些情況下,模型可能會對用戶提示產生不準確或令人反感的響應。因此,在部署Code Llama的任何應用之前,開發者應針對其特定應用進行安全測試和調整。
請參閱負責任使用指南。
模型索引
Llama 2社區許可協議
你需要與Meta共享聯繫信息才能訪問此模型。
通過點擊下方的“我接受”,或使用或分發Llama材料的任何部分或元素,即表示你同意受本協議的約束。
許可權利和再分發
- 權利授予:你被授予在Llama材料中體現的Meta知識產權或Meta擁有的其他權利下的非排他性、全球性、不可轉讓且免版稅的有限許可,以使用、複製、分發、拷貝、創建衍生作品並對Llama材料進行修改。
- 再分發和使用:
- 如果你將Llama材料或其任何衍生作品提供給第三方,你應向該第三方提供本協議的副本。
- 如果你作為集成最終用戶產品的一部分從被許可方處接收Llama材料或其任何衍生作品,則本協議第2條不適用於你。
- 你必須在分發的所有Llama材料副本中,在作為此類副本一部分分發的“通知”文本文件中保留以下歸屬聲明:“Llama 2根據Llama 2社區許可獲得許可,版權所有 (c) Meta Platforms, Inc. 保留所有權利。”
- 你對Llama材料的使用必須遵守適用的法律法規(包括貿易合規法律法規),並遵守Llama材料的可接受使用政策(可在此處獲取),該政策特此通過引用併入本協議。
- 你不得使用Llama材料或Llama材料的任何輸出或結果來改進任何其他大語言模型(不包括Llama 2或其衍生作品)。
額外商業條款
如果在Llama 2版本發佈日期,被許可方或其關聯公司提供的產品或服務的月活躍用戶在前一個日曆月超過7億,則你必須向Meta請求許可,Meta可自行決定是否授予你許可。在Meta明確授予你此類權利之前,你無權行使本協議下的任何權利。
保修免責聲明
除非適用法律另有要求,Llama材料及其任何輸出和結果均按“現狀”提供,不提供任何形式的明示或暗示保證,包括但不限於所有權、不侵權、適銷性或特定用途適用性的保證。你獨自負責確定使用或再分發Llama材料的適當性,並承擔與使用Llama材料及其任何輸出和結果相關的任何風險。
責任限制
在任何情況下,Meta或其關聯公司均不對因本協議引起的任何利潤損失或任何間接、特殊、後果性、偶發性、懲戒性或懲罰性損害承擔責任,無論責任理論是合同、侵權、疏忽、產品責任還是其他,即使Meta或其關聯公司已被告知此類損害的可能性。
知識產權
- 本協議未授予商標許可,並且在與Llama材料相關的情況下,除非在描述和再分發Llama材料時進行合理和慣常使用所需,否則Meta和被許可方均不得使用對方或其任何關聯公司擁有或關聯的任何名稱或標誌。
- 鑑於Meta對Llama材料及其衍生作品的所有權,就你對Llama材料所做的任何衍生作品和修改而言,在你和Meta之間,你是並將是此類衍生作品和修改的所有者。
- 如果你對Meta或任何實體提起訴訟或其他法律程序(包括在訴訟中的交叉索賠或反訴),聲稱Llama材料或Llama 2的輸出或結果,或上述任何部分構成侵犯你擁有或可許可的知識產權或其他權利,則本協議授予你的任何許可將自此類訴訟或索賠提起之日起終止。你將賠償並使Meta免受任何第三方因你使用或分發Llama材料而產生或與之相關的任何索賠。
期限和終止
本協議的期限將自你接受本協議或訪問Llama材料時開始,並將持續有效,直至根據本協議的條款和條件終止。如果你違反本協議的任何條款或條件,Meta可終止本協議。本協議終止後,你應刪除並停止使用Llama材料。第3條、第4條和第7條在本協議終止後仍然有效。
適用法律和管轄權
本協議將受加利福尼亞州法律管轄並依其解釋,不考慮法律選擇原則,並且《聯合國國際貨物銷售合同公約》不適用於本協議。加利福尼亞州的法院對因本協議引起的任何爭議具有專屬管轄權。
Llama 2可接受使用政策
Meta致力於促進其工具和功能(包括Llama 2)的安全和公平使用。如果你訪問或使用Llama 2,則同意本可接受使用政策(“政策”)。本政策的最新版本可在ai.meta.com/llama/use-policy找到。
禁止使用
我們希望每個人都能安全、負責任地使用Llama 2。你同意你不會使用或允許他人使用Llama 2進行以下行為:
- 違反法律或他人權利:
- 從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 暴力或恐怖主義
- 對兒童的剝削或傷害,包括招攬、創建、獲取或傳播兒童剝削內容或未能報告兒童性虐待材料
- 人口販運、剝削和性暴力
- 向未成年人非法分發信息或材料,包括淫穢材料,或未能對此類信息或材料採用法律要求的年齡限制
- 性招攬
- 任何其他犯罪活動
- 從事、促進、煽動或便利對個人或群體的騷擾、虐待、威脅或欺凌
- 從事、促進、煽動或便利在就業、就業福利、信貸、住房、其他經濟福利或其他基本商品和服務的提供中進行歧視或其他非法或有害行為
- 從事未經授權或無執照的任何專業活動,包括但不限於金融、法律、醫療/健康或相關專業實踐
- 在未獲得適用法律要求的權利和同意的情況下,收集、處理、披露、生成或推斷個人的健康、人口統計或其他敏感個人或私人信息
- 從事或便利任何侵犯、挪用或以其他方式侵犯任何第三方權利的行為或生成任何內容,包括使用Llama 2材料的任何產品或服務的輸出或結果
- 創建、生成或便利創建惡意代碼、惡意軟件、計算機病毒或進行任何可能禁用、負擔過重、干擾或損害網站或計算機系統的正常運行、完整性、操作或外觀的其他操作
- 從事、促進、生成、促成、鼓勵、策劃、煽動或進一步推動非法或違法活動或內容,例如:
- 從事、促進、煽動、便利或協助策劃或開展對個人造成死亡或身體傷害風險的活動:
- 軍事、戰爭、核工業或應用、間諜活動、用於受美國國務院維護的《國際武器貿易條例》(ITAR)管制的材料或活動
- 槍支和非法武器(包括武器開發)
- 非法毒品和受管制/受控物質
- 關鍵基礎設施、運輸技術或重型機械的操作
- 自我傷害或傷害他人,包括自殺、自殘和飲食失調
- 任何旨在煽動或促進暴力、虐待或對個人造成身體傷害的內容
- 故意欺騙或誤導他人:
- 生成、促進或進一步推動欺詐或創建或促進虛假信息
- 生成、促進或進一步推動誹謗性內容,包括創建誹謗性聲明、圖像或其他內容
- 生成、促進或進一步分發垃圾郵件
- 在未經同意、授權或合法權利的情況下冒充他人
- 聲稱使用Llama 2或其輸出是人類生成的
- 生成或便利虛假的在線互動,包括虛假評論和其他虛假在線互動方式
- 未能向最終用戶適當披露你的AI系統的任何已知危險
請通過以下方式之一報告任何違反本政策、軟件“漏洞”或其他可能導致違反本政策的問題:
- 報告模型問題:github.com/facebookresearch/llama
- 報告模型生成的風險內容:developers.facebook.com/llama_output_feedback
- 報告漏洞和安全問題:facebook.com/whitehat/info
- 報告違反可接受使用政策或未經授權使用Llama的情況:LlamaUseReport@meta.com
信息提供說明
你提供的信息將根據Meta隱私政策進行收集、存儲、處理和共享。
提交信息
請填寫以下信息並點擊“提交”:
- 名字:文本輸入
- 姓氏:文本輸入
- 出生日期:日期選擇器
- 國家:國家選擇
- 所屬機構:文本輸入
- 地理位置:IP定位
點擊下方“提交”即表示我接受許可條款,並確認我提供的信息將根據Meta隱私政策進行收集、存儲、處理和共享。



