0Pricing
AI Prompt Engineering · Pelajaran

Kapan Harus Melakukan Fine-Tuning

Tanda-tanda bahwa pemberian prompt telah mencapai batasnya.

Kapan Harus Melakukan Fine-Tuning adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Penyetelan Adalah Keputusan Berdasarkan Bukti

Penyetelan hanya dibenarkan jika Anda dapat menunjukkan data yang membuktikan pemberian instruksi telah mencapai batasnya. Pemicu keputusan tidak pernah berupa dugaan—pemicu tersebut adalah evaluasi yang disisihkan, ketika instruksi terbaik yang jujur tetap plateaued di bawah standar kualitas Anda meskipun tangga optimasi telah dituntaskan.

  • Penyetelan menukar fleksibilitas dengan konsistensi, biaya per panggilan yang lebih rendah, dan perilaku yang dipelajari
  • Biayanya mencakup alur data, infrastruktur evaluasi, dan penyetelan ulang saat model dasar berganti
  • Anda harus dapat menyebutkan kegagalan spesifik yang tidak dapat diperbaiki oleh pemberian instruksi

Sinyal 1: Instruksi Mencapai Titik Jenuh

Sinyal yang paling jelas adalah titik jenuh pada kumpulan evaluasi yang dibekukan. Anda menambahkan contoh, melakukan penguraian, dan menambahkan pemeriksa—lalu skor berhenti meningkat sementara kesalahan tetap sistematis, bukan acak.

Kesalahan sisa yang sistematis (model terus-menerus salah menangani konstruksi yang sama) berarti perilaku tersebut sulit diperoleh melalui instruksi. Ini adalah masalah yang cocok untuk penyetelan. Kesalahan acak yang tersebar biasanya berarti instruksi atau data masih berisik—lanjutkan iterasi.

# Track eval score vs prompt-iteration; flat tail = plateau
scores = [0.62, 0.71, 0.78, 0.79, 0.795, 0.796]  # diminishing returns
def plateaued(scores, window=3, eps=0.01):
    tail = scores[-window:]
    return (max(tail) - min(tail)) < eps

print(plateaued(scores))  # True -> prompting has stalled

Sinyal 2: Panjang Instruksi Menjadi Produk

Ketika instruksi telah berkembang menjadi ribuan token berisi contoh dan aturan hanya untuk mempertahankan kualitas, Anda membayar beban latensi dan biaya pada setiap panggilan untuk menyimulasikan perilaku yang telah dipelajari.

Jika token tersebut mengodekan perilaku yang stabil dan berulang (format tetap, gaya konsisten, atau keputusan perutean), penyetelan dapat memasukkannya ke dalam bobot—memperkecil instruksi hingga satu tingkat besaran sekaligus mempertahankan perilaku. Ini adalah penyulingan instruksi, kasus penggunaan penyetelan yang sah dan paling umum.

Sinyal 3: Batas Minimum Latensi atau Biaya yang Ketat

Jika Anda memerlukan model yang lebih kecil, lebih cepat, dan lebih murah untuk menyamai perilaku model yang lebih besar pada tugas yang sempit, penyetelan adalah alatnya. Anda menyuling keluaran model besar menjadi model kecil yang disetel.

Hal ini dibenarkan ketika: volume berada di atas titik impas, anggaran latensi ketat, dan tugas cukup sempit sehingga model kecil dapat menguasainya. Di luar kondisi tersebut, beban rekayasanya tidak sepadan.

# Distillation data: teacher (big model) labels -> student (small) trains
def make_distill_pair(prompt, teacher_fn):
    completion = teacher_fn(prompt)  # high-quality big-model output
    return {'messages': [
        {'role': 'user', 'content': prompt},
        {'role': 'assistant', 'content': completion},
    ]}

Sinyal 4: Format atau Gaya yang Khas

Beberapa keluaran sangat spesifik sehingga menjelaskannya membutuhkan biaya lebih besar daripada mendemonstrasikannya dalam skala besar: DSL milik suatu organisasi, gaya penulisan internal dengan seribu aturan kecil, atau skema domain yang kaku dengan tak terhitung banyaknya bidang bersyarat.

Ketika kepatuhan format harus hampir sempurna dan aturan terlalu banyak untuk dicantumkan dalam instruksi, ratusan contoh mengajarkan polanya lebih andal daripada uraian. Penyetelan unggul dalam menginternalisasi struktur implisit yang sulit diperoleh melalui instruksi eksplisit.

Sinyal 5: Perilaku yang Ditolak Model

Terkadang model menentang suatu instruksi: model terus menambahkan peringatan yang Anda larang, menolak tugas yang sebenarnya tidak berbahaya, atau kembali ke gaya bawaan saat memuat beban tinggi. Jika instruksi kuat yang diulang beserta contoh tidak dapat menekan perilaku tersebut secara andal, penolakan itu merupakan prior yang tertanam dalam bobot dasar.

Penyetelan dapat mengesampingkan prior tersebut. Namun, pastikan terlebih dahulu bahwa penolakan itu benar-benar nyata dan bukan masalah kejelasan instruksi—salah mengatribusikan penolakan akan menyebabkan proses pelatihan yang tidak perlu.

Sinyal Penyangkal: Kapan TIDAK Menyetel

Yang sama pentingnya adalah mengenali alarm palsu. TIDAK perlu melakukan penyetelan ketika:

  • Kesenjangannya adalah pengetahuan—ambil pengetahuan tersebut; penyetelan menanamkan fakta yang usang dan lossy
  • Spesifikasi masih berubah setiap minggu—Anda akan terus-menerus melatih ulang
  • Anda memiliki kurang dari beberapa ratus contoh bersih—sinyalnya terlalu sedikit dan risiko overfit tinggi
  • Kesalahannya acak, bukan sistematis—data atau instruksi masih berisik
  • Anda tidak memiliki kerangka evaluasi—Anda tidak dapat mengetahui apakah penyetelan benar-benar membantu

Gerbang Kesiapan Data

Kualitas penyetelan dibatasi oleh kualitas data. Sebelum berkomitmen, lewati gerbang kesiapan: jumlah contoh memadai, seimbang di antara kasus yang penting bagi Anda, konsisten dalam pelabelan, dan bebas dari kebocoran yang meningkatkan skor evaluasi secara semu.

Beberapa ratus contoh yang dikurasi dengan teliti lebih baik daripada puluhan ribu contoh yang berisik. Jika label Anda saling bertentangan, model akan mempelajari derau tersebut.

def data_ready(examples, min_n=300, max_dupe_ratio=0.05):
    n = len(examples)
    texts = [e['messages'][0]['content'] for e in examples]
    dupe_ratio = 1 - (len(set(texts)) / n)
    return n >= min_n and dupe_ratio <= max_dupe_ratio

# Returns False until you have enough deduped, curated examples

Pilih Metode Penyetelan

Tidak semua penyetelan merupakan pelatihan seluruh bobot. Sesuaikan metode dengan sinyalnya:

  • LoRA / adaptor - murah, cepat, dapat dibalik; ideal untuk penyulingan gaya dan format
  • Penyetelan penuh - lebih berat; untuk perubahan perilaku mendalam pada model terbuka yang mumpuni
  • Penyetelan preferensi (gaya DPO) - ketika Anda memiliki penilaian baik/buruk berpasangan, bukan penyelesaian acuan

Mulailah dengan metode paling ringan yang dituntut oleh sinyal. Adaptor bergaya LoRA mencakup sebagian besar kasus produksi dengan biaya yang jauh lebih rendah.

Protokol Sebelum Berkomitmen

Sebelum menjalankan pelatihan, tetapkan eksperimen agar hasilnya dapat ditafsirkan:

  • Bekukan kumpulan evaluasi yang disisihkan dan tidak akan pernah dilihat model selama pelatihan
  • Catat skor dasar terbaik yang hanya menggunakan instruksi pada kumpulan tersebut
  • Tetapkan peningkatan target dan batas biaya sejak awal
  • Tentukan pengembalian: jika model yang disetel tidak mengungguli dasar sebesar target, gunakan instruksi tersebut

Tanpa dasar dan target yang telah ditetapkan sebelumnya, Anda tidak dapat membuktikan bahwa penyetelan memberikan manfaat yang sepadan.

Menggabungkan Berbagai Sinyal

Gabungkan berbagai sinyal menjadi satu gerbang lanjut/tidak lanjut. Penyetelan hanya dilanjutkan ketika pemberian instruksi telah plateaued AND data sudah siap AND kesenjangannya adalah perilaku—bukan ketika satu sinyal saja muncul secara terpisah.

def should_fine_tune(plateaued, data_ready, gap_is_behavior,
                     spec_stable, has_eval_harness):
    return all([
        plateaued,        # prompting stalled on frozen eval
        data_ready,       # enough clean, deduped examples
        gap_is_behavior,  # not a knowledge gap (else use RAG)
        spec_stable,      # task definition has settled
        has_eval_harness, # can measure the lift
    ])

print(should_fine_tune(True, True, True, True, True))  # True -> proceed

Pemeriksaan Singkat

Pada kumpulan evaluasi yang dibekukan, kesalahan model bersifat acak dan tersebar di antara banyak jenis masukan yang berbeda, dan skor masih melonjak ketika Anda mengubah contoh. Apa yang ditunjukkan hal ini tentang kesiapan penyetelan?

Rangkuman

Lakukan penyetelan berdasarkan bukti, bukan intuisi. Sinyal yang sah: titik jenuh yang nyata dengan kesalahan sistematis, panjang instruksi yang telah menjadi produk, batas minimum latensi/biaya yang ketat, format yang khas, atau perilaku yang ditolak model dasar.

  • Sinyal penyangkal: kesenjangan pengetahuan, spesifikasi yang berubah, data terlalu sedikit, kesalahan acak, atau tidak adanya kerangka evaluasi
  • Lepasi gerbang kesiapan data sebelum pelatihan—kualitas membatasi hasil
  • Pilih metode paling ringan (mulai dengan gaya LoRA) yang dituntut oleh sinyal
  • Tetapkan sebelumnya evaluasi yang dibekukan, dasar, peningkatan target, dan pengembalian
  • Lanjutkan hanya jika titik jenuh AND data siap AND kesenjangan perilaku semuanya terpenuhi

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kapan Harus Melakukan Fine-Tuning” gratis?

Ya — teks lengkap “Kapan Harus Melakukan Fine-Tuning” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kapan Harus Melakukan Fine-Tuning”?

Tanda-tanda bahwa pemberian prompt telah mencapai batasnya. Kamu berlatih AI Prompt Engineering dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Prompt Engineering?

Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Kapan Harus Melakukan Fine-Tuning” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Prompt Engineering ini?

Ya. Setiap pelajaran AI Prompt Engineering menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kapan Pemberian Prompt Sudah Cukup
  2. Kapan Harus Melakukan Fine-Tuning
  3. Hibrida: Prompt + Penyetelan Ringan
  4. Mengevaluasi Keputusan
← Kembali ke AI Prompt Engineering