🚀 Llama 2 7B Chat - GGUF
このプロジェクトは、Meta Llama 2のLlama 2 7B ChatモデルのGGUF形式のモデルファイルを提供します。GGUF形式は、llama.cppでの使用に最適化されており、多くの利点を提供します。
🚀 クイックスタート
このモデルを使用するには、まずモデルファイルをダウンロードする必要があります。いくつかのクライアントやライブラリが自動的にモデルをダウンロードしてくれます。以下に、いくつかの方法を紹介します。
ダウンロード方法
- LM Studio、LoLLMS Web UI、Faraday.dev:これらのクライアント/ライブラリは、利用可能なモデルのリストを表示し、自動的にモデルをダウンロードします。
text-generation-webui
:Download Modelの下に、モデルリポジトリ(TheBloke/Llama-2-7b-Chat-GGUF)と、ダウンロードする特定のファイル名(例: llama-2-7b-chat.q4_K_M.gguf)を入力し、Downloadをクリックします。
- コマンドライン:
huggingface-hub
Pythonライブラリを使用して、高速でモデルファイルをダウンロードできます。
pip3 install huggingface-hub>=0.17.1
huggingface-cli download TheBloke/Llama-2-7b-Chat-GGUF llama-2-7b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
実行方法
llama.cpp
での実行
./main -ngl 32 -m llama-2-7b-chat.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]"
-ngl 32
:GPUにオフロードするレイヤー数。GPUアクセラレーションがない場合は削除します。
-c 4096
:希望するシーケンス長。拡張シーケンスモデルの場合は、必要なRoPEスケーリングパラメータがGGUFファイルから読み取られ、自動的に設定されます。
- チャットスタイルの会話を行う場合は、
-p <PROMPT>
引数を -i -ins
に置き換えます。
text-generation-webui
での実行
詳細な手順は text-generation-webui/docs/llama.cpp.md を参照してください。
Pythonコードからの実行
llama-cpp-python または ctransformers ライブラリを使用して、PythonからGGUFモデルを使用できます。
from ctransformers import AutoModelForCausalLM
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-7b-Chat-GGUF", model_file="llama-2-7b-chat.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
✨ 主な機能
- GGUF形式のサポート:GGUFは新しい形式で、GGMLに代わるものです。より良いトークン化や特殊トークンのサポート、メタデータのサポートなど、多くの利点を提供します。
- 複数のクライアントとライブラリのサポート:
llama.cpp
、text-generation-webui
、KoboldCpp
、LM Studio
など、多くのクライアントやライブラリで使用できます。
- 複数の量子化方法の提供:Q2_K、Q3_K_S、Q4_K_Mなど、様々な量子化方法のモデルファイルが提供されており、ユーザーのニーズに合わせて選択できます。
📦 インストール
必要なライブラリのインストール
pip3 install huggingface-hub>=0.17.1
GPUアクセラレーションを使用する場合は、ctransformers
ライブラリを適切にインストールします。
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
📚 ドキュメント
モデル情報
プロンプトテンプレート
[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
<</SYS>>
{prompt}[/INST]
互換性
これらの量子化されたGGUFv2ファイルは、2023年8月27日以降のllama.cpp(コミット d0cee0d36d5be95a0d9088b674dbb27354107221 以降)と互換性があります。また、多くのサードパーティのUIやライブラリでも使用できます。
量子化方法の説明
詳細を表示するにはクリックしてください
利用可能な新しい方法は以下の通りです。
- GGML_TYPE_Q2_K:スーパーブロックに16個のブロックが含まれ、各ブロックに16個の重みがある「タイプ1」の2ビット量子化。ブロックのスケールと最小値は4ビットで量子化されます。これにより、重みあたり実効的に2.5625ビット(bpw)が使用されます。
- GGML_TYPE_Q3_K:スーパーブロックに16個のブロックが含まれ、各ブロックに16個の重みがある「タイプ0」の3ビット量子化。スケールは6ビットで量子化されます。これにより、3.4375bpwが使用されます。
- GGML_TYPE_Q4_K:スーパーブロックに8個のブロックが含まれ、各ブロックに32個の重みがある「タイプ1」の4ビット量子化。スケールと最小値は6ビットで量子化されます。これにより、4.5bpwが使用されます。
- GGML_TYPE_Q5_K:「タイプ1」の5ビット量子化。GGML_TYPE_Q4_Kと同じスーパーブロック構造で、5.5bpwになります。
- GGML_TYPE_Q6_K:「タイプ0」の6ビット量子化。16個のブロックを持つスーパーブロックで、各ブロックに16個の重みがあります。スケールは8ビットで量子化されます。これにより、6.5625bpwが使用されます。
提供されているファイルの表を参照して、どのファイルがどの方法を使用しているかを確認してください。
提供されるファイル
注: 上記のRAM数値は、GPUオフロードを行わない場合を想定しています。レイヤーをGPUにオフロードすると、RAM使用量が減少し、代わりにVRAMが使用されます。
📄 ライセンス
このモデルはLlama 2のライセンスに基づいて提供されています。