Artykuł wyjaśnia, że główne zamieszanie wokół formatów LLM pochodzi z mieszania dwóch niezależnych koncepcji: kontenerów definiujących sposób przechowywania tensorów na dysku oraz metod kwantyzacji określających, jak wagi są kompresowane do mniejszej liczby bitów. Popularne kontenery to safetensors, GGUF i PyTorch pickle (pliki .bin/.pt), a do metod kwantyzacji należą GPTQ, AWQ, bitsandbytes NF4 oraz llama.cpp K-quants i I-quants.

Prosta reguła matematyczna pozwala szybko obliczyć zapotrzebowanie pamięci dla wag: wystarczy pomnożyć parametry przez liczbę bitów na wagę i podzielić przez 8. Model 8B parametrów w 16-bitowej pełnej precyzji zajmuje około 16 GB, podczas gdy w 4,5 bita - około 4,5 GB. Model 70B to odpowiednio około 140 GB versus 39 GB. Należy jednak pamiętać, że to dotyczy tylko wag, ponad to dochodzą koszty KV cache i overhead runtime.

Safetensors, stworzony przez Hugging Face, stanowi bezpieczniejszą alternatywę dla starszych plików pickle. Pickle umożliwia wykonanie dowolnego kodu Python, co stanowi zagrożenie bezpieczeństwa przy załadowaniu niezaufanych modeli. Safetensors to po prostu mały nagłówek JSON plus raw buffery tensorów bez żadnego kodu wykonywalnego. Ważne jest, że większość skwantyzowanych modeli GPTQ, AWQ, EXL2 i EXL3 jest również przechowywana w plikach safetensors - kwantyzacja kodowana jest w zawartości tensorów i pliku konfiguracyjnym, a nie w nowym kontenerze.