Panduan keselamatan

Model kecerdasan buatan generatif adalah alat yang canggih, tetapi bukan tanpa batasannya. Fleksibilitas dan penerapannya terkadang dapat menghasilkan output yang tidak terduga, seperti output yang tidak akurat, bias, atau menyinggung. Pascapemrosesan, dan evaluasi manual yang ketat sangat penting untuk membatasi risiko bahaya dari output tersebut.

Model yang disediakan oleh Gemini API dapat digunakan untuk berbagai aplikasi AI generatif dan natural language processing (NLP). Penggunaan fungsi ini hanya tersedia melalui Gemini API atau aplikasi web Google AI Studio. Penggunaan Gemini API oleh Anda juga tunduk kepada Kebijakan Penggunaan Terlarang untuk AI Generatif dan persyaratan layanan Gemini API.

Salah satu faktor yang membuat model bahasa besar (LLM) begitu berguna adalah karena model ini merupakan alat kreatif yang dapat menyelesaikan berbagai tugas bahasa. Sayangnya, hal ini juga berarti bahwa model bahasa besar dapat menghasilkan output yang tidak Anda harapkan, termasuk teks yang menyinggung, tidak sensitif, atau tidak benar secara faktual. Selain itu, fleksibilitas yang luar biasa dari model-model ini juga yang menyulitkan untuk memprediksi dengan tepat jenis output yang tidak diinginkan yang mungkin dihasilkan. Meskipun Gemini API telah dirancang dengan mempertimbangkan prinsip AI Google, tanggung jawab ada pada developer untuk menerapkan model ini secara bertanggung jawab. Untuk membantu developer membuat aplikasi yang aman dan bertanggung jawab, Gemini API memiliki beberapa pemfilteran konten bawaan serta setelan keamanan yang dapat disesuaikan di 4 dimensi bahaya. Lihat panduan setelan keamanan untuk mempelajari lebih lanjut.

Dokumen ini dimaksudkan untuk memperkenalkan beberapa risiko keamanan yang dapat timbul saat menggunakan LLM, dan merekomendasikan rekomendasi desain dan pengembangan keamanan baru. (Perlu diketahui bahwa hukum dan peraturan juga dapat memberlakukan pembatasan, tetapi 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 iteratif hingga Anda mencapai performa yang sesuai untuk aplikasi Anda.

Siklus penerapan model

Memahami risiko keamanan aplikasi Anda

Dalam konteks ini, keamanan didefinisikan sebagai kemampuan LLM untuk menghindari menyebabkan bahaya bagi penggunanya, misalnya, dengan menghasilkan kata-kata negatif atau konten yang mendorong stereotip. Model yang tersedia melalui Gemini API telah dirancang dengan mempertimbangkan prinsip-prinsip AI Google dan penggunaan Anda tunduk kepada Kebijakan Penggunaan Terlarang untuk AI Generatif. API ini menyediakan filter keamanan bawaan untuk membantu mengatasi beberapa masalah model bahasa umum, seperti kata-kata yang negatif dan ujaran kebencian, serta perjuangan untuk mencapai inklusivitas dan menghindari stereotipe. Namun, setiap aplikasi dapat menimbulkan serangkaian risiko yang berbeda bagi penggunanya. Jadi sebagai pemilik aplikasi, Anda bertanggung jawab untuk mengenal pengguna dan potensi bahaya yang dapat ditimbulkan oleh aplikasi Anda, serta memastikan bahwa aplikasi Anda menggunakan LLM dengan aman dan bertanggung jawab.

Sebagai bagian dari penilaian ini, Anda harus mempertimbangkan kemungkinan terjadinya bahaya serta menentukan tingkat keseriusan dan langkah mitigasinya. Misalnya, aplikasi yang membuat esai berdasarkan peristiwa faktual harus lebih berhati-hati untuk menghindari misinformasi, dibandingkan dengan aplikasi yang membuat cerita fiksi untuk hiburan. Cara yang baik untuk mulai mengeksplorasi potensi risiko keamanan adalah dengan melakukan riset terhadap pengguna akhir Anda, dan pengguna lain yang mungkin terpengaruh oleh hasil aplikasi Anda. Cara ini dapat dilakukan dalam berbagai bentuk, termasuk meneliti studi terbaru di domain aplikasi Anda, mengamati cara orang menggunakan aplikasi serupa, atau menjalankan studi pengguna, survei, atau melakukan wawancara informal dengan calon pengguna.

Tips lanjutan

  • Bicarakan dengan beragam calon pengguna dalam populasi target Anda tentang aplikasi Anda dan tujuan yang dimaksudkan untuk mendapatkan perspektif yang lebih luas tentang potensi risiko dan menyesuaikan kriteria keberagaman sesuai kebutuhan.
  • AI Risk Management Framework yang dirilis oleh National Institute of Standards and Technology (NIST) pemerintah Amerika Serikat memberikan panduan lebih mendetail dan referensi pembelajaran tambahan untuk pengelolaan risiko AI.
  • Publikasi DeepMind tentang risiko bahaya etis dan sosial dari model bahasa menjelaskan secara mendetail cara aplikasi model bahasa dapat menyebabkan bahaya.

Mempertimbangkan penyesuaian untuk memitigasi risiko keselamatan

Setelah memahami berbagai risiko tersebut, Anda dapat memutuskan cara memitigasinya. Menentukan risiko yang harus diprioritaskan dan seberapa banyak yang harus Anda lakukan untuk mencoba mencegahnya adalah keputusan penting, mirip dengan penanganan bug dalam project software. Setelah menentukan prioritas, Anda dapat mulai memikirkan jenis mitigasi yang paling sesuai. 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 Anda. Tuning dapat membuat output model lebih dapat diprediksi dan konsisten, sehingga dapat membantu mengurangi risiko tertentu.
  • Menyediakan metode input yang menyediakan output yang lebih aman. Input yang Anda berikan kepada LLM dapat membuat perbedaan dalam kualitas output. Bereksperimen dengan perintah input untuk menemukan perintah yang paling aman dalam kasus penggunaan Anda akan sepadan dengan upaya tersebut, karena Anda kemudian dapat menyediakan UX yang memfasilitasinya. Misalnya, Anda dapat membatasi pengguna untuk hanya memilih dari menu drop-down perintah input, atau menawarkan saran pop-up dengan frasa deskriptif yang menurut Anda berperforma aman dalam konteks aplikasi.
  • Memblokir input yang tidak aman dan memfilter output sebelum ditampilkan kepada pengguna. Dalam situasi sederhana, daftar yang tidak diizinkan dapat digunakan untuk mengidentifikasi dan memblokir kata atau frasa tidak aman dalam perintah atau respons, atau mengharuskan peninjau manual untuk mengubah atau memblokir konten tersebut secara manual.

  • Menggunakan pengklasifikasi terlatih untuk memberi label pada setiap perintah dengan potensi bahaya atau sinyal berbahaya. Berbagai strategi dapat digunakan untuk menangani permintaan berdasarkan jenis bahaya yang terdeteksi. Misalnya, jika input bersifat sangat jahat atau melanggar, input dapat diblokir dan menghasilkan respons yang telah ditulis sebelumnya sebagai gantinya.

    Tips lanjutan

    • Jika sinyal menentukan output berbahaya, aplikasi dapat menggunakan opsi berikut:
      • Berikan pesan error atau output dengan skrip.
      • Coba kembali perintah tersebut, jika output aman alternatif telah dibuat, karena terkadang perintah yang sama akan menghasilkan output yang berbeda.

  • Menerapkan pengamanan dari penyalahgunaan yang disengaja seperti menetapkan ID unik ke 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, seperti injeksi SQL, adalah cara bagi pengguna berbahaya untuk mendesain 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 dengan cakupan yang lebih sempit (misalnya, mengekstraksi kata kunci dari bagian teks) atau yang memiliki pengawasan manusia yang lebih besar (misalnya, menghasilkan konten berdurasi pendek yang akan ditinjau oleh manusia), sering kali menimbulkan risiko yang lebih rendah. Jadi, misalnya, alih-alih membuat aplikasi untuk menulis balasan email dari awal, Anda dapat membatasinya untuk memperluas suatu garis besar atau menyarankan frasa alternatif.

Melakukan pengujian keamanan yang sesuai dengan kasus penggunaan Anda

Pengujian adalah bagian penting dalam membangun aplikasi yang tangguh dan aman, tetapi cakupan, cakupan, dan strategi pengujian akan bervariasi. Misalnya, generator haiku yang hanya sekadar bersenang-senang cenderung tidak menimbulkan risiko serius dibandingkan, misalnya, aplikasi yang dirancang untuk digunakan oleh firma hukum guna meringkas dokumen hukum dan membantu menyusun kontrak. Namun, generator haiku dapat digunakan oleh lebih banyak pengguna, yang berarti potensi upaya penyerangan atau bahkan input berbahaya yang tidak diinginkan dapat lebih besar. Konteks implementasi juga penting. Misalnya, aplikasi dengan output yang ditinjau oleh pakar manusia sebelum tindakan apa pun dilakukan mungkin dianggap cenderung tidak menghasilkan output berbahaya dibandingkan aplikasi yang identik tanpa pengawasan tersebut.

Terkadang, melakukan beberapa iterasi perubahan dan pengujian sebelum merasa yakin bahwa Anda siap melakukan peluncuran, bahkan untuk aplikasi yang memiliki risiko relatif rendah. Dua jenis pengujian yang sangat berguna untuk aplikasi AI:

  • Tolok ukur keamanan melibatkan perancangan metrik keamanan yang mencerminkan bagaimana aplikasi Anda mungkin tidak aman dalam konteks kemungkinan penggunaan aplikasi, lalu menguji seberapa baik performa aplikasi Anda pada metrik menggunakan set data evaluasi. Sebaiknya pertimbangkan tingkat minimum 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 paling penting bagi Anda.

    Tips lanjutan

    • Berhati-hatilah untuk terlalu mengandalkan pendekatan “siap pakai” karena kemungkinan Anda harus membangun set data pengujian sendiri menggunakan pelabel manual agar sesuai dengan konteks aplikasi Anda.
    • Jika memiliki lebih dari satu metrik, Anda harus memutuskan bagaimana Anda akan melakukan kompromi jika perubahan mengarah pada peningkatan untuk satu metrik hingga merugikan metrik lainnya. Seperti performa engineering lainnya, sebaiknya Anda berfokus pada performa kasus terburuk di seluruh kumpulan evaluasi, bukan performa rata-rata.
  • Pengujian serangan mencakup upaya proaktif untuk menghentikan penggunaan aplikasi Anda. Tujuannya adalah untuk mengidentifikasi titik kelemahan sehingga Anda dapat mengambil langkah-langkah untuk memperbaikinya. Pengujian penyerangan dapat memerlukan waktu/upaya yang signifikan dari evaluator dengan keahlian dalam aplikasi Anda — tetapi semakin sering Anda melakukannya, semakin besar peluang Anda untuk menemukan masalah, terutama masalah yang jarang terjadi atau hanya setelah aplikasi dijalankan secara berulang.

    • Pengujian serangan adalah metode untuk mengevaluasi model ML secara sistematis dengan tujuan mempelajari perilakunya jika diberi input yang berbahaya atau tidak sengaja membahayakan:
      • Input dapat berbahaya jika input tersebut jelas dirancang untuk menghasilkan output yang tidak aman atau berbahaya-- misalnya, meminta model pembuatan teks untuk menghasilkan ungkapan yang penuh kebencian tentang agama tertentu.
      • Input secara tidak sengaja berbahaya jika input itu sendiri mungkin tidak berbahaya, tetapi menghasilkan output berbahaya -- misalnya, meminta model pembuatan teks untuk mendeskripsikan orang dari etnis tertentu dan menerima output rasis.
    • Yang membedakan pengujian serangan dengan evaluasi standar adalah komposisi data yang digunakan untuk pengujian. Untuk pengujian adversarial, pilih data pengujian yang kemungkinan besar akan menghasilkan output yang bermasalah dari model. Artinya, Anda perlu menyelidiki perilaku model untuk menemukan semua jenis bahaya yang mungkin terjadi, termasuk contoh langka atau tidak biasa, serta kasus ekstrem yang relevan dengan kebijakan keamanan. Gaya kalimat juga harus mencakup keberagaman dalam berbagai dimensi kalimat, seperti struktur, makna, dan panjang. Anda dapat membaca praktik Responsible AI Google dalam keadilan untuk mengetahui detail selengkapnya tentang hal-hal yang harus dipertimbangkan saat membuat set data pengujian.

      Tips lanjutan

      • Gunakan pengujian otomatis, bukan metode tradisional yang melibatkan orang dalam 'tim merah' untuk mencoba merusak aplikasi Anda. Dalam pengujian otomatis, 'tim merah' adalah model bahasa lain yang menemukan teks input yang menghasilkan output berbahaya dari model yang sedang diuji.

Memantau masalah

Tidak peduli seberapa banyak Anda menguji dan melakukan mitigasi, Anda tidak akan pernah dapat menjamin kesempurnaan, jadi rencanakan sejak awal bagaimana Anda akan menemukan dan menangani masalah yang muncul. Pendekatan umum mencakup menyiapkan saluran yang dipantau bagi pengguna untuk memberikan masukan (misalnya, rating suka/tidak suka) dan menjalankan studi pengguna untuk secara proaktif meminta masukan dari beragam pengguna — terutama sangat berguna jika pola penggunaan berbeda dengan ekspektasi.

Tips lanjutan

  • Saat pengguna memberikan masukan ke produk AI, masukan tersebut dapat meningkatkan performa AI dan pengalaman pengguna secara signifikan dari waktu ke waktu dengan, misalnya, membantu Anda memilih contoh yang lebih baik untuk prompt tuning. Bab Masukan dan Kontrol dalam Buku panduan People and AI Google menyoroti pertimbangan utama yang perlu diperhitungkan saat mendesain mekanisme masukan.

Langkah berikutnya

  • Lihat panduan setelan keamanan untuk mempelajari setelan keamanan yang dapat disesuaikan yang tersedia melalui Gemini API.
  • Lihat pengantar perintah untuk mulai menulis perintah pertama Anda.