? Hugging Face 上的模式 | 部落格 | 網站 | 開始使用
我們正在釋放大語言模型的力量。我們最新版本的Llama 現在可供個人、創作者、研究人員和各種規模的企業使用,以便他們可以負責任地試驗、創新和擴展他們的想法。
此版本包括預先訓練和指令調優的Llama 3 語言模型的模型權重和起始代碼,包括8B 到70B 參數的大小。
此儲存庫旨在作為載入Llama 3 模型並運行推理的最小範例。有關更詳細的範例,請參閱llama-recipes。
為了下載模型權重和分詞器,請訪問Meta Llama 網站並接受我們的許可協議。
提交請求後,您將透過電子郵件收到一個簽署的URL。然後執行download.sh 腳本,在提示時傳遞提供的URL 以開始下載。
先決條件:確保您已安裝wget
和md5sum
。然後執行腳本: ./download.sh
。
請記住,連結會在24 小時和一定次數的下載後過期。如果開始看到403: Forbidden
之類的錯誤,您始終可以重新請求連結。
我們也在Hugging Face 上提供下載,包括transformers 和原生llama3
格式。要從Hugging Face 下載權重,請按照以下步驟操作:
original
資料夾的內容。如果你安裝了pip install huggingface-hub
,也可以從命令列下載它們: huggingface-cli download meta-llama/Meta-Llama-3-8B-Instruct --include " original/* " --local-dir meta-llama/Meta-Llama-3-8B-Instruct
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
pipeline = transformers . pipeline (
"text-generation" ,
model = "meta-llama/Meta-Llama-3-8B-Instruct" ,
model_kwargs = { "torch_dtype" : torch . bfloat16 },
device = "cuda" ,
)
您可以按照以下步驟快速開始使用Llama 3 模型。這些步驟將讓您能夠在本地進行快速推理。更多範例,請查看Llama 配方倉庫。
在一個已安裝PyTorch / CUDA 的conda 環境中複製並下載此倉庫。
在頂級目錄運行:
pip install -e .
造訪Meta Llama 網站並註冊以下載模型。
註冊後,您將收到一封帶有下載模型URL 的電子郵件。在執行download.sh 腳本時,您將需要此URL。
收到電子郵件後,導覽至您下載的llama 倉庫並執行download.sh 腳本。
下載所需的模型後,您可以使用以下命令在本地運行模型:
torchrun --nproc_per_node 1 example_chat_completion.py
--ckpt_dir Meta-Llama-3-8B-Instruct/
--tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model
--max_seq_len 512 --max_batch_size 6
注意
Meta-Llama-3-8B-Instruct/
替換為您的檢查點目錄路徑,將Meta-Llama-3-8B-Instruct/tokenizer.model
替換為您的分詞器模型路徑。–nproc_per_node
應設定為您使用的模型的MP 值。max_seq_len
和max_batch_size
參數。不同的模型需要不同的模型並行(MP)值:
模型 | MP |
---|---|
8B | 1 |
70B | 8 |
所有模型支援最多8192 個令牌的序列長度,但我們會根據max_seq_len
和max_batch_size
的值預先分配快取。因此,請根據您的硬體設定這些值。
這些模型未針對聊天或問答進行微調。應該設定提示,使得預期答案是提示的自然延續。
請參閱example_text_completion.py
以取得一些範例。為了說明,請參閱下面的命令,以使用llama-3-8b 模型運行它( nproc_per_node
需要設定為MP
值):
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir Meta-Llama-3-8B/ --tokenizer_path Meta-Llama-3-8B/tokenizer.model --max_seq_len 128 --max_batch_size 4
微調模型是為對話應用訓練的。為了獲得它們的預期特性和效能,需要遵循ChatFormat
中定義的特定格式:提示以特殊令牌<|begin_of_text|>
開始,之後跟隨一個或多個訊息。每個訊息以標籤<|start_header_id|>
開始,角色為system
、 user
或assistant
,並以標籤<|end_header_id|>
結束。在雙換行nn
之後,訊息的內容隨之而來。每條訊息的結尾由<|eot_id|>
令牌標記。
您還可以部署額外的分類器,以過濾掉被認為不安全的輸入和輸出。請參閱llama-recipes 倉庫中的一個範例,以了解如何在您的推理程式碼的輸入和輸出中新增安全檢查器。
使用llama-3-8b-chat 的範例:
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --_len 512 --_batch_maxq.
Llama 3 是一項新技術,使用時帶有潛在風險。迄今為止進行的測試沒有——也不可能——涵蓋所有情況。 為了幫助開發者應對這些風險,我們創建了負責任使用指南。
請透過以下方式之一回報軟體「bug」或模型的其他問題:
參見MODEL_CARD.md。
我們的模型和權重為研究者和商業實體授權,堅持開放原則。我們的使命是透過這個機會賦予個人和產業,同時促進發現和道德AI 進步的環境。
請查看LICENSE 文件,以及我們的可接受使用政策
對於常見問題,可以在此處找到FAQ https://llama.meta.com/faq,隨著新問題的出現,這將不斷更新。