Back home

Setelah model open source dipublikasikan, yang paling rapuh adalah rute default

Hanya karena modelnya masih dapat diunduh tidak berarti pintu masuk default akan selalu tersedia.

Ajukan pertanyaan “Dapatkah Amerika Serikat disegel?” dan jawabannya biasanya kurang dramatis. File berbobot belum tentu hilang dari dunia, tetapi rute default dapat dengan mudah diganti. Selama alamat Hub, nilai default SDK, dan pintu masuk inferensi online digunakan sebagai hal yang biasa, otomatisasi berikutnya akan rapuh.

Mulai dari sebuah alamat

Model open source dimulai hanya sebagai sebuah alamat. Tarik, evaluasi, terapkan, kembalikan, semua tindakan mengarah ke pintu masuk yang sama. Ketika hulu tidak berubah, jalur ini tampak “mulus” bahkan alami; ketika upstream berubah, saya menyadari bahwa yang saya andalkan bukanlah kemampuan model, tetapi jalur default.

Breakpoint yang paling umum dalam suatu proyek bukanlah “tidak bisa mendapatkan modelnya sama sekali”, tetapi “masih bisa mendapatkannya, tapi bukan yang asli”. Sinkronisasi mirror lambat, alias dialihkan, akses regional dibatasi, versi default dipindahkan, tetapi skrip masih berjalan di alamat lama. Model ontologinya masih ada, namun prosesnya mulai menyimpang.

Kegagalan terjadi pada otomatisasi terlebih dahulu

Tidak sulit untuk mengganti gambar secara manual, namun kesulitannya adalah otomatisasi tidak memahaminya dengan sendirinya. CI, evaluasi terjadwal, konstruksi kontainer, catatan eksperimen, contoh dokumen, dan skrip lokal rekan kerja semuanya dapat menyalin nilai default yang sama. Selama tidak ada yang berubah, pintu masuk lama akan terus muncul.

Di sinilah istilah “segel” paling menyesatkan. Perubahan sebenarnya seringkali bukan karena bobotnya dihapus, tetapi nilai defaultnya ditulis ulang. Namanya masih sama dari luar, tetapi pintu masuk, versi, dan dependensinya telah diubah di dalamnya. Bagi manusia, ini hanyalah sebuah saklar; untuk otomatisasi, ini adalah penyimpangan perilaku yang luas.

Berat dapat dipindahkan, tetapi nilai default tidak dapat dipindahkan.

Keuntungan penting dari model sumber terbuka adalah bobot dapat disalin, dicerminkan, di-fork, dan disimpan secara offline. Masalahnya adalah file tersebut disalin, bukan jalur default. Selama pihak konsumen masih menganggap pintu masuk eksternal tertentu sebagai satu-satunya kebenaran, betapapun terbukanya bobotnya, cara pengoperasiannya akan tetap dipengaruhi oleh aturan eksternal.

Yang lebih merepotkan lagi adalah perubahan ini belum tentu langsung menimbulkan error. Berkali-kali sepertinya masih bisa berjalan, namun hasilnya berbeda: satu set evaluasi diteruskan pada mirror A, dan set lainnya diguncang pada mirror B; satu versi tersedia secara lokal, tetapi menjadi set patch lain ketika mencapai pipeline; dengan nama model yang sama, perilaku sebenarnya mulai berbeda.

Ada dua hal yang perlu dibedakan di sini. Masalah rantai pasokan lebih mirip manajemen file dan manajemen versi, dan masalah perutean default lebih mirip pengambilan keputusan waktu proses. Yang pertama peduli apakah ada cadangan, dan yang terakhir peduli tentang jalur mana yang harus diambil permintaannya terlebih dahulu. Selama nilai default ditulis secara eksternal, tindakan eksternal bisa langsung menimpa alur kerja.

Yang perlu ditambah adalah pin, mirror dan rute fallback.

Solusinya tidak rumit, namun hanya sedikit orang yang menganggapnya sebagai prioritas pertama.

Versi tersebut harus disematkan pada penerapan, hash, atau rilis yang jelas tertentu, dan tidak bergantung pada nama seperti terbaru yang dapat melayang dalam waktu lama. Yang terbaik adalah menempatkan bobot, tokenizer, konfigurasi, dan gambar inferensi ke dalam gudang internal bersama-sama, setidaknya untuk memastikan bahwa bobot tersebut dapat dibangun kembali ketika jaringan terputus. Pintu masuk default harus memiliki rute cadangan dan tidak boleh hanya memiliki satu alamat online. Sampel evaluasi dan hasil lama juga harus disimpan dalam arsip, jika tidak maka tidak akan jelas bahkan “seberapa banyak yang berubah”.

Semua hal ini tampak seperti detail pengoperasian dan pemeliharaan, namun sebenarnya mengambil kembali kendali dari default eksternal. Tanpa lapisan penutupan ini, open source hanya akan menghadirkan “tampilan kebebasan” tetapi bukan “kemampuan pengendalian yang sebenarnya”.

Setelah model open source dipublikasikan, yang benar-benar rapuh bukanlah bobotnya sendiri, melainkan rute defaultnya. Selama pintu masuk masih dikontrol oleh nilai default orang lain, alur kerja akan tetap terguncang ketika model dibuka kembali.