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

TheBlokeのLLM関連の仕事は、andreessen horowitz (a16z)からの助成金によって支援されています。
📚 ドキュメント
モデル情報
- モデル作成者: Meta
- オリジナルモデル: CodeLlama 13B
モデルの説明
このリポジトリには、MetaのCodeLlama 13BのGGUF形式のモデルファイルが含まれています。
GGUFについて
GGUFは、llama.cppチームによって2023年8月21日に導入された新しいフォーマットです。これはGGMLの代替品で、現在は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推論とさらなる変換用の、Metaのオリジナルの非量子化fp16モデル(pytorch形式)
プロンプトテンプレート
{prompt}
互換性
これらの量子化されたGGUFv2ファイルは、2023年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.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 | 使用ケース |
---|---|---|---|---|---|
codellama-13b.Q2_K.gguf | Q2_K | 2 | 5.43 GB | 7.93 GB | 最も小さいが、品質が大幅に低下する - ほとんどの目的には推奨されない |
codellama-13b.Q3_K_S.gguf | Q3_K_S | 3 | 5.66 GB | 8.16 GB | 非常に小さいが、品質が大きく低下する |
codellama-13b.Q3_K_M.gguf | Q3_K_M | 3 | 6.34 GB | 8.84 GB | 非常に小さいが、品質が大きく低下する |
codellama-13b.Q3_K_L.gguf | Q3_K_L | 3 | 6.93 GB | 9.43 GB | 小さいが、品質が大幅に低下する |
codellama-13b.Q4_0.gguf | Q4_0 | 4 | 7.37 GB | 9.87 GB | レガシー; 小さいが、品質が非常に大きく低下する - Q3_K_Mの使用を推奨 |
codellama-13b.Q4_K_S.gguf | Q4_K_S | 4 | 7.41 GB | 9.91 GB | 小さいが、品質が大きく低下する |
codellama-13b.Q4_K_M.gguf | Q4_K_M | 4 | 7.87 GB | 10.37 GB | 中程度で、バランスの良い品質 - 推奨 |
codellama-13b.Q5_0.gguf | Q5_0 | 5 | 8.97 GB | 11.47 GB | レガシー; 中程度で、バランスの良い品質 - Q4_K_Mの使用を推奨 |
codellama-13b.Q5_K_S.gguf | Q5_K_S | 5 | 8.97 GB | 11.47 GB | 大きいが、品質の低下が少ない - 推奨 |
codellama-13b.Q5_K_M.gguf | Q5_K_M | 5 | 9.23 GB | 11.73 GB | 大きいが、品質の低下が非常に少ない - 推奨 |
codellama-13b.Q6_K.gguf | Q6_K | 6 | 10.68 GB | 13.18 GB | 非常に大きいが、品質の低下が極めて少ない |
codellama-13b.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/CodeLlama-13B-GGUF」を入力し、その下にダウンロードする特定のファイル名(例: codellama-13b.q4_K_M.gguf)を入力します。 そして「Download」をクリックします。
コマンドラインでのダウンロード方法(複数のファイルを一度に含む場合も)
huggingface-hub
Pythonライブラリの使用をおすすめします。
pip3 install huggingface-hub>=0.17.1
その後、以下のようなコマンドで、任意の個々のモデルファイルを高速で現在のディレクトリにダウンロードできます。
huggingface-cli download TheBloke/CodeLlama-13B-GGUF codellama-13b.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
huggingface-cliのより高度なダウンロードの使い方
パターンを使用して複数のファイルを一度にダウンロードすることもできます。
huggingface-cli download TheBloke/CodeLlama-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/CodeLlama-13B-GGUF codellama-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をd0cee0d36d5be95a0d9088b674dbb27354107221以降のバージョンを使用してください。
./main -ngl 32 -m codellama-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/CodeLlama-13B-GGUF", model_file="codellama-13b.q4_K_M.gguf", model_type="llama", gpu_layers=50)
print(llm("AI is going to"))
LangChainとの連携方法
llama-cpp-pythonまたはctransformersをLangChainと連携するガイドは以下の通りです。
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
ライセンス
このモデルはLlama 2のライセンスの下で提供されています。



