Bandingkan
Safetensors atau ONNX: bobot atau graf model
Safetensors menyimpan tensor bernama. ONNX merepresentasikan model dengan graf komputasi, masukan, keluaran, dan versi operator.
Format mana yang sebaiknya dipilih?
Pertimbangkan Safetensors untuk memuat bobot ke model yang kompatibel, atau ONNX untuk mengirim graf ke runtime yang kompatibel.
Cocok untuk Safetensors
Menyimpan dan mendistribusikan bobot tensor pembelajaran mesin · Memuat bobot di antara framework yang didukung
- Menukar tensor dan metadata dasar alih-alih objek Python sembarang
- Alur kerja yang memeriksa dan memuat tensor terpilih
Cocok untuk ONNX
Menukar graf komputasi dan bobot machine learning dengan runtime yang didukung · Memindahkan model antara framework pelatihan dan lingkungan inferensi
- Inferensi pada runtime yang mendukung operator dan opset model
- Menukar graf model yang mencakup input output dan tipe
Informasi dasar
| Item | Safetensors | ONNX |
|---|---|---|
| Ekstensi | .safetensors | .onnx |
| Tipe MIME | application/octet-stream | application/octet-stream |
| Penggunaan umum | Menyimpan dan mendistribusikan bobot tensor pembelajaran mesin · Memuat bobot di antara framework yang didukung | Menukar graf komputasi dan bobot machine learning dengan runtime yang didukung · Memindahkan model antara framework pelatihan dan lingkungan inferensi |
| Cara membuka | Gunakan pustaka atau alat model yang kompatibel dengan Safetensors. Alat yang didukung dapat menampilkan nama, dtype, dan shape tensor sebelum seluruh bobot dimuat ke perangkat. Header JSON tidak berarti seluruh file adalah dokumen teks JSON. | Muat dengan ONNX checker atau runtime inferensi kompatibel. Sebelum deployment, periksa versi IR/opset, operator, tipe dan shape input/output serta dukungan runtime; bandingkan output dengan model sumber menggunakan input representatif. |
| Ekspor atau konversi | Simpan bobot tensor melalui API yang didukung framework model. Konversi dari masukan berbasis pickle dapat mendeserialisasi masukan itu; jangan memuat sumber yang tidak tepercaya tanpa kewaspadaan. Setelah konversi, bandingkan nama, shape, dtype, jumlah elemen, dan keluaran model. | Ekspor memakai ONNX exporter dari framework sumber lalu validasi struktur dengan ONNX checker. Konversi berhasil tidak menjamin kesetaraan numerik atau eksekusi pada perangkat target. Jika memakai data eksternal, simpan model dan semua file rujukan bersama dalam satu paket distribusi. |
Pilih menurut penggunaan
Menukar tensor dan metadata dasar alih-alih objek Python sembarang
Menyimpan dan mendistribusikan bobot tensor pembelajaran mesin · Memuat bobot di antara framework yang didukung
SafetensorsAlur kerja yang memeriksa dan memuat tensor terpilih
Menyimpan dan mendistribusikan bobot tensor pembelajaran mesin · Memuat bobot di antara framework yang didukung
SafetensorsInferensi pada runtime yang mendukung operator dan opset model
Menukar graf komputasi dan bobot machine learning dengan runtime yang didukung · Memindahkan model antara framework pelatihan dan lingkungan inferensi
ONNXMenukar graf model yang mencakup input output dan tipe
Menukar graf komputasi dan bobot machine learning dengan runtime yang didukung · Memindahkan model antara framework pelatihan dan lingkungan inferensi
ONNXPoin utama 1
Safetensors saja tidak menentukan arsitektur model atau kode inferensi.
Perbedaan lebih lanjutPoin utama 2
ONNX dapat memuat tensor inisialisasi dan merujuk data eksternal.
Perbedaan lebih lanjutPerbedaan lebih lanjut
Keduanya bukan pengganti langsung. Membuat ONNX dari bobot memerlukan definisi model dan proses ekspor yang didukung. Mengganti ekstensi tidak membuat graf.
- Header Safetensors mencatat nama tensor, dtype, shape, dan rentang data. Periksa terpisah indeks pecahan, konfigurasi, tokenizer, dan kebutuhan lainnya.
- Cocokkan IR/opset, operator, dan tipe ONNX dengan runtime, serta pertahankan referensi bobot eksternal. Bandingkan keluaran dengan prapemrosesan sama dan masukan representatif; pemeriksaan struktur tidak menjamin akurasi atau kecepatan.
Pertanyaan umum
Apakah Safetensors dapat dipercaya tanpa memeriksa sumbernya?
Tidak. Format ini menghindari rekonstruksi objek sembarang berbasis pickle, tetapi tidak menjamin keamanan sumber, pemuat, kode dependensi, atau model.