Panduan keselamatan

Salah satu faktor yang membuat model bahasa besar (LLM) begitu berguna adalah karena model ini merupakan alat kreatif yang dapat menangani banyak tugas bahasa yang berbeda. Sayangnya, 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 ini juga menyulitkan untuk memprediksi dengan tepat jenis output yang tidak diinginkan yang mungkin dihasilkannya. Meskipun Gemini API telah didesain dengan mempertimbangkan prinsip AI Google, developer harus 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 pengembangan dan desain keamanan yang baru. (Perlu diperhatikan bahwa hukum dan peraturan juga dapat menerapkan 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 berulang sampai Anda mencapai performa yang sesuai untuk aplikasi Anda.

Siklus implementasi model

Memahami risiko keamanan aplikasi Anda

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

Sebagai bagian dari penilaian ini, Anda harus mempertimbangkan kemungkinan terjadinya bahaya dan menentukan tingkat keseriusan dan langkah mitigasinya. Misalnya, aplikasi yang membuat esai berdasarkan peristiwa faktual harus lebih berhati-hati dalam menghindari misinformasi, dibandingkan dengan aplikasi yang membuat cerita fiksi untuk hiburan. Cara yang baik untuk mulai mengeksplorasi potensi risiko keamanan adalah dengan meneliti pengguna akhir, dan orang lain yang mungkin terpengaruh oleh hasil aplikasi Anda. Hal ini dapat dilakukan dalam banyak bentuk, termasuk meneliti studi terbaru di domain aplikasi Anda, mengamati bagaimana 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 untuk menyesuaikan kriteria keberagaman sesuai kebutuhan.
  • AI Risk Management Framework yang dirilis oleh National Institute of Standards and Technology (NIST) pemerintah Amerika Serikat memberikan panduan yang lebih mendetail dan referensi pembelajaran tambahan untuk pengelolaan risiko AI.
  • Publikasi DeepMind tentang risiko bahaya etis dan sosial dari model bahasa menjelaskan secara mendetail bagaimana aplikasi model bahasa dapat menyebabkan bahaya.

Mempertimbangkan penyesuaian untuk memitigasi risiko keselamatan

Setelah memahami risikonya, Anda dapat memutuskan cara memitigasinya. Menentukan risiko yang harus diprioritaskan dan seberapa banyak yang harus Anda lakukan untuk mencegahnya adalah keputusan penting, mirip dengan menanggulangi 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. Penyesuaian dapat membuat output model lebih dapat diprediksi dan konsisten, sehingga dapat membantu mengurangi risiko tertentu.
  • Menyediakan metode input yang memfasilitasi output yang lebih aman. Input persis yang Anda berikan ke LLM dapat membuat perbedaan kualitas output. Bereksperimen dengan perintah input untuk menemukan apa yang berfungsi paling aman dalam kasus penggunaan Anda sepadan dengan upaya yang dilakukan, karena Anda kemudian dapat memberikan UX yang memfasilitasinya. Misalnya, Anda dapat membatasi pengguna agar hanya memilih dari menu drop-down perintah input, atau menawarkan saran pop-up dengan frasa deskriptif yang menurut Anda memiliki performa aman dalam konteks aplikasi.
  • Memblokir input dan output pemfilteran yang tidak aman sebelum ditampilkan kepada pengguna. Dalam situasi sederhana, daftar yang tidak diizinkan dapat digunakan untuk mengidentifikasi dan memblokir kata atau frasa yang tidak aman dalam perintah atau respons, atau mengharuskan peninjau manual untuk mengubah atau memblokir konten tersebut secara manual.

  • Menggunakan pengklasifikasi terlatih untuk memberi label setiap dialog dengan potensi bahaya atau sinyal serangan. Strategi yang berbeda dapat digunakan untuk menangani permintaan berdasarkan jenis bahaya yang terdeteksi. Misalnya, jika input secara terang-terangan bersifat melawan atau melanggar, input tersebut dapat diblokir dan menghasilkan respons yang telah ditulis sebelumnya.

    Tips lanjutan

    • Jika sinyal menentukan output yang berbahaya, aplikasi dapat menggunakan opsi berikut:
      • Berikan pesan error atau output yang telah ditulis sebelumnya.
      • Coba lagi perintah tersebut jika output aman alternatif dihasilkan, karena terkadang prompt yang sama akan memunculkan output yang berbeda.

  • Menerapkan pengamanan dari penyalahgunaan yang disengaja seperti menetapkan ID unik kepada setiap pengguna dan menerapkan batas pada volume kueri pengguna yang dapat dikirimkan dalam periode tertentu. Pengamanan lain adalah 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. Baca Kebijakan Penggunaan Terlarang untuk AI Generatif untuk mengetahui detail tentang penyalahgunaan yang disengaja.

  • Menyesuaikan fungsi dengan sesuatu yang secara inheren berisiko lebih rendah. Tugas dengan cakupan yang lebih sempit (misalnya, mengekstrak kata kunci dari bagian teks) atau yang memiliki pengawasan manusia yang lebih besar (misalnya, menghasilkan konten pendek yang akan ditinjau oleh manusia), sering kali menimbulkan risiko yang lebih rendah. Jadi, alih-alih membuat aplikasi untuk menulis balasan email dari awal, Anda dapat membatasinya hanya untuk memperluas struktur atau menyarankan frasa alternatif.

Lakukan pengujian keamanan yang sesuai dengan kasus penggunaan Anda

Pengujian adalah bagian penting dari membangun aplikasi yang tangguh dan aman, tetapi cakupan, cakupan, dan strategi pengujian akan bervariasi. Misalnya, generator haiku yang sekedar bersenang-senang cenderung menimbulkan risiko yang lebih kecil dibandingkan, misalnya, aplikasi yang dirancang untuk digunakan oleh firma hukum untuk meringkas dokumen hukum dan membantu membuat draf kontrak. Namun, generator haiku dapat digunakan oleh berbagai jenis pengguna, yang berarti potensi upaya serangan atau bahkan input berbahaya yang tidak diinginkan dapat lebih besar. Konteks penerapan juga penting. Misalnya, aplikasi dengan output yang ditinjau oleh pakar manusia sebelum tindakan apa pun diambil mungkin dianggap lebih kecil kemungkinannya untuk menghasilkan output yang berbahaya daripada aplikasi identik tanpa pengawasan tersebut.

Tidak jarang Anda melakukan beberapa iterasi dalam membuat perubahan dan pengujian sebelum merasa yakin bahwa Anda siap meluncurkannya, bahkan untuk aplikasi yang memiliki risiko relatif rendah. Ada dua jenis pengujian yang sangat berguna untuk aplikasi AI:

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

    • Waspadai pendekatan yang “terlalu bebas” karena kemungkinan Anda harus membuat set data pengujian sendiri menggunakan pelabel manual agar sepenuhnya sesuai dengan konteks aplikasi.
    • Jika memiliki lebih dari satu metrik, Anda harus menentukan komprominya jika perubahan mengarah pada peningkatan untuk satu metrik, sehingga merugikan metrik lain. Seperti rekayasa performa lainnya, sebaiknya Anda berfokus pada performa dalam skenario terburuk di seluruh rangkaian evaluasi Anda, bukan performa rata-rata.
  • Pengujian adversarial adalah upaya proaktif untuk merusak aplikasi Anda. Tujuannya adalah untuk mengidentifikasi titik kelemahan sehingga Anda dapat mengambil langkah-langkah untuk memperbaikinya sebagaimana mestinya. Pengujian perbandingan dapat memerlukan waktu/upaya yang cukup besar dari evaluator yang memiliki keahlian dalam aplikasi Anda — tetapi semakin banyak yang Anda lakukan, semakin besar peluang menemukan masalah, terutama yang jarang terjadi atau hanya terjadi setelah aplikasi dijalankan berulang.

    • Pengujian serangan adalah metode untuk mengevaluasi model ML secara sistematis dengan tujuan mempelajari perilakunya saat diberikan dengan input yang berbahaya atau tidak sengaja membahayakan:
      • Input mungkin berbahaya jika input tersebut secara jelas dirancang untuk menghasilkan output yang tidak aman atau berbahaya-- misalnya, meminta model pembuatan teks untuk membuat ocehan yang menyebarkan 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 serangan, pilih data uji yang paling mungkin menimbulkan output bermasalah dari model. Artinya, memeriksa perilaku model untuk semua jenis bahaya yang mungkin terjadi, termasuk contoh yang jarang atau tidak biasa dan kasus ekstrem yang relevan dengan kebijakan keamanan. Studi kasus juga harus mencakup keberagaman dalam berbagai dimensi kalimat seperti struktur, makna, dan panjang. Anda dapat membaca praktik Responsible AI Google dalam hal keadilan untuk mengetahui detail lebih lanjut tentang hal yang harus dipertimbangkan saat membuat set data pengujian.

      Tips lanjutan

      • Gunakan pengujian otomatis sebagai ganti metode tradisional meminta orang dalam 'tim merah' untuk mencoba merusak aplikasi Anda. Dalam pengujian otomatis, 'tim merah' adalah model bahasa lain yang menemukan teks input yang menimbulkan output berbahaya dari model yang diuji.

Memantau masalah

Tidak peduli seberapa banyak pengujian dan mitigasi, Anda tidak akan pernah dapat menjamin kesempurnaan. Jadi, rencanakan di awal untuk 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 bermanfaat jika pola penggunaan berbeda dengan ekspektasi.

Tips lanjutan

  • Saat pengguna memberikan masukan untuk produk AI, masukan tersebut dapat meningkatkan performa AI dan pengalaman pengguna secara signifikan dari waktu ke waktu, misalnya dengan 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 dipertimbangkan 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.