Pengujian berlawanan adalah metode untuk mengevaluasi model ML secara sistematis dengan tujuan untuk mempelajari perilakunya saat diberi input berbahaya atau tidak sengaja. Panduan ini menjelaskan contoh alur kerja pengujian yang berlawanan untuk AI generatif.
Apa yang dimaksud dengan pengujian penyerangan?
Pengujian adalah bagian penting dari proses build aplikasi AI yang tangguh dan aman. Pengujian berlawanan melibatkan secara proaktif untuk mencoba " merusak" aplikasi dengan menyediakan data yang paling mungkin mendapatkan output yang bermasalah. Kueri berlawanan kemungkinan menyebabkan model gagal dengan cara yang tidak aman (yaitu, pelanggaran kebijakan keselamatan), dan dapat menyebabkan error yang mudah diidentifikasi oleh manusia, tetapi sulit dikenali oleh mesin.
Kueri mungkin “berlawanan” dengan cara yang berbeda. Kueri yang ancam secara eksplisit mungkin berisi bahasa yang melanggar kebijakan atau mengungkapkan sudut pandang yang melanggar kebijakan, atau dapat menyelidiki atau mencoba "menipu" model untuk mengatakan sesuatu yang tidak aman, berbahaya, atau menyinggung. Kueri yang berlawanan secara implisit mungkin tampak tidak berbahaya, tetapi dapat berisi topik sensitif yang bersifat kontroversial, sensitif secara budaya, atau berpotensi membahayakan. Hal ini dapat mencakup informasi tentang demografi, kesehatan, keuangan, atau agama.
Pengujian berlawanan dapat membantu tim meningkatkan kualitas model dan produk dengan mengekspos kegagalan saat ini untuk memandu jalur mitigasi, seperti penyesuaian, pengamanan atau filter model. Selain itu, tindakan ini dapat membantu membuat keputusan peluncuran produk dengan mengukur risiko yang mungkin tidak dimitigasi, seperti kemungkinan model dengan konten yang melanggar kebijakan output.
Sebagai praktik terbaik yang muncul untuk AI yang bertanggung jawab, panduan ini memberikan contoh alur kerja untuk pengujian yang berlawanan bagi model dan sistem generatif.
Contoh alur kerja pengujian yang berlawanan
Pengujian berlawanan mengikuti alur kerja yang mirip dengan evaluasi model standar.
Mengidentifikasi dan menentukan input
Langkah pertama dalam alur kerja pengujian pesaing adalah menentukan input untuk mempelajari perilaku sistem saat diserang secara sengaja dan sistematis. Input yang bijaksana dapat langsung memengaruhi keberhasilan alur kerja pengujian. Input berikut dapat membantu menentukan cakupan dan tujuan pengujian seri:
- Kebijakan produk dan mode kegagalan
- Kasus penggunaan
- Persyaratan keberagaman
Kebijakan produk dan mode kegagalan
Produk AI generatif harus menentukan kebijakan keamanan yang menjelaskan perilaku produk dan output model yang tidak diizinkan (yaitu, dianggap "tidak aman"). Kebijakan ini harus menghitung mode kegagalan yang akan dianggap sebagai pelanggaran kebijakan. Daftar mode kegagalan ini harus digunakan sebagai dasar untuk pengujian pesaing. Beberapa contoh mode kegagalan dapat mencakup konten yang berisi kata-kata yang tidak sopan, atau saran keuangan, hukum, atau medis.
Kasus penggunaan
Input penting lainnya untuk pengujian berlawanan adalah kasus penggunaan yang berusaha dilayani oleh model atau produk generatif, sehingga data pengujian berisi beberapa representasi tentang cara pengguna akan berinteraksi dengan produk di dunia nyata. Setiap produk generatif memiliki kasus penggunaan yang sedikit berbeda, tetapi beberapa kasus yang umum meliputi: penemuan fakta, ringkasan, dan pembuatan kode untuk model bahasa; atau pembuatan gambar latar belakang berdasarkan geografi atau medan, seni, atau gaya pakaian.
Persyaratan keberagaman
Set data pengujian yang berlawanan harus cukup beragam dan mewakili semua mode kegagalan dan kasus penggunaan target. Mengukur keragaman set data pengujian membantu mengidentifikasi potensi bias dan memastikan bahwa model diuji secara ekstensif dengan mempertimbangkan populasi pengguna yang beragam.
Ada tiga cara untuk berpikir tentang keragaman:
- Keragaman leksik: memastikan kueri memiliki rentang yang berbeda-beda (misalnya, jumlah kata), menggunakan rentang kosakata yang luas, tidak berisi duplikat, dan merepresentasikan berbagai formulasi kueri (mis., wh-question, permintaan langsung dan tidak langsung).
- Keberagaman semantik: pastikan kueri mencakup berbagai topik yang berbeda per kebijakan (mis., diabetes untuk kesehatan) termasuk karakteristik sensitif dan berbasis identitas (mis., gender, etnis), di berbagai kasus penggunaan dan konteks global.
- Kebijakan dan keberagaman kasus penggunaan: pastikan kueri mencakup semua pelanggaran kebijakan (misalnya, ujaran kebencian) dan kasus penggunaan (misalnya, saran pakar).
Menemukan atau membuat set data pengujian
Set data pengujian untuk pengujian berlawanan dibuat secara berbeda dari set pengujian evaluasi model standar. Dalam evaluasi model standar, set data pengujian biasanya dirancang untuk mencerminkan distribusi data yang akan ditemukan oleh model dalam produk secara akurat. Untuk pengujian adversarial, data pengujian dipilih untuk mendapatkan output yang bermasalah dari model dengan membuktikan perilaku model pada contoh di luar distribusi dan kasus ekstrem yang relevan dengan kebijakan keamanan. Set pengujian berlawanan yang berkualitas tinggi harus mencakup semua dimensi kebijakan keamanan, dan memaksimalkan cakupan kasus penggunaan yang dimaksudkan untuk didukung oleh model. Istilah tersebut harus beragam secara leksik (misalnya, kueri dari berbagai panjang dan bahasa) dan secara semantik (misalnya, mencakup berbagai topik dan demografi).
Menyelidiki set data pengujian yang ada untuk mengetahui cakupan kebijakan keamanan, mode kegagalan, dan kasus penggunaan untuk pembuatan teks dan model teks ke gambar. Tim dapat menggunakan set data yang ada untuk menetapkan dasar pengukuran performa produk, lalu melakukan analisis lebih mendalam tentang mode kegagalan spesifik yang dihadapi produk mereka.
Jika set data pengujian yang ada tidak memadai, tim dapat membuat data baru untuk menargetkan mode kegagalan dan kasus penggunaan tertentu. Salah satu cara untuk membuat set data baru adalah memulai dengan membuat set data kecil kueri secara manual (yaitu, puluhan contoh per kategori), lalu memperluas set data "bibit" ini menggunakan alat sintesis data.
Set data bibit harus berisi contoh yang semirip mungkin dengan yang akan dihadapi sistem dalam produksi, dan dibuat dengan tujuan menimbulkan pelanggaran kebijakan. Bahasa yang sangat negatif kemungkinan besar akan terdeteksi oleh fitur keamanan, jadi pertimbangkan frasa kreatif dan input yang berlawanan secara implisit.
Anda dapat menggunakan referensi langsung atau tidak langsung untuk atribut sensitif (misalnya, usia, gender, ras, agama) dalam set data pengujian Anda. Perlu diingat bahwa penggunaan istilah ini mungkin berbeda antarbudaya. Variasikan nada, struktur kalimat, pilihan kata yang panjang, dan artinya. Contoh yang dapat menerapkan beberapa label (misalnya, ujaran kebencian vs. kecabulan) dapat menciptakan derau dan duplikasi, serta mungkin tidak ditangani dengan benar oleh sistem evaluasi atau pelatihan.
Set pengujian berlawanan harus dianalisis untuk memahami komposisinya dalam keberagaman leksikal dan semantik, cakupan di seluruh pelanggaran kebijakan serta kasus penggunaan, dan kualitas keseluruhan dalam hal keunikan, perlawanan, dan derau.
Menghasilkan output model
Langkah berikutnya adalah membuat output model berdasarkan set data pengujian. Hasilnya akan memberi tahu tim produk tentang performa model mereka saat diekspos ke pengguna yang berbahaya, atau input berbahaya secara tidak sengaja. Mengidentifikasi perilaku dan pola respons sistem ini dapat memberikan pengukuran dasar yang dapat dikurangi dalam pengembangan model di masa mendatang.
Menganotasi output
Setelah output dari pengujian berlawanan dibuat, anotasikan untuk mengategorikannya ke dalam mode kegagalan dan/atau bahaya. Label ini dapat membantu memberikan sinyal keamanan untuk konten teks dan gambar. Selain itu, sinyal tersebut dapat membantu mengukur dan mengurangi bahaya di berbagai model dan produk.
Pengklasifikasi keamanan dapat digunakan untuk menganotasi output (atau input) model secara otomatis untuk pelanggaran kebijakan. Akurasi mungkin rendah untuk sinyal yang mencoba mendeteksi konstruksi yang tidak ditentukan secara ketat, seperti Ujaran Kebencian. Untuk sinyal tersebut, sangat penting untuk menggunakan penilai manusia guna memeriksa dan memperbaiki label yang dihasilkan pengklasifikasi yang skornya "tidak pasti".
Selain anotasi otomatis, Anda juga dapat memanfaatkan penilai manusia untuk menganotasi contoh data Anda. Penting untuk diperhatikan bahwa menganotasi output model sebagai bagian dari pengujian yang berlawanan harus melihat teks atau gambar yang bermasalah dan berpotensi membahayakan, mirip dengan moderasi konten manual. Selain itu, penilai manusia dapat memberikan anotasi pada konten yang sama secara berbeda berdasarkan latar belakang, pengetahuan, atau keyakinan pribadi mereka. Mengembangkan panduan atau template untuk penilai dapat berguna, mengingat bahwa keberagaman kumpulan tarif dapat memengaruhi hasil anotasi.
Melaporkan dan melakukan mitigasi
Langkah terakhir adalah meringkas hasil pengujian dalam laporan. Menghitung metrik dan melaporkan hasil untuk memberikan tingkat keamanan, visualisasi, dan contoh kegagalan bermasalah. Hasil ini dapat memandu peningkatan model dan mendukung pengamanan model, seperti filter atau daftar yang tidak diizinkan. Laporan juga penting untuk komunikasi dengan pemangku kepentingan dan pengambil keputusan.
Referensi Tambahan
Tim Merah Google: Peretas etis membuat AI lebih aman
Model Bahasa Tim Merah dengan Model Bahasa
Pengujian Keadilan Produk untuk developer Machine Learning (video):