Model kecerdasan buatan generatif adalah alat yang ampuh, tetapi tanpa batasan mereka. Fleksibilitas dan pemberlakuan terkadang dapat menyebabkan {i>output<i} yang tidak diharapkan, seperti {i> output<i} yang tidak akurat, bias, atau menyinggung. Pasca-pemrosesan, dan evaluasi manual yang ketat sangat penting untuk membatasi risiko bahaya dari {i>output<i} tersebut.
Model yang disediakan oleh Gemini API dapat digunakan untuk berbagai AI generatif dan aplikasi natural language processing (NLP). Penggunaan fungsi hanya tersedia melalui Gemini API atau web Google AI Studio . Penggunaan Gemini API oleh Anda juga tunduk kepada Penggunaan Terlarang untuk AI Generatif Kebijakan dan Persyaratan layanan Gemini API.
Salah satu faktor yang membuat model bahasa besar (LLM) begitu berguna adalah bahwa model ini materi iklan yang dapat digunakan untuk berbagai tugas bahasa. Sayangnya, ini juga berarti bahwa model bahasa besar dapat menghasilkan output yang tidak Anda yang diharapkan, termasuk teks yang menyinggung, tidak sensitif, atau tidak benar secara faktual. Terlebih lagi, fleksibilitas yang luar biasa dari model-model ini juga yang membuatnya sulit untuk memprediksi dengan tepat jenis {i>output<i} yang tidak diinginkan yang mungkin dihasilkan. Sementara Gemini API telah dirancang dengan AI Google prinsipnya, tanggung jawab ada pada developer untuk menerapkan model ini secara bertanggung jawab. Untuk membantu developer menciptakan konten yang aman dan bertanggung jawab aplikasi, Gemini API memiliki beberapa pemfilteran konten bawaan serta pengaturan keamanan yang dapat disesuaikan di 4 dimensi bahaya. Lihat setelan keamanan untuk mempelajari lebih lanjut.
Dokumen ini dimaksudkan untuk memperkenalkan Anda pada beberapa risiko keamanan yang dapat timbul saat menggunakan LLM, serta merekomendasikan pengembangan dan desain keamanan baru rekomendasi. (Perlu diperhatikan bahwa hukum dan peraturan juga dapat memberlakukan pembatasan, namun pertimbangan tersebut berada di luar cakupan panduan ini.)
Langkah-langkah berikut direkomendasikan saat membangun aplikasi dengan LLM:
- Memahami risiko keamanan aplikasi Anda
- Mempertimbangkan penyesuaian untuk memitigasi risiko keselamatan
- Melakukan pengujian keamanan yang sesuai dengan kasus penggunaan Anda
- Meminta masukan dari pengguna dan memantau penggunaan
Fase penyesuaian dan pengujian harus berulang sampai Anda mencapai performa yang sesuai untuk aplikasi Anda.
Memahami risiko keamanan aplikasi Anda
Dalam konteks ini, keamanan didefinisikan sebagai kemampuan LLM untuk menghindari membahayakan penggunanya, misalnya, dengan membuat kata-kata atau konten yang negatif yang mendukung stereotip. Model yang tersedia melalui Gemini API telah dirancang dengan mempertimbangkan prinsip AI Google dan penggunaan Anda atas hal tersebut tunduk kepada Penggunaan Terlarang untuk AI Generatif Kebijakan kami. API menyediakan filter keamanan bawaan untuk membantu menangani beberapa model bahasa yang umum masalah seperti bahasa yang negatif dan ujaran kebencian, serta perjuangan untuk mencapai inklusivitas dan menghindari stereotip. Namun, setiap aplikasi bisa memberikan set yang berbeda yang berisiko bagi para penggunanya. Jadi sebagai pemilik aplikasi, Anda bertanggung jawab untuk mengetahui pengguna dan potensi bahaya yang dapat ditimbulkan oleh aplikasi Anda, dan memastikan aplikasi Anda menggunakan LLM secara aman dan bertanggung jawab.
Sebagai bagian dari penilaian ini, Anda harus mempertimbangkan kemungkinan bahaya terjadi dan menentukan tingkat keseriusan dan langkah mitigasinya. Sebagai contoh, yang menghasilkan esai berdasarkan peristiwa faktual perlu lebih berhati-hati tentang menghindari misinformasi, dibandingkan dengan aplikasi yang membuat cerita untuk hiburan. Cara yang baik untuk mulai mengeksplorasi potensi risiko keselamatan adalah meneliti pengguna akhir Anda, dan orang lain yang mungkin terpengaruh oleh dari hasil aplikasi. Hal ini dapat dilakukan dalam berbagai bentuk, termasuk meneliti status studi seni di domain aplikasi Anda, mengamati bagaimana orang menggunakan aplikasi serupa, atau melakukan studi pengguna, survei, atau melakukan wawancara informal dengan pengguna potensial.
Tips lanjutan
- Bicarakan dengan beragam calon pengguna sesuai target Anda tentang aplikasi Anda dan tujuan yang dimaksudkan sehingga untuk mendapatkan perspektif yang lebih luas tentang potensi risiko dan untuk menyesuaikan keragaman kriteria sesuai kebutuhan.
- Framework Pengelolaan Risiko AI yang dirilis oleh National Institute of Standards and Technology (NIST) menyediakan lebih banyak panduan mendetail dan referensi belajar tambahan untuk pengelolaan risiko AI.
- Publikasi DeepMind tentang risiko bahaya etis dan sosial dari model bahasa menjelaskan secara mendetail cara membuat model bahasa dapat menyebabkan bahaya.
Mempertimbangkan penyesuaian untuk memitigasi risiko keselamatan
Setelah Anda memahami risiko, Anda dapat memutuskan bagaimana melakukan mitigasi mereka. Menentukan risiko mana yang harus diprioritaskan dan berapa banyak yang harus Anda lakukan untuk mencoba mencegahnya adalah keputusan penting, mirip dengan triase {i>bug<i} dalam perangkat lunak proyek. Setelah menentukan prioritas, Anda dapat mulai memikirkan jenis mitigasi yang paling tepat. Sering kali, perubahan sederhana dapat membuat perbedaan dan mengurangi risiko.
Misalnya, saat mendesain aplikasi, pertimbangkan:
- Menyesuaikan output model untuk lebih mencerminkan apa yang dapat diterima dalam konteks aplikasi. Tuning dapat membuat output model lebih dapat diprediksi dan konsisten dan karenanya dapat membantu mengurangi risiko tertentu.
- Menyediakan metode input yang menyediakan output yang lebih aman. Input yang tepat yang Anda berikan ke LLM dapat membuat perbedaan dalam kualitas {i>output<i}. Bereksperimen dengan perintah input untuk menemukan apa yang berfungsi paling aman di kasus penggunaan sepadan dengan usaha Anda, karena Anda kemudian dapat memberikan UX yang akan memfasilitasinya. Misalnya, Anda dapat membatasi pengguna untuk hanya memilih dari daftar drop-down perintah input, atau tawarkan saran pop-up dengan deskriptif frasa yang Anda temukan bekerja dengan aman dalam konteks aplikasi Anda.
Memblokir input dan memfilter output yang tidak aman sebelum ditampilkan ke pengguna. Dalam situasi sederhana, daftar yang tidak diizinkan dapat digunakan untuk mengidentifikasi dan memblokir kata-kata atau frasa yang tidak aman dalam perintah atau respons, atau memerlukan petugas peninjau untuk mengubah atau memblokir konten tersebut secara manual.
Menggunakan pengklasifikasi terlatih untuk memberi label pada setiap perintah dengan potensi bahaya atau yang berbahaya. Strategi yang berbeda dapat digunakan untuk menangani permintaan berdasarkan jenis bahaya yang terdeteksi. Misalnya, jika tertentu secara terang-terangan bersifat jahat atau kasar, input tersebut dapat diblokir dan sebagai gantinya menghasilkan respons yang telah ditulis sebelumnya.
Tips lanjutan
-
Jika sinyal menentukan
output-nya berbahaya,
aplikasi dapat menggunakan opsi berikut:
- Berikan pesan error atau output dengan skrip.
- Coba perintah lagi, jika ada output aman alternatif karena terkadang prompt yang sama akan memunculkan output yang berbeda.
-
Jika sinyal menentukan
output-nya berbahaya,
aplikasi dapat menggunakan opsi berikut:
Menerapkan pengamanan dari penyalahgunaan yang disengaja seperti menetapkan ID unik untuk setiap pengguna dan menerapkan batas pada volume kueri pengguna yang dapat dikirimkan dalam periode tertentu. Pengamanan lain adalah dengan mencoba dan melindungi dari kemungkinan injeksi prompt. Injeksi perintah, mirip seperti SQL injeksi ini merupakan cara bagi pengguna berbahaya untuk merancang prompt input yang memanipulasi output model, misalnya, dengan mengirimkan prompt input yang menginstruksikan model untuk mengabaikan contoh sebelumnya. Lihat Kebijakan Penggunaan Terlarang untuk AI Generatif untuk mengetahui detail tentang penyalahgunaan yang disengaja.
Menyesuaikan fungsionalitas dengan sesuatu yang secara inheren berisiko lebih rendah. Tugas yang cakupannya lebih sempit (misalnya, mengekstrak kata kunci dari bagian teks) atau yang memiliki pengawasan manusia yang lebih besar (misalnya, menghasilkan video pendek konten yang akan ditinjau oleh manusia), sering kali menimbulkan risiko yang lebih rendah. Jadi untuk alih-alih membuat aplikasi untuk menulis balasan email dari awal, Anda mungkin justru membatasinya pada perluasan garis besar atau menyarankan kalimat alternatif.
Melakukan pengujian keamanan yang sesuai dengan kasus penggunaan Anda
Pengujian adalah bagian penting dalam membangun aplikasi yang tangguh dan aman, tetapi dalam ruang lingkup dan strategi untuk pengujian akan bervariasi. Misalnya, haiku untuk bersenang-senang generator cenderung menimbulkan risiko yang tidak terlalu serius dibandingkan, katakanlah, aplikasi yang dirancang digunakan oleh firma hukum untuk meringkas dokumen hukum dan membantu menyusun kontrak. Tapi generator haiku dapat digunakan oleh berbagai macam pengguna yang berarti potensi upaya serangan atau bahkan input berbahaya yang tidak diinginkan dapat lebih besar. Konteks implementasi juga penting. Misalnya, sebuah aplikasi dengan output yang ditinjau oleh pakar manusia sebelum tindakan apa pun diambil mungkin dianggap kurang cenderung menghasilkan output yang berbahaya dibandingkan aplikasi tanpa pengawasan tersebut.
Tidak jarang melakukan beberapa iterasi untuk membuat perubahan dan pengujian sebelum merasa yakin bahwa Anda siap meluncurkan, bahkan untuk aplikasi yang memiliki risiko yang relatif rendah. Dua jenis pengujian sangat berguna untuk AI aplikasi:
Tolok ukur keamanan melibatkan perancangan metrik keamanan yang mencerminkan cara aplikasi Anda menjadi tidak aman dalam konteks kemungkinan besarnya digunakan, lalu menguji seberapa baik performa aplikasi Anda pada metrik menggunakan set data evaluasi. Jadi sebaiknya pertimbangkan tentang tingkat metrik keamanan yang dapat diterima sebelum pengujian sehingga 1) Anda dapat mengevaluasi hasil pengujian terhadap ekspektasi tersebut dan 2) Anda dapat mengumpulkan set data evaluasi berdasarkan pengujian yang mengevaluasi metrik yang penting bagi Anda yang paling besar.
Tips lanjutan
- Waspadai terlalu lama mengandalkan pendekatan “{i>off<i}” karena kemungkinan besar Anda harus membangun {i>dataset<i} pengujian Anda sendiri menggunakan penilai manusia untuk sepenuhnya sesuai dengan konteks aplikasi Anda.
- Jika memiliki lebih dari satu metrik, Anda harus memutuskan bagaimana kompromi jika perubahan mengarah pada peningkatan untuk satu metrik terhadap merugikan orang lain. Seperti halnya rekayasa kinerja lainnya, Anda sebaiknya Anda berfokus pada performa kasus terburuk dalam proses evaluasi ditetapkan daripada kinerja rata-rata.
Pengujian serangan mencakup upaya proaktif untuk menghentikan aplikasi. Tujuannya adalah untuk mengidentifikasi titik kelemahan sehingga Anda dapat mengambil langkah-langkah untuk memperbaikinya. Tes serangan berbahaya waktu/upaya yang signifikan dari evaluator dengan keahlian dalam aplikasi Anda — tetapi semakin sering dilakukan, semakin besar peluang Anda untuk menemukan masalah, terutama yang jarang terjadi atau hanya setelah dilakukannya berulang kali aplikasi.
- Pengujian penyerangan adalah metode untuk mengevaluasi ML secara sistematis
khusus dengan tujuan mempelajari perilakunya saat diberi
input yang berbahaya atau membahayakan secara tidak sengaja:
- Sebuah input mungkin berbahaya ketika input itu jelas dirancang untuk menghasilkan output yang tidak aman atau berbahaya-- misalnya, menanyakan informasi untuk menghasilkan ungkapan kebencian tentang agama.
- Sebuah input secara tidak sengaja berbahaya ketika input itu sendiri mungkin tidak berbahaya, tetapi menghasilkan output yang berbahaya -- misalnya, menanyakan pesan teks generasi untuk menggambarkan seseorang dari etnis tertentu dan menerima {i>output<i} rasis.
- Apa yang membedakan ujian serangan
dengan evaluasi standar adalah
komposisi data yang digunakan. Untuk pengujian serangan, pilih
data pengujian yang paling mungkin menimbulkan
{i>output<i} bermasalah dari
model. Ini artinya memeriksa perilaku model untuk semua jenis
bahaya yang mungkin terjadi, termasuk contoh
yang jarang atau tidak biasa dan
{i>edge case<i} yang relevan
dengan kebijakan keamanan. Anda juga bisa menyertakan,
keragaman dalam berbagai dimensi kalimat seperti struktur,
arti dan panjangnya. Anda dapat melihat kursus Responsible AI Google
praktik dalam
keadilan
untuk rincian lebih lanjut tentang apa yang harus dipertimbangkan saat membangun {i>dataset<i} pengujian.
Tips lanjutan
- Gunakan pengujian otomatis alih-alih metode tradisional untuk memasukkan orang ke dalam 'tim merah' untuk mencoba merusak aplikasi Anda. Dalam pengujian otomatis, 'tim merah' adalah model bahasa lain yang menemukan teks input menghasilkan output berbahaya dari model yang sedang diuji.
- Pengujian penyerangan adalah metode untuk mengevaluasi ML secara sistematis
khusus dengan tujuan mempelajari perilakunya saat diberi
input yang berbahaya atau membahayakan secara tidak sengaja:
Memantau masalah
Tidak peduli seberapa banyak Anda menguji dan mengurangi, Anda tidak akan pernah bisa menjamin kesempurnaan, jadi rencanakan di awal bagaimana Anda akan menemukan dan menangani masalah yang muncul. Umum termasuk menyiapkan saluran yang dipantau bagi pengguna untuk memberikan masukan (misalnya, penilaian suka/tidak suka) dan menjalankan studi pengguna untuk meminta masukan dari beragam pengguna — sangat berharga jika pola penggunaan berbeda dengan ekspektasi.
Tips lanjutan
- Saat pengguna memberikan masukan ke produk AI, hal itu dapat meningkatkan kualitas AI secara signifikan performa dan pengalaman pengguna dari waktu ke waktu dengan, misalnya, yang akan membantu Anda memilih contoh yang lebih baik untuk prompt tuning. Tujuan Bab Masukan dan Kontrol dalam Buku panduan People and AI Google menyoroti pertimbangan utama yang harus diperhitungkan saat mendesain mekanisme umpan balik.
Langkah berikutnya
- Lihat panduan setelan keamanan untuk mempelajari setelan keamanan yang tersedia melalui Gemini API.
- Lihat pengantar perintah untuk mendapatkan mulai menulis perintah pertama Anda.