Pengantar format file model besar GGUF
Kerangka kerja seperti PyTorch biasanya digunakan untuk pengembangan model bahasa besar, dan hasil pra-pelatihannya biasanya disimpan dalam format biner yang sesuai, seperti file akhiran pt biasanya merupakan hasil pra-pelatihan biner yang disimpan oleh kerangka kerja PyTorch.
Namun, masalah yang sangat penting dengan penyimpanan model besar adalah file modelnya besar, dan struktur, parameter, dll. model juga akan memengaruhi efek penalaran dan kinerja model. Untuk membuat model besar lebih efisien dalam penyimpanan dan pertukaran, ada file model besar dalam format yang berbeda. Di antara mereka, GGUF adalah format file model besar yang sangat penting.
File GGUF adalah singkatan dari GPT-Generated Unified Format, yang merupakan format file model besar yang ditentukan dan dirilis oleh Georgi Gerganov. Georgi Gerganov adalah pendiri proyek open source terkenal llama.cpp.
GGUF adalah spesifikasi untuk file format biner, dan hasil pra-pelatihan model besar asli dikonversi ke dalam format GGUF dan dapat dimuat dan digunakan lebih cepat dan mengkonsumsi sumber daya yang lebih rendah. Alasannya adalah GGUF menggunakan berbagai teknologi untuk mempertahankan hasil pra-pelatihan model besar, termasuk penggunaan format pengkodean biner yang kompak, struktur data yang dioptimalkan, pemetaan memori, dll.
Perbedaan GGUF, GGML, GGMF, dan GGJT
GGUF adalah format biner yang dirancang untuk memuat dan menyimpan model dengan cepat. Ini adalah format file penerus GGML, GGMF, dan GGJT, memastikan kejelasan dengan menyertakan semua informasi yang diperlukan untuk memuat model. Ini juga dirancang agar dapat diskalakan sehingga informasi baru dapat ditambahkan ke model tanpa merusak kompatibilitas.
- GGML (Tanpa Versi): Format dasar tanpa versi atau perataan.
- GGMF (Versi): Sama seperti GGML, tetapi dengan versi.
- GGJT: Sejajarkan tensor untuk memungkinkan penggunaan dengan mmap yang perlu disejajarkan. v1, v2, dan v3 sama, tetapi versi yang lebih baru menggunakan skema kuantisasi berbeda yang tidak kompatibel dengan versi sebelumnya.
Mengapa file model besar format GGUF berkinerja baik
Format file GGUF dapat memuat model lebih cepat karena beberapa fitur utama:
Format biner: GGUF, sebagai format biner, dapat dibaca dan diurai lebih cepat daripada file teks. Biner umumnya lebih kompak, mengurangi operasi I/O dan waktu pemrosesan yang diperlukan untuk membaca dan menguraikan.
Struktur Data yang Dioptimalkan: GGUF dapat menggunakan struktur data yang dioptimalkan secara khusus yang mendukung akses cepat dan pemuatan data model. Misalnya, data dapat diatur sesuai kebutuhan untuk pemuatan memori guna mengurangi pemrosesan saat beban.
Kompatibilitas Pemetaan Memori (mmap): Jika GGUF mendukung pemetaan memori (mmap), ini memungkinkan data dipetakan langsung dari disk ke ruang alamat memori, menghasilkan pemuatan data yang lebih cepat. Dengan cara ini, data dapat diakses tanpa benar-benar memuat seluruh file, yang sangat efektif untuk model besar.
Serialisasi dan Deserialisasi yang Efisien: GGUF dapat menggunakan metode serialisasi dan deserialisasi yang efisien, yang berarti bahwa data model dapat dengan cepat diubah menjadi format yang dapat digunakan.
Beberapa dependensi dan referensi eksternal: Jika format GGUF dirancang untuk mandiri, yaitu semua informasi yang diperlukan disimpan dalam satu file, ini akan mengurangi operasi pencarian dan membaca file eksternal yang diperlukan saat mengurai dan memuat model.
Kompresi Data: Format GGUF dapat menggunakan teknik kompresi data yang efektif, mengurangi ukuran file dan dengan demikian mempercepat proses membaca.
Mekanisme Pengindeksan dan Akses yang Dioptimalkan: Mekanisme pengindeksan dan akses untuk data dalam file dapat dioptimalkan untuk membuat pencarian dan pemuatan fragmen data tertentu diperlukan lebih cepat.
Singkatnya, GGUF mencapai pemuatan model yang cepat melalui berbagai metode pengoptimalan, yang sangat penting untuk skenario yang membutuhkan pemuatan model yang berbeda.
File sampel GGUF:Login hyperlink terlihat. llama.cpp Alamat Proyek:Login hyperlink terlihat. |