🚀 Code Llama
Code Llama是一系列預訓練和微調的生成式文本模型,參數規模從70億到700億不等。本倉庫是基於Hugging Face Transformers格式的700億參數基礎版本模型。該模型專為通用代碼合成和理解而設計。其他模型的鏈接可在底部索引中找到。
🚀 快速開始
安裝依賴
要使用此模型,請確保安裝transformers
。
pip install transformers accelerate
模型功能
- [x] 代碼補全。
- [ ] 代碼填充。
- [ ] 指令跟隨/對話。
- [ ] Python專業支持。
✨ 主要特性
Code Llama具有以下特性:
- 多種模型規模:提供70億、130億、340億和700億參數的四種模型規模。
- 多種變體:包括通用代碼合成和理解的基礎模型、專門針對Python的模型以及用於指令跟隨和更安全部署的模型。
- 優化架構:採用優化的Transformer架構,支持高達100k的推理長度。
- 廣泛訓練:在2023年1月至2024年1月期間進行訓練。
📦 安裝指南
要使用此模型,請確保安裝transformers
。
pip install transformers accelerate
📚 詳細文檔
模型詳情
- 模型開發者:Meta
- 變體:Code Llama有四種模型規模和三種變體:
- Code Llama:用於通用代碼合成和理解的基礎模型。
- Code Llama - Python:專門為Python設計。
- Code Llama - Instruct:用於指令跟隨和更安全的部署。
所有變體都有70億、130億、340億和700億參數的版本。
- 輸入:模型僅接受文本輸入。
- 輸出:模型僅生成文本。
- 模型架構:Code Llama是一個自迴歸語言模型,使用優化的Transformer架構。它在訓練時最多可處理16k個標記,並在推理時支持高達100k個標記。
- 模型日期:Code Llama及其變體在2023年1月至2024年1月期間進行訓練。
- 狀態:這是一個基於離線數據集訓練的靜態模型。隨著我們根據社區反饋改進模型安全性,未來將發佈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的研究超級集群上進行。
- 碳足跡:總體而言,訓練所有12個Code Llama模型需要在A100 - 80GB類型的硬件上進行1400K GPU小時的計算(TDP為350 - 400W)。估計總排放量為228.55 tCO2eq,其中100%已由Meta的可持續發展計劃抵消。
評估結果
有關主要模型的評估和詳細消融研究,請參閱研究論文的第3節,有關安全評估,請參閱第4節。
倫理考慮和侷限性
Code Llama及其變體是一項新技術,使用時存在風險。到目前為止進行的測試都是用英語進行的,並且沒有涵蓋也不可能涵蓋所有場景。因此,與所有大語言模型一樣,Code Llama的潛在輸出無法提前預測,並且在某些情況下,模型可能會對用戶提示產生不準確或令人反感的響應。因此,在部署Code Llama的任何應用程序之前,開發人員應針對其特定應用程序進行安全測試和調整。
請參閱負責任使用指南。
📄 許可證
自定義商業許可證可在https://ai.meta.com/resources/models-and-libraries/llama-downloads/獲取。
模型鏈接表格
⚠️ 重要提示
這是非官方的Code Llama倉庫。你可以在Meta Llama組織中找到官方Meta倉庫。