Program
Apa yang terjadi saat Anda perlu mengklasifikasikan teks ke dalam kategori baru, tetapi Anda tidak punya satu pun contoh berlabel untuk melatih model?
Anda tidak bisa menggunakan jalur classifier tradisional. Mereka mengharapkan contoh berlabel untuk setiap kategori yang ingin diprediksi, yang berarti butuh berminggu-minggu pekerjaan anotasi sebelum bisa mulai melatih. Dan begitu ada kategori baru muncul, Anda kembali lagi ke pelabelan.
Klasifikasi zero-shot adalah hal yang perlu Anda lihat. Ini melewati seluruh langkah pelabelan dengan membiarkan model menetapkan label yang belum pernah dilihat saat pelatihan. Dalam praktiknya, ini berarti Anda bisa menyortir umpan balik pelanggan ke kategori seperti "keluhan penagihan" atau "permintaan fitur" tanpa menyiapkan satu pun contoh pelatihan untuk keduanya.
Dalam artikel ini, saya akan memandu Anda melalui cara kerja klasifikasi zero-shot, bagaimana perbandingannya dengan pendekatan tradisional dan few-shot, serta cara menerapkannya pada tugas NLP nyata menggunakan Hugging Face Transformers.
Apa sebenarnya Hugging Face? Daftar di jalur Hugging Face Fundamentals kami untuk membangun agen AI dan fine-tune LLM.
Apa Itu Klasifikasi Zero-Shot?
Klasifikasi zero-shot adalah pendekatan machine learning di mana model menetapkan label pada data tanpa dilatih secara khusus pada label tersebut.
Bagian kuncinya adalah "zero-shot" ini. Artinya model melihat nol contoh pelatihan untuk kategori yang ingin Anda prediksi. Anda memberikan sepotong teks dan daftar label yang mungkin, lalu ia memilih kecocokan terbaik berdasarkan apa yang sudah diketahuinya.
Semua pengetahuan ini berasal dari pretraining. Model besar menyerap pemahaman luas tentang bahasa dan konsep dari korpus teks yang masif, dan pengetahuan umum itulah yang dijadikan sandaran saat Anda memintanya mengklasifikasikan sesuatu yang baru.
Cara Kerja Klasifikasi Zero-Shot
Alur kerja di balik klasifikasi zero-shot sederhana setelah Anda memecahnya menjadi langkah-langkah. Anda hanya butuh empat:
-
Masukkan teks atau data: Apa pun yang ingin Anda klasifikasikan — ulasan pelanggan, tiket dukungan, judul berita, potongan dokumentasi.
-
Sediakan label kandidat: Anda memberi model daftar kategori yang mungkin. Ini hanyalah kata atau frasa pendek, seperti
"product question","refund request","technical issue", atau"general inquiry". -
Model mengevaluasi hubungan antara masukan dan label: Model melihat setiap label dan memberi skor seberapa cocok label itu dengan masukan berdasarkan pemahaman bahasa dari pretraining.
-
Label paling mungkin dipilih: Label dengan skor tertinggi dikembalikan sebagai prediksi, sering kali dengan skor keyakinan untuk tiap kandidat.
Intinya adalah Anda bisa menukar label kandidat kapan saja tanpa pelatihan ulang. Jika besok Anda ingin menambahkan kategori baru, cukup tambahkan ke daftar. Ini agak mencengangkan jika Anda hanya pernah bekerja dengan supervised learning.
Klasifikasi Zero-Shot vs Klasifikasi Tradisional
Keduanya menyelesaikan masalah yang sama (menetapkan label pada data), tetapi caranya berbeda.
Klasifikasi tradisional
Classifier tradisional belajar dari contoh berlabel. Anda mengumpulkan dataset di mana setiap item ditandai dengan kategori yang benar, melatih model pada data itu, lalu model mempelajari pola yang membedakan satu kelas dari yang lain.
Ini telah bekerja dengan baik selama beberapa dekade, tetapi memiliki dua kendala besar:
- Anda butuh data pelatihan berlabel: Sering kali, banyak. Mengumpulkan dan memberi anotasi data itu membutuhkan waktu dan uang, sumber daya terbatas yang paling berharga.
- Kumpulan label bersifat tetap: Setelah model dilatih, ia hanya bisa memprediksi kategori yang dilihat selama pelatihan. Menambahkan kelas baru berarti kembali dan melatih ulang.
Klasifikasi zero-shot
Zero-shot bekerja sebaliknya. Tidak ada langkah pelatihan khusus tugas sama sekali. Model menggunakan apa yang dipelajarinya selama pretraining untuk mengevaluasi label apa pun yang Anda berikan.
Itu memberi Anda dua keunggulan:
- Tidak ada pelatihan khusus tugas: Anda sepenuhnya melewati pengumpulan data, anotasi, dan pelatihan.
- Kumpulan label fleksibel: Anda bisa mengubah kategori kapan saja. Tambah yang baru, hapus yang lama, ganti nama — model menanganinya tanpa pelatihan ulang.
Komprominya
Fleksibilitas ini tidak gratis. Classifier tradisional yang dilatih pada dataset berlabel yang solid biasanya mengungguli model zero-shot pada tugas spesifik itu. Ia telah melihat tepat jenis contoh yang Anda pedulikan dan menyesuaikan diri dengannya.
Model zero-shot adalah generalis. Mereka bagus dalam banyak hal, tetapi jarang yang terbaik dalam satu hal. Jadi pilihannya bergantung pada kebutuhan Anda.
Jika Anda memiliki data berlabel dan mengutamakan akurasi tertinggi pada kumpulan kategori tetap, latih classifier tradisional. Jika Anda tidak memiliki data berlabel, atau kategori Anda sering berubah, zero-shot adalah jalur tercepat menuju solusi yang berfungsi.
Peran Foundation Model dan LLM
Klasifikasi zero-shot menjadi populer karena model pra-latih berukuran besar sudah cukup andal untuk menanganinya.
Sebelum foundation model, Anda tidak bisa begitu saja memberi model daftar label yang belum pernah dilihat dan mengharapkan prediksi yang masuk akal. Model tidak cukup memahami bahasa untuk membuat koneksi. Pretraining pada korpus teks raksasa mengubah itu. Model yang telah "membaca" sebagian besar internet sudah pernah menemui kata seperti "refund" atau "complaint" dalam banyak konteks, sehingga mencocokkannya dengan masukan baru menjadi mungkin.
Beberapa keluarga model berada di balik sebagian besar alur kerja zero-shot saat ini:
- BERT dan variannya: Model bergaya BERT mempelajari representasi teks yang dalam selama pretraining. Varian seperti RoBERTa dan DeBERTa mendorong ini lebih jauh dengan metode pelatihan yang lebih baik dan dataset yang lebih besar.
- Model berbasis NLI: Ini adalah model yang di-fine-tune pada tugas natural language inference. Mereka berada di balik sebagian besar pipeline zero-shot siap pakai, dan di bagian berikutnya, saya akan jelaskan alasannya.
- LLM modern: Large language model seperti keluarga GPT atau Claude dapat menangani klasifikasi zero-shot melalui prompting. Anda menjelaskan tugasnya dalam bahasa alami, membuat daftar kategori, dan model memilih satu.
Benang merahnya adalah skala dan generalitas. Model yang dilatih pada tugas sempit hanya bisa melakukan tugas itu. Model yang dilatih pada data teks luas bisa diarahkan ke banyak tugas tanpa pernah melihat contoh berlabel untuk tugas-tugas tersebut.
Natural Language Inference (NLI) dan Klasifikasi Zero-Shot
Sebagian besar classifier zero-shot yang akan Anda lihat dalam praktik dibangun di atas model NLI. Ini bagian yang mengejutkan banyak orang, jadi layak untuk diperlambat.
Natural language inference adalah tugas tersendiri. Diberikan dua kalimat (premis dan hipotesis), model memutuskan hubungan di antara keduanya. Keluaran berupa salah satu dari tiga label:
- Entailment: Hipotesis mengikuti dari premis.
- Contradiction: Hipotesis bertentangan dengan premis.
- Neutral: Kedua kalimat tidak terkait, atau tidak ada cukup informasi untuk memutuskan.
Sebagai contoh, jika premisnya adalah "The team finished the project two weeks early" dan hipotesisnya "The team delivered on time", model NLI seharusnya memprediksi entailment. Jika hipotesisnya "The team missed the deadline", ia seharusnya memprediksi kontradiksi.
Pengaturan ini ternyata sangat cocok untuk klasifikasi zero-shot. Jika Anda memperlakukan masukan sebagai premis, Anda bisa mengubah setiap label kandidat menjadi hipotesis.
Misalnya Anda ingin mengklasifikasikan kalimat "My package never arrived" ke salah satu dari tiga kategori: masalah pengiriman, masalah penagihan, atau pertanyaan produk. Model tidak melihat ini sebagai label. Ia melihatnya sebagai hipotesis, biasanya dibungkus dalam templat sederhana seperti "This text is about {label}":
-
Premis:
"My package never arrived"| Hipotesis:"This text is about a shipping issue" -
Premis:
"My package never arrived"| Hipotesis:"This text is about a billing issue" -
Premis:
"My package never arrived"| Hipotesis:"This text is about a product question"
Model NLI memberi skor setiap pasangan. Hipotesis dengan skor entailment tertinggi yang menang, dan label itulah yang menjadi prediksi.
Model tidak pernah harus belajar apa arti "masalah pengiriman" atau "masalah penagihan" sebagai label. Ia hanya harus belajar seperti apa entailment secara umum, dan itu dipelajari saat fine-tuning NLI.
Inilah mengapa zero-shot berbasis NLI bekerja dengan sangat baik. Model melakukan tugas yang memang dilatihnya (menilai entailment), dan Anda hanya membingkai masalah klasifikasi Anda sebagai serangkaian pertanyaan entailment.
Zero-Shot vs Few-Shot vs Model yang Di-fine-tune
Zero-shot bukan satu-satunya cara membuat model melakukan tugas klasifikasi tanpa pelatihan penuh. Mari bandingkan dengan alternatifnya.
Zero-shot
Zero-shot berarti tanpa contoh sama sekali. Anda memberikan masukan dan daftar label kandidat kepada model, dan ia membuat prediksi berdasarkan apa yang dipelajarinya selama pretraining.
Model tidak pernah melihat data berlabel untuk tugas spesifik Anda. Ia bekerja sepenuhnya dari pengetahuan umum.
Few-shot
Few-shot memberi model beberapa contoh, biasanya di dalam prompt. Anda menunjukkan dua, lima, mungkin sepuluh contoh masukan yang dipasangkan dengan label yang benar, lalu memintanya mengklasifikasikan masukan baru dengan cara yang sama.
Model tidak sedang dilatih ulang di sini. Bobotnya masih bobot pra-latih. Contoh hanya berfungsi sebagai acuan — semacam "inilah maksud saya dengan kategori-kategori ini" sebelum Anda meminta prediksi.
Fine-tuning
Fine-tuning adalah proses pelatihan khusus. Anda mengambil model pra-latih, memberinya dataset berlabel untuk tugas Anda, dan memperbarui bobotnya hingga ia mahir memprediksi kategori spesifik Anda.
Ini yang paling berat di antara ketiganya. Anda butuh data berlabel, infrastruktur pelatihan, dan waktu. Sebagai imbalan, model menjadi terspesialisasi untuk tugas Anda.
Membandingkan ketiganya
Ketiga pendekatan berbeda pada tiga hal yang penting dalam praktik: akurasi, fleksibilitas, dan biaya.
| Akurasi | Fleksibilitas | Biaya | |
|---|---|---|---|
| Zero-shot | Terendah di antara ketiganya, tetapi tetap baik untuk penggunaan umum | Tertinggi, Anda bisa mengubah label kapan saja | Terendah, tanpa data dan tanpa pelatihan |
| Few-shot | Lebih baik dari zero-shot, terutama dengan contoh yang dipilih baik | Tinggi, Anda bisa mengubah contoh dan label di prompt | Rendah, Anda hanya butuh beberapa contoh |
| Fine-tuning | Tertinggi pada tugas yang dilatihnya | Terendah, perlu pelatihan ulang untuk kategori baru | Tertinggi, termasuk pengumpulan data, anotasi, dan pelatihan |
Zero-shot learning dibandingkan alternatifnya
Ada beberapa hal yang layak disorot dari tabel ini.
Akurasi bukan peringkat yang lurus. Fine-tuning menang ketika Anda memiliki cukup data berlabel dan tugas Anda stabil. Namun pada tugas yang benar-benar baru tanpa contoh untuk dipelajari, fine-tuning bahkan bukan opsi, dan zero-shot menjadi satu-satunya pilihan realistis.
Fleksibilitas bergerak ke arah sebaliknya. Zero-shot memungkinkan Anda mengubah kategori kapan pun. Model yang di-fine-tune terkunci pada kumpulan label yang dilatihnya.
Biaya adalah yang paling jelas. Zero-shot hampir tidak memerlukan biaya untuk disiapkan. Few-shot menambahkan langkah anotasi kecil. Fine-tuning adalah proyek tersendiri dan membutuhkan infrastruktur khusus.
Alur kerja yang paling sering dipilih tim adalah memulai dengan zero-shot untuk melihat apakah tugasnya memang bisa diselesaikan. Jika akurasinya belum cukup, beralih ke few-shot. Jika itu masih belum cukup dan tugasnya penting, lakukan fine-tuning.
Klasifikasi Zero-Shot dalam NLP
Klasifikasi zero-shot muncul di banyak alur kerja NLP, terutama yang sulit mendapatkan data berlabel atau kategorinya terus berubah. Berikut aplikasi yang paling umum.
Analisis sentimen
Analisis sentimen adalah titik awal yang klasik. Anda memberi model sepotong teks dan memintanya memilih dari label seperti "positive", "negative", dan "neutral".
Bagian menariknya adalah betapa mudahnya melampaui tiga label standar. Classifier sentimen tradisional terkunci pada apa pun yang dilatihnya. Dengan zero-shot, Anda bisa menggunakan label yang lebih spesifik seperti "frustrated", "satisfied", "confused", atau "excited" dan model menanganinya tanpa pelatihan ulang. Ini sangat bagus untuk umpan balik produk atau pemantauan media sosial di mana kategori emosional yang Anda pedulikan bergantung pada konteks.
Klasifikasi topik
Klasifikasi topik menyortir dokumen ke dalam bidang subjek. Artikel berita ke "politics", "sports", "technology", "finance". Tiket dukungan ke "billing", "shipping", "account access", "feature request".
Zero-shot membuat ini sepele untuk disiapkan. Anda tidak perlu dataset berlabel untuk setiap topik baru. Jika produk Anda meluncurkan fitur baru dan Anda ingin melacak tiket tentangnya, Anda cukup menambahkan "new feature feedback" ke daftar label kandidat dan selesai.
Deteksi niat
Deteksi niat mencari tahu apa yang ingin dilakukan pengguna. Ini adalah mesin di balik sebagian besar chatbot dan asisten suara. Ketika seseorang mengetik "I need to change my password", model perlu mengenali niatnya sebagai "password reset" alih-alih, misalnya, "general security question".
Di sinilah zero-shot bersinar. Produk nyata terus menambahkan niat pengguna baru dari waktu ke waktu, dan melatih ulang classifier niat setiap kali tim produk menambah fitur adalah banyak pekerjaan. Zero-shot memungkinkan Anda menjaga daftar niat tetap mutakhir tanpa mengubah model.
Moderasi konten
Moderasi konten menandai teks bermasalah — hal-hal seperti "hate speech", "spam", "harassment", atau "misinformation". Platform harus menjaga kebijakan mereka tetap mutakhir, dan kategorinya berubah saat jenis penyalahgunaan baru muncul.
Zero-shot sangat cocok di sini. Tim moderasi dapat menyesuaikan definisi label atau menambahkan kategori baru seiring kebijakan berkembang, tanpa kembali ke tim engineering untuk siklus pelatihan ulang. Biasanya dipasangkan dengan classifier tradisional untuk kasus volume tinggi, tetapi zero-shot menangani long tail kategori yang tidak memiliki cukup contoh berlabel untuk dilatih.
Klasifikasi Zero-Shot dengan Hugging Face Transformers
Perpustakaan transformers dari Hugging Face adalah cara termudah untuk mencoba klasifikasi zero-shot di Python. API pipeline menyembunyikan hampir semua pekerjaan pemuatan model, sehingga Anda bisa beralih dari nol ke prediksi dalam beberapa baris kode.
Saat pertama kali menjalankan potongan kode ini, model akan diunduh, jadi akan memakan waktu.
Berikut contoh lengkap yang bisa Anda jalankan:
from transformers import pipeline
from pprint import pprint
# Load a zero-shot classification pipeline
classifier = pipeline(
"zero-shot-classification",
model="facebook/bart-large-mnli"
)
# The text you want to classify
text = "My package never arrived and customer support hasn't responded in three days."
# The labels you want the model to choose from
candidate_labels = [
"shipping issue",
"billing issue",
"product question",
"general inquiry"
]
# Run the classification
result = classifier(text, candidate_labels)
pprint(result)
Keluaran berupa dictionary dengan tiga field: masukan asli, label kandidat yang diurutkan dari yang paling ke paling tidak mungkin, dan skor keyakinan untuk setiap label.

Keluaran pipeline
"shipping issue" menang dengan keyakinan 0,82. Model tidak pernah melihat contoh berlabel keluhan pengiriman selama pelatihan, tetapi ia menyimpulkannya dari model bart-large-mnli yang di-fine-tune pada data NLI persis seperti yang dibahas di bagian sebelumnya.
Ada beberapa hal yang layak dicatat tentang alur kerja ini:
-
Modelnya adalah model NLI:
bart-large-mnliadalah BART yang di-fine-tune pada dataset MultiNLI. Saat Anda memanggil pipeline, ia mengonversi label menjadi hipotesis di balik layar dan menjalankannya melalui model. -
Anda bisa mengubah label kapan saja: Tidak ada yang perlu diubah dari model. Tukar daftar
candidate_labelsdengan yang lain dan Anda sedang mengklasifikasikan ke kategori yang berbeda. -
Multi-label hanya sejauh satu flag: Setel
multi_label=Truesaat memanggil pipeline, dan label tidak akan saling bersaing. Setiap label mendapatkan probabilitas independen, sehingga satu masukan dapat termasuk dalam beberapa kategori.
result = classifier(text, candidate_labels, multi_label=True)
pprint(result)

Keluaran multi-label
Itulah seluruh alurnya. Muat pipeline, tetapkan label Anda, panggil classifier. Jauh lebih cepat dan mudah daripada membangun model klasifikasi dari nol.
Kesalahan Umum pada Klasifikasi Zero-Shot
Klasifikasi zero-shot mudah disiapkan, yang justru membuatnya mudah disalahgunakan. Berikut kesalahan yang paling sering muncul dalam proyek nyata.
Memilih label yang samar
Label adalah cara Anda mengomunikasikan tugas ke model. Label yang samar menghasilkan prediksi yang samar.
"good" dan "bad" tidak banyak memberi tahu model. "customer is happy with the product" dan "customer is reporting a problem with the product" memberi model sesuatu untuk dikerjakan. Semakin label Anda terlihat seperti frasa yang bermakna, semakin baik model akan memberi skor terhadap masukan Anda.
Hindari juga label yang tumpang tindih. Jika "complaint" dan "negative feedback" sama-sama muncul dalam daftar kandidat, model akan membagi keyakinannya di antara keduanya dan tidak ada yang keluar sebagai pemenang yang jelas.
Menganggap zero-shot menyamai performa fine-tuning
Ini yang paling umum. Zero-shot itu bagus, tetapi bukan sihir.
Model yang di-fine-tune dan dilatih pada beberapa ribu contoh berlabel untuk tugas spesifik Anda hampir selalu mengalahkan model zero-shot pada tugas tersebut. Jika Anda melihat akurasi 85% dengan zero-shot dan Anda butuh 95% untuk produksi, tidak ada jumlah pengutak-atik label yang akan menutup kesenjangan itu. Pada titik itu, fine-tuning adalah jawabannya.
Gunakan zero-shot saat Anda tidak memiliki data berlabel, saat kategori Anda sering berubah, atau ketika "cukup baik" memang cukup. Jangan memilihnya hanya karena lebih cepat disiapkan lalu terkejut ketika kinerjanya kurang pada tugas berisiko tinggi.
Evaluasi pada dataset yang terlalu sempit
Ceritanya seperti ini: Anda membangun classifier zero-shot, mengujinya pada 50 contoh yang Anda tulis sendiri, dan semuanya benar. Anda meluncurkannya, lalu saat masuk produksi semua orang mengeluh betapa buruknya.
50 contoh yang Anda tulis tidak mewakili apa yang dikirim pengguna nyata. Mereka lebih bersih, lebih jelas, dan lebih selaras dengan cara Anda memandang kategori. Evaluasilah pada data yang terlihat seperti yang benar-benar akan dilihat model — teks buatan pengguna, dengan typo, slang, dan kasus tepi. Jika Anda belum memiliki data itu, ambil sampel beberapa ratus masukan nyata dan beri label manual sebelum Anda mempercayai angkanya.
Mengabaikan bahasa spesifik domain
Model zero-shot tujuan umum memahami bahasa tujuan umum. Mereka tidak mengetahui jargon industri Anda.
Istilah medis, bahasa hukum, akronim keuangan, spesifikasi teknik — semuanya memiliki kosakata sempit yang mungkin telah dilihat model pra-latih, tetapi tidak secara mendalam. Jika Anda meminta model zero-shot umum mengklasifikasikan kalimat penuh kode ICD-10 atau pesan kesalahan SQL, harapkan hasil yang campur aduk.
Ada dua opsi di sini. Entah tulis ulang label Anda dalam bahasa sederhana yang lebih mungkin dipahami model, atau beralih ke model yang di-pretrain pada teks dari domain Anda. BioBERT untuk teks medis, FinBERT untuk teks finansial, dan model khusus domain serupa sering kali mengungguli model umum pada tugas khusus.
Mengapa Klasifikasi Zero-Shot Penting dalam AI Modern
Klasifikasi zero-shot adalah salah satu demonstrasi paling jelas tentang bagaimana foundation model telah mengubah apa yang mungkin dilakukan dalam AI.
Satu dekade lalu, setiap tugas klasifikasi dimulai dengan pertanyaan yang sama: apakah kita punya data berlabel, dan jika tidak, bagaimana kita mendapatkannya? Proyek anotasi memakan waktu berbulan-bulan, butuh anggaran, koordinasi vendor, dan kontrol kualitas. Model bahkan tidak bisa dibangun sampai datanya ada.
Asumsi itu kini tidak lagi benar.
Foundation model yang dilatih pada data teks luas sudah cukup memahami bahasa untuk menangani tugas klasifikasi baru saat Anda mendeskripsikannya. Daftar label adalah satu-satunya hal yang perlu Anda definisikan.
Perubahan ini penting karena beberapa alasan yang terhubung ke tren yang lebih besar dalam AI:
- Ini menunjukkan untuk apa foundation model sebenarnya: Tujuan pretraining dalam skala besar adalah membangun model yang cukup umum untuk diarahkan ke banyak tugas tanpa pelatihan ulang. Klasifikasi zero-shot adalah salah satu contoh paling jelas dari janji itu yang diwujudkan.
- Ini mengurangi ketergantungan pada dataset terawasi: Data berlabel masih berguna, tetapi bukan lagi keharusan untuk membuat classifier yang berfungsi. Tim yang tidak memiliki anggaran untuk proyek anotasi tetap dapat menerapkan fitur AI yang bernilai.
- Ini mengubah kecepatan deployment: Fitur klasifikasi yang dulu butuh satu kuartal untuk dirilis sekarang dapat diprototipe dalam satu sore. Ini memengaruhi apa yang dipilih tim untuk dibangun, karena biaya untuk mencoba sesuatu turun hampir menjadi nol.
Tren yang lebih luas adalah peralihan dari model khusus tugas ke model tujuan umum. Fine-tuning tetap punya tempatnya, begitu juga pelatihan dari nol saat tugas menuntutnya. Namun titik awal default telah bergeser. Anda meraih model pra-latih terlebih dahulu dan hanya melakukan spesialisasi saat datanya membenarkannya.
Kesimpulan
Klasifikasi zero-shot mengingatkan bahwa tidak setiap masalah machine learning kini membutuhkan sesi pelatihan tersendiri. Model yang sudah memahami bahasa dapat diarahkan ke tugas baru dengan mengubah label yang Anda berikan. Tidak perlu contoh atau fine-tuning.
Fleksibilitas itulah intinya. Kategori yang Anda pedulikan hari ini mungkin bukan yang Anda pedulikan bulan depan, dan model zero-shot memungkinkan Anda berubah pikiran.
Jadi sebelum Anda memulai proyek pelabelan data, jalankan baseline zero-shot. Dalam satu sore Anda akan tahu apakah tugasnya sudah terselesaikan, sebagian terselesaikan, atau masih membutuhkan pendekatan yang lebih berat. Tidak lebih dari itu.
Jika Anda baru mengenal LLM, daftar di kursus Large Language Models (LLMs) Concepts. Kursus ini mengajarkan semua yang Anda perlu tahu tentang aplikasi LLM, metodologi pelatihan, dan riset terbaru.
FAQs
Apa itu klasifikasi zero-shot dengan istilah sederhana?
Klasifikasi zero-shot adalah cara untuk menetapkan label pada teks tanpa melatih model pada label spesifik tersebut. Anda memberikan masukan dan daftar kategori yang mungkin kepada model, dan ia memilih kecocokan terbaik berdasarkan apa yang dipelajari saat pretraining. "Zero" mengacu pada jumlah contoh pelatihan yang dibutuhkan untuk tiap kategori, yaitu nol.
Kapan saya harus menggunakan klasifikasi zero-shot alih-alih melatih model saya sendiri?
Gunakan zero-shot saat Anda sedang mencoba-coba, tidak memiliki data berlabel, ketika kategori sering berubah, atau ketika Anda perlu mengirim prototipe dengan cepat. Ini juga pilihan tepat untuk pekerjaan eksplorasi saat Anda masih mencari tahu bagaimana seharusnya kategori. Jika Anda memiliki kumpulan label yang stabil dan cukup banyak contoh berlabel, melakukan fine-tuning pada classifier tradisional biasanya akan memberi akurasi yang lebih baik.
Seberapa akurat klasifikasi zero-shot?
Akurasi bergantung pada model yang Anda gunakan, sejelas apa label Anda, dan seberapa baik tugasnya cocok dengan pemahaman bahasa umum. Model zero-shot pada tugas yang terdefinisi baik bisa berada di kisaran dari solid hingga siap produksi, tetapi hampir selalu kalah dari model yang di-fine-tune dan dilatih pada data berlabel yang cukup untuk tugas yang sama. Anggap zero-shot sebagai baseline yang kuat.
Apa perbedaan antara klasifikasi zero-shot dan NLI?
Natural language inference (NLI) adalah tugas di mana model memutuskan apakah satu kalimat menyiratkan (entails), bertentangan, atau netral terhadap kalimat lain. Klasifikasi zero-shot menggunakan model NLI sebagai mesin di balik layar: masukan Anda menjadi premis, dan setiap label kandidat diubah menjadi hipotesis. Label yang hipotesisnya mendapatkan skor entailment tertinggi menang.
Bisakah saya menggunakan klasifikasi zero-shot untuk teks non-Inggris?
Bisa, tetapi Anda memerlukan model multibahasa. Model seperti xlm-roberta-large-xnli dilatih pada data NLI multibahasa dan dapat menangani klasifikasi zero-shot di lusinan bahasa. Tetap gunakan bart-large-mnli dan model sejenis yang hanya untuk bahasa Inggris pada teks bahasa Inggris, dan beralih ke varian multibahasa saat masukan Anda bukan dalam bahasa Inggris.

