Pembelajaran zero-shot dan few-shot
Artikel ini menjelaskan pembelajaran nol bidikan dan pembelajaran beberapa bidikan untuk rekayasa cepat di .NET, termasuk kasus penggunaan utamanya.
Keuntungan performa model GPT dari rekayasa yang cepat, praktik memberikan instruksi dan contoh ke model untuk menyempurnakan outputnya. Pembelajaran tanpa bidikan dan pembelajaran beberapa bidikan adalah teknik yang dapat Anda gunakan saat memberikan contoh.
Dengan pembelajaran tanpa bidikan, Anda menyertakan perintah tetapi bukan penyelesaian verbatim. Anda dapat menyertakan penyelesaian yang hanya terdiri dari istikamah. Pembelajaran zero-shot sepenuhnya bergantung pada pengetahuan model yang ada untuk menghasilkan respons, yang mengurangi jumlah token yang dibuat dan dapat membantu Anda mengontrol biaya. Namun, pembelajaran zero-shot tidak menambah pengetahuan model.
Berikut adalah contoh perintah zero-shot yang memberi tahu model untuk mengevaluasi input pengguna untuk menentukan mana dari empat niat yang mungkin diwakili input, lalu untuk mengawali responsnya dengan "Niat: ".
prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent:
""";
Dengan pembelajaran beberapa bidikan, Anda menyertakan perintah yang dipasangkan dengan penyelesaian verbatim. Dibandingkan dengan pembelajaran tanpa bidikan, ini berarti pembelajaran beberapa bidikan menghasilkan lebih banyak token dan menyebabkan model memperbarui pengetahuannya, yang dapat membuat pembelajaran beberapa bidikan lebih intensif sumber daya. Namun, karena alasan yang sama, pembelajaran beberapa bidikan juga membantu model menghasilkan respons yang lebih relevan.
prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage
User Input: Can you send the full update to the marketing team?
Intent: SendEmail
User Input: {request}
Intent:
""";
Kasus penggunaan pembelajaran zero-shot
Pembelajaran zero-shot adalah praktik perintah passing yang tidak dipasangkan dengan penyelesaian verbatim, meskipun dapat dipasangkan dengan iseng. Ada dua kasus penggunaan utama untuk pembelajaran nol bidikan:
- Bekerja dengan LLM yang disetel dengan baik - Karena bergantung pada pengetahuan model yang ada, pembelajaran zero-shot tidak intensif sumber daya seperti pembelajaran beberapa bidikan, dan berfungsi dengan baik dengan LLM yang telah disetel dengan baik pada himpunan data instruksi. Anda mungkin dapat hanya mengandalkan pembelajaran tanpa bidikan dan menjaga biaya relatif rendah.
- Menetapkan garis besar performa - Pembelajaran zero-shot dapat membantu Anda mensimulasikan performa aplikasi Anda untuk pengguna aktual. Ini memungkinkan Anda mengevaluasi berbagai aspek performa model Anda saat ini, seperti akurasi atau presisi. Dalam hal ini, Anda biasanya menggunakan pembelajaran nol-bidikan untuk membangun garis besar performa dan kemudian bereksperimen dengan pembelajaran beberapa bidikan untuk meningkatkan performa.
Kasus penggunaan pembelajaran beberapa bidikan
Pembelajaran beberapa bidikan adalah praktik permintaan passing yang dipasangkan dengan penyelesaian verbatim (perintah beberapa bidikan) untuk menunjukkan cara merespons model Anda. Tidak seperti pembelajaran zero-shot, pembelajaran beberapa bidikan dapat menambah pengetahuan model. Anda bahkan dapat menggunakan himpunan data Anda sendiri untuk secara otomatis menghasilkan perintah beberapa bidikan, dengan melakukan pembuatan pengambilan dengan penambahan.
Pembelajaran beberapa bidikan memiliki dua kasus penggunaan utama:
- Menyetel LLM - Karena dapat menambah pengetahuan model, pembelajaran beberapa bidikan dapat meningkatkan performa model. Ini juga menyebabkan model membuat lebih banyak token daripada pembelajaran zero-shot, yang akhirnya dapat menjadi mahal secara dilarang atau bahkan tidak layak. Namun, jika LLM Anda belum disetel dengan baik, Anda tidak akan mendapatkan performa yang baik dengan perintah nol tembakan, dan pembelajaran beberapa bidikan dijaga.
- Memperbaiki masalah performa - Anda dapat menggunakan pembelajaran beberapa bidikan sebagai tindak lanjut dari pembelajaran zero-shot. Dalam hal ini, Anda menggunakan pembelajaran nol-bidikan untuk membuat garis besar performa, lalu bereksperimen dengan pembelajaran beberapa bidikan berdasarkan perintah nol bidikan yang Anda gunakan. Ini memungkinkan Anda menambahkan pengetahuan model setelah melihat bagaimana saat ini meresponsnya, sehingga Anda dapat melakukan iterasi dan meningkatkan performa sambil meminimalkan jumlah token yang Anda perkenalkan.
Peringatan
- Pembelajaran berbasis contoh tidak berfungsi dengan baik untuk tugas penalaran yang kompleks. Namun, menambahkan instruksi dapat membantu mengatasi hal ini.
- Pembelajaran beberapa bidikan memerlukan pembuatan perintah yang panjang. Perintah dengan sejumlah besar token dapat meningkatkan komputasi dan latensi. Ini biasanya berarti peningkatan biaya. Ada juga batasan panjang perintah.
- Saat Anda menggunakan beberapa contoh, model dapat mempelajari pola palsu, seperti "Sentimen dua kali lebih mungkin positif daripada negatif."