GGUF に保存
モデルを 16 ビットで 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/ggml-org/llama.cpp/blob/master/examples/quantize/quantize.cpp#L19
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 に手動で保存するにはどうすればよいですか?
最終更新
役に立ちましたか?

