DeepInfer Terbuka, tetapi Layanan API Masih Harus Dirangkai
Server yang menjawab “Hello world!” dapat membuktikan format respons tanpa membuktikan model berjalan. Contoh API deepseek-recipe memang memakai inferensi tiruan. Mesin sebenarnya ada di DeepInfer. Menghubungkannya menjadi layanan andal tetap membutuhkan rekayasa.
DeepSeek mengumumkan DeepInfer pada 20 Oktober sebagai mesin di balik layanan V4.1-Flash berskala besar. Namun rilis publik menyediakan inferensi luring dan menyebut bagian layanan lengkap yang belum disertakan. Pustaka protokol membuat batas itu terlihat, bukan menghapusnya. Kami memeriksa revisi tetap tanpa membangun lingkungan akselerator, menjalankan bobot, atau mereplikasi performa. Nilainya adalah implementasi yang bisa dibaca, bukan penghematan aplikasi yang sudah terukur.
Mesin publik belum menjadi layanan lengkap
Dukungan mencakup V4.1-Flash, NVIDIA SM100, Huawei Ascend 950, dengan Linux, Python 3.12 serta CUDA atau CANN sesuai platform. Ini bukan peluncur umum untuk sembarang perangkat tim kecil.
Yang belum termasuk adalah sistem cache KV, pemisahan encoder visual/prefill/decode, serta penyeimbangan beban antarreplika paralel. Cache KV menyimpan keadaan attention token sebelumnya; prefill memproses masukan, decode melanjutkan keluaran. Pemisahan memungkinkan alokasi sumber daya berbeda. Banyak fungsi mesin yang diperlukan sudah ada, tetapi susunan layanan lengkap belum diberikan.
Bayangkan tim yang memakai API eksternal. Satu pekerjaan luring berhasil hanya menunjukkan konfigurasi itu menyelesaikan satu generasi. Permintaan bersamaan, pembatalan, penempatan cache, dan kegagalan worker belum terjawab. Tim infrastruktur bisa mempelajari mesin; tim aplikasi tanpa klaster bisa bertanya lebih tepat kepada penyedia. Akses kode dan kesiapan operasi adalah dua capaian berbeda yang sama-sama bernilai.
Throughput bergantung pada hitungan token draf
Decoding spekulatif mengusulkan beberapa token lalu memverifikasi mana yang diterima. Dokumen contoh membedakan throughput prefill, langkah decode per detik, dan token. Salah satu hitungan mengasumsikan seluruh draf diterima. Usulan beberapa token belum berarti semuanya menjadi keluaran.
Kode grafik memakai 1 + nextn × draft_acceptance untuk draf panjang tetap. Angka penerimaan masukan diubah menjadi kontribusi asumsi. Mode panjang variabel ditolak pada jalur ini karena laju langkahnya sudah mencakup perilaku penerimaan; penyesuaian lagi akan menghitung dua kali.
Estimasi bersyarat, laju token benar-benar diterima, dan waktu sampai jawaban berguna berbeda. Catat panjang input, prefiks cache, batch, dan mode draf. Grafik utama memakai empat SM100 untuk prefill dan 64 untuk decode, masing-masing dalam satu domain scale-up. Ini bukan janji kedua kurva pada empat perangkat. Skrip sweep memberi jalur reproduksi, bukan hasil reproduksi NxCode.
Aplikasi juga perlu menghitung jawaban selesai yang dapat diterima. Aliran cepat yang berulang karena kesalahan format alat bisa membuat pengguna menunggu lebih lama. Perilaku sumber daya dan hasil produk perlu ukuran berbeda.
Keterulangan membutuhkan konfigurasi, bukan sekadar seed
Inferensi invarian batch pada NVIDIA bertujuan menjaga hasil saat permintaan tetangga berubah. Sampling deterministik juga mensyaratkan seed urutan tetap dan MTP panjang variabel dinonaktifkan. Itu kombinasi pengaturan, bukan jaminan semua eksekusi dengan satu seed.
Saat menyelidiki regresi, simpan model, revisi mesin, input bertoken, sampling, dan pengaturan eksekusi. Membandingkan teks prompt saja dapat melewatkan pengaruh permintaan lain dalam batch.
Kesalahan yang terulang tetap salah. Skema valid pun bisa memuat fakta keliru. Contoh keluaran terstruktur memasangkan permintaan cerita bebas dengan batas regex, JSON, dan tata bahasa. Yang diuji adalah bentuk, bukan kebenaran bisnis. Pisahkan perilaku backend, parsing klien, dan kegunaan agar penyebab kegagalan terlihat.
Konversi protokol tidak menjalankan model atau alat
README recipe menjelaskan pustaka Rust dan binding Python yang mengubah permintaan menjadi percakapan bersama, merender prompt, dan mengurai keluaran. Pemanggil menyediakan inferensi, eksekusi alat, dan HTTP.
Recipe memilih batas keluaran, tetapi pemanggil menentukan apakah backend memaksakannya lewat constrained decoding. Menulis skema JSON dalam prompt belum menghubungkan mekanisme pembatas mesin. Kolom tampak kompatibel bisa menyembunyikan semantik yang hilang.
Asisten janji temu hipotetis tidak memesan slot hanya dengan mengonversi definisi atau mengurai panggilan. Aplikasi memvalidasi argumen, memanggil sistem pemesanan, lalu mengembalikan hasil. Ini ilustrasi pembagian tugas, bukan integrasi yang kami jalankan. Saat migrasi, periksa pula pengaturan berpikir, alasan berhenti, dan apakah skema benar-benar dipaksakan. Satu jawaban teks biasa tidak membuktikannya.
Aliran yang meyakinkan masih bisa berupa tiruan
Panduan streaming mengonversi chunk inferensi tiruan menjadi chunk protokol. Python memproses chunk dan menyelesaikan pemrosesan respons. Ini berguna untuk memahami adapter tanpa klaster.
Server Rust menyediakan tiga format, JSON dan SSE, tetapi mengembalikan sapaan tiruan tanpa bobot. Contoh tidak memiliki autentikasi, dan pengambil gambarnya tidak menyaring alamat privat; dokumen meminta tetap di loopback lokal. Itu batas contoh, bukan bukti insiden layanan DeepSeek.
Peramban yang menerima event hanya memverifikasi jalur yang dipakai. Event, penggunaan token, dan akhir aliran harus terhubung ke inferensi nyata. Menghentikan komputasi setelah klien putus berbeda dari berhenti menampilkan token. Jika respons pemesanan hilang, periksa apakah reservasi sudah ada sebelum mengulang tindakan. Parsing dan keberhasilan tindakan adalah peristiwa berbeda yang tidak dapat disimpulkan konverter sendiri.
Pisahkan penyelidikan pertama menjadi beberapa eksperimen
Panduan evaluasi memisahkan generasi dan penilaian, menyimpan keluaran mentah sehingga penilai lain dapat dipakai tanpa generasi ulang. Pass@1 mensyaratkan cakupan lengkap. Penilai model bisa stokastik, aturan ekstraksi tetap tidak; HLE hanya mendukung penilai model. Decoding berulang tidak membuat model penilai lain deterministik.
Dengan perangkat sesuai, buat baseline luring beserta pengaturannya, kemudian periksa protokol terpisah. Tim yang mengevaluasi penyedia dapat meminta bukti sama tanpa mengaku mengoperasikan klaster.
| Eksperimen | Bukti yang dibutuhkan |
|---|---|
| Mesin | Keluaran nyata pada perangkat, bobot, dan revisi yang disebut |
| Throughput | Input, cache, batch, mode draf, dan cara hitung |
| Protokol | Makna permintaan, batas, akhir aliran, dan penggunaan |
| Aplikasi | Hasil eksternal termasuk setelah terputus atau dicoba ulang |
Pembangun NxCode perlu menentukan pertanyaan yang dimiliki sendiri. Pemakai API tidak harus membangun ulang seluruh penyedia, tetapi tim swakelola juga tidak boleh melewati layanan setelah satu contoh luring berhasil. DeepInfer dan recipe membuka batas berbeda. Dasar adopsi harus menghubungkan mesin nyata dengan layanan nyata, bukan memakai sapaan tiruan sebagai bukti keduanya.
