Layanan Distilasi Gemini

Gemini Distillation Service (Distilasi) memungkinkan pengguna melatih model "siswa" yang lebih kecil dan lebih efisien yang menggunakan output dan pola penalaran model "pengajar" yang lebih besar dan lebih mumpuni. Meskipun model canggih menentukan teknologi AI terdepan, model ini dapat kelebihan kapasitas untuk kasus penggunaan perusahaan tertentu. Distilasi menjembatani kesenjangan ini, sehingga memungkinkan efisiensi tingkat produksi (latensi dan biaya yang lebih rendah) sekaligus memungkinkan model yang lebih kecil mencapai tingkat penalaran yang lebih mendalam.

Tidak seperti penyesuaian yang diawasi standar (SFT) yang hanya menggunakan output teks akhir, distilasi memanfaatkan:

  • Respons pengajar: Output tekstual akhir.
  • Pemikiran mentah: Jalur penalaran internal yang dihasilkan oleh model pengajar.

Model yang didukung

Model berikut didukung untuk Distilasi selama akses awal:

  • Model pengajar: gemini-3.1-pro
  • Model siswa: gemini-2.5-flash

Diagram alir yang menggambarkan proses distilasi model AI 5 langkah. Langkah 1: Input
Dataset (GCS) menggunakan Set Data Perintah (JSONL) dan Set Data Validasi opsional.
Langkah 2: Penyerapan & Persiapan Data melibatkan Validasi Format dan Sharding untuk Pemrosesan Paralel. Langkah 3: Inferensi Model Pengajar menggunakan model Pengajar
(Gemini 3.1 Pro) untuk menghasilkan set data berlabel berkualitas tinggi yang terdiri dari
Respons Mendetail dan Jalur Penalaran Internal. Langkah 4: Pelatihan Distilasi
menggunakan model Siswa (Gemini 2.5 Flash), yang belajar meniru proses berpikir
Pengajar menggunakan respons, pola penalaran, dan distribusi. Langkah 5:
Output: Pembuatan Model yang Diperkecil menghasilkan tiga item: Model yang Diperkecil Akhir yang terdaftar ke Model Registry, 10 Checkpoint Menengah yang terdaftar untuk evaluasi, dan Endpoint Prediksi Platform Agen yang dibuat secara otomatis untuk checkpoint.

Gambar 1. Ilustrasi sistem tentang cara kerja Gemini Distillation Service.

Kasus penggunaan yang cocok

Distilasi direkomendasikan daripada perintah standar atau penyesuaian yang diawasi (SFT) dalam skenario berikut:

  • Aplikasi volume tinggi yang sensitif terhadap latensi: Jika aplikasi Anda memerlukan kemampuan penalaran model tingkat Pro, tetapi harus memenuhi SLA latensi yang ketat atau batasan anggaran yang memerlukan model tingkat Flash.
  • Tidak adanya data ground truth (SFT tidak layak): Jika Anda memiliki set data besar berisi perintah atau kueri pengguna, tetapi tidak memiliki resource untuk memberi label atau menghasilkan jawaban ground truth berkualitas tinggi secara manual yang diperlukan untuk SFT standar.
  • Tugas penalaran yang kompleks: Tugas yang melibatkan logika multi-langkah, ringkasan dokumen yang sangat teknis, atau tugas coding yang kompleks yang membuat model Flash dasar kesulitan, tetapi model Pro berhasil.
  • Kesenjangan performa yang signifikan: Jika model pengajar secara substansial mengungguli model siswa dasar pada tugas spesifik Anda, sehingga memberikan margin pengetahuan yang jelas untuk ditransfer selama distilasi.

Prasyarat dan penyiapan project

Sebelum memulai tugas distilasi, pastikan lingkungan Anda dikonfigurasi dengan benar: Google Cloud

  1. Minta akses ke daftar yang diizinkan: Pastikan Google Cloud project ID Anda telah ditambahkan ke daftar yang diizinkan untuk akses awal Gemini Distillation Service. Hubungi sales rep Google Anda untuk menambahkan project Anda ke daftar yang diizinkan.
  2. Aktifkan API: Aktifkan Agent Platform API di Google Cloud project Anda.
  3. Tetapkan izin peran IAM: Anda harus memiliki peran IAM Agent Platform Administrator (roles/aiplatform.admin) .
  4. Tetapkan region: Tugas distilasi harus dijalankan di us-central1 region.

Persiapan set data

Fitur utama layanan ini adalah penggunaan set data khusus perintah. Karena model pengajar menghasilkan output target selama proses distilasi, Anda tidak perlu memberikan jawaban yang diharapkan.

Persyaratan set data

Set data harus dalam format JSON Lines (JSONL) dan disimpan dalam bucket Cloud Storage. Setiap entri harus mematuhi format set data penyesuaian Gemini selain hal berikut:

  • Petunjuk sistem: Anda dapat menyertakan systemInstruction kolom opsional (dengan peran 'sistem') untuk menentukan perintah sistem.
  • Input: Kolom konten (dengan peran 'pengguna') diperlukan untuk input utama.
  • Perintah multi-turn: Anda dapat bergantian antara peran 'pengguna' dan 'model', asalkan entri terakhir dalam urutan adalah 'pengguna'.

Berikut adalah dua contoh file dataset.jsonl:

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
        }
      ]
    }
  ]
},
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "You're the artist here. Choose as many strands of thread as you like, as long as you're using three or more. Go for color combinations that you think would make a pretty pattern. Get creative! If you only use one color of thread, you won't be able to create a pattern.\n\nProvide a summary of the article in two or three sentences:\n\n"
        }
      ]
    },
    {
      "role": "model",
      "parts": [
        {
          "text": "Choose several strands of embroidery thread in a variety of colors."
        }
      ]
    },
    {
      "role": "user",
      "parts": [
        {
          "text": "You will need one egg (raw or hard boiled but hard boiled is best) and one spoon for each person participating in the race. You might even like to use dyed Easter eggs as something special for Easter. It's best to have this race on grass or some other soft surface, to give dropped eggs a chance!"
        }
      ]
    }
  ]
}

Praktik terbaik

Gunakan panduan berikut saat membuat set data:

  • Ukuran: Minimal 1.000 contoh direkomendasikan untuk peningkatan kualitas yang terlihat .
  • Keragaman: Pastikan perintah Anda mencakup kasus ekstrem dan berbagai panjang yang diharapkan dalam traffic produksi Anda.

Mengonfigurasi permintaan distilasi

Tugas distilasi memerlukan konfigurasi perilaku pembuatan pengajar dan hyperparameter pelatihan siswa.

Mengonfigurasi perilaku pembuatan model pengajar

Anda harus menentukan cara model pengajar merespons set data Anda. Kualitas model siswa secara langsung terikat oleh kualitas output pengajar. Untuk mengonfigurasi perilaku pembuatan model pengajar, tetapkan candidateCount:

  • candidateCount: Jumlah variasi respons yang akan dihasilkan. (Contoh: 4. Rentang [1, 5]). Jika tidak ditentukan dalam permintaan, nilai default 4 akan digunakan.

Menetapkan hyperparameter distilasi

Hyperparameter distilasi mengontrol proses pelatihan model siswa. Untuk mengetahui informasi selengkapnya tentang hyperparameter di Gemini Enterprise Agent Platform, lihat bagian "Membuat tugas penyesuaian" di panduan penyesuaian yang diawasi.

Hyperparameter berikut harus ditetapkan saat membuat tugas distilasi:

  • epochCount: Jumlah iterasi model siswa atas set data. (Contoh: 20. Rentang [1, 100]). Jika tidak ditentukan, nilai default 4 akan digunakan.
  • learningRateMultiplier: Mengubah kecepatan pembelajaran dasar model siswa. (Contoh: 2.0. Rentang [0.25, 4]). Jika tidak ditentukan, nilai default 1 akan digunakan.

Memulai tugas distilasi

Selama periode akses awal, Anda dapat mengirim dan memantau tugas distilasi menggunakan versi REST Agent Platform API. Anda dapat memulai tugas distilasi baru atau melakukan penyesuaian berkelanjutan pada checkpoint model yang sudah didistilasi.

Membuat tugas distilasi baru

Buat file JSON bernama request.json yang berisi konfigurasi tugas Anda. Dalam contoh berikut, konfigurasi pembuatan pengajar berada di dalam kolom hyperParameters:

{
    "description": "Distillation testing job.",
    "baseModel": "gemini-2.5-flash",
    "tunedModelDisplayName": "flash-distillation-run-1",
    "distillationSpec": {
        "promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
        "validationDatasetUri": "",
        "base_teacher_model": "gemini-3.1-pro-preview",
        "hyperParameters": {
            "epochCount": "20",
            "learningRateMultiplier": 2.0,
            "generation_config": {
              "candidateCount": 5
            }
        }
    }
}

Kirim tugas menggunakan curl:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
  -d @request.json

Melakukan penyesuaian berkelanjutan

Jika Anda ingin melanjutkan penyesuaian dari checkpoint model yang sebelumnya didistilasi, sertakan blok preTunedModel dalam file request.json Anda. Penyesuaian berkelanjutan hanya didukung untuk checkpoint model yang sebelumnya didistilasi, dengan model siswa dasar yang sama. Checkpoint model yang sebelumnya disesuaikan yang diawasi (bahkan dengan model siswa dasar yang sama) tidak didukung.

Berikut adalah contoh penyiapan penyesuaian berkelanjutan untuk checkpoint model yang sebelumnya didistilasi:

{
    "description": "Continuous distillation testing job.",
    "preTunedModel": {
      "tunedModelName": "projects/YOUR_PROJECT_ID/locations/us-central1/models/PRETUNED_MODEL_ID@1",
      "checkpointId": "1",
      "baseModel": "gemini-2.5-flash"
    },
    "tunedModelDisplayName": "flash-distillation-continuous",
    "distillationSpec": {
        "promptDatasetUri": "gs://your-bucket/path/to/prompt_dataset.jsonl",
        "validationDatasetUri": "",
        "base_teacher_model": "gemini-3.1-pro-preview",
        "hyperParameters": {
            "epochCount": "20",
            "learningRateMultiplier": 2.0,
            "generation_config": {
              "candidateCount": 5,
            }
        }
    }
}

Kirim payload menggunakan curl:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs \
  -d @request.json

Memantau tugas distilasi

Respons pengiriman akan menampilkan nama tugas yang berisi JOB_ID. Anda dapat memeriksa status tugas Anda (state, error, dan hyperparameter akhir) dengan mengirim permintaan GET:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  https://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/us-central1/tuningJobs/JOB_ID

Anda juga dapat memantau progres secara visual di Google Cloud konsol dengan membuka Agent Platform > Tuning dan memilih us-central1 region.

Untuk rilis akses awal ini, UI Konsol Platform Agen memiliki batasan umum berikut:

  • Progres sampling pengajar: Tidak ada widget progres untuk proses sampling model pengajar. Meskipun statusnya mungkin menampilkan "Running Prepare for tuning", tugas akan berjalan normal di latar belakang.
  • Diagram penyesuaian siswa: Selama tahap penyesuaian model siswa, UI menyediakan diagram untuk kurva Kerugian dan total token teks pelatihan.
  • Tabel checkpoint: UI menampilkan tabel checkpoint perantara dan link ke endpoint prediksi Platform Agen yang dihasilkan untuk evaluasi. Kolom "Epoch" dalam tabel ini menampilkan '0' karena masalah umum.

Membatalkan tugas distilasi

Untuk membatalkan tugas distilasi yang sedang berlangsung, lakukan salah satu hal berikut:

  • Gunakan Google Cloud konsol, dengan mengubah URL berikut:

    https://console.cloud.google.com/agent-platform/tuning/managed?project=YOUR_PROJECT_ID&vertex_ai_region=us-central1

    Ganti YOUR_PROJECT_ID dengan project ID Anda.

  • Gunakan curl untuk mengirim permintaan POST guna membatalkan tugas:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_ID:cancel
    

    Ganti kode berikut:

    • YOUR_PROJECT_ID dengan project ID Anda.
    • YOUR_JOB_ID dengan ID tugas Anda.

Mengevaluasi Hasil

Setelah tugas distilasi berhasil diselesaikan, model siswa baru akan otomatis didaftarkan di Gemini Enterprise Agent Platform Model Registry, dan satu atau beberapa endpoint khusus akan dibuat untuk menayangkan prediksi. Untuk mengevaluasi hasilnya, Anda harus menemukan endpoint, mengirim permintaan prediksi, dan akhirnya mengevaluasi.

Untuk mengevaluasi hasilnya, lakukan hal berikut:

  1. Kirim permintaan GET berikut untuk melihat status tugas penyesuaian.

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/tuningJobs/YOUR_JOB_ID
    

    Ganti kode berikut:

    • YOUR_PROJECT_ID dengan project ID Anda.
    • YOUR_JOB_ID dengan ID tugas Anda.
  2. Tugas yang selesai menampilkan kolom endpoint yang berada di dalam objek tunedModel. Ekstrak ENDPOINT_ID dari akhir string jalur yang ditampilkan (misalnya, projects/.../endpoints/YOUR_ENDPOINT_ID). Perhatikan ID endpoint.

    Pastikan tugas penyesuaian berhasil diselesaikan, karena endpoint tidak tersedia saat tugas penyesuaian masih berjalan atau gagal. Jika kolom endpoint tidak ada, debug tugas penyesuaian dengan melihat kunci state atau error tugas.

  3. Buat permintaan payload JSON bernama generate_content_request.json yang berisi perintah Anda:

    {
      "contents": {
        "role": "user",
        "parts": [
          {
            "text": "hi, say something"
          }
        ]
      }
    }
    
  4. Gunakan contoh POST berikut untuk mengirim permintaan prediksi:

    curl -X POST \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      https://us-central1-aiplatform.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/locations/us-central1/endpoints/YOUR_ENDPOINT_ID:generateContent \
      -d @generate_content_request.json
    

    Ganti kode berikut:

    • YOUR_PROJECT_ID: project ID Anda.
    • YOUR_JOB_ID: ID tugas Anda.
    • ENDPOINT_ID: ID endpoint Anda.
  5. Lakukan hal berikut untuk mengevaluasi hasilnya:

    1. Jalankan set pengujian holdout, menggunakan perintah yang tidak disertakan dalam data pelatihan, terhadap model yang baru didistilasi.

    2. Bandingkan output dengan model gemini-2.5-flash dasar untuk mengukur peningkatan kualitas.

    3. Bandingkan output dengan model gemini-3.1-pro untuk menentukan seberapa dekat siswa memperkirakan penalaran pengajar.

Batasan

Tabel berikut menjelaskan batasan untuk Distilasi:

Distilasi tunduk pada batasan berikut:

  • Batasan model:
  • Pembatasan set data:
    • Batas volume:
      • Kapasitas set pelatihan maksimum adalah 50.000 contoh.
      • Ukuran file JSONL sumber tidak boleh melebihi 1 GB.
    • Spesifikasi jendela konteks:
      • Layanan ini mengakomodasi maksimum 8.000 token input per entri. Tugas distilasi akan dihentikan jika lebih dari 10% entri yang diberikan melebihi batas yang ditetapkan ini.
      • Sampling model pengajar dibatasi hingga output maksimum 24.000 token. Jika model pengajar menghasilkan lebih dari 24.000 token, konten akan dipangkas pada batas ini, yang dapat memengaruhi performa model siswa.
    • Modalitas: Terbatas untuk data berbasis teks. Tidak ada dukungan untuk input multimodal termasuk video, gambar, atau panggilan fungsi.
  • Batasan konfigurasi dan hyperparameter
    • Patuhi batasan berikut saat menentukan distillationSpec dan hyperParameter terkait:
      • Enkripsi: CMEK tidak tersedia untuk tugas distilasi yang melibatkan model pihak pertama Google.
      • epochCount: Dibatasi ke nilai bilangan bulat antara 1 dan 100.
      • learningRateMultiplier: Nilai harus berada dalam rentang floating point 0.25-4.0.
  • Distilasi satu langkah: Sampling model pengajar dan penyesuaian model siswa berjalan dalam satu panggilan API. Jika Anda memiliki data dalam jumlah besar untuk diambil sampelnya, data yang sama harus diambil sampelnya lagi dalam penyesuaian berikut.

Mendapatkan akses

Jika Anda tertarik untuk bereksperimen dengan Gemini Distillation Service, hubungi tim Tuning Service kami di cloud-ai-tuning-service-support@google.com untuk meminta akses dan daftar yang diizinkan project.

Untuk memastikan performa dan pengelolaan resource yang optimal, sebaiknya buat project Google Cloud khusus untuk tugas distilasi Anda. Saat menghubungi tim kami, berikan Project ID atau nomor project Anda untuk mempercepat proses daftar yang diizinkan.

Kuota dan Kebijakan Akses

Kuota dan kebijakan akses berikut berlaku:

  • Kapasitas: Project yang baru ditambahkan ke daftar yang diizinkan kami akan disediakan dengan kuota serentak default sebesar 4. Untuk mencegah pertentangan resource, sebaiknya gunakan project terpisah, bukan project yang sudah menjalankan tugas penyesuaian Gemini lainnya.

  • Periode akses: Akses diberikan untuk periode awal 30 hari.