Blog AWS Indonesia
Amazon Bedrock LLMs: Panduan praktis untuk pengembangan chatbot – Pemilihan dan pengujian LLM menjadi lebih mudah dengan Datasaur LLM Labs
Kondisi Teknologi Aplikasi Saat Ini
Generative AI merevolusi cara kita mengembangkan produk. Hampir setiap industri menggunakan generative AI dan mengembangkan aplikasi yang memberikan pengalaman unik kepada pelanggan mereka. Mulai dari automasi layanan pelanggan hingga meningkatkan kampanye pemasaran, organisasi memanfaatkan generative AI untuk mendorong efisiensi dan inovasi.
Namun, keberhasilan aplikasi ini bergantung pada pemilihan Large Language Models (LLM) yang terbaik untuk use case tersebut. Jika organisasi memilih model yang salah, organisasi akan memberikan user experience yang buruk, anggaran membengkak, dan hilangnya kepercayaan dari pelanggan. Anda harus melakukan evaluasi LLM yang mendalam dan memilih LLM yang tepat untuk memberikan pengalaman terbaik kepada pelanggan Anda. Proses mengevaluasi LLM bisa menjadi proses yang panjang dan kompleks; namun, dengan strategi dan teknologi modern, Anda dapat membuat proses ini menjadi cepat dan mudah.
Dalam artikel ini, Anda akan belajar cara menggunakan Datasaur LLM Labs untuk memilih LLM secara otomatis dan parallel.
Mari kita mulai!
Bayangkan Anda adalah seorang machine learning engineer yang baru bergabung dengan startup di bidang pendidikan, dan telah sukses berkarya di sekolah swasta di New York. Namun, fitur kolaborasi di aplikasi yang Anda buat mengalami penurunan penggunaan. Siswa menggunakannya sekali dan tidak menggunakannya lagi. Saat melakukan survei, tim produk mengetahui bahwa siswa tidak menganggapnya bermanfaat karena fitur tersebut tidak memiliki kemampuan untuk menjawab pertanyaan siswa. Anda ditugaskan untuk memperbaikinya. Tugasnya sederhana – Mengembangkan chatbot berbasis generative AI yang menjawab pertanyaan siswa dan membawa siswa kembali ke fitur kolaborasi tersebut.
Pimpinan Anda telah memberikan anggaran $5,000 dan mengharapkan proof of concept (POC) yang berjalan dengan baik dalam empat minggu. Arsitek teknis telah memilih Amazon Bedrock sebagai servis untuk menjalankan POC aplikasi generative AI, dan mengandalkan Anda untuk memilih LLM mana yang akan diintegrasikan. Anda memiliki dua minggu untuk menyelesaikan pemilihan LLM sehingga proses implementasi dapat segera dimulai.
Memilih parameter untuk use case Anda
Sebelum Anda mulai mengevaluasi model, Anda harus memahami kriteria penerimaan yang ditentukan oleh tim bisnis. Berikut informasi yang Anda dapat dari product manager Anda:
- Latensi: pelanggan ingin respon service level agreement (SLA) maksimum di 1,5 detik
- Biaya: tidak boleh melebihi anggaran POC sebesar $5,000. Fitur akan memiliki lalu lintas yang rendah, karena fitur chatbot akan ditawarkan ke 10 sekolah secara eksklusif sebagai bagian dari POC.
- Kualitas: akurasi jawaban menjadi yang terpenting. Wajib menjawab lebih dari 80% secara akurat. Nada respons harus bersifat edukatif, faktual, dan kasual (bahasa sehari-hari).
Memeriksa biaya, latensi, dan informasi umum itu mudah–jadi tidak ada masalah di sana. Namun, kebutuhan kualitas akan menghabiskan sebagian besar waktu Anda. Ini akan membuat Anda bertanya-tanya apakah dua minggu adalah waktu yang cukup untuk memilih LLM.
Tantangan memilih LLM yang tepat
LLM yang Anda pilih harus memenuhi persyaratan di atas, sesuai dengan anggaran Anda, dan memenuhi persyaratan kualitas Anda–dan evaluasi kualitas adalah tugas yang sangat berat. Anda harus mengidentifikasi skenario dan memeriksa apakah respons model memenuhi harapan dari berbagai perspektif. Misalnya, apakah jawabannya 1) benar, 2) akurat, 3) komprehensif dan 4) informatif?
Di level lain, Anda juga harus menjawab: 5) Apakah LLM tersebut mampu bernalar? 6) Apakah keluaran model koheren dan faktual? 7) Apakah LLM merespons dengan nada yang sesuai untuk pengguna aplikasi Anda? 8) Apakah LLM menunjukkan bias yang menyinggung pengguna aplikasi Anda? 9) Apa kelemahannya? 10) Apakah LLM melakukan tugas dengan baik? 11) Apakah outputnya baik secara konsisten? dan 12) Apakah bekerja dengan baik dalam konteks data Anda?
Ada banyak cara LLM Anda bisa salah, dan Anda tidak ingin LLM Anda berakhir di daftar kegagalan generative AI.
Selain itu, Anda harus mengevaluasi secara menyeluruh tidak hanya satu tetapi banyak LLM. Untuk memulai, Anda harus mengidentifikasi kandidat LLM berkualitas tinggi.
Langkah 1: Mengidentifikasi kandidat LLM
Mengidentifikasi kandidat LLM lebih mudah dari yang Anda pikirkan. Anda bisa menerapkan kriteria yang jelas untuk model yang ditawarkan di Amazon Bedrock dan menyaring model yang lama, tidak relevan, mahal, atau lambat:
- Kriteria 1: Karena Anda ingin menggunakan LLM untuk use case chatbot Anda, pilih model-model Only Text/chat
- LLM yang harus dievaluasi: 114
- Kriteria 2: Karena Anda memiliki lalu lintas data yang sangat rendah dan anggaran terbatas, pilih hanya Serverless/PAYG
- LLM yang harus dievaluasi: 32
- Kriteria 3: Hanya LLM terbaru
- LLM yang harus dievaluasi: 19
- Kriteria 4: Karena Anda membutuhkan LLM untuk memahami alur konteks dan dialog, serta memahami nada dan etiket percakapan, pilih hanya LLM yang dioptimalkan untuk chat
- LLM yang harus dievaluasi: 6
- Kriteria 5: Sesuai dengan anggaran dan memiliki latensi di bawah 1,5 detik
- LLM yang harus dievaluasi: 4
Berikut adalah daftar final kandidat LLM yang Anda ingin evaluasi:
Semua kandidat LLM Anda memenuhi kriteria biaya dan latensi. Mereka adalah LLM berbasis teks yang dioptimalkan untuk chat, baru, dan tersedia dengan basis pay-as-you-go (PAYG). Sekarang, saatnya melakukan evaluasi kualitatif yang lebih dalam untuk melihat mana dari keempat pilihan tersebut yang terbaik untuk use case Anda.
Melakukan analisis kualitatif mendalam
Mari kita bicarakan apa yang benar-benar penting untuk use case kita, yaitu akurasi jawaban. Anda tidak bisa membiarkan LLM memberikan jawaban yang salah, karena ini bisa menghancurkan kepercayaan siswa dan reputasi aplikasi Anda.
Dengan 2.000 pertanyaan dan empat LLM berbeda, Anda seketika memiliki 8.000 respons untuk ditinjau. Ini memunculkan beberapa pertanyaan penting yang perlu Anda pikirkan: Siapa yang akan melakukan semua evaluasi ini? Apakah Anda akan memanggil setiap LLM sendiri, atau Anda perlu orang lain untuk membantu? Bagaimana dengan memeriksa akurasi jawaban? Apakah Anda akan memeriksanya sendiri?
Karena Anda memiliki keterbatasan untuk memanggil setiap model secara manual dan memeriksa setiap respons sendiri, cara terbaik adalah dengan melakukan evaluasi secara otomatis. Ada beberapa evaluator standar industri yang dapat Anda gunakan untuk mengevaluasi respons LLM. Setelah melakukan penelitian, Anda menemukan empat standar industri berikut:
- Langchain – Answer Correctness evaluator: metrik ini mengukur akurasi respons LLM dibandingkan dengan fakta. Evaluator ini memberikan skor antara 1 (rendah) dan 10 (tinggi). Evaluator Ini juga menghasilkan rantai nalar.
- Deepeval’s Answer relevance: metrik ini mengevaluasi seberapa relevan respons LLM terhadap pertanyaan yang diberikan.
- Deepeval’s Bias: menilai keberadaan prasangka (bias) dalam output LLM berdasarkan kriteria yang telah ditentukan.
- Deepeval’s Toxicity: Mendeteksi dan mengukur bahasa yang memberikan pengaruh buruk atau konten berbahaya dalam respons LLM
Evaluasi otomatis dengan empat metrik ini akan memastikan akurasi jawaban, relevansi, bias, dan toksisitas.
Kebutuhan akan aplikasi evaluasi LLM otomatis
Mengotomatisasi evaluasi LLM adalah tugas yang kompleks. Untuk melakukan evaluasi, Anda perlu mengirim prompt ke setiap model dan menulis kode untuk menangani keterbatasan kapasitas servis, timeout, dll. Anda juga mungkin membutuhkan UI untuk membandingkan jawaban LLM secara berdampingan.
Dengan tim teknis yang terampil, proses pengembangan sistem yang mendukung evaluasi LLM otomatis terhadap beberapa LLM ini akan memakan waktu berminggu-minggu jika dilakukan sendiri. Proses ini akan memakan waktu dalam proses penggunaan dataset yang disediakan, penghitungan metrik evaluasi menggunakan penilaian khusus, dan menampilkan hasil dalam UI yang memungkinkan Anda untuk mendalami respons masing-masing LLM.
Aplikasi yang memungkinkan Anda mengevaluasi beberapa LLM diperlukan untuk melakukan evaluasi LLM, karena Anda tahu bahwa ini bukan aktivitas yang dilakukan satu kali saja. Ke depannya, ketika LLM yang lebih baru dirilis, Anda ingin bermigrasi ke model yang lebih baru, lebih baik, lebih murah. Alat yang Anda gunakan harus memungkinkan Anda menguji semua LLM yang tersedia di Amazon Bedrock dan LLM lainnya juga, jika nanti Anda mempertimbangkan LLM yang secara eksklusif tersedia di platform lain. Alat tersebut tidak boleh memiliki biaya lisensi yang mahal; faktanya, produk SaaS pay-as-you-go akan menjadi pilihan yang baik.
Mengeksplorasi Datasaur LLM Labs
Anda mulai mengeksplorasi AWS Marketplace dan menemukan Datasaur LLM Labs, platform yang dapat mengevaluasi kualitas inferensi, kecepatan, dan biaya dari beberapa Large Language Models (LLM). Yang menarik dari produk ini adalah dukungannya untuk melakukan evaluasi otomatis pada lebih dari 200 LLM berbeda. Platform ini juga memiliki UI di mana tim Anda yang bekerja sebagai evaluator dapat melakukan inferensi pada beberapa LLM sekaligus secara manual. Lebih lanjut, platform ini menjanjikan bahwa data non-publik Anda tetap bersifat pribadi. Berdasarkan temuan Anda, Anda memutuskan untuk melakukan POC cepat untuk mengevaluasi kemampuan evaluasi Datasaur.ai untuk use case tanya-jawab.
Datasaur LLM Labs hadir dengan uji coba gratis ketika berlangganan dari AWS Marketplace. Anda langsung berlangganan produk ini dan dapat mulai mengevaluasi secara manual.
Melakukan evaluasi manual
Dalam konsol Datasaur, Anda pertama-tama membuat sandbox, kemudian tambahkan semua kandidat LLM Anda, dan atur masing-masing kandidat LLM menjadi satu aplikasi (Application).
Untuk setiap aplikasi, Anda dapat melakukan konfigurasi hyperparameter dan basis pengetahuan (knowledge base) bersama dengan instruksi sistem (system instruction) dan instruksi pengguna (user instruction).
Selanjutnya, Anda dapat melakukan konfigurasi basis pengetahuan (knowledge base) di mana Anda dapat mengunggah data tanya-jawab, dan mengaitkan basis pengetahuan (knowledge base) dengan sandbox dan seluruh empat aplikasi.
Selanjutnya, Anda kembali ke sandbox, mengaitkan basis pengetahuan (knowledge base) dengan setiap aplikasi, dan menulis prompt. UI Datasaur LLM Labs memungkinkan Anda mengirim satu prompt ke seluruh empat aplikasi (LLM) dengan sekali klik. Jika Anda ingin menjalankan beberapa prompt, Anda dapat mengklik tombol Run all dan mengirim prompt ke aplikasi LLM yang sesuai.
Dengan kemampuan evaluasi manual ini, Anda dapat melakukan evaluasi beberapa LLM dan mengevaluasi karakteristik yang diperlukan seperti 1) koherensi, 2) relevansi, 3) kejelasan, 4) nada, 5) daya ingat terhadap konteks, 6) kemampuan untuk mengajukan pertanyaan lanjutan yang lebih fokus, dll. Mereka dapat lebih lanjut menyesuaikan hyperparameter dan memanggil kembali prompt yang telah mereka tulis untuk melihat bagaimana jawaban LLM.
Oke, ini bagus untuk evaluasi manual, tapi bagaimana dengan akurasi jawaban? Akurasi jawaban lebih sulit untuk dievaluasi karena ribuan pertanyaan perlu ditanyakan, dan jawaban perlu ditinjau. Di sinilah fitur evaluasi otomatis Datasaur LLM Labs membantu.
Melakukan evaluasi otomatis
Anda dapat menyimpan aplikasi yang Anda konfigurasi di sandbox ke library dan kemudian menggunakannya untuk evaluasi otomatis.
Langkah pertama evaluasi adalah memilih aplikasi dan menyediakan dataset tanya-jawab. Untuk pengujian cepat, saya membangun dataset tanya-jawab yang kecil dan cukup kompleks.
Untuk use case chatbot, Anda dapat memilih metrik LangChain – Answer correctness dan menggunakan GPT-4 untuk mengevaluasi jawaban. Setelah evaluasi selesai, Anda dapat membuka dan menganalisa hasil evaluasi. Seperti yang Anda lihat dalam tangkapan layar berikut, Anda mendapatkan metrik Answer Correctness LangChain untuk setiap LLM, yang membantu Anda memahami seberapa akurat jawabannya.
Anda dapat menggali lebih dalam ke jawaban setiap pertanyaan, skornya (0-10, 10 adalah tertinggi), dan melihat alasan di balik mengapa skor tertentu diberikan untuk jawaban tersebut.
Selanjutnya, Anda dapat melanjutkan pekerjaan evaluasi untuk bias, toksisitas, relevansi jawaban, dan menganalisis output untuk hal yang sama.
Saat Anda melakukan analisis hasil evaluasi otomatis serta masukan dari tim anda yang berlaku sebagai evaluator, Anda mendapatkan kesimpulan tentang LLM mana yang bekerja dengan sangat baik. Selanjutnya, Anda dapat menghabiskan waktu untuk menyesuaikan prompt untuk lebih meningkatkan respons sambil mendokumentasikan keterbatasan/kelemahan model tersebut. Jika kelemahan-kelemahan yang ditemukan mempengaruhi sejumlah besar use case, Anda dapat mempertimbangkan alternatif lain, yaitu memecah problem statement dan mengatasi problem statement tersebut dengan lebih dari satu solusi.
Kesimpulan
Anda baru saja belajar cara menggunakan Datasaur LLM Labs untuk melakukan evaluasi manual dan otomatis pada beberapa LLM secara bersamaan untuk mengidentifikasi LLM yang tepat untuk use case Anda. Berikut adalah beberapa poin penting untuk membantu Anda memulai proyek berikutnya:
- Luangkan waktu untuk memahami use case, persyaratan, dan parameter, seperti latensi yang diizinkan dan biaya untuk proyek.
- Identifikasi model hub (tempat penyimpanan model), terapkan kriteria penyaringan yang bersifat wajib, dan tinjau metrik umum pada leaderboard seperti HELM untuk membuat daftar kandidat model untuk melakukan evaluasi.
- Jelajahi alat seperti Datasaur LLM Labs untuk mempercepat proses evaluasi – ingat, evaluasi bukan aktivitas satu kali; Anda akan melakukannya lagi nanti saat Anda mengeksplorasi LLM baru.
- Sesuaikan prompt Anda dan integrasikan dengan Amazon Bedrock Converse API.
Jika Anda belum memulai, coba Datasaur LLM Labs secara gratis di AWS Marketplace menggunakan akun AWS Anda.
Artikel ini diterjemahkan dari artikel asli dengan judul “Amazon Bedrock LLMs: A practical guide for chatbot development: Simplifying LLM selection and testing for AWS with Datasaur LLM Labs” yang ditulis oleh Leonardo Murillo, Technology Developer di AWS.