5 poin oleh darjeeling 1 jam lalu | 2 komentar | Bagikan ke WhatsApp

Google sempat menghapus fitur tersebut dari rilis publik Gemma 4 yang dilatih dengan MTP, lalu mulai memberi dukungan belakangan dalam bentuk model asisten eksternal setelah hal itu terungkap lewat reverse engineering oleh komunitas.

Saat para pengembang open source menganalisis file .litertlm (berbasis TFLite), format yang didistribusikan Google untuk perangkat mobile/edge, mereka menemukan fakta yang mengejutkan. Arsitektur MTP (Multi-Token Prediction, prediksi multi-token) yang tidak ada pada bobot model standar yang dipublikasikan di HuggingFace ternyata hanya disertakan dalam file hasil kompilasi untuk edge.

Ketika hal ini dipermasalahkan secara terbuka, pihak Google mengakui fakta tersebut dan menjawab sebagai berikut:

> "Head prediksi terkait MTP sengaja dikecualikan dari model publik demi kompatibilitas dengan API HuggingFace Transformers. Di runtime LiteRT, fitur itu dipertahankan untuk meningkatkan performa on-device."

Apa itu MTP

LLM biasa menghasilkan token satu per satu secara berurutan. MTP adalah teknik untuk memprediksi beberapa token sekaligus dalam satu forward pass, dan bila digabungkan dengan speculative decoding, teknik ini dapat sangat meningkatkan kecepatan inferensi tanpa perubahan kualitas output. Secara teori, ini adalah optimasi lossless.

Upaya reverse engineering oleh komunitas

Penemu awal berhasil mengekstrak beberapa file .tflite dari file .litertlm, lalu mempublikasikan file hasil ekstraksi beserta prosedur reproduksinya di HuggingFace sambil meminta bantuan dari orang-orang yang mampu bekerja dengan C++. Setelah itu, para kontributor komunitas mulai melakukan reverse engineering secara serius.

Kendala teknis: Struktur kernel TFLite sangat brutal. Vektor attention berukuran 1024 diquantize ke INT8 → dikalikan dengan bobot INT8 → hasilnya direquantize → lalu didequantize kembali.

Hasil: Setelah beberapa hari kerja intensif, mereka berhasil merekonstruksi hal-hal berikut:

  • Struktur GQA (Grouped-Query Attention) dan pemetaan KV cache eksternal
  • Perilaku sliding local window
  • Jalur kuantisasi pre_project / q_proj / MLP / o_proj / post_project
  • Perilaku RoPE parsial
  • mencapai parity TFLite end-to-end dengan kecocokan top-1 20/20

Lisensinya Apache 2.0 sehingga tidak ada masalah hukum.

Kinerja nyata: seberapa cepat

Hasil pengukuran komunitas (berdasarkan Strix Halo):

Tugas Sebelumnya Setelah MTP diterapkan
Pembuatan kode 8 tps 25 tps (sekitar 3x)
Penulisan umum 7~8 tps 11~14 tps

Dibandingkan speculative decoding pada keluarga LLaMA/Qwen3 yang biasanya berada di kisaran 1.5~1.7x, dengan maksimum sekitar 2x, angka 3x pada coding tergolong tidak biasa. Analisisnya, karena karakteristik pembuatan kode memiliki banyak boilerplate berulang, tingkat penerimaan draft token menjadi lebih tinggi.

Reaksi dan kecurigaan dari komunitas

Kritik besar mengalir ke dua arah.

① Kritik karena tidak didokumentasikan (Undocumented): Google melatih model dengan MTP lalu sengaja menghapusnya dari rilis publik tanpa menyebutkannya sama sekali.

② Kecurigaan motif komersial: muncul klaim bahwa "jika model open source 31B yang berjalan secara lokal menjadi terlalu cepat, itu akan mengancam daya saing API komersial mereka sendiri (seperti Flash Lite), sehingga sengaja di-nerf". Model 122B yang sempat bocor lalu dihapus juga disebut dalam konteks yang sama.

Pilihan struktural Google

Kanal distribusi MTP disertakan atau tidak
Bobot publik HuggingFace ❌ sengaja dihapus
LiteRT (edge/mobile) ✅ tertanam
gemma4_assistant (baru 5/5) ✅ didukung lewat model asisten eksternal

Tanggapan resmi Google yang terlambat (5–6 Mei)

Ketika tekanan dari komunitas makin kuat, pada 5 Mei Google merilis model asisten gemma4_assistant secara terpisah di HuggingFace dan mengumumkan drafter Gemma 4 MTP lewat blog resminya. Bentuknya adalah dukungan jalur memutar dengan memisahkan ke model eksternal fitur yang sebenarnya seharusnya ada di dalam model utama.

  • Kecepatan: peningkatan kecepatan inferensi hingga 3x tanpa penurunan kualitas
  • Model asisten: drafter ringan dengan ukuran sekitar 500M parameter
  • Cara pakai: cukup berikan lewat argumen assistant_model= pada fungsi generate(). Tidak perlu implementasi MTP kustom
  • Lingkungan yang didukung: HuggingFace Transformers, vLLM, MLX(Apple Silicon), LiteRT-LM

> 💡 Ringkasan satu baris: Google sempat menghapus fitur MTP dari rilis publik Gemma 4 yang dilatih dengannya, lalu baru memberi dukungan lewat model asisten eksternal setelah komunitas membongkarnya lewat reverse engineering.