ハグフェイスのモデル | 始めましょう
私たちは大規模な言語モデルの力を解き放ちます。 Llama の最新バージョンは、個人、クリエイター、研究者、あらゆる規模の企業が利用できるようになり、責任を持ってアイデアを実験、革新、拡張できるようになりました。
このリリースには、8B から 70B までのパラメーター サイズを含む、事前トレーニングおよび命令調整された Llama 3 言語モデルのモデルの重みと開始コードが含まれています。
このリポジトリは、Llama 3 モデルをロードして推論を実行する最小限の例として意図されています。より詳細な例については、llama-recipes を参照してください。
モデルの重みとトークナイザーをダウンロードするには、Meta Llama Web サイトにアクセスし、ライセンス契約に同意してください。
リクエストを送信すると、署名付きの URL が電子メールで届きます。次に、download.sh スクリプトを実行し、ダウンロードの開始を求めるプロンプトが表示されたら、指定された URL を渡します。
前提条件: wget
とmd5sum
インストールされていることを確認してください。次に、スクリプト./download.sh
を実行します。
リンクは 24 時間および一定回数のダウンロード後に期限切れになることに注意してください。 403: Forbidden
のようなエラーが表示され始めた場合は、いつでもリンクを再リクエストできます。
Hugging Face では、トランスフォーマーやネイティブ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 の Web サイトにアクセスし、登録してモデルをダウンロードします。
登録後、モデルをダウンロードするための URL が記載されたメールが届きます。この URL は、download.sh スクリプトを実行するときに必要になります。
電子メールを受信したら、ダウンロードした 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
の値に基づいてキャッシュを事前に割り当てます。したがって、ハードウェアに応じてこれらの値を設定してください。
これらのモデルは、チャットや Q&A 用に微調整されていません。プロンプトは、期待される応答がプロンプトの自然な続きとなるように設定する必要があります。
いくつかの例については、 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|>
で始まり、その後に 1 つ以上のメッセージが続きます。各メッセージはタグ<|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 --max_batch_size 6
Llama 3 は新しいテクノロジーであり、潜在的なリスクが伴います。これまでに実施されたテストは、すべての状況をカバーできるわけではありません。 開発者がこれらのリスクに対処できるように、私たちは責任ある使用ガイドラインを作成しました。
ソフトウェアの「バグ」やモデルに関するその他の問題については、次のいずれかの方法で報告してください。
MODEL_CARD.md を参照してください。
当社のモデルと分銅は、オープン原則を遵守し、研究者や営利団体にライセンスされています。私たちの使命は、発見と倫理的な AI の進歩の環境を促進しながら、この機会を通じて個人と業界に力を与えることです。
ライセンス文書と当社の利用規約を確認してください。
よくある質問については、https://llama.meta.com/faq で FAQ をご覧ください。この FAQ は、新しい質問が発生するたびに継続的に更新されます。