Penjelasan Gemma: Arsitektur dan Urutan Langkah EmbeddingGemma

29 SEP. 2025
Henrique Schechter Vera Research Engineer, Google DeepMind
Juyeong Ji AI DevX, Google DeepMind
Sahil Dua Lead Research Engineer, Google DeepMind

Postingan sebelumnya dalam seri “Penjelasan Gemma” memberikan ringkasan yang mendetail mengenai arsitektur keluarga model Gemma. Anda bisa menemukan link ke setiap postingan di bawah ini:

Dalam postingan ini, Anda akan menjelajahi arsitektur EmbeddingGemma yang baru dan urutan langkahnya. Untuk pengenalan tingkat tinggi, Anda bisa membaca blog pengumuman ini. Untuk melihat metodologi, eksperimen, dan evaluasi secara menyeluruh, silakan baca laporan teknis lengkapnya. Mari kita mulai.

Membongkar EmbeddingGemma

Pernahkah Anda bertanya-tanya bagaimana cara komputer dilatih untuk menginterpretasikan makna dan konteks dalam kata, frasa, atau bahkan seluruh dokumen Anda? Keajaibannya sering kali terletak pada sesuatu yang disebut “embeddings” - representasi numerik yang menangkap esensi dan makna teks. EmbeddingGemma adalah model penyematan yang dapat mengubah teks menjadi sematan. Sematan ini dapat digunakan untuk tugas-tugas seperti penelusuran, retrieval augmented generation, dan pemahaman.

Dari Gemma ke EmbeddingGemma

EmbeddingGemma tidak dibuat dari nol. Ia dimulai sebagai model Gemma 3 300M parameter yang telah dilatih sebelumnya. Model ini kemudian ditransformasi menggunakan metode adaptasi T5Gemma, yang mengonversi model Gemma hanya-decoder asli menjadi arsitektur encoder-decoder. Kami kemudian melakukan inisialisasi EmbeddingGemma dari encoder model baru ini, memastikan bahwa model ini mampu menghasilkan representasi yang ekspresif sejak awal. Pendekatan ini memungkinkan EmbeddingGemma mewarisi banyak “pengetahuan dunia” dari pendahulunya tanpa harus melakukan pelatihan tambahan

training
Perjalanan dari decoder Gemma 3 ke penyemat teks yang kuat

Bagaimana Sematan Dibentuk

Anda bisa menggunakan EmbeddingGemma untuk membuat sematan menggunakan framework seperti Sentence Transformers. Saat diberikan urutan input teks, EmbeddingGemma memprosesnya melalui serangkaian langkah yang dirancang dengan cermat untuk menghasilkan representasi vektor yang ringkas.

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (4): Normalize()
)
Python

(0): Transformer

Urutan input melewati model transformer hanya-encoder ini. Transformer ini menggunakan perhatian dua arah untuk memahami arti setiap token dalam konteks yang disediakan, menghasilkan urutan vektor berdimensi 768, satu untuk setiap token dalam urutan input Anda.

(1): Pooling

Output transformer adalah urutan sematan token. Tugas lapisan pooling adalah mengonversi urutan panjang variabel ini menjadi satu sematan berukuran tetap untuk seluruh input. EmbeddingGemma menggunakan strategi pooling yang disebut “Mean Pooling”. Ini adalah pendekatan yang paling umum, di sini rata-rata dari semua sematan token dihitung.

(2): Dense

Berikutnya, kami menerapkan proyeksi linier untuk menskalakan sematan (768) hingga dimensi sematan yang lebih besar (3072).

(3): Dense

Kemudian kami menerapkan proyeksi linier lain untuk menskalakan sematan berdimensi 3072 yang telah dipelajari ke dimensi target akhir (768).

(4): Normalize

Terakhir, kami menerapkan normalisasi Euclidean, yang memungkinkan perbandingan kemiripan yang efisien. Ini adalah operasi yang lebih sederhana dan terjangkau dibandingkan RMSNorm yang lebih kompleks yang mungkin Anda ingat dari model Gemma lainnya.

embeddinggemma
visualisasi EmbeddingGemma, cara sematan akhir dibentuk dari teks input

Cara EmbeddingGemma Belajar

EmbeddingGemma belajar membuat sematan kuatnya dengan mengoptimalkan kombinasi dari tiga fungsi weighted loss yang berbeda selama pelatihannya.

1. Noise-Contrastive Estimation (NCE) Loss

NCE loss mengajarkan model konsep dasar kesamaan dan kontras. Untuk setiap input (mis., kueri), ia belajar untuk:

  • Mendekatkan “pasangan positif”: Model dilatih untuk meminimalkan jarak antara kueri dan jawaban yang benar dalam ruang sematan.
  • Menjauhkan “pasangan negatif”: Secara bersamaan, ia memaksimalkan jarak antara kueri dan jawaban yang salah dari kumpulan pelatihan yang sama.

Kuncinya adalah penyertaan “hard negatives” (jawaban yang secara semantik mirip dengan kueri tetapi salah atau tidak lengkap). Dengan melatih pada contoh yang rumit ini, model dipaksa untuk mempelajari perbedaan yang halus serta detail yang memisahkan jawaban yang benar dari yang hampir benar.

Ini seperti membangun perpustakaan yang tertata rapi, dengan barang-barang yang memiliki keterkaitan ditempatkan berdekatan satu sama lain, sementara barang-barang yang tidak terkait, dijauhkan.

2. Global Orthogonal Regularizer (GOR)

Loss ini dirancang untuk mendorong EmbeddingGemma menghasilkan sematan yang tersebar di ruang sematan. Bahkan jika model belajar memisahkan hal-hal yang mirip dan tidak mirip, ia mungkin masih malas dan hanya menumpuk semua sematan di sudut kecil yang sama.

Regularizer ini menjadikan sematan kuat terhadap kuantisasi dan memungkinkan penelusuran yang efisien dalam database vektor menggunakan algoritme Approximate Nearest Neighbor (ANN).

3. Geometric Embedding Distillation

Loss ini berfungsi sebagai bentuk distilasi pengetahuan, di sini EmbeddingGemma belajar dari model Gemini Embedding yang lebih besar dan kuat sebagai guru.

Loss meminimalkan jarak L2 (ukuran perbedaan) antara dua sematan model penyematan untuk kueri dan bagian. Ini memungkinkan EmbeddingGemma belajar dari model guru, secara efektif mewarisi sebagian besar pengetahuan dan kemampuannya.

loss
visualisasi dari tiga fungsi loss yang berbeda (NCE Loss, GOR, dan Distillation Loss) yang digunakan EmbeddingGemma untuk pelatihan

Dengan menggabungkan ketiga fungsi loss ini, EmbeddingGemma belajar untuk menghasilkan representasi yang terstruktur dengan baik, ekspresif, dan kuat, sehingga memungkinkan performa yang kuat dalam tugas penelusuran dan pengambilan di dunia nyata.

Matryoshka Representation Learning (MRL)

MRL adalah teknik yang memungkinkan penggabungan representasi berkualitas tinggi yang lebih kecil di dalam representasi yang lebih besar. Sebagai contoh, meskipun sematan EmbeddingGemma berdimensi 768, Anda bisa memotong sematan tersebut dan mendapatkan sematan yang lebih kecil dengan dimensi 512, 256, atau bahkan 128 yang mempertahankan kualitas tinggi.

Selama pelatihan, fungsi loss tidak hanya diterapkan pada sematan berdimensi 768 akhir, tetapi juga pada himpunan bagian sematan yang tumpang tindih (dimensi 512, 256, dan 128 yang pertama). Ini memastikan bahwa bahkan versi terpotong dari sematan penuh adalah representasi yang kuat dan lengkap.

Untuk Anda, ini berarti Anda bisa memilih kompromi yang pas antara performa dan efisiensi untuk aplikasi Anda tanpa perlu melatih atau mengelola beberapa model. Cukup pilih ukuran sematan yang paling sesuai dengan kebutuhan Anda, mulai dari dimensi 768 penuh untuk kualitas maksimum hingga ukuran yang lebih kecil untuk meningkatkan kecepatan dan biaya penyimpanan yang lebih rendah.

mrl
visualisasi Matryoshka Embeddings, yang menunjukkan bahwa dimensi yang bervariasi memengaruhi kompromi antara kualitas dan efisiensi

Urutan Langkah Pengembangan

Perjalanan model mencakup beberapa tahap

  • Pelatihan Encoder-Decoder: Mengadaptasi Gemma 3 seperti yang dijelaskan di atas, melakukan prapelatihan lebih lanjut pada data Gemma 3 dengan UL2.
  • Pra Penyempurnaan: Pelatihan pada campuran tugas yang besar dan beragam (menjawab pertanyaan, kemiripan kalimat, pengambilan kode, penelusuran web) dan bahasa, menggunakan ukuran batch yang lebih besar dan pasangan (kueri, target) tanpa hard negatives.
  • Penyempurnaan: Menyempurnakan model pada campuran set data khusus tugas yang lebih kecil dan berkualitas lebih tinggi, memanfaatkan hard negatives dan ukuran batch yang lebih kecil. Tingkat campuran tugas dioptimalkan menggunakan pengoptimalan Bayesian.
  • Model Souping: Menggabungkan model dari proses penyempurnaan dengan menghitung rata-rata parameternya untuk meningkatkan kualitas dan ketahanan. Model akhir adalah rata-rata tak berbobot titik pemeriksaan dari proses penyempurnaan dengan beberapa campuran penyempurnaan yang berbeda.
  • Quantization-Aware Training (QAT): Diterapkan selama penyempurnaan untuk memberikan versi yang dikuantisasi (mis., int4 per-blok dan presisi campuran per-saluran), yang memiliki jejak memori yang lebih kecil, dengan degradasi kualitas minimal.

Dengan secara cermat mengadaptasi model dasar yang kuat dan menyempurnakannya dengan pendekatan pelatihan multifaset, arsitektur EmbeddingGemma dirancang untuk memberikan representasi teks yang sangat efektif dan serbaguna yang cocok untuk berbagai aplikasi.

Ringkasan

Kami menjelajahi arsitektur EmbeddingGemma, sebuah model yang kuat untuk menghasilkan sematan teks. Kami mempelajari asal-usulnya, proses pembuatan sematan, dan urutan langkah pengembangannya. Untuk mempelajari metodologi pelatihan, tolok ukur evaluasi, dan seluruh hasil eksperimental secara mendalam, kami menyarankan Anda membaca laporan teknis resmi.

Model seperti EmbeddingGemma memimpin jalan untuk teknologi semantik yang lebih efisien dan kuat. Ketika model-model ini semakin mumpuni dan mudah diakses, kita bisa berharap untuk melihat kemajuan dalam beberapa area utama seperti Retrieval-Augmented Generation (RAG), AI di perangkat, dan hiper-personalisasi.

Temukan bobot model di Hugging Face, Kaggle, Vertex AI, dan mulailah berkreasi sekarang juga.

Terima kasih sudah membaca!