1. Sebelum memulai
Dalam codelab ini, Anda akan menerapkan praktik terbaik dari edisi baru Buku Panduan People + AI Research (PAIR) untuk mendesain produk baru dengan AI, dengan berfokus pada praktik data yang berpusat pada manusia dan kepercayaan pengguna yang dikalibrasi dengan benar.
Prasyarat
- Pemahaman dasar tentang AI.
- Pengetahuan tentang alur kerja pengembangan produk.
Yang akan Anda pelajari
Dalam codelab ini, Anda akan mempelajari cara menggunakan Buku Panduan People + AI Google Research untuk membangun produk AI yang tepercaya dan berpusat pada pengguna.
Secara khusus, Anda akan:
- Pelajari apa saja yang baru dalam edisi kedua Buku Panduan PAIR.
- Ikuti serangkaian latihan yang menyoroti peluang dalam proses pengembangan AI untuk mengalibrasi kepercayaan pengguna, dengan berfokus pada data dan penjelasan yang ditampilkan kepada pengguna.
- Dapatkan pengantar tentang toolkit materi dan referensi yang lebih luas yang tersedia untuk eksplorasi lebih lanjut.
Yang Anda butuhkan
- Browser
- Akun Google untuk melihat notebook Colaboratory (misalnya, Analisis Sentimen dengan BERT)
2. Mulai
Kami memperkenalkan edisi kedua Buku Panduan PAIR di Google I/O tahun ini. Edisi pertama dirilis dua tahun lalu, dan sejak saat itu telah digunakan oleh lebih dari seperempat juta orang di berbagai peran (developer, desainer, product manager, siswa, dll.) di seluruh dunia. Dengan senang hati kami memperkenalkan serangkaian pembaruan untuk membuatnya lebih mudah ditindaklanjuti.
Secara khusus, dalam edisi kedua ini, kami menyediakan cara baru untuk menjelajahi Buku Panduan dan menemukan konten berdasarkan tugas. Kami telah membuat daftar pertanyaan utama yang mungkin Anda dan tim Anda miliki saat mengembangkan produk dengan pendekatan AI yang berfokus pada pengguna, dan yang akan membantu Anda menemukan konten yang Anda butuhkan, saat Anda membutuhkannya:
- Kapan dan bagaimana cara menggunakan AI di produk saya?
- Bagaimana cara membangun set data secara bertanggung jawab?
- Bagaimana cara membantu pengguna membangun dan mengalibrasi kepercayaan dalam sistem AI saya?
- Bagaimana cara mengaktifkan fitur AI baru untuk pengguna?
- Bagaimana cara menjelaskan sistem AI saya kepada pengguna?
- Bagaimana keseimbangan yang tepat antara kontrol pengguna dan otomatisasi?
- Bagaimana cara mendukung pengguna saat terjadi kesalahan?
Setelah memilih pertanyaan, Anda akan mendapatkan konten yang relevan dalam unit yang lebih kecil dan lebih dapat ditindaklanjuti.
Kami juga telah memperbarui Buku Panduan PAIR dengan konten baru:
- Sekumpulan pola desain AI
- Studi kasus
- Bagian yang diperbarui
- Latihan baru dan kit workshop
Dalam codelab ini, Anda akan melihat beberapa pola desain ini beraksi dalam alur kerja saat Anda mengembangkan fitur baru dengan AI.
Mari kita mulai!
3. Menerjemahkan kebutuhan pengguna menjadi masalah AI
Bayangkan skenario berikut:
Anda sedang mengembangkan aplikasi penayangan film, dan Anda ingin memberikan pengalaman yang lebih baik dan disesuaikan kepada pengguna, membantu mereka menemukan lebih banyak film yang mereka sukai.
Halaman landing aplikasi saat ini mencakup bagian berikut:
- Daftar film baru, diurutkan berdasarkan tanggal rilis
- Katalog semua film, yang diatur berdasarkan genre
- Kotak penelusuran, tempat pengguna dapat menelusuri berdasarkan judul film, pemeran, dll.
Aplikasi film tanpa rekomendasi yang dipersonalisasi
Anda ingin menambahkan bagian baru dengan rekomendasi film untuk pengguna, dan Anda berpikir bahwa AI bisa menjadi opsi yang baik untuk menerapkan fitur ini. Sebelum mempelajari penerapan apa pun, Anda harus melakukan hal berikut:
- Tinjau alur kerja yang ada: bagaimana pengguna berinteraksi dengan aplikasi saat ini, dan bagaimana menurut Anda pengalaman mereka dapat ditingkatkan?
- Tentukan apakah AI dapat memberikan nilai unik: apakah masalah Anda dapat diselesaikan dengan baik menggunakan AI, dan apakah AI cenderung meningkatkan pengalaman pengguna produk Anda?
Dengan menggunakan bab dalam Buku Panduan PAIR, Kebutuhan Pengguna + Menentukan Kesuksesan, Anda meninjau daftar kasus penggunaan yang kemungkinan AI adalah solusi yang baik, dan menemukan bahwa kebutuhan pengguna Anda termasuk dalam jenis masalah berikut:
- Merekomendasikan konten yang berbeda kepada pengguna yang berbeda
- Personalisasi meningkatkan pengalaman pengguna
- Menampilkan konten dinamis lebih efisien daripada antarmuka yang dapat diprediksi
Pastikan untuk meninjau daftar kasus di mana AI mungkin bukan solusi yang lebih baik.
Sekarang setelah Anda melihat bahwa solusi yang didukung AI tampaknya merupakan kandidat yang baik untuk memenuhi kebutuhan pengguna ini, Anda perlu mengevaluasi apakah solusi tersebut benar-benar akan memberikan pengalaman pengguna yang lebih baik.
Pola:
Sebelum Anda mulai membangun dengan AI, pastikan produk atau fitur yang Anda pikirkan memerlukan AI, atau akan ditingkatkan olehnya.
AI sangat cocok untuk aplikasi seperti:
- Merekomendasikan konten yang berbeda kepada pengguna yang berbeda, seperti saran film
- Memprediksi peristiwa mendatang, seperti peristiwa cuaca atau perubahan harga tiket pesawat
- Natural language understanding
- Pengenalan gambar
Solusi berbasis aturan atau heuristik mungkin lebih baik jika:
- Menjaga prediktabilitas itu penting
- Pengguna, pelanggan, atau developer memerlukan transparansi penuh
- Orang tidak ingin tugas diotomatiskan
Lihat bab Kebutuhan Pengguna untuk mengetahui lebih lanjut kapan harus menggunakan (atau tidak) AI.
Link ke pola lengkap: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value
Anda dapat meningkatkan nilai aplikasi dengan menyoroti film yang kemungkinan besar akan disukai setiap pengguna, sehingga memberikan pengalaman pengguna yang lebih kaya daripada hanya menampilkan film terbaru atau film dengan rating tertinggi secara keseluruhan. Anda juga menduga bahwa Anda dapat menghemat waktu mereka dalam menjelajahi katalog film yang terus bertambah dengan cepat menggunakan fitur ini.
Setelah memutuskan untuk menggunakan solusi yang didukung teknologi AI, Anda siap mulai merencanakan langkah selanjutnya.
4. Buat set data untuk tugas
Untuk melatih sistem rekomendasi agar memberikan saran film kepada pengguna, Anda harus menyusun set data yang akan dipelajari oleh model AI.
Hal pertama yang harus Anda lakukan adalah mencocokkan kebutuhan pengguna dengan kebutuhan data.
Dengan menggunakan latihan pencocokan dari bab Pengumpulan Data + Evaluasi dalam Buku Panduan PAIR, Anda menentukan hal berikut:
- Pengguna: penonton film (pengguna aplikasi film)
- Kebutuhan pengguna: menemukan lebih banyak film yang mereka sukai dengan lebih mudah dan cepat
- Tindakan pengguna: memilih dan menonton film melalui aplikasi
- Output sistem AI: film mana yang harus disarankan dan alasannya (label sentimen, atau tag)
- Pembelajaran sistem AI: pola perilaku terkait menerima rekomendasi film, menonton film secara keseluruhan, menulis ulasan untuk film, dan memberikan rating tinggi untuk film tersebut
- Set data yang diperlukan: data penayangan film dari aplikasi, informasi film, serta rating dan ulasan film
- Fitur utama yang diperlukan dalam set data: preferensi film penonton dan histori tontonan, informasi film (misalnya, genre, pemeran), rating bintang film, ulasan film
- Label utama yang diperlukan dalam set data: tingkat penerimaan atau penolakan saran aplikasi oleh penonton, tingkat penyelesaian film oleh penonton, rating dan ulasan penonton, serta masukan penonton tentang alasan saran ditolak
Setelah menyelesaikan latihan ini, Anda dapat mulai melihat beberapa potensi sumber data muncul:
- Data pengguna dari aplikasi (preferensi yang ditentukan dan histori tontonan)
- Informasi film dari aplikasi (judul, tahun, durasi, pemeran, dll.)
- Informasi rating dan ulasan film dari sumber lain, seperti IMDB dan MovieLens
Setelah Anda memiliki gambaran tentang jenis data yang akan Anda perlukan, pertimbangkan Prinsip AI Google dan Praktik Responsible AI sebagai contoh kerangka kerja untuk membantu memproses pertimbangan utama, seperti privasi (misalnya, "memberikan peluang pemberitahuan dan izin") serta keadilan (misalnya, "melakukan uji pengguna iteratif untuk menggabungkan beragam kebutuhan pengguna dalam siklus pengembangan.")
Terakhir, saat Anda menyiapkan set data pelatihan, pastikan untuk mengumpulkan data yang realistis dan mencerminkan data "berisik" yang ada di dunia. Misalnya, pastikan untuk menyertakan ulasan film dengan kesalahan ejaan, singkatan, emoji, dan karakter yang tidak biasa atau tidak terduga, karena pengguna aplikasi Anda kemungkinan besar akan memberikan ulasan yang serupa, yaitu ulasan yang nyata dan "berisik" pada masa mendatang, bukan ulasan yang diformat dengan sempurna.
Pola:
Saat Anda mengembangkan set data pelatihan, jangan berupaya untuk mendapatkan sesuatu yang diseleksi dengan sempurna. Sebagai gantinya, izinkan beberapa "noise" untuk membuat data semirip mungkin dengan data dunia nyata yang diharapkan Anda dapatkan dari pengguna. Hal ini dapat membantu mencegah error dan rekomendasi berkualitas buruk setelah Anda merilis model ke dunia nyata.
Untuk melakukannya, pikirkan jenis data yang Anda harapkan untuk didapatkan dari pengguna, lalu pastikan data tersebut direpresentasikan dalam set pelatihan Anda.
Misalnya, untuk sistem pengenalan gambar, pertimbangkan data yang mungkin Anda dapatkan dari pengguna. Jika kemungkinan mereka tidak akan punya waktu untuk mengambil foto berkualitas tinggi dan model Anda harus bekerja dengan gambar smartphone yang buram, sertakan gambar buram dalam data pelatihan Anda.
Link ke pola lengkap: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data
Setelah kebutuhan pengguna dipetakan ke masalah AI dan kebutuhan set data, Anda siap melatih AI untuk memberikan rekomendasi dan memberi label pada film bagi pengguna aplikasi Anda. Meskipun kami tidak akan membahas bagian proses ini dalam codelab ini, Anda dapat mempelajari lebih lanjut sistem rekomendasi dan analisis sentimen dalam referensi berikut:
- Kursus belajar mandiri Sistem Rekomendasi di Google Developers
- Tutorial Klasifikasi Teks untuk Analisis Sentimen dengan BERT di TensorFlow.org
5. Mengomunikasikan kemampuan dan batasan sistem
Saat mendesain pengalaman pengguna untuk aplikasi Anda, Anda harus merencanakan proses orientasi pengguna ke fitur baru yang didukung AI, dan membantu mereka menetapkan ekspektasi dengan tepat. Pengguna tidak boleh mempercayai sistem AI Anda secara implisit dalam segala situasi, tetapi harus mengukur kepercayaan mereka dengan benar.
Menetapkan ekspektasi dengan pengguna adalah proses yang disengaja yang akan dimulai bahkan sebelum interaksi pertama mereka dengan produk Anda. Anda harus memberikan penjelasan di seluruh dan di luar pengalaman produk dengan berbagai cara:
- Menjelaskan secara langsung. Jika sesuai, berikan alasan untuk inferensi, rekomendasi, saran, dll. tertentu.
- Berikan penjelasan tambahan dalam produk. Manfaatkan momen dalam produk lainnya, seperti orientasi, untuk menjelaskan sistem AI.
- Melampaui pengalaman produk. Informasi dalam produk mungkin tidak cukup, tetapi Anda dapat mendukungnya dengan berbagai sumber daya tambahan, seperti kampanye pemasaran untuk meningkatkan awareness, serta materi pendidikan dan kampanye literasi untuk mengembangkan model mental.
Mari kita ambil contoh: pengguna telah login ke aplikasi, dan memilih film yang direkomendasikan dari daftar baru yang telah ditambahkan ke halaman landing-nya. Selain informasi biasa tentang film yang dapat mereka temukan di sana, Anda dapat menyertakan penjelasan mengapa mereka melihat film tertentu ini dalam daftar rekomendasi mereka.
Dengan menggunakan penelusuran menurut pertanyaan di Buku Panduan PAIR, dan memilih "Bagaimana cara menjelaskan sistem AI saya kepada pengguna?", Anda akan menemukan pola berikut: Jelaskan agar dapat dipahami, bukan agar lengkap.
Pola:
Saat menjelaskan rekomendasi dari sistem AI Anda, berfokuslah untuk membagikan informasi yang dibutuhkan pengguna untuk membuat keputusan dan melanjutkan. Jangan mencoba menjelaskan semua yang terjadi dalam sistem.
Sering kali, alasan di balik prediksi tertentu tidak diketahui atau terlalu rumit untuk diringkas dalam frasa atau kalimat sederhana. Pengguna juga mungkin tidak ingin terbebani atau terganggu oleh penjelasan yang berlebihan saat menggunakan produk Anda.
Bab Dapat Dijelaskan + Kepercayaan menawarkan contoh berbagai pendekatan untuk membuat penjelasan yang ringkas dan mudah dipahami pengguna, yang mencakup penjelasan parsial, pengungkapan progresif, dan tampilan keyakinan model.
Jika Anda ingin membagikan penjelasan yang lebih panjang atau lebih mendetail tentang cara kerja sistem secara keseluruhan, lakukan di luar alur pengguna aktif, misalnya dalam materi pemasaran atau konten orientasi.
Link ke pola lengkap: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding
Dengan menerapkan praktik terbaik yang diuraikan dalam pola ini, Anda memutuskan untuk menampilkan penjelasan yang terlihat seperti ini:
Rekomendasi film, termasuk alasan untuk rekomendasi tersebut
Dalam penjelasan contoh ini, Anda menerapkan panduan PAIR Guidebook dalam Explainability + Trust dan menggunakan sumber data untuk memberikan penjelasan kepada pengguna dengan tiga ulasan pengguna yang paling banyak divoting.
Selain itu, Anda telah menandai kata-kata tertentu yang paling berkontribusi pada sentimen positif untuk film ini, yang merupakan faktor penting bagi pengguna dalam memilih film. Anda dapat mempelajari lebih lanjut cara menjelajahi pengklasifikasi sentimen dalam demo ini untuk Language Interpretability Tool (LIT) PAIR.
Screenshot Learning Interpretability Tool (LIT)
LIT dapat membantu Anda memeriksa perilaku model Natural Language Processing (NLP) melalui alat visual, interaktif, dan dapat diperluas, yang memungkinkan Anda menguji hipotesis dan memvalidasinya melalui set data dengan metrik yang relevan dan penjelasan lokal (misalnya, peta keunggulan dan visualisasi prediksi). Tim produk dapat menggunakan LIT dalam contoh kasus penggunaan berikut:
- Sebelum men-deploy model
- Saat menguji keadilan
- Untuk men-debug prediksi individual
- Saat membandingkan model baru dengan model lama
6. Menentukan cara menampilkan keyakinan
Cara lain untuk menetapkan ekspektasi dengan pengguna adalah dengan menampilkan keyakinan model dalam rekomendasi. Daripada menyatakan alasan atau cara AI mengambil keputusan tertentu, tampilan keyakinan model menunjukkan seberapa yakin AI dalam prediksinya, dan alternatif yang dipertimbangkannya. Karena sebagian besar model dapat menghasilkan klasifikasi n-terbaik dan skor keyakinan, tampilan keyakinan model sering kali menjadi penjelasan yang mudah didapatkan.
Sebelum menambahkan keyakinan pada halaman film yang direkomendasikan yang ditampilkan kepada pengguna, Anda harus menentukan apakah keyakinan ini bermanfaat bagi pengguna, dan jika ya, cara terbaik untuk menampilkannya.
Pola:
Dalam beberapa situasi, Anda dapat membantu pengguna mengukur seberapa besar kepercayaan yang harus diberikan pada output AI dengan tampilan keyakinan model yang menjelaskan seberapa yakin AI dalam prediksinya, dan alternatif yang dipertimbangkan.
Namun, dalam konteks lain, tampilan tingkat keyakinan dapat sulit dipahami oleh pengguna.
Jika Anda memutuskan untuk menggunakannya, uji berbagai jenis tampilan di awal proses pengembangan produk untuk menemukan apa yang paling cocok bagi pengguna Anda.
Link ke pola lengkap: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence
Setelah meninjau pendekatan yang direkomendasikan untuk menampilkan keyakinan dalam bab Kemampuan Menjelaskan + Kepercayaan di Buku Panduan PAIR, Anda akan menemukan opsi berikut:
- N-klasifikasi yang paling mungkin
- Tingkat keyakinan numerik
Mengingat Anda menampilkan daftar film yang direkomendasikan kepada pengguna di halaman landing mereka dalam aplikasi, Anda memilih daftar berurutan, dengan film yang paling mungkin ditampilkan secara berurutan.
Carousel film yang direkomendasikan, dengan rekomendasi yang paling mungkin ditampilkan terlebih dahulu
7. Memberi pengguna cara untuk melanjutkan dari error
Dalam beberapa langkah terakhir, Anda telah mempelajari beberapa praktik terbaik untuk menetapkan ekspektasi dan memberikan penjelasan kepada pengguna, saat Anda membantu mereka membangun dan mengalibrasi kepercayaan mereka terhadap produk.
Pertanyaan penting lainnya yang perlu Anda jawab adalah: seperti apa pengalaman pengguna saat terjadi error? Cara pengguna bergerak maju juga sama pentingnya. Berfokus pada apa yang dapat dilakukan pengguna setelah sistem gagal akan memberdayakan mereka sekaligus mempertahankan kegunaan produk Anda.
Seperti yang dijelaskan dalam bab Buku Panduan PAIR tentang Error + Kegagalan yang Baik, Anda harus memulai dengan menentukan apa yang dimaksud dengan error untuk produk Anda, dan jenis errornya (pengguna, sistem, atau konteks).
Lihat contoh berikut:
- Pengguna mendapatkan rekomendasi film yang telah mereka tonton di bioskop. Meskipun rekomendasi ini mungkin tidak dinonaktifkan, rekomendasi ini juga tidak terlalu membantu pengguna.
- Pengguna mendapatkan rekomendasi film yang telah mereka tonton di bioskop, dan tidak mereka sukai. Rekomendasi ini dapat dianggap sebagai kesalahan bagi pengguna, berdasarkan preferensi mereka dalam film.
- Pengguna mendapatkan rekomendasi film dalam genre yang biasanya tidak mereka sukai. Pengguna mungkin menganggap hal ini sebagai error.
- Pengguna mendapatkan rekomendasi film yang tidak lagi dihosting di aplikasi. Ini adalah kesalahan sistem yang jelas.
Dalam contoh kedua dan ketiga yang tercantum di atas, AI telah memberikan rekomendasi yang tidak bermanfaat bagi pengguna ini. Jika terjadi error seperti itu, Anda harus memberi pengguna kesempatan untuk memberikan masukan tentang prediksi, dan Anda harus mengomunikasikan waktu yang diperlukan untuk memberikan dampak, seperti yang direkomendasikan dalam bab Masukan + Kontrol di Buku Panduan PAIR.
Pola:
Jika sistem yang mendukung AI berperilaku dengan cara yang tidak diharapkan atau diinginkan pengguna, pastikan pengguna memiliki opsi untuk memberikan masukan. Selain itu, gunakan masukan tersebut sebanyak mungkin untuk meningkatkan kualitas model Anda.
Masukan dalam sistem AI dapat berupa berbagai bentuk, termasuk,
- Memberikan respons suka atau tidak suka pada rekomendasi
- Menyembunyikan rekomendasi yang tidak diinginkan
- Menandai atau melaporkan rekomendasi yang bermasalah
- Alur masukan yang lebih tradisional, di mana pengguna secara manual melaporkan masalah melalui formulir atau mekanisme lainnya
Setelah pengguna memberikan masukan, konfirmasi bahwa Anda telah menerimanya. Jika memungkinkan, beri tahu mereka cara sistem akan merespons masukan tersebut.
Link ke pola lengkap: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
Dalam kasus aplikasi Anda, tampilannya mungkin seperti ini:
Pengguna dapat memberikan masukan tentang rekomendasi...
...dan mereka akan diberi tahu tentang apa yang akan terjadi selanjutnya
8. Selamat
Selamat! Anda baru saja mempelajari contoh alur kerja yang menunjukkan cara menggunakan beberapa resource baru dalam Buku Panduan PAIR.
Ringkasan
Dalam codelab ini, Anda telah mempelajari cara:
- Menerjemahkan kebutuhan pengguna menjadi masalah AI
- Buat set data untuk tugas
- Melakukan orientasi pengguna ke fitur baru
- Menjelaskan sistem dan menetapkan ekspektasi pengguna
- Memberi pengguna cara untuk melanjutkan dari error
- Mengumpulkan masukan untuk meningkatkan kualitas produk
Apa langkah selanjutnya?
Anda dapat menemukan semua referensi yang disoroti dalam codelab ini, dan banyak lagi, di link berikut: