🚀 Code Llama
Code Llama是一系列預訓練和微調的生成式文本模型,參數規模從70億到700億不等。本倉庫是基於Hugging Face Transformers格式的130億參數基礎版本模型。該模型旨在用於通用代碼合成和理解。其他模型的鏈接可在底部索引中找到。
🚀 快速開始
要使用此模型,請確保安裝transformers
:
pip install transformers accelerate
✨ 主要特性
- [x] 代碼補全。
- [x] 代碼填充。
- [ ] 指令交互/聊天。
- [ ] Python專業支持。
💻 使用示例
基礎用法
from transformers import AutoTokenizer
import transformers
import torch
model = "codellama/CodeLlama-13b-hf"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto",
)
sequences = pipeline(
'import socket\n\ndef ping_exponential_backoff(host: str):',
do_sample=True,
top_k=10,
temperature=0.1,
top_p=0.95,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200,
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")
📚 詳細文檔
模型詳情
*注意:使用此模型需遵循Meta許可證。Meta開發並公開發布了Code Llama系列大語言模型(LLM)。
模型開發者 Meta
模型變體 Code Llama有三種模型大小和三種變體:
- Code Llama:用於通用代碼合成和理解的基礎模型
- Code Llama - Python:專門為Python設計
- Code Llama - Instruct:用於遵循指令和更安全的部署
所有變體都有70億、130億和340億參數三種規模。
本倉庫包含130億參數的基礎版本模型。
輸入 模型僅接受文本輸入。
輸出 模型僅生成文本。
模型架構 Code Llama是一種自迴歸語言模型,採用了優化的Transformer架構。
模型訓練時間 Code Llama及其變體在2023年1月至2023年7月期間進行了訓練。
狀態 這是一個基於離線數據集訓練的靜態模型。隨著我們根據社區反饋改進模型安全性,未來將發佈Code Llama - Instruct的新版本。
許可證 可在以下鏈接獲取自定義商業許可證:https://ai.meta.com/resources/models-and-libraries/llama-downloads/
研究論文 更多信息可在論文 "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)類型的硬件上進行400000 GPU小時的計算。估計總排放量為65.3 tCO2eq,其中100%由Meta的可持續發展計劃抵消。
訓練數據
此處報告的所有實驗和已發佈的模型都使用與Llama 2相同的數據進行訓練和微調,但權重不同(詳情請參閱 研究論文 中的第2節和表1)。
評估結果
請參閱研究論文第3節中主要模型的評估和詳細消融實驗,以及第4節中的安全評估。
倫理考量和侷限性
Code Llama及其變體是一項新技術,使用時存在風險。到目前為止進行的測試均使用英語,且未涵蓋也無法涵蓋所有場景。因此,與所有大語言模型一樣,Code Llama的潛在輸出無法提前預測,在某些情況下,模型可能會對用戶提示產生不準確或令人反感的響應。因此,在部署Code Llama的任何應用程序之前,開發人員應針對其特定應用對模型進行安全測試和調整。
請參閱 負責任使用指南。
模型列表
⚠️ 重要提示
這是一個非官方的Code Llama倉庫。你可以在 Meta Llama組織 中找到官方的Meta倉庫。
📄 許可證
自定義商業許可證可在:https://ai.meta.com/resources/models-and-libraries/llama-downloads/ 獲取。