モデル概要
モデル特徴
モデル能力
使用事例
quantized_by: bartowski pipeline_tag: text-generation license: apache-2.0 base_model_relation: quantized base_model: nomic-ai/nomic-embed-code tags:
- sentence-transformers
- sentence-similarity
- feature-extraction datasets:
- nomic-ai/cornstack-python-v1
- nomic-ai/cornstack-javascript-v1
- nomic-ai/cornstack-java-v1
- nomic-ai/cornstack-go-v1
- nomic-ai/cornstack-php-v1
- nomic-ai/cornstack-ruby-v1
nomic-aiによるnomic-embed-codeのLlamacpp imatrix量子化
量子化にはllama.cppのリリースb5284を使用しています。
オリジナルモデル: https://huggingface.co/nomic-ai/nomic-embed-code
すべての量子化は、こちらのデータセットを使用してimatrixオプションで作成されました。
LM Studioで実行可能
llama.cppまたは他のllama.cppベースのプロジェクトで直接実行可能
プロンプト形式
<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
以下のファイルをダウンロード(ブランチ全体ではなく):
ファイル名 | 量子化タイプ | ファイルサイズ | 分割 | 説明 |
---|---|---|---|---|
nomic-embed-code-bf16.gguf | bf16 | 14.15GB | false | 完全なBF16ウェイト。 |
nomic-embed-code-Q8_0.gguf | Q8_0 | 7.52GB | false | 非常に高品質、一般的には不要ですが利用可能な最大量子化。 |
nomic-embed-code-Q6_K_L.gguf | Q6_K_L | 5.94GB | false | 埋め込みと出力ウェイトにQ8_0を使用。非常に高品質、ほぼ完璧、推奨。 |
nomic-embed-code-Q6_K.gguf | Q6_K | 5.81GB | false | 非常に高品質、ほぼ完璧、推奨。 |
nomic-embed-code-Q5_K_L.gguf | Q5_K_L | 5.20GB | false | 埋め込みと出力ウェイトにQ8_0を使用。高品質、推奨。 |
nomic-embed-code-Q5_K_M.gguf | Q5_K_M | 5.07GB | false | 高品質、推奨。 |
nomic-embed-code-Q5_K_S.gguf | Q5_K_S | 4.94GB | false | 高品質、推奨。 |
nomic-embed-code-Q4_1.gguf | Q4_1 | 4.53GB | false | レガシーフォーマット、Q4_K_Sと同様の性能ですが、Appleシリコン上でトークン/ワットが改善されています。 |
nomic-embed-code-Q4_K_L.gguf | Q4_K_L | 4.51GB | false | 埋め込みと出力ウェイトにQ8_0を使用。良好な品質、推奨。 |
nomic-embed-code-Q4_K_M.gguf | Q4_K_M | 4.38GB | false | 良好な品質、ほとんどのユースケースに適したデフォルトサイズ、推奨。 |
nomic-embed-code-Q4_K_S.gguf | Q4_K_S | 4.15GB | false | 品質はやや低いがスペース節約効果が大きい、推奨。 |
nomic-embed-code-Q4_0.gguf | Q4_0 | 4.14GB | false | レガシーフォーマット、ARMおよびAVX CPU推論用にオンライン再パッキングを提供。 |
nomic-embed-code-IQ4_NL.gguf | IQ4_NL | 4.13GB | false | IQ4_XSと似ていますが、やや大きい。ARM CPU推論用にオンライン再パッキングを提供。 |
nomic-embed-code-Q3_K_XL.gguf | Q3_K_XL | 3.99GB | false | 埋め込みと出力ウェイトにQ8_0を使用。品質は低いが使用可能、RAMが少ない場合に適しています。 |
nomic-embed-code-IQ4_XS.gguf | IQ4_XS | 3.93GB | false | 良好な品質、Q4_K_Sより小さく同様の性能、推奨。 |
nomic-embed-code-Q3_K_L.gguf | Q3_K_L | 3.85GB | false | 品質は低いが使用可能、RAMが少ない場合に適しています。 |
nomic-embed-code-Q3_K_M.gguf | Q3_K_M | 3.57GB | false | 低品質。 |
nomic-embed-code-IQ3_M.gguf | IQ3_M | 3.34GB | false | 中低品質、Q3_K_Mに匹敵する性能を持つ新しい方法。 |
nomic-embed-code-Q3_K_S.gguf | Q3_K_S | 3.26GB | false | 低品質、非推奨。 |
nomic-embed-code-IQ3_XS.gguf | IQ3_XS | 3.11GB | false | 低品質、Q3_K_Sよりやや優れた性能を持つ新しい方法。 |
nomic-embed-code-Q2_K_L.gguf | Q2_K_L | 2.97GB | false | 埋め込みと出力ウェイトにQ8_0を使用。非常に低品質だが驚くほど使用可能。 |
nomic-embed-code-IQ3_XXS.gguf | IQ3_XXS | 2.88GB | false | 低品質、Q3量子化に匹敵する性能を持つ新しい方法。 |
nomic-embed-code-Q2_K.gguf | Q2_K | 2.84GB | false | 非常に低品質だが驚くほど使用可能。 |
nomic-embed-code-IQ2_M.gguf | IQ2_M | 2.55GB | false | 比較的低品質だが、驚くほど使用可能なSOTA技術を使用。 |
埋め込み/出力ウェイト
これらの量子化の一部(Q3_K_XL、Q4_K_Lなど)は、埋め込みと出力ウェイトが通常のデフォルトではなくQ8_0に量子化された標準的な量子化方法です。
huggingface-cliを使用したダウンロード
クリックしてダウンロード手順を表示
まず、huggingface-cliがインストールされていることを確認してください:
pip install -U "huggingface_hub[cli]"
次に、特定のファイルをターゲットにできます:
huggingface-cli download bartowski/nomic-ai_nomic-embed-code-GGUF --include "nomic-ai_nomic-embed-code-Q4_K_M.gguf" --local-dir ./
モデルが50GBを超える場合、複数のファイルに分割されています。それらすべてをローカルフォルダにダウンロードするには、以下を実行します:
huggingface-cli download bartowski/nomic-ai_nomic-embed-code-GGUF --include "nomic-ai_nomic-embed-code-Q8_0/*" --local-dir ./
新しいlocal-dir(nomic-ai_nomic-embed-code-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を使用する必要があります。
さらに、このPRのおかげで、IQ4_NLを使用すると、ARM用にウェイトを再パッキングします(現時点では4_4のみ)。ロード時間は遅くなる可能性がありますが、全体的な速度向上につながります。
クリックしてQ4_0_X_X情報を表示(非推奨)
このセクションは、Q4_0とオンライン再パッキングを使用した場合の潜在的な理論的なパフォーマンス向上を示すために保持しています。
クリックしてAVX2システム(EPYC7702)上のベンチマークを表示
モデル | サイズ | パラメータ | バックエンド | スレッド | テスト | t/s | % (vs 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-quant」または「K-quant」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K-quantのいずれかを選択してください。これらは「QX_K_X」形式で、Q5_K_Mなどです。
さらに詳しく知りたい場合は、この非常に便利な機能チャートを確認できます:
基本的に、Q4以下を目指していて、cuBLAS(Nvidia)またはrocBLAS(AMD)を実行している場合は、I-quantを検討してください。これらはIQX_X形式で、IQ3_Mなどです。これらは新しく、サイズに対してより優れたパフォーマンスを提供します。
これらのI-quantはCPU上でも使用できますが、K-quant相当よりも遅くなるため、速度とパフォーマンスのトレードオフを決定する必要があります。
クレジット
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
埋め込み/出力の実験にインスピレーションを与えてくれたZeroWwに感謝します。
私の仕事をサポートしてくれたLM Studioに感謝します。
私の仕事をサポートしたいですか?私のko-fiページを訪れてください: https://ko-fi.com/bartowski







