🚀 Llama 3 70B Instruct - GGUF
このプロジェクトは、Meta社のLlama 3 70B Instruct モデルのGGUF形式のファイルを含んでいます。ユーザーにより便利で効率的なモデルの使用体験を提供することを目的としています。
🚀 クイックスタート
モデル情報
GGUFについて
GGUFは、llama.cppチームによって2023年8月21日に導入された新しい形式です。これは、llama.cppでサポートされなくなったGGML形式に代わるものです。GGUFはGGMLに比べて多くの利点があり、例えば、より良いトークナイズ機能、特殊なトークンのサポート、メタデータのサポート、そして拡張可能な設計があります。
以下は、GGUFをサポートする既知のクライアントとライブラリの不完全なリストです:
- llama.cpp:GGUFのソースプロジェクトで、コマンドラインインターフェースとサーバーオプションを提供します。
- text-generation-webui:最も広く使用されているWebインターフェースで、多くの機能と強力な拡張機能を備え、GPUアクセラレーションをサポートしています。
- KoboldCpp:機能が充実したWebインターフェースで、すべてのプラットフォームとGPUアーキテクチャのGPUアクセラレーションをサポートしており、特にストーリーテリングに適しています。
- LM Studio:WindowsとmacOS(Silicon)に適した使いやすく強力なローカルグラフィカルユーザーインターフェースで、GPUアクセラレーションをサポートしています。
- LoLLMS Web UI:多くの面白く独特な機能を備えた素晴らしいWebインターフェースで、モデルを選びやすい完全なモデルライブラリを含んでいます。
- Faraday.dev:WindowsとmacOS(SiliconとIntel)に適した魅力的で使いやすいロールベースのチャットグラフィカルユーザーインターフェースで、GPUアクセラレーションをサポートしています。
- ctransformers:GPUアクセラレーション、LangChain、およびOpenAI互換のAIサーバーをサポートするPythonライブラリです。
- llama-cpp-python:GPUアクセラレーション、LangChain、およびOpenAI互換のAPIサーバーをサポートするPythonライブラリです。
- candle:性能に重点を置いたRustの機械学習フレームワークで、GPUサポートを含み、使いやすいです。
📦 インストール
GGUFファイルのダウンロード方法
⚠️ 重要な注意事項
手動でダウンロードする方は注意してください:ほとんどの場合、全体のリポジトリをクローンする必要はありません!ここにはさまざまな異なる量子化形式が用意されていますが、ほとんどのユーザーは単一のファイルを選択してダウンロードするだけで済みます。
以下のクライアント/ライブラリは自動的にモデルをダウンロードし、利用可能なモデルのリストを提供して選択できます:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webui
でのダウンロード
「Download Model」の下で、モデルリポジトリのアドレスを入力できます:PawanKrd/Llama-3-70B-Instruct-GGUF。その後、下にダウンロードする具体的なファイル名を入力してください。例えば:llama-3-70b-instruct.Q4_K_M.gguf。最後に「Download」をクリックします。
コマンドラインでのダウンロード(複数のファイルを同時にダウンロード可能)
huggingface-hub
Pythonライブラリの使用をおすすめします:
pip3 install huggingface-hub>=0.17.1
その後、以下のコマンドを使用して、任意の単一のモデルファイルを高速で現在のディレクトリにダウンロードできます:
huggingface-cli download PawanKrd/Llama-3-70B-Instruct-GGUF llama-3-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
huggingface-cliのより高度なダウンロード方法
ワイルドカードを使用して、一度に複数のファイルをダウンロードすることもできます:
huggingface-cli download PawanKrd/Llama-3-70B-Instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
huggingface-cli
を使用したダウンロードに関する詳細なドキュメントは、HF -> Hub Python Library -> Download files -> Download from the CLI を参照してください。
高速接続(1Gbit/s以上)でダウンロードを高速化するには、hf_transfer
をインストールしてください:
pip3 install hf_transfer
そして、環境変数HF_HUB_ENABLE_HF_TRANSFER
を1
に設定します:
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download PawanKrd/Llama-3-70B-Instruct-GGUF llama-3-70b-instruct.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windowsコマンドラインユーザーは、ダウンロードコマンドを実行する前にset HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
を使用してください。
💻 使用例
llama.cpp
での実行
使用するllama.cpp
のバージョンが、コミット番号 d0cee0d36d5be95a0d9088b674dbb27354107221 以上であることを確認してください。
./main -ngl 32 -m llama-3-70b-instruct.Q4_K_M.gguf --color -c 8192 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
-ngl 32
を、GPUにオフロードするレイヤー数に変更してください。GPUアクセラレーションがない場合は、このパラメーターを削除してください。
-c 8192
を、必要なシーケンス長に変更してください。拡張シーケンスモデル(例:8K、16K、32K)の場合、必要なRoPEスケーリングパラメーターはGGUFファイルから読み取られ、llama.cppによって自動的に設定されます。
チャット形式の対話を行いたい場合は、-p <PROMPT>
パラメーターを-i -ins
に置き換えてください。
その他のパラメーターとその使用方法については、llama.cppのドキュメント を参照してください。
text-generation-webui
での実行
詳細な説明は、text-generation-webui/docs/llama.cpp.md を参照してください。
Pythonコードからの実行
llama-cpp-python または ctransformers ライブラリを使用して、PythonからGGUFモデルを使用することができます。
ctransformersを使用してPythonからこのモデルをロードする
まずパッケージをインストールする
pip install ctransformers>=0.2.24
pip install ctransformers[cuda]>=0.2.24
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
GGUFモデルをロードする簡単なサンプルコード
from ctransformers import AutoModelForCausalLM
llm = AutoModelForCausalLM.from_pretrained("PawanKrd/Llama-3-70B-Instruct-GGUF", model_file="llama-3-70b-instruct.Q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
LangChainとの連携方法
以下は、llama-cpp-pythonまたはctransformersをLangChainと一緒に使用するガイドです:
📚 ドキュメント
Discord
Pawan.KrdのDiscordサーバー
謝辞
このREADMEファイルは、最初に TheBlok によって作成され、このリポジトリ用に修正されています。