モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama 2 13B Chat - GGUF
このプロジェクトは、MetaのLlama 2 13B-chatモデルのGGUF形式のモデルファイルを提供します。GGUFは新しいフォーマットで、GGMLに代わるもので、多くの利点を持っています。

TheBlokeのLLMの仕事は、andreessen horowitz (a16z)からの助成金によって寛大に支援されています。
- モデル作成者: Meta Llama 2
- オリジナルモデル: Llama 2 13B Chat
📚 ドキュメント
説明
このリポジトリには、MetaのLlama 2 13B-chatのGGUF形式のモデルファイルが含まれています。
GGUFについて
GGUFは、2023年8月21日にllama.cppチームによって導入された新しいフォーマットです。これは、llama.cppでサポートされなくなったGGMLの代替品です。GGUFは、GGMLに比べて多くの利点を提供します。例えば、より良いトークン化や特殊トークンのサポートがあります。また、メタデータもサポートしており、拡張性を持つように設計されています。
以下は、GGUFをサポートすることが知られているクライアントとライブラリの不完全なリストです。
- llama.cpp。GGUFのソースプロジェクトです。CLIとサーバーオプションを提供します。
- text-generation-webui、最も広く使用されているWeb UIで、多くの機能と強力な拡張機能があります。GPUアクセラレーションをサポートしています。
- KoboldCpp、全機能のWeb UIで、すべてのプラットフォームとGPUアーキテクチャでGPUアクセラレーションが可能です。特にストーリーテリングに適しています。
- LM Studio、WindowsとmacOS (Silicon)用の使いやすく強力なローカルGUIで、GPUアクセラレーションがあります。
- LoLLMS Web UI、多くの興味深い独自の機能を持つ素敵なWeb UIで、簡単なモデル選択のための完全なモデルライブラリも含まれています。
- Faraday.dev、WindowsとmacOS (SiliconとIntelの両方)用の魅力的で使いやすいキャラクターベースのチャットGUIで、GPUアクセラレーションがあります。
- ctransformers、GPUアクセラレーション、LangChainサポート、およびOpenAI互換のAIサーバーを備えたPythonライブラリです。
- llama-cpp-python、GPUアクセラレーション、LangChainサポート、およびOpenAI互換のAPIサーバーを備えたPythonライブラリです。
- candle、パフォーマンスに重点を置いたRustのMLフレームワークで、GPUサポートと使いやすさを兼ね備えています。
利用可能なリポジトリ
- GPU推論用のAWQモデル。
- 複数の量子化パラメータオプションを持つ、GPU推論用のGPTQモデル。
- CPU+GPU推論用の2、3、4、5、6、および8ビットのGGUFモデル
- GPU推論とさらなる変換用の、pytorch形式のMeta Llama 2のオリジナルの非量子化fp16モデル
プロンプトテンプレート: Llama-2-Chat
[INST] <<SYS>>
あなたは役立つ、礼儀正しい、そして正直なアシスタントです。常にできる限り役立つ回答をしながら、安全を保ってください。あなたの回答には、有害な、非倫理的な、人種差別的な、性差別的な、有毒な、危険な、または違法な内容を含めないでください。あなたの応答が社会的にバイアスがなく、ポジティブな性質であることを確認してください。質問が意味を成さない場合、または事実的に首尾一貫していない場合、正しくない回答をする代わりに、その理由を説明してください。質問の答えを知らない場合は、誤った情報を共有しないでください。
<</SYS>>
{prompt}[/INST]
互換性
これらの量子化されたGGUFv2ファイルは、8月27日以降のllama.cppと互換性があります。コミットd0cee0d36d5be95a0d9088b674dbb27354107221以降です。
これらはまた、多くのサードパーティのUIやライブラリとも互換性があります。このREADMEの上部にあるリストを参照してください。
量子化方法の説明
詳細を表示するにはクリック
利用可能な新しい方法は次の通りです。
- GGML_TYPE_Q2_K - 16個のブロックを含むスーパーブロックでの「タイプ1」の2ビット量子化で、各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、有効には重みあたり2.5625ビット (bpw) が使用されます。
- GGML_TYPE_Q3_K - 16個のブロックを含むスーパーブロックでの「タイプ0」の3ビット量子化で、各ブロックには16個の重みがあります。スケールは6ビットで量子化されます。これにより、3.4375 bpwが使用されます。
- GGML_TYPE_Q4_K - 8個のブロックを含むスーパーブロックでの「タイプ1」の4ビット量子化で、各ブロックには32個の重みがあります。スケールと最小値は6ビットで量子化されます。これにより、4.5 bpwが使用されます。
- GGML_TYPE_Q5_K - 「タイプ1」の5ビット量子化です。GGML_TYPE_Q4_Kと同じスーパーブロック構造で、5.5 bpwになります。
- GGML_TYPE_Q6_K - 「タイプ0」の6ビット量子化です。16個のブロックを持つスーパーブロックで、各ブロックには16個の重みがあります。スケールは8ビットで量子化されます。これにより、6.5625 bpwが使用されます。
どのファイルがどの方法を使用しているか、およびその方法については、以下の提供されるファイルの表を参照してください。
提供されるファイル
名前 | 量子化方法 | ビット数 | サイズ | 必要な最大RAM | 使用ケース |
---|---|---|---|---|---|
llama-2-13b-chat.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最も小さいが、品質が大幅に損失する - ほとんどの目的には推奨されない |
llama-2-13b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常に小さいが、品質が大きく損失する |
llama-2-13b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常に小さいが、品質が大きく損失する |
llama-2-13b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小さいが、品質が大幅に損失する |
llama-2-13b-chat.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | レガシー; 小さいが、品質が非常に大きく損失する - Q3_K_Mの使用を推奨 |
llama-2-13b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小さいが、品質の損失が大きい |
llama-2-13b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中程度で、品質がバランスが良い - 推奨 |
llama-2-13b-chat.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | レガシー; 中程度で、品質がバランスが良い - Q4_K_Mの使用を推奨 |
llama-2-13b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大きいが、品質の損失が少ない - 推奨 |
llama-2-13b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大きいが、品質の損失が非常に少ない - 推奨 |
llama-2-13b-chat.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常に大きいが、品質の損失が極めて少ない |
llama-2-13b-chat.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常に大きいが、品質の損失が極めて少ない - 推奨されない |
注: 上記のRAMの数値は、GPUオフロードがないことを前提としています。レイヤーがGPUにオフロードされると、これによりRAMの使用量が減少し、代わりにVRAMが使用されます。
GGUFファイルのダウンロード方法
手動でダウンロードする人への注意: ほとんどの場合、リポジトリ全体をクローンする必要はありません!複数の異なる量子化形式が提供されており、ほとんどのユーザーは1つのファイルを選択してダウンロードするだけです。
以下のクライアント/ライブラリは、利用可能なモデルのリストを提供し、自動的にモデルをダウンロードします。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webui
でのダウンロード方法
「Download Model」の下で、モデルリポジトリを入力できます: TheBloke/Llama-2-13B-chat-GGUF そしてその下に、ダウンロードする特定のファイル名を入力します。例えば: llama-2-13b-chat.q4_K_M.gguf。
そして「Download」をクリックします。
コマンドラインでのダウンロード方法(複数のファイルを一度に含む)
私はhuggingface-hub
Pythonライブラリの使用をお勧めします。
pip3 install huggingface-hub>=0.17.1
その後、次のようなコマンドで、任意の個々のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download TheBloke/Llama-2-13B-chat-GGUF llama-2-13b-chat.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
より高度なhuggingface-cliのダウンロードの使い方
パターンを使用して複数のファイルを一度にダウンロードすることもできます。 ```shell huggingface-cli download TheBloke/Llama-2-13B-chat-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf' ``` `huggingface-cli`でのダウンロードに関する詳細なドキュメントは、[HF -> Hub Python Library -> Download files -> Download from the CLI](https://huggingface.co/docs/huggingface_hub/guides/download#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 TheBloke/Llama-2-13B-chat-GGUF llama-2-13b-chat.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLIユーザーは、ダウンロードコマンドを実行する前にset HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
を使用してください。
llama.cppコマンドの例
コミットd0cee0d36d5be95a0d9088b674dbb27354107221以降のllama.cpp
を使用していることを確認してください。
./main -ngl 32 -m llama-2-13b-chat.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] <<SYS>>\nあなたは役立つ、礼儀正しい、そして正直なアシスタントです。常にできる限り役立つ回答をしながら、安全を保ってください。あなたの回答には、有害な、非倫理的な、人種差別的な、性差別的な、有毒な、危険な、または違法な内容を含めないでください。あなたの応答が社会的にバイアスがなく、ポジティブな性質であることを確認してください。質問が意味を成さない場合、または事実的に首尾一貫していない場合、正しくない回答をする代わりに、その理由を説明してください。質問の答えを知らない場合は、誤った情報を共有しないでください。\n<</SYS>>\n{prompt}[/INST]"
-ngl 32
を、GPUにオフロードするレイヤーの数に変更します。GPUアクセラレーションがない場合は、これを削除します。
-c 4096
を、希望するシーケンス長に変更します。拡張シーケンスモデル (例: 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からこのモデルをロードする方法
まずパッケージをインストールする
# GPUアクセラレーションのない基本的なctransformers
pip install ctransformers>=0.2.24
# またはCUDA GPUアクセラレーション付き
pip install ctransformers[cuda]>=0.2.24
# またはROCm GPUアクセラレーション付き
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
# またはmacOSシステム用のMetal GPUアクセラレーション付き
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
これらのGGUFモデルの1つをロードする簡単なサンプルコード
from ctransformers import AutoModelForCausalLM
# gpu_layersを、GPUにオフロードするレイヤーの数に設定します。システムでGPUアクセラレーションが利用できない場合は、0に設定します。
llm = AutoModelForCausalLM.from_pretrained("TheBloke/Llama-2-13B-chat-GGUF", model_file="llama-2-13b-chat.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
LangChainとの使用方法
LangChainでllama-cpp-pythonまたはctransformersを使用するガイドはこちらです。
- [LangChain + llama-cpp-python](https://python.la
📄 ライセンス
このモデルはLlama2ライセンスの下で提供されています。



