Back home

Setelah model open source dipublikasikan, hal pertama yang menjadi rapuh adalah kunci versi.

Bobot model masih dapat diperoleh, namun versi tetap mungkin tidak dapat direproduksi.

Setelah model sumber terbuka dipublikasikan, versi tetap biasanya yang pertama dilonggarkan, sedangkan file berbobot sering kali merupakan yang paling stabil.

Nama gudang masih ada, dan nama model masih ada, namun masukan sebenarnya yang digunakan untuk menjalankan evaluasi, melakukan regresi, dan menghubungkan lalu lintas seringkali tidak sama. Apa yang kami tarik hari ini adalah main, dan jalurnya akan tetap sama minggu depan, tetapi tokenizer, template, paket kuantisasi, dtype default, dan bahkan parameter yang direkomendasikan di README telah diubah. Apa yang Anda lihat online bukanlah “modelnya menghilang”, tetapi “nama model yang sama menjadi produk lain”.

Setelah mengambil alih akses model beberapa kali, Anda akan menemukan bahwa nilai yang paling mudah diabaikan adalah nilai default. File berat biasanya diawasi oleh seseorang, tetapi tag default, gambar default, template default, dan direktori cache default sering kali dibiarkan begitu saja. Ketika jendela sinkronisasi macet, atau stasiun cermin hanya menyinkronkan bobot tetapi tidak menyinkronkan konfigurasi, tim akan tiba-tiba menemukan bahwa yang mereka pegang bukanlah versi yang dapat direproduksi, melainkan serangkaian nama yang melayang.

Pintu masuk default lebih mudah melayang daripada beban.

File bobotnya statis, entrinya tidak.

model-name:latest Cara penulisannya kelihatannya mudah, namun yang jadi permasalahan adalah meninggalkan persoalan “kapan harus update” ke luar. Jika upstream mengubah tokenizer, menambahkan templat obrolan, atau mengetik ulang paket kuantifikasi, perilaku pihak akses akan berubah. Nilai evaluasi mungkin hanya berfluktuasi sedikit, namun keluaran online akan secara diam-diam mengubah nadanya. Bagian paling menyiksa saat pemecahan masalah ada di sini: semuanya terlihat normal di log, namun kenyataannya, masukan lain dipanggil.

Yang benar-benar tidak mengenakkan bukanlah perubahan itu sendiri, melainkan kenyataan bahwa perubahan itu tidak mengenal batas. Selama namanya tidak berubah, regresi, skala abu-abu, dan tinjauan kecelakaan hanya dapat fokus pada hasil dan menebak alasannya. Nama modelnya masih melekat di sana, tetapi tim tidak memiliki cara untuk memastikan apakah produk yang mereka dapatkan hari ini adalah produk yang sama dengan produk yang diluncurkan minggu lalu.

Gambar, templat, dan paket kuantisasi harus dibekukan bersama

Mengunci beban saja tidak cukup.

Setelah model sumber terbuka benar-benar memasuki alur kerja, biasanya model tersebut berisi lebih dari satu .bin atau .safetensors. Ini juga akan menghadirkan tokenizer, templat obrolan, parameter kerangka inferensi, file kuantifikasi, gambar unduhan, skrip startup, dan jalur cache. Jika salah satu dari mereka menyimpang, pada akhirnya mungkin terlihat bahwa “modelnya menjadi lebih buruk”. Faktanya, seringkali bukan modelnya yang berubah, melainkan paket pengirimannya.

model:
  repo: example/model
  revision: 8f3c1a2
  tokenizer_revision: 8f3c1a2
  cache_dir: /opt/model-cache

Jenis konfigurasi ini tampak bertele-tele, namun menghasilkan tiga hal: gambar bertanggung jawab atas ketersediaan, nomor versi dan hash bertanggung jawab atas reproduktifitas, dan skrip startup bertanggung jawab atas parameter inferensi yang konsisten. Tanpa lapisan-lapisan ini, apa yang disebut model “sudah umum” hanya dapat dianggap sebagai produk setengah jadi. Bagi pihak akses, yang terpenting bukanlah apakah bisa diunduh, melainkan apakah konten yang diunduh masih bisa memberikan hasil yang sama tiga minggu kemudian.

Yang sangat perlu dilestarikan adalah kemampuan bereproduksi

Setelah model open source dipublikasikan, apa yang perlu dilindungi oleh tim bukanlah pintu masuk yang misterius, tetapi reproduktifitasnya.

Setelah reproduksibilitas terganggu, garis dasar evaluasi akan menyimpang, hasil A/B akan terdistorsi, dan pemutaran kecelakaan akan kehilangan referensi. Pada saat semua orang mendiskusikan masalah ini dengan menggunakan pepatah “minggu lalu normal”, manajemen versi pada dasarnya telah gagal. Tidak masuk akal untuk membicarakan kemampuan model pada saat ini; hanya dengan memperketat versi tetap, sinkronisasi gambar, verifikasi hash, dan jalur rollback kita dapat memenuhi syarat untuk terus membicarakan efeknya.

Model jenis ini lebih mirip artefak perangkat lunak daripada layanan web. Jika halaman web rusak, Anda masih dapat melihat 500, dan versi modelnya melayang, dan dalam banyak kasus, outputnya akan berubah secara perlahan. Di permukaan masih memiliki nama yang sama, namun nyatanya separuh sistem telah diubah.