GGUF への保存
モデルを 16bit で GGUF に保存して Ollama、Jan AI、Open WebUI などで使えるようにする方法!
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "q4_k_m")
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "q8_0")
model.save_pretrained_gguf("directory", tokenizer, quantization_method = "f16")model.push_to_hub_gguf("hf_username/directory", tokenizer, quantization_method = "q4_k_m")
model.push_to_hub_gguf("hf_username/directory", tokenizer, quantization_method = "q8_0")# https://github.com/ggerganov/llama.cpp/blob/master/examples/quantize/quantize.cpp#L19
# From https://mlabonne.github.io/blog/posts/Quantize_Llama_2_models_using_ggml.html
ALLOWED_QUANTS = \
{
"not_quantized" : "推奨。変換は高速。推論は遅く、ファイルサイズは大きい。",
"fast_quantized" : "推奨。変換は高速。推論はまあまあ、ファイルサイズもまあまあ。",
"quantized" : "推奨。変換は遅い。推論は高速で、ファイルサイズは小さい。",
"f32" : "推奨されません。100%の精度を維持しますが、非常に遅くメモリを大量に消費します。",
"f16" : "変換は最速で100%の精度を維持します。推論は遅くメモリを多く消費します。",
"q8_0" : "変換は高速。リソース使用は高いが、一般的には許容範囲です。",
"q4_k_m" : "推奨。attention.wv と feed_forward.w2 テンソルの半分に Q6_K を使用し、それ以外は Q4_K を使用します",
"q5_k_m" : "推奨。attention.wv と feed_forward.w2 テンソルの半分に Q6_K を使用し、それ以外は Q5_K を使用します",
"q2_k" : "attention.vw と feed_forward.w2 テンソルに Q4_K を使用し、その他のテンソルに Q2_K を使用します。",
"q3_k_l" : "attention.wv、attention.wo、feed_forward.w2 テンソルに Q5_K を使用し、それ以外は Q3_K を使用します",
"q3_k_m" : "attention.wv、attention.wo、feed_forward.w2 テンソルに Q4_K を使用し、それ以外は Q3_K を使用します",
"q3_k_s" : "すべてのテンソルに Q3_K を使用します",
"q4_0" : "元の量子化方法、4ビット。",
"q4_1" : "q4_0 より精度が高いが q5_0 ほどではありません。ただし q5 モデルより推論が速いです。",
"q4_k_s" : "すべてのテンソルに Q4_K を使用します",
"q4_k" : "q4_k_m のエイリアス",
"q5_k" : "q5_k_m のエイリアス",
"q5_0" : "より高い精度、より高いリソース使用、より遅い推論。",
"q5_1" : "さらに高い精度、リソース使用、およびより遅い推論。",
"q5_k_s" : "すべてのテンソルに Q5_K を使用します",
"q6_k" : "すべてのテンソルに Q8_K を使用します",
"iq2_xxs" : "2.06 bpw の量子化",
"iq2_xs" : "2.31 bpw の量子化",
"iq3_xxs" : "3.06 bpw の量子化",
"q3_k_xs" : "3ビットの超小型量子化",
}Unslothでの実行はうまくいきますが、エクスポートして他のプラットフォームで実行すると結果が悪い
GGUF / vLLM 16bit への保存がクラッシュする
手動で GGUF に保存するにはどうすればよいですか?
最終更新
役に立ちましたか?

