モデル概要
モデル特徴
モデル能力
使用事例
🚀 Llama 2 13B - GGUF
このプロジェクトはMeta社のLlama 2 13BモデルをGGUF形式で提供し、多くのクライアントやライブラリと互換性があり、様々な環境での推論をサポートします。

TheBlokeのLLMに関する仕事は、andreessen horowitz (a16z)からの助成金によって支援されています。
🚀 クイックスタート
このリポジトリには、Meta社のLlama 2 13BのGGUF形式のモデルファイルが含まれています。以下では、このモデルの基本的な情報や使用方法を説明します。
- モデル作成者: Meta
- オリジナルモデル: Llama 2 13B
✨ 主な機能
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社のオリジナルの非量子化fp16モデル
📦 インストール
GGUFファイルのダウンロード方法
手動ダウンローダーへの注意
ほとんどの場合、リポジトリ全体をクローンする必要はありません。複数の異なる量子化形式が提供されており、ほとんどのユーザーは単一のファイルを選択してダウンロードするだけです。
以下のクライアント/ライブラリは、利用可能なモデルのリストを提供し、自動的にモデルをダウンロードします。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webuiでのダウンロード
「Download Model」の下に、モデルリポジトリ: TheBloke/Llama-2-13B-GGUFを入力し、その下にダウンロードする特定のファイル名、例えば: llama-2-13b.q4_K_M.ggufを入力します。そして「Download」をクリックします。
コマンドラインでのダウンロード(複数ファイルも可)
huggingface-hub
Pythonライブラリを使用することをおすすめします。
pip3 install huggingface-hub>=0.17.1
次に、以下のようなコマンドで、任意の個別のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download TheBloke/Llama-2-13B-GGUF llama-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
より高度なhuggingface-cliのダウンロード使用方法
パターンを使用して複数のファイルを一度にダウンロードすることもできます。
huggingface-cli download TheBloke/Llama-2-13B-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 TheBloke/Llama-2-13B-GGUF llama-2-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLIユーザーは、ダウンロードコマンドを実行する前に、set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
を使用してください。
💻 使用例
llama.cppコマンドの例
このコミット以降のllama.cpp
を使用していることを確認してください。
./main -ngl 32 -m llama-2-13b.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "{prompt}"
-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-GGUF", model_file="llama-2-13b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
LangChainとの連携方法
以下は、llama-cpp-pythonまたはctransformersをLangChainと併用するためのガイドです。
📚 ドキュメント
プロンプトテンプレート
{prompt}
互換性
これらの量子化されたGGUFv2ファイルは、2023年8月27日以降のllama.cpp
(このコミット以降)と互換性があります。また、多くのサードパーティの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.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最も小さいが、品質が大幅に低下する - ほとんどの目的には推奨されない |
llama-2-13b.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常に小さいが、品質が大きく低下する |
llama-2-13b.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常に小さいが、品質が大きく低下する |
llama-2-13b.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小さいが、品質が大幅に低下する |
llama-2-13b.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | レガシー; 小さいが、品質が非常に大きく低下する - Q3_K_Mの使用を推奨 |
llama-2-13b.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小さいが、品質の低下が大きい |
llama-2-13b.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中程度で、バランスの良い品質 - 推奨 |
llama-2-13b.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | レガシー; 中程度で、バランスの良い品質 - Q4_K_Mの使用を推奨 |
llama-2-13b.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大きいが、品質の低下が少ない - 推奨 |
llama-2-13b.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大きいが、品質の低下が非常に少ない - 推奨 |
llama-2-13b.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常に大きいが、品質の低下が極めて少ない |
llama-2-13b.Q8_0.gguf | Q8_0 | 8 | 13.83 GB | 16.33 GB | 非常に大きいが、品質の低下が極めて少ない - 推奨されない |
注: 上記のRAM数値は、GPUオフロードがないことを前提としています。レイヤーをGPUにオフロードすると、RAM使用量が減少し、代わりにVRAMが使用されます。
📄 ライセンス
このモデルはLlama 2のライセンスに基づいています。詳細は、Llama 2のライセンスを参照してください。
Discord
これらのモデルやAI全般についてのさらなるサポートや議論に参加するには、以下のDiscordサーバーに参加してください。 TheBloke AIのDiscordサーバー
謝辞と貢献方法
chirper.aiチームに感謝します。 gpus.llm-utils.orgのClayに感謝します。
多くの方から貢献の方法を尋ねられています。私はモデルを提供し、人々の助けをすることが好きで、もっと多くの時間を費やし、微調整/トレーニングなどの新しいプロジェクトにも取り組めるようになりたいと思っています。
貢献できる方がいれば、大変感謝します。これにより、より多くのモデルを提供し、新しいAIプロジェクトの開発を始めることができます。 寄付者には、すべてのAI/LLM/モデルに関する質問やリクエストに対する優先サポート、プライベートDiscordルームへのアクセス、その他の特典があります。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特別な感謝: Aemon Algiz。
Patreonでの特別な言及: Alicia Loh, Stephen Murray, K, Ajan Kanaga, RoA, Magnesian, Deo Leter, Olakabola, Eugene Pentland, zynix, Deep Realms, Raymond Fosdick, Elijah Stavena, Iucharbius, Erik Bjäreholt, Luis Javier Navarrete Lozano, Nicholas, theTransient, John Detwiler, alfie_i, knownsqashed, Mano Prime, Willem Michiel, Enrico Ros, LangChain4j, OG, Michael Dempsey, Pierre Kircher, Pedro Madruga, James Bentley, Thomas Belote, Luke @flexchar, Leonard Tan, Johann-Peter Hartmann, Illia Dulskyi, Fen Risland, Chadd, S_X, Jeff Scroggin, Ken Nordquist, Sean Connelly, Artur Olbinski, Swaroop Kallakuri, Jack West, Ai Maven, David Ziegler, Russ Johnson, transmissions 11, John Villwock, Alps Aficionado, Clay Pascal, Viktor Bowallius, Subspace Studios, Rainer Wilmers, Trento



