Model Overview
Model Features
Model Capabilities
Use Cases
🚀 PinkPixelのCrystal-Think-V2のLlamacpp imatrix量子化バージョン
このプロジェクトは、PinkPixelのCrystal-Think-V2モデルに対する量子化処理です。様々な量子化タイプのモデルファイルを提供し、異なるハードウェアと性能要件を満たすことを目的としています。llama.cppを使用して量子化することで、ユーザーはさまざまな環境でこのモデルを効率的に実行できます。
🚀 クイックスタート
llama.cpp のバージョン b5760 を使用して量子化します。
- オリジナルモデル:https://huggingface.co/PinkPixel/Crystal-Think-V2
- すべての量子化モデルはimatrixオプションを使用し、ここ のデータセットを採用しています。
- これらの量子化モデルは LM Studio で実行できます。
- llama.cpp またはllama.cppベースの任意のプロジェクトを直接使用して実行することもできます。
✨ 主な機能
- 多様な量子化タイプ:bf16、Q8_0、Q6_K_Lなど、豊富な量子化タイプを提供し、さまざまな性能と品質要件を満たします。
- オンライン再パッケージ化:一部の量子化モデルはオンライン再パッケージ化をサポートし、ARMとAVXマシンの性能を自動的に最適化できます。
- 柔軟なダウンロード:huggingface-cliを使用して特定の量子化モデルファイルをダウンロードできます。
📦 インストール
huggingface-cliを使用したダウンロード
ダウンロード手順を表示するにはクリック
まず、huggingface-cliがインストールされていることを確認してください。
pip install -U "huggingface_hub[cli]"
次に、ダウンロードする特定のファイルを指定できます。
huggingface-cli download bartowski/PinkPixel_Crystal-Think-V2-GGUF --include "PinkPixel_Crystal-Think-V2-Q4_K_M.gguf" --local-dir ./
モデルサイズが50GBを超える場合、複数のファイルに分割されます。これらをすべてローカルフォルダにダウンロードするには、次を実行します。
huggingface-cli download bartowski/PinkPixel_Crystal-Think-V2-GGUF --include "PinkPixel_Crystal-Think-V2-Q8_0/*" --local-dir ./
新しいローカルディレクトリ(例:PinkPixel_Crystal-Think-V2-Q8_0)を指定することも、現在のディレクトリ(./)にすべてダウンロードすることもできます。
💻 使用例
プロンプト形式
チャットテンプレートが指定されていないため、デフォルトのテンプレートが使用されます。これは正しくない場合があります。詳細については、オリジナルのモデルカードを参照してください。
{system_prompt}<|endoftext|>{prompt}<|endoftext|><think>
📚 ドキュメント
ダウンロードファイルの選択
ファイル名 | 量子化タイプ | ファイルサイズ | 分割状況 | 説明 |
---|---|---|---|---|
Crystal-Think-V2-bf16.gguf | bf16 | 8.05GB | false | 完全なBF16ウェイト。 |
Crystal-Think-V2-Q8_0.gguf | Q8_0 | 4.28GB | false | 極めて高い品質。通常は必要ありませんが、最大限利用可能な量子化です。 |
Crystal-Think-V2-Q6_K_L.gguf | Q6_K_L | 3.40GB | false | 埋め込みと出力ウェイトにQ8_0を使用。非常に高い品質で、ほぼ完璧です。推奨。 |
Crystal-Think-V2-Q6_K.gguf | Q6_K | 3.31GB | false | 非常に高い品質で、ほぼ完璧です。推奨。 |
Crystal-Think-V2-Q5_K_L.gguf | Q5_K_L | 2.98GB | false | 埋め込みと出力ウェイトにQ8_0を使用。高品質です。推奨。 |
Crystal-Think-V2-Q5_K_M.gguf | Q5_K_M | 2.89GB | false | 高品質です。推奨。 |
Crystal-Think-V2-Q5_K_S.gguf | Q5_K_S | 2.82GB | false | 高品質です。推奨。 |
Crystal-Think-V2-Q4_1.gguf | Q4_1 | 2.60GB | false | 旧形式。Q4_K_Sと同様の性能ですが、Appleシリコンチップでは1ワットあたりのトークン数が向上しています。 |
Crystal-Think-V2-Q4_K_L.gguf | Q4_K_L | 2.59GB | false | 埋め込みと出力ウェイトにQ8_0を使用。良好な品質です。推奨。 |
Crystal-Think-V2-Q4_K_M.gguf | Q4_K_M | 2.50GB | false | 良好な品質で、ほとんどのユースケースでのデフォルトサイズです。推奨。 |
Crystal-Think-V2-Q4_K_S.gguf | Q4_K_S | 2.38GB | false | 品質はやや低いですが、より多くのスペースを節約します。推奨。 |
Crystal-Think-V2-Q4_0.gguf | Q4_0 | 2.38GB | false | 旧形式。ARMとAVX CPU推論でのオンライン再パッケージ化を提供します。 |
Crystal-Think-V2-IQ4_NL.gguf | IQ4_NL | 2.38GB | false | IQ4_XSに似ていますが、やや大きいです。ARM CPU推論でのオンライン再パッケージ化を提供します。 |
Crystal-Think-V2-Q3_K_XL.gguf | Q3_K_XL | 2.33GB | false | 埋め込みと出力ウェイトにQ8_0を使用。品質は低いですが使用可能で、低メモリの場合に適しています。 |
Crystal-Think-V2-IQ4_XS.gguf | IQ4_XS | 2.27GB | false | 品質は良好で、Q4_K_Sより小さく、性能は似ています。推奨。 |
Crystal-Think-V2-Q3_K_L.gguf | Q3_K_L | 2.24GB | false | 品質は低いですが使用可能で、低メモリの場合に適しています。 |
Crystal-Think-V2-Q3_K_M.gguf | Q3_K_M | 2.08GB | false | 品質は低いです。 |
Crystal-Think-V2-IQ3_M.gguf | IQ3_M | 1.96GB | false | 中低品質。新しい方法で、Q3_K_Mと同等の性能です。 |
Crystal-Think-V2-Q3_K_S.gguf | Q3_K_S | 1.89GB | false | 品質は低いです。推奨しません。 |
Crystal-Think-V2-IQ3_XS.gguf | IQ3_XS | 1.81GB | false | 品質は低いですが、新しい方法で、性能は良好で、Q3_K_Sよりやや優れています。 |
Crystal-Think-V2-Q2_K_L.gguf | Q2_K_L | 1.76GB | false | 埋め込みと出力ウェイトにQ8_0を使用。非常に低い品質ですが、驚くほど使用可能です。 |
Crystal-Think-V2-IQ3_XXS.gguf | IQ3_XXS | 1.67GB | false | 品質は低いですが、新しい方法で、性能は良好で、Q3量子化と同等です。 |
Crystal-Think-V2-Q2_K.gguf | Q2_K | 1.67GB | false | 非常に低い品質ですが、驚くほど使用可能です。 |
Crystal-Think-V2-IQ2_M.gguf | IQ2_M | 1.51GB | false | 比較的低い品質ですが、SOTA技術を使用しており、驚くほど使用可能です。 |
埋め込み/出力ウェイト
一部の量子化モデル(Q3_K_XL、Q4_K_Lなど)は、標準的な量子化方法を使用し、埋め込みと出力ウェイトを通常のデフォルト値ではなくQ8_0に量子化します。
ARM/AVX情報
以前は、Q4_0_4_4/4_8/8_8をダウンロードしていました。これらのモデルのウェイトはメモリ内で交差配置され、より多くのデータを一度にロードすることでARMとAVXマシンの性能を向上させていました。
しかし、現在ではいわゆるウェイトの「オンライン再パッケージ化」機能があります。詳細は このPR を参照してください。Q4_0を使用し、ハードウェアがウェイトの再パッケージ化から恩恵を受ける場合、自動的にリアルタイムで再パッケージ化されます。
llama.cppのビルドバージョン b4282 以降では、Q4_0_X_Xファイルを実行できなくなり、Q4_0を使用する必要があります。
また、やや高い品質が必要な場合は、IQ4_NLを使用できます。このPR のおかげで、ARM用にウェイトを再パッケージ化することもできますが、現在は4_4にのみ適用されます。ロード時間は長くなる可能性がありますが、全体的な速度は向上します。
(非推奨の)Q4_0_X_X情報を表示するにはクリック
この部分を残しているのは、オンライン再パッケージ化をサポートするQ4_0を使用した場合の潜在的な理論上の性能向上を示すためです。
AVX2システム(EPYC7702)でのベンチマークを表示するにはクリック
モデル | サイズ | パラメータ | バックエンド | スレッド数 | テスト | 1秒あたりのトークン数 | Q4_0との比較率 |
---|---|---|---|---|---|---|---|
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp512 | 204.03 ± 1.03 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp1024 | 282.92 ± 0.19 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | pp2048 | 259.49 ± 0.44 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg128 | 39.12 ± 0.27 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg256 | 39.31 ± 0.69 | 100% |
qwen2 3B Q4_0 | 1.70 GiB | 3.09 B | CPU | 64 | tg512 | 40.52 ± 0.03 | 100% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp512 | 301.02 ± 1.74 | 147% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp1024 | 287.23 ± 0.20 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | pp2048 | 262.77 ± 1.81 | 101% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg128 | 18.80 ± 0.99 | 48% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg256 | 24.46 ± 3.04 | 83% |
qwen2 3B Q4_K_M | 1.79 GiB | 3.09 B | CPU | 64 | tg512 | 36.32 ± 3.59 | 90% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp512 | 271.71 ± 3.53 | 133% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp1024 | 279.86 ± 45.63 | 100% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | pp2048 | 320.77 ± 5.00 | 124% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg128 | 43.51 ± 0.05 | 111% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg256 | 43.35 ± 0.09 | 110% |
qwen2 3B Q4_0_8_8 | 1.69 GiB | 3.09 B | CPU | 64 | tg512 | 42.60 ± 0.31 | 105% |
Q4_0_8_8は、プロンプト処理において大幅な向上が見られ、テキスト生成においても小幅な向上が見られます。
どのファイルを選ぶべきか?
詳細を表示するにはクリック
Artefact2による素晴らしい記事があり、さまざまな性能を示すグラフが含まれています。ここ を参照してください。
まず、実行できるモデルのサイズを決定する必要があります。このためには、持っているRAMと/またはVRAMの量を確認する必要があります。
モデルをできるだけ速く実行したい場合は、モデル全体をGPUのVRAMに入れる必要があります。GPUの総VRAMよりも1 - 2GB小さいファイルサイズの量子化モデルを選択してください。
絶対的な最高品質を追求する場合は、システムRAMとGPUのVRAMを合計し、その合計値よりも1 - 2GB小さいファイルサイズの量子化モデルを選択してください。
次に、「I量子化」または「K量子化」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K量子化モデルを選択してください。これらのモデルは「QX_K_X」の形式で、例えばQ5_K_Mです。
詳細を知りたい場合は、非常に便利な機能表を参照してください。
基本的に、Q4以下の量子化を目標とし、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用している場合は、I量子化モデルを検討する必要があります。これらのモデルはIQX_Xの形式で、例えばIQ3_Mです。これらは新しいモデルで、同じサイズでより良い性能を提供します。
これらのI量子化モデルはCPUでも使用できますが、対応するK量子化モデルよりも遅いため、速度と性能のトレードオフを行う必要があります。
🔧 技術詳細
このプロジェクトでは、llama.cppを使用して量子化を行い、imatrixオプションと特定のデータセットを使用してキャリブレーションを行っています。具体的な量子化プロセスと技術的な詳細については、関連するPRとドキュメントを参照してください。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスを採用しています。
謝辞
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。 埋め込み/出力に関するアイデアを提供してくれたZeroWwに感謝します。 このプロジェクトを支援してくれたLM Studioに感謝します。
もし私の仕事を支援したい場合は、私のko-fiページを訪問してください。https://ko-fi.com/bartowski



