Announcing our new Course: AI Red-Teaming and AI Safety Masterclass
Check it out →Perkembangan terbaru dalam model bahasa besar (LLM) seperti GPT-3 dan ChatGPT telah menciptakan banyak kehebohan di industri teknologi. Model-model ini sangat kuat untuk menghasilkan konten, tetapi mereka juga memiliki beberapa kelemahan seperti bias1 dan halusinasi2. Salah satu area di mana LLM ini dapat sangat berguna adalah pengembangan chatbot.
Chatbot tradisional umumnya berbasis pada niat, artinya mereka dirancang untuk merespons niat pengguna tertentu. Setiap niat terdiri dari serangkaian pertanyaan contoh dan tanggapan yang terkait. Misalnya, niat “Cuaca” mungkin mencakup contoh pertanyaan seperti “Bagaimana cuaca hari ini?” atau “Akan hujan hari ini?” dan tanggapan seperti “Hari ini akan cerah.” Ketika pengguna mengajukan pertanyaan, chatbot mencocokkannya dengan niat dengan pertanyaan contoh yang paling mirip dan mengembalikan tanggapan yang terkait.
Bagaimana cara kerja chatbot berbasis niat tradisional. Gambar oleh penulis.
Namun, chatbot berbasis niat memiliki sejumlah masalah tersendiri. Satu masalah adalah bahwa mereka membutuhkan sejumlah besar niat tertentu untuk memberikan jawaban tertentu. Misalnya, kalimat dari pengguna seperti “Saya tidak dapat masuk”, “Saya lupa kata sandi saya”, atau “Kesalahan masuk” mungkin memerlukan tiga jawaban yang berbeda dan oleh karena itu tiga niat yang berbeda, meskipun mereka semua cukup mirip.
Ini adalah tempat di mana GPT-3 bisa sangat berguna. Alih-alih memiliki banyak niat yang sangat spesifik, setiap niat dapat lebih luas dan memanfaatkan dokumen dari basis pengetahuan Anda. Basis Pengetahuan (Knowleadge Base/KB) adalah informasi yang disimpan sebagai data terstruktur dan tak terstruktur, siap digunakan untuk analisis atau inferensi. KB Anda mungkin terdiri dari serangkaian dokumen yang menjelaskan cara menggunakan produk Anda.
Dengan cara ini, setiap niat terkait dengan sebuah dokumen bukan sebuah daftar pertanyaan dan jawaban spesifik, misalnya sebuah niat untuk 'masalah login', satu niat untuk 'bagaimana cara berlangganan', dll. Ketika pengguna mengajukan pertanyaan tentang login, kita dapat melewati dokumen 'masalah login' ke GPT-3 sebagai informasi konteks dan menghasilkan respons yang spesifik terhadap pertanyaan pengguna.
Bagaimana sebuah chatbot memanfaatkan GPT-3 bisa bekerja. Gambar oleh penulis.
Pendekatan ini mengurangi jumlah niat yang perlu dikelola dan memungkinkan jawaban yang lebih sesuai dengan setiap pertanyaan. Selain itu, jika dokumen yang terkait dengan niat tersebut menggambarkan proses yang berbeda (misalnya, proses untuk "masuk di situs web" dan proses lainnya untuk "masuk di aplikasi seluler"), GPT-3 dapat otomatis menanyakan klarifikasi kepada pengguna sebelum memberikan jawaban akhir.
Saat ini, LLM seperti GPT-3 memiliki ukuran prompt maksimum sekitar 4k token (untuk model text-davinci-003
), yang banyak tetapi tidak cukup untuk memberi makan seluruh basis pengetahuan ke dalam satu prompt. LLM memiliki ukuran prompt maksimum untuk alasan komputasi, karena menghasilkan teks dengan mereka melibatkan sejumlah perhitungan yang dengan cepat meningkat seiring peningkatan ukuran prompt.
LLM masa depan mungkin tidak memiliki batasan ini sambil tetap mempertahankan kemampuan pembangkitan teks. Bagaimanapun, untuk saat ini, kita perlu merancang sebuah solusi di sekitarnya.
Jadi, pipeline chatbot bisa terdiri dari dua langkah:
Langkah pertama secara fundamental diselesaikan oleh pencarian semantis. Kita dapat menggunakan model yang sudah dilatih dari library sentence-transformers dan dengan mudah menetapkan skor untuk setiap dokumen. Dokumen dengan skor tertinggi adalah yang akan digunakan untuk menghasilkan jawaban chatbot.
Bagaimana chatbot yang memanfaatkan GPT-3 bisa bekerja. GPT-3 dapat digunakan untuk menghasilkan jawaban yang sesuai dengan memanfaatkan informasi dari dokumen basis pengetahuan. Gambar oleh penulis.
Setelah kami memiliki dokumen yang tepat, kami perlu membuat perintah yang baik untuk digunakan dengan GPT-3 agar dapat menghasilkan jawaban. Dalam eksperimen berikutnya, kita akan selalu menggunakan model text-davinci-003
dengan suhu 0.7
.
Untuk membuat permintaan, kita akan bereksperimen menggunakan:
Informasi yang digunakan untuk membuat permintaan GPT-3 kami. Gambar oleh penulis.
Mari mulai prompt kita dengan teknik
role-prompting.
As an advanced chatbot named Skippy, your primary goal is to assist users to
the best of your ability.
Kemudian, anggaplah langkah pencarian semantik mengekstraksi dokumen berikut dari basis pengetahuan kami. Semua dokumen menjelaskan bagaimana produk VideoGram bekerja, yang merupakan produk imajiner mirip dengan Instagram, tetapi hanya untuk video.
Dokumen yang menjelaskan cara masuk ke VideoGram. Gambar oleh sang penulis.
Kita bisa menambahkan
kontennya di dalam prompt dengan cara ini.
As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.
START CONTEXT
Login to VideoGram from Website
- Open your web browser and go to the VideoGram website.
- Click on the “Login” button located in the top right corner of the page.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, click on the “Login” button.
- You should now be logged in to your VideoGram account.
Login to VideoGram from Mobile App
- Open the VideoGram app on your mobile device.
- On the main page, tap the “Login” button located in the bottom right corner.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, tap the “Login” button.
- You should now be logged in to your VideoGram account.
END CONTEXT
Terakhir, kita perlu menambahkan
percakapan dan pertanyaan pengguna ke akhir perintah, seperti contoh berikut.
As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.
START CONTEXT
Login to VideoGram from Website
- Open your web browser and go to the VideoGram website.
- Click on the “Login” button located in the top right corner of the page.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, click on the “Login” button.
- You should now be logged in to your VideoGram account.
Login to VideoGram from Mobile App
- Open the VideoGram app on your mobile device.
- On the main page, tap the “Login” button located in the bottom right corner.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, tap the “Login” button.
- You should now be logged in to your VideoGram account.
END CONTEXT
SKIPPY: Hello, I’m Skippy! How can I help you?
USER: I can’t find the login button.
SKIPPY:
Kirimkan prompt ini ke GPT-3, saya mendapatkan jawaban yang dihasilkan berikut ini.
No problem! On the website, the login button is located in the top right
corner of the page. On the mobile app, the login button is located in the
bottom right corner. Let me know if you need any further assistance!
Perhatikan bagaimana informasi dalam jawaban yang dihasilkan berasal dari dokumen basis pengetahuan.
Ayo coba dengan pertanyaan pengguna yang lebih samar, seperti
"tidak bisa login". Berikut adalah prompt lengkap.
As an advanced chatbot named Skippy, your primary goal is to assist users to the best of your ability.
START CONTEXT
Login to VideoGram from Website
- Open your web browser and go to the VideoGram website.
- Click on the “Login” button located in the top right corner of the page.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, click on the “Login” button.
- You should now be logged in to your VideoGram account.
Login to VideoGram from Mobile App
- Open the VideoGram app on your mobile device.
- On the main page, tap the “Login” button located in the bottom right corner.
- On the login page, enter your VideoGram username and password.
- Once you have entered your credentials, tap the “Login” button.
- You should now be logged in to your VideoGram account.
END CONTEXT
SKIPPY: Hello, I’m Skippy! How can I help you?
USER: Can’t login
SKIPPY:
GPT-3 menjawab mencoba memahami lebih baik apa masalah pengguna.
I’m sorry to hear that. Can you tell me if you are trying to login via the
VideoGram website or mobile app?
Selanjutnya, berikut ini adalah bagaimana percakapan lengkapnya. Seluruh prompt disembunyikan untuk visibilitas yang lebih baik.
USER: Can’t login
SKIPPY: I’m sorry to hear that. Can you tell me if you are trying to login via the VideoGram website or mobile app?
USER: Mobile app
SKIPPY: OK, no problem. To login via the mobile app, open the VideoGram app on your mobile device. On the main page, tap the “Login” button located in the bottom right corner. On the login page, enter your VideoGram username and password. Once you have entered your credentials, tap the “Login” button. You should now be logged in to your VideoGram account. Please let me know if you need any further assistance.
GPT-3 dapat mengelola penjelasan, asalkan memiliki informasi kontekstual yang tepat.
Contoh sebelumnya berhasil dengan baik. Namun, ada beberapa cara di mana chatbot ini bisa gagal.
Jika kita bertanya, “Apakah aplikasi seluler gratis?” ke GPT-3 dengan melewati dokumen login sebagai konteks, seringkali Anda akan mendapatkan jawaban seperti, “Ya, aplikasi seluler VideoGram gratis untuk diunduh dan digunakan”, meskipun informasi tersebut tidak terkandung dalam informasi konteks. Menghasilkan informasi palsu sangat buruk untuk chatbot layanan pelanggan!
GPT-3 jarang menghasilkan informasi yang salah ketika jawaban atas pertanyaan pengguna dapat ditemukan dalam konteks. Karena pertanyaan pengguna sering kali pendek dan ambigu, kita tidak dapat mengandalkan langkah pencarian semantik untuk selalu mendapatkan dokumen yang benar, dan oleh karena itu kita selalu rentan terhadap pembentukan informasi palsu.
GPT-3 sangat berguna untuk membuat chatbot percakapan dan mampu menjawab serangkaian pertanyaan spesifik berdasarkan informasi kontekstual yang dimasukkan dalam permintaan. Namun, sulit bagi model untuk menghasilkan jawaban hanya dengan menggunakan informasi dalam konteks, karena model cenderung berhalusinasi (yaitu menghasilkan informasi baru, yang mungkin salah). Menghasilkan informasi palsu adalah masalah yang berbeda tingkat keparahannya tergantung pada kasus penggunaan.
Ditulis oleh Fabio Chiusano.
Nadeem, M., Bethke, A., & Reddy, S. (2021). StereoSet: Measuring stereotypical bias in pretrained language models. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), 5356–5371. https://doi.org/10.18653/v1/2021.acl-long.416 ↩
Ji, Z., Lee, N., Frieske, R., Yu, T., Su, D., Xu, Y., Ishii, E., Bang, Y., Madotto, A., & Fung, P. (2022). Survey of Hallucination in Natural Language Generation. ACM Computing Surveys. https://doi.org/10.1145/3571730 ↩