Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Llama 2 70B Chat - GGUF
このプロジェクトは、Meta Llama 2によるLlama 2 70B ChatモデルのGGUF形式のモデルファイルを提供します。GGUF形式はGGML形式の代替として開発され、多くの利点を持っています。

TheBlokeのLLM関連の仕事は、andreessen horowitz (a16z)からの助成金によって支援されています。
📚 詳細情報
モデルについて
- モデル作成者: Meta Llama 2
- オリジナルモデル: Llama 2 70B Chat
GGUF形式について
GGUFは、2023年8月21日にllama.cppチームによって導入された新しい形式です。これは、もはやllama.cppでサポートされていないGGML形式の代替となります。GGUFは、GGMLに比べて多くの利点を提供します。例えば、より良いトークン化や特殊トークンのサポートがあり、メタデータもサポートし、拡張性を持つように設計されています。
以下は、GGUFをサポートすることが知られているクライアントとライブラリの不完全なリストです。
- llama.cpp。GGUFのソースプロジェクトで、CLIとサーバーオプションを提供します。
- text-generation-webui、最も広く使用されているウェブUIで、多くの機能と強力な拡張機能を備えています。GPUアクセラレーションをサポートしています。
- KoboldCpp、すべてのプラットフォームとGPUアーキテクチャでGPUアクセラレーションを備えた、完全な機能を持つウェブUIです。特にストーリーテリングに適しています。
- LM Studio、WindowsとmacOS (Silicon)用の使いやすく強力なローカルGUIで、GPUアクセラレーションを備えています。
- LoLLMS Web UI、多くの興味深くユニークな機能を備えた素晴らしいウェブ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推論およびさらなる変換用の、Meta Llama 2のオリジナルの非量子化fp16モデル(pytorch形式)
プロンプトテンプレート: Llama-2-Chat
[INST] <<SYS>>
あなたは役立ち、礼儀正しく、正直なアシスタントです。常にできる限り役立つ回答をしてくださいが、安全を考慮してください。あなたの回答には、有害、非倫理的、人種差別的、性差別的、有毒、危険、または違法な内容を含めないでください。回答が社会的に偏見がなく、前向きな性質であることを確認してください。質問が意味を成さない場合、または事実的に整合性がない場合、正しくない回答をする代わりに、その理由を説明してください。質問の答えを知らない場合は、誤った情報を共有しないでください。
<</SYS>>
{prompt}[/INST]
互換性
これらの量子化されたGGUFv2ファイルは、2023年8月27日以降のllama.cpp(コミットd0cee0d36d5be95a0d9088b674dbb27354107221)と互換性があります。
また、多くのサードパーティのUIやライブラリとも互換性があります。詳細はこのREADMEの冒頭のリストを参照してください。
量子化方法の説明
詳細を表示するにはクリック
利用可能な新しい方法は以下の通りです。
- GGML_TYPE_Q2_K - 16個のブロックを含むスーパーブロック内の「タイプ1」2ビット量子化。各ブロックには16個の重みがあります。ブロックのスケールと最小値は4ビットで量子化されます。これにより、重み1つあたり実質的に2.5625ビット(bpw)が使用されます。
- GGML_TYPE_Q3_K - 16個のブロックを含むスーパーブロック内の「タイプ0」3ビット量子化。各ブロックには16個の重みがあります。スケールは6ビットで量子化されます。これにより、3.4375bpwが使用されます。
- GGML_TYPE_Q4_K - 8個のブロックを含むスーパーブロック内の「タイプ1」4ビット量子化。各ブロックには32個の重みがあります。スケールと最小値は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 | 使用ケース |
---|---|---|---|---|---|
llama-2-70b-chat.Q2_K.gguf | Q2_K | 2 | 29.28 GB | 31.78 GB | 最も小さいが、品質が大幅に損なわれる - ほとんどの目的には推奨されません |
llama-2-70b-chat.Q3_K_S.gguf | Q3_K_S | 3 | 29.92 GB | 32.42 GB | 非常に小さいが、品質が大きく損なわれる |
llama-2-70b-chat.Q5_K_S.gguf | Q5_K_S | 5 | 30.57 GB | 33.07 GB | 大きいが、品質の損失が少ない - 推奨 |
llama-2-70b-chat.Q3_K_M.gguf | Q3_K_M | 3 | 33.19 GB | 35.69 GB | 非常に小さいが、品質が大きく損なわれる |
llama-2-70b-chat.Q3_K_L.gguf | Q3_K_L | 3 | 36.15 GB | 38.65 GB | 小さいが、品質が大幅に損なわれる |
llama-2-70b-chat.Q4_0.gguf | Q4_0 | 4 | 38.87 GB | 41.37 GB | レガシー;小さいが、品質が非常に大きく損なわれる - Q3_K_Mの使用を推奨 |
llama-2-70b-chat.Q4_K_S.gguf | Q4_K_S | 4 | 39.07 GB | 41.57 GB | 小さいが、品質の損失が大きい |
llama-2-70b-chat.Q4_K_M.gguf | Q4_K_M | 4 | 41.42 GB | 43.92 GB | 中程度で、品質がバランスが取れている - 推奨 |
llama-2-70b-chat.Q5_0.gguf | Q5_0 | 5 | 47.46 GB | 49.96 GB | レガシー;中程度で、品質がバランスが取れている - Q4_K_Mの使用を推奨 |
llama-2-70b-chat.Q5_K_M.gguf | Q5_K_M | 5 | 48.75 GB | 51.25 GB | 大きいが、品質の損失が非常に少ない - 推奨 |
llama-2-70b-chat.Q6_K.gguf | Q6_K | 6 | 56.59 GB | 59.09 GB | 非常に大きいが、品質の損失が極めて少ない |
llama-2-70b-chat.Q8_0.gguf | Q8_0 | 8 | 73.29 GB | 75.79 GB | 非常に大きいが、品質の損失が極めて少ない - 推奨されません |
注: 上記のRAM数値は、GPUオフロードがないことを前提としています。レイヤーがGPUにオフロードされると、これによりRAM使用量が減少し、代わりにVRAMが使用されます。
Q6_KとQ8_0ファイルは分割されており、結合が必要です
注: HFは50GBを超えるファイルのアップロードをサポートしていません。そのため、Q6_KとQ8_0ファイルは分割ファイルとしてアップロードされています。
Q6_KとQ8_0ファイルに関する指示を表示するにはクリック
q6_K
以下をダウンロードしてください。
llama-2-70b-chat.Q6_K.gguf-split-a
llama-2-70b-chat.Q6_K.gguf-split-b
q8_0
以下をダウンロードしてください。
llama-2-70b-chat.Q8_0.gguf-split-a
llama-2-70b-chat.Q8_0.gguf-split-b
ファイルを結合するには、以下の操作を行ってください。
LinuxとmacOS:
cat llama-2-70b-chat.Q6_K.gguf-split-* > llama-2-70b-chat.Q6_K.gguf && rm llama-2-70b-chat.Q6_K.gguf-split-*
cat llama-2-70b-chat.Q8_0.gguf-split-* > llama-2-70b-chat.Q8_0.gguf && rm llama-2-70b-chat.Q8_0.gguf-split-*
Windowsコマンドライン:
COPY /B llama-2-70b-chat.Q6_K.gguf-split-a + llama-2-70b-chat.Q6_K.gguf-split-b llama-2-70b-chat.Q6_K.gguf
del llama-2-70b-chat.Q6_K.gguf-split-a llama-2-70b-chat.Q6_K.gguf-split-b
COPY /B llama-2-70b-chat.Q8_0.gguf-split-a + llama-2-70b-chat.Q8_0.gguf-split-b llama-2-70b-chat.Q8_0.gguf
del llama-2-70b-chat.Q8_0.gguf-split-a llama-2-70b-chat.Q8_0.gguf-split-b
📥 GGUFファイルのダウンロード方法
手動ダウンロードする方への注意: ほとんどの場合、リポジトリ全体をクローンする必要はありません。複数の異なる量子化形式が提供されていますが、ほとんどのユーザーは1つのファイルを選択してダウンロードするだけです。
以下のクライアント/ライブラリは、利用可能なモデルのリストを提供し、自動的にモデルをダウンロードします。
- LM Studio
- LoLLMS Web UI
- Faraday.dev
text-generation-webui
でのダウンロード方法
「Download Model」の下で、モデルリポジトリ「TheBloke/Llama-2-70B-chat-GGUF」を入力し、その下にダウンロードする特定のファイル名(例: llama-2-70b-chat.Q4_K_M.gguf)を入力します。
その後、「Download」をクリックしてください。
コマンドラインでのダウンロード方法(複数のファイルを一度に含む場合も)
huggingface-hub
Pythonライブラリの使用をお勧めします。
pip3 install huggingface-hub>=0.17.1
その後、以下のようなコマンドで、任意の個別のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download TheBloke/Llama-2-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
より高度なhuggingface-cliダウンロードの使用方法
パターンを使用して複数のファイルを一度にダウンロードすることもできます。
huggingface-cli download TheBloke/Llama-2-70B-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を参照してください。
高速接続(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-70B-chat-GGUF llama-2-70b-chat.Q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLIユーザーは、ダウンロードコマンドを実行する前にset HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
を使用してください。
💻 実行方法
llama.cppでの実行例
llama.cpp
が2023年8月27日以降のバージョン(コミットd0cee0d36d5be95a0d9088b674dbb27354107221)であることを確認してください。
./main -ngl 32 -m llama-2-70b-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からロードする方法
# ここにコードが続く予定だったが、元のREADMEに記載がなかったため省略
📄 ライセンス
このモデルはLlama 2のライセンスに基づいて提供されています。



