{count, plural, one {Kursus} other {Kursus}}
Model bahasa besar dapat memahami dan menulis teks yang terdengar sangat mirip dengan manusia. Namun, saat kita ingin model melakukan hal tersebut persis seperti yang kita inginkan, itu tidak selalu mudah. Kita perlu memilih teknik yang tepat untuk mendapatkan jawaban yang memuaskan.
Salah satu tekniknya adalah few-shot prompting. Ini adalah metode cerdas yang membantu menghubungkan apa yang sudah diketahui model dengan apa yang kita butuhkan untuk pekerjaan tertentu—Anda memberi model beberapa contoh cepat untuk menunjukkan apa yang Anda inginkan, sehingga lebih mudah bagi model untuk memahami dan menjalankan tugas dengan benar.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu few-shot prompting, dan mengapa ini penting.
- Bagaimana cara kerja few-shot prompting, termasuk pemberian demonstrasi dan belajar dari contoh.
- Keuntungan few-shot prompting seperti peningkatan kinerja dan pengurangan kebutuhan data.
- Berbagai penerapan few-shot prompting, termasuk tugas penalaran kompleks, penulisan kreatif, dan pembuatan kode.
- Tantangan dan praktik terbaik dalam few-shot prompting, termasuk memilih contoh yang efektif dan merancang prompt.
Tutorial ini adalah bagian dari seri blog saya “Prompt Engineering: From Zero to Hero”:
- Prompt Engineering untuk Semua Orang
- Zero-Shot Prompting
- Few-Shot Prompting
- Prompt Chaining
Apa Itu Few-Shot Prompting?
Few-shot prompting adalah teknik yang melibatkan pemberian sejumlah kecil contoh kepada model bahasa untuk membimbing responsnya terhadap tugas tertentu. Metode ini berada di antara pembelajaran zero-shot (tanpa contoh) dan fine-tuning terawasi penuh (yang memerlukan banyak data berlabel). Artikel blog tentang few-shot learning menjelaskan teknik pembelajaran mesin ini secara mendetail.
Dengan kata lain, few-shot prompting adalah proses memberi model bahasa beberapa demonstrasi atau contoh di dalam prompt itu sendiri. Contoh-contoh ini bertindak sebagai panduan, menunjukkan kepada model bagaimana mendekati dan merespons jenis tugas atau pertanyaan tertentu. Saat Anda memberikan contoh-contoh ini, pada dasarnya Anda mengatakan kepada model, "Beginilah cara Anda harus merespons dalam situasi serupa."
Mari kita lihat sebuah contoh.
Bayangkan kita ingin model mengklasifikasikan sentimen ulasan film. Sebuah few-shot prompt bisa terlihat seperti ini:
Prompt:
Classify the sentiment of the third movie review. Use the information from the first two examples:Review: "This movie was a waste of time."Sentiment: NegativeReview: "I couldn't stop laughing throughout the film!"Sentiment: PositiveReview: "The special effects were amazing, but the plot was confusing."Sentiment:```markdownIf we input this prompt to the LLM, and if it understands the task correctly, it will output:```markdownSentiment: MixedDalam contoh ini, LLM menggunakan contoh dalam prompt untuk memahami cara mengklasifikasikan sentimen ulasan ketiga dan menghasilkan output sesuai.
Few-shot prompting penting karena membuat LLM lebih berguna dan mudah diakses. Pertama, ini menghemat waktu dan usaha karena Anda tidak perlu melatih ulang model sepenuhnya atau mengumpulkan data dalam jumlah besar.
Kedua, ini sangat fleksibel—Anda dapat dengan cepat menyesuaikan model untuk berbagai tugas hanya dengan mengubah contoh yang Anda berikan. Ketiga, ini sering membantu LLM berkinerja lebih baik pada tugas spesifik atau kompleks dibandingkan memintanya melakukan sesuatu tanpa arahan apa pun. Metode ini juga membuat alat AI yang kuat lebih tersedia bagi lebih banyak orang, bukan hanya pakar teknis dengan banyak sumber daya.
Bagaimana Cara Kerja Few-Shot Prompting
Inti dari few-shot prompting terletak pada pemberian serangkaian kecil contoh atau demonstrasi yang relevan kepada LLM di dalam prompt itu sendiri. Contoh-contoh ini membimbing model, menggambarkan bagaimana mendekati dan merespons jenis tugas atau pertanyaan tertentu. Demonstrasi biasanya disusun sebagai berikut:
- Pasangan input-output: Setiap demonstrasi biasanya terdiri dari input (misalnya, pertanyaan atau potongan teks) dan output yang sesuai (respons atau solusi yang diinginkan).
- Konsistensi format: Demonstrasi mempertahankan format yang konsisten, yang membantu model mengenali pola yang harus diikuti.
- Relevansi tugas: Contoh yang diberikan langsung relevan dengan tugas yang sedang dikerjakan, menampilkan keahlian atau pengetahuan spesifik yang dibutuhkan.
Misalnya, jika kita ingin model membuat distikon berima, sebuah few-shot prompt bisa seperti ini:
Generate a rhyming couplet about a tree:Input: "cat"Output: The curious cat, so sleek and fat, Curled up cozy on the welcome mat.Input: "sky"Output: Look up high into the endless sky, Where birds and clouds go drifting by.Input: "tree"Output:Ketika diberikan demonstrasi ini, model bahasa menjalani proses yang sering disebut "pembelajaran dalam konteks" atau "belajar dari contoh." Cara kerjanya seperti ini:
- Pengenalan pola: Model menganalisis contoh yang diberikan, mengidentifikasi pola bagaimana input diubah menjadi output.
- Inferensi tugas: Dari pola tersebut, model menyimpulkan sifat tugas yang diminta untuk dilakukan.
- Generalisasi: Model kemudian mencoba menggeneralisasi dari contoh yang diberikan ke input baru yang belum pernah dilihat.
- Penerapan: Akhirnya, model menerapkan pola yang dipelajari ini pada input baru yang diberikan di akhir prompt.
![]()
Proses ini memungkinkan model menyesuaikan pengetahuan dan kemampuannya pada tugas tertentu tanpa memerlukan perubahan apa pun pada parameter dasarnya.
Penting untuk dicatat bahwa efektivitas few-shot prompting dapat bervariasi tergantung pada faktor seperti kompleksitas tugas, kualitas dan relevansi contoh yang diberikan, serta kapabilitas model bahasa yang digunakan. Namun, bila digunakan secara efektif, few-shot prompting dapat membuat model bahasa melakukan banyak tugas berbeda dengan akurasi dan fleksibilitas yang mengesankan.
Keuntungan Few-Shot Prompting
Few-shot prompting memiliki beberapa manfaat. Mari kita lihat mengapa metode ini begitu membantu.
Kinerja yang lebih baik
Salah satu keuntungan paling mencolok dari few-shot prompting adalah peningkatan kinerja yang signifikan dibandingkan pendekatan zero-shot.
- Akurasi yang lebih tinggi: Few-shot prompting membantu model lebih memahami tugas spesifik, sehingga menghasilkan output yang lebih akurat, dengan menyediakan contoh yang relevan.
- Relevansi meningkat: Contoh-contoh tersebut membimbing model untuk menghasilkan respons yang lebih selaras dengan hasil yang diinginkan.
- Adaptasi khusus tugas: Few-shot prompting membantu LLM memanfaatkan apa yang sudah diketahuinya untuk memahami dan melakukan tugas baru yang spesifik.
Misalnya, pertimbangkan skenario di mana kita ingin model membuat deskripsi produk dengan nada dan format tertentu.
Generate product descriptions:Product: Wireless EarbudsDescription: Immerse yourself in crystal-clear audio with our sleek wireless earbuds. Featuring noise-cancellation technology and a comfortable fit, these earbuds are perfect for music lovers on the go.Product: Smart WatchDescription: Stay connected and track your fitness with our advanced smart watch. With heart rate monitoring, GPS, and a vibrant touch screen, it's your perfect companion for an active lifestyle.Product: Ergonomic Office ChairDescription:Dengan contoh-contoh ini, model lebih mungkin menghasilkan deskripsi yang relevan dan bergaya tepat untuk kursi kantor, dibandingkan pendekatan zero-shot yang mungkin menghasilkan deskripsi yang lebih generik atau kurang fokus.
Output potensial bisa berupa:```markdown
Description: Ubah ruang kerja Anda dengan kursi kantor ergonomis tercanggih kami. Dirancang untuk kenyamanan dan dukungan maksimal, kursi ini dilengkapi penopang lumbal yang dapat disesuaikan, sandaran punggung jaring yang breathable, dan sandaran tangan yang dapat dikustomisasi. Baik Anda bekerja dari rumah maupun di lingkungan korporat, kursi ini adalah perpaduan sempurna antara gaya dan fungsionalitas bagi profesional modern.
Faster adaptationFew-shot prompting helps the LLM to quickly learn new tasks or topics, making it fast and easy to switch between different jobs.Quick task learning: Models can quickly grasp new tasks with just a handful of examples, allowing for rapid prototyping and testing of new applications.Domain adaptation: It's easy to shift the model's focus to different domains or styles by simply changing the examples in the prompt.Iterative refinement: Users can quickly iterate and refine their prompts based on initial results, leading to a more agile development process.For example, if we wanted to adapt the model to generate different types of poetry, we could quickly switch between haikus, limericks, or sonnets just by changing the examples in our prompt:```markdownGenerate poetry based on the given theme and format.Theme: SpringHaiku: Cherry blossoms bloom Soft petals dance in the breeze Nature awakensTheme: SummerHaiku:Theme: A funny catLimerick: There once was a cat named Lou Who always knew just what to do He'd climb up a tree Then meow with glee And slide down as if on a chuteTheme: A clumsy dogLimerick:Output potensialnya adalah:
Haiku:Scorching sun aboveCicadas sing endlesslyBeach waves cool bare feetLimerick:There once was a dog quite unsteadyHis paws were not quite readyHe'd trip on his tailKnock over the mailBut his smile kept his owner steadyKebutuhan data yang berkurang
Few-shot prompting secara signifikan mengurangi kebutuhan akan data berlabel dalam jumlah besar, yang merupakan keunggulan utama dibandingkan pendekatan fine-tuning tradisional.
- Contoh minimal yang diperlukan: Sering kali, cukup 2–5 contoh untuk membimbing model secara efektif untuk banyak tugas.
- Tanpa fine-tuning: Berbeda dengan pendekatan pembelajaran mesin tradisional, few-shot prompting tidak memerlukan pembaruan parameter model, sehingga menghemat sumber daya komputasi dan waktu.
- Aksesibilitas: Pendekatan ini membuat kemampuan NLP tingkat lanjut lebih mudah diakses oleh pengguna yang mungkin tidak memiliki dataset besar atau sumber daya untuk pelatihan model yang luas.
Penerapan Few-Shot Prompting
Few-shot prompting dapat diterapkan pada banyak domain. Fleksibilitas dan efisiensinya membuatnya sangat berguna untuk tugas yang memerlukan pengetahuan khusus atau keluaran kreatif. Mari jelajahi beberapa penerapan kunci:
Tugas penalaran kompleks
Few-shot prompting dapat secara signifikan meningkatkan kemampuan LLM dalam menangani tugas yang melibatkan penalaran bertahap, deduksi logis, atau pengetahuan khusus domain.
Mari lihat bagaimana kita dapat menggunakan few-shot prompting untuk tugas diagnosis medis:
Provide a possible diagnosis and explain your reasoning:Symptoms: Fever, cough, fatigueDiagnosis: Common coldExplanation: The combination of fever, cough, and fatigue is typical of a common cold. No severe symptoms are present, suggesting a mild viral infection.Symptoms: Chest pain, shortness of breath, dizzinessDiagnosis: Possible heart attackExplanation: The combination of chest pain, shortness of breath, and dizziness are warning signs of a possible heart attack. Immediate medical attention is required.Symptoms: Headache, sensitivity to light, nauseaDiagnosis:Explanation: Prompt ini membimbing model untuk tidak hanya memberikan diagnosis tetapi juga menjelaskan alasan di baliknya, menunjukkan penalaran medis yang kompleks.
LLM akan menghasilkan:```markdown
Diagnosis: Migrain
Penjelasan: Gejala-gejala ini bersama-sama khas migrain. Sakit kepala yang disertai kepekaan terhadap cahaya (fotofobia) merupakan indikator kuat migrain, dan mual sering menyertai kondisi ini. Meskipun penyebab lain mungkin terjadi, kombinasi ini sangat menunjukkan sakit kepala migrain.
Creative writingFew-shot prompting is particularly effective in guiding LLMs to generate text in specific styles, formats, or genres.Let’s see how to generate movie synopsis in different genres using few-shot prompting:```markdownGenerate movie synopsis:Genre: Sci-FiSynopsis: In a world where dreams can be shared, a skilled "dream thief" is tasked with the impossible: planting an idea in someone's mind. As he delves deeper into the target's subconscious, the lines between reality and dreams blur, threatening to trap him forever.Genre: RomanceSynopsis: A chance encounter on a rainy day in Paris leads two strangers on a whirlwind 24-hour adventure. As they explore the city and each other's hearts, they must decide if their connection is strong enough to overcome the ocean that will separate them come morning.Genre: HorrorSynopsis: Prompt ini membimbing model untuk menghasilkan sinopsis yang menangkap elemen kunci dan nada dari genre yang ditentukan.
Output:
Synopsis: A remote mountain town is plagued by a series of mysterious disappearances. As a skeptical detective investigates, she uncovers an ancient cult that awakens every hundred years to feed on the town's inhabitants. With time running out and the cult's power growing, she must confront her own dark past to save the remaining townspeople and herself from a terrifying fate.Pembuatan kode
Few-shot prompting bisa sangat berguna untuk membantu LLM menghasilkan kode yang mematuhi konvensi tertentu, mengikuti praktik terbaik, atau memenuhi persyaratan khusus. Contoh dapat menunjukkan sintaks dan struktur yang benar untuk bahasa pemrograman tertentu.
Mari kita lihat cara menggunakan few-shot prompting untuk membuat fungsi Python dengan docstring dan type hint:
def calculate_area(length: float, width: float) -> float: """ Calculate the area of a rectangle. Args: length (float): The length of the rectangle. width (float): The width of the rectangle. Returns: float: The area of the rectangle. """ return length * widthdef celsius_to_fahrenheit(celsius: float) -> float: """ Convert temperature from Celsius to Fahrenheit. Args: celsius (float): Temperature in Celsius. Returns: float: Temperature in Fahrenheit. """ return (celsius * 9/5) + 32def calculate_bmi(weight: float, height: float) -> float: """ [Generate a docstring for this function] """ # [Generate the function body]Prompt ini membimbing model untuk membuat fungsi dengan type hint yang benar dan docstring terperinci, mengikuti pola yang telah ditetapkan.
Outputnya akan berupa:
def calculate_bmi(weight: float, height: float) -> float: """ Calculate the Body Mass Index (BMI) of a person. Args: weight (float): The weight of the person in kilograms. height (float): The height of the person in meters. Returns: float: The calculated BMI value. Note: BMI is calculated as weight (kg) divided by height squared (m^2). This function assumes weight is in kilograms and height is in meters. """ return weight / (height ** 2)Few-Shot Prompting: Tantangan dan Praktik Terbaik
Meskipun few-shot prompting bekerja dengan baik dalam banyak kasus, teknik ini memiliki tantangannya sendiri. Memahami tantangan ini dan mengikuti praktik terbaik dapat membantu kita memaksimalkan efektivitas prompt dan mencapai hasil yang lebih baik.
Memilih contoh yang efektif
Kualitas dan relevansi contoh yang Anda pilih sangat penting untuk keberhasilan few-shot prompting. Berikut beberapa tips:
- Pastikan contoh-contoh tersebut secara langsung terkait dengan tugas yang ingin Anda minta model lakukan. Contoh yang tidak relevan dapat membingungkan model dan menurunkan kinerja.
- Gunakan rangkaian contoh yang beragam yang mencakup berbagai aspek tugas. Ini membantu model menggeneralisasi lebih baik pada input baru.
- Contoh harus jelas dan tidak ambigu. Hindari contoh yang rumit atau berbelit-belit yang dapat membingungkan model.
Perancangan prompt
Membuat prompt yang efektif adalah seni yang memerlukan pertimbangan cermat tentang bagaimana contoh disajikan dan bagaimana tugas dirumuskan. Berikut beberapa strategi yang dapat Anda ikuti:
- Pertahankan format yang konsisten untuk semua contoh. Ini membantu model mengenali pola yang perlu diikuti.
- Berikan konteks yang cukup dalam prompt agar tugas menjadi jelas. Terkadang, instruksi singkat atau deskripsi dapat membantu menetapkan panggung untuk contoh.
- Jaga agar prompt sesederhana mungkin sambil tetap memberikan informasi yang diperlukan. Prompt yang terlalu kompleks dapat menyebabkan kebingungan.
Menghindari overfitting
Salah satu risiko few-shot prompting adalah model mungkin mengalami overfitting pada contoh yang diberikan, sehingga output terlalu mirip dengan contoh atau gagal menggeneralisasi dengan baik ke input baru. Untuk menghindari ini:
- Gunakan berbagai contoh yang mencakup skenario dan kasus tepi yang berbeda. Ini membantu model belajar menggeneralisasi alih-alih hanya meniru contoh.
- Hindari menggunakan terlalu banyak contoh, karena ini dapat menyebabkan overfitting. Beberapa contoh yang dipilih dengan baik sering kali lebih efektif daripada banyak contoh yang serupa.
- Uji kinerja model pada berbagai input baru untuk memastikan model dapat menggeneralisasi dengan baik. Sesuaikan contoh dan prompt sesuai kebutuhan berdasarkan pengujian ini.
Mengikuti praktik terbaik ini akan membantu Anda membuat few-shot prompt yang lebih efektif untuk membimbing model menjalankan tugas yang diinginkan secara akurat dan efisien.

Kesimpulan
Few-shot prompting adalah teknik yang membantu LLM menerapkan pengetahuannya pada tugas-tugas spesifik.
Teknik ini memungkinkan adaptasi cepat ke tugas baru tanpa pelatihan ulang yang ekstensif. Ini meningkatkan akurasi untuk tugas kompleks dengan menyediakan contoh yang relevan. Teknik ini berguna di berbagai domain, mulai dari penalaran hingga penulisan kreatif dan pengkodean, serta membuat model bahasa tingkat lanjut lebih mudah diakses dan adaptif.
Namun, efektivitasnya bergantung pada pemilihan contoh dan perancangan prompt yang cermat. Kualitas dan relevansi contoh sangat krusial untuk kinerja optimal.
Ke depan, saya antusias dengan arah perkembangannya. Bayangkan sistem yang dapat memilih contoh terbaik secara otomatis atau beradaptasi secara dinamis berdasarkan kinerjanya.
Jadi, begitulah! Ringkasan few-shot prompting. Terus bereksperimen, terus belajar, dan sampai jumpa di tulisan berikutnya!
FAQ
Apakah ada cara untuk mengukur atau mengkuantifikasi peningkatan kinerja tugas saat menggunakan few-shot prompting dibandingkan pendekatan zero-shot?
Ya, peningkatan dapat diukur menggunakan metrik pembelajaran mesin standar, tergantung pada tugasnya. Untuk tugas klasifikasi, akurasi, presisi, recall, dan skor F1 dapat digunakan. Metrik seperti BLEU, ROUGE, atau evaluasi manusia dapat digunakan untuk tugas generatif.
Apakah ada industri atau sektor tertentu yang mengalami penerapan few-shot prompting yang sangat berhasil?
Few-shot prompting telah berhasil diterapkan di berbagai sektor, termasuk layanan pelanggan (untuk menghasilkan respons), pembuatan konten (untuk bantuan penulisan), dan pengembangan perangkat lunak (untuk pembuatan kode). Teknik ini juga terbukti bermanfaat di bidang kesehatan untuk tugas seperti peringkasan rekam medis dan di bidang keuangan untuk analisis pasar serta pembuatan laporan.
Bagaimana few-shot prompting dapat memengaruhi pasar kerja di masa depan bagi data scientist dan insinyur machine learning?
Few-shot prompting berpotensi mendemokratisasi pengembangan aplikasi AI, memungkinkan non-ahli untuk dengan mudah membuat solusi AI khusus. Hal ini mungkin menggeser fokus data scientist dan insinyur ML ke tugas yang lebih kompleks, rekayasa prompt, dan pengembangan sistem AI yang lebih maju. Ini juga dapat menciptakan peran baru yang berfokus pada perancangan prompt dan contoh yang efektif untuk berbagai aplikasi.
Apa keterbatasan few-shot prompting dalam domain yang sangat khusus atau teknis?
Dalam domain yang sangat spesialis, few-shot prompting mungkin kesulitan jika model kekurangan pengetahuan dasar di area tersebut. Mungkin juga menantang untuk menangkap aturan atau prosedur khusus domain yang kompleks hanya dengan beberapa contoh. Dalam kasus seperti ini, fine-tuning yang lebih ekstensif atau pelatihan khusus domain mungkin diperlukan.
Apakah ada kekhawatiran etis atau potensi penyalahgunaan few-shot prompting yang perlu diperhatikan pengguna?
Ya, ada pertimbangan etis. Few-shot prompting berpotensi digunakan untuk membimbing model AI menghasilkan konten yang bias atau berbahaya jika contoh tidak dipilih dengan hati-hati. Ada juga risiko kebocoran data yang tidak disengaja jika informasi sensitif disertakan dalam prompt.
Ana Rojo Echeburúa adalah spesialis AI dan data dengan gelar PhD di Bidang Matematika Terapan. Ia senang mengubah data menjadi wawasan yang dapat ditindaklanjuti dan memiliki pengalaman luas dalam memimpin tim teknis. Ana menikmati bekerja langsung dengan klien untuk menyelesaikan masalah bisnis mereka dan menciptakan solusi AI yang inovatif. Dikenal karena keterampilan pemecahan masalah dan komunikasi yang jelas, ia sangat antusias terhadap AI, terutama AI generatif. Ana berkomitmen pada pembelajaran berkelanjutan dan pengembangan AI yang etis, serta menyederhanakan masalah kompleks dan menjelaskan teknologi dengan cara yang mudah dipahami.

