Menganalisis perilaku model dengan alat penafsiran

Meskipun pendekatan yang bertanggung jawab terhadap AI harus mencakup kebijakan keamanan, teknik untuk meningkatkan keamanan model, cara membangun artefak transparansi, pendekatan Anda untuk bertanggung jawab dengan AI generatif tidak hanya mengikuti checklist. Produk AI generatif relatif baru dan perilaku aplikasi dapat lebih bervariasi daripada bentuk software sebelumnya. Oleh karena itu, Anda harus menyelidiki model machine learning yang digunakan, memeriksa contoh perilaku model, dan menyelidiki hal-hal yang tidak terduga.

Saat ini, perintah sama halnya seperti sains, tetapi ada alat yang dapat membantu Anda secara empiris meningkatkan perintah untuk model bahasa besar, seperti Alat Penafsiran Pembelajaran (LIT). LIT adalah platform open source yang dikembangkan untuk memvisualisasikan, memahami, dan men-debug model AI/ML. Di bawah ini adalah contoh penggunaan LIT untuk mempelajari perilaku Gemma, mengantisipasi potensi masalah, dan meningkatkan keamanannya.

Anda dapat menginstal LIT di komputer lokal, di Colab, atau di Google Cloud. Untuk mulai menggunakan LIT, impor model Anda dan set data terkait (misalnya, set data evaluasi keamanan) di Colab. LIT akan menghasilkan serangkaian output untuk set data menggunakan model Anda dan menyediakan antarmuka pengguna untuk mempelajari perilaku model.

Menganalisis Model Gemma dengan LIT

Mulai Codelab Mulai Google Colab

Animasi antarmuka pengguna Alat Penafsiran Pembelajaran (LIT)

Gambar ini menampilkan antarmuka pengguna LIT. Editor Titik Data di bagian atas memungkinkan pengguna mengedit perintah mereka. Di bagian bawah, modul LM Salience memungkinkan mereka memeriksa hasil yang penting.

Mengidentifikasi error dalam prompt yang kompleks

Dua teknik prompting yang paling penting untuk prototipe dan aplikasi berbasis LLM berkualitas tinggi adalah few-shot prompting (termasuk contoh perilaku yang diinginkan dalam perintah) dan rantai pikiran, termasuk bentuk penjelasan atau penalaran sebelum output akhir LLM. Namun, menciptakan {i>prompt<i} yang efektif sering kali masih menantang.

Pertimbangkan contoh dalam membantu seseorang menilai apakah mereka akan menyukai makanan berdasarkan selera mereka. Prototipe awal template perintah chain-of-thinkt mungkin terlihat seperti ini:

Analyze a menu item in a restaurant.


## For example:


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in France is usually great
Recommendation: Likely good.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in France
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.


## Now analyse one more example:


Taste-likes: {{users-food-like-preferences}}
Taste-dislikes: {{users-food-dislike-preferences}}
Suggestion: {{menu-item-to-analyse}}
Analysis:

Apakah Anda menemukan masalah pada prompt ini? LIT akan membantu Anda memeriksa perintah dengan modul Salience LM.

Menggunakan salience urutan untuk proses debug

Salience dihitung pada tingkat sekecil mungkin (yaitu, untuk setiap token input), tetapi LIT dapat menggabungkan token-saliency ke dalam rentang yang lebih besar dan lebih mudah ditafsirkan, seperti baris, kalimat, atau kata. Pelajari lebih lanjut saliency dan cara menggunakannya untuk mengidentifikasi bias yang tidak disengaja dalam artikel Interactive Saliency Explorable kami.

Mari kita mulai dengan memberi perintah sebuah contoh input baru untuk variabel prompt-template:

{{users-food-like-preferences}} = Cheese
{{users-food-dislike-preferences}} = Can't eat eggs
{{menu-item-to-analyse}} = Quiche Lorraine

Setelah langkah ini dilakukan, penyelesaian model yang mengejutkan dapat diamati:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: A savoury tart with cheese and eggs
Recommendation: You might not like it, but it's worth trying.

Mengapa model menyarankan Anda untuk makan sesuatu yang jelas tidak boleh Anda makan?

{i>Salience <i}urutan dapat membantu menyoroti akar masalah, yang ada dalam contoh beberapa kesempatan. Pada contoh pertama, penalaran rantai pemikiran di bagian analisis tidak cocok dengan rekomendasi akhir. Analisis "Ia telah memasak bawang di dalamnya, yang tidak Anda sukai" dipasangkan dengan rekomendasi "Anda harus mencobanya".

Antarmuka pengguna LIT yang menampilkan analisis prioritas urutan perintah

Ini menandai error dalam perintah awal: terdapat salinan rekomendasi yang tidak disengaja (You have to try it!) untuk contoh few-shot pertama. Anda dapat melihat kekuatan keterlihatan pada perintah dari kegelapan sorotan ungu. Keunggulan tertinggi adalah pada contoh few-shot pertama, dan khususnya pada baris yang sesuai dengan Taste-likes, Analysis, dan Recommendation. Hal ini menunjukkan bahwa model ini paling sering menggunakan baris ini untuk membuat rekomendasi akhir yang salah.

Contoh ini juga menyoroti bahwa pembuatan prototipe awal dapat mengungkapkan risiko yang mungkin tidak terpikirkan sebelumnya, dan sifat model bahasa yang rentan terhadap error berarti Anda harus mendesain untuk mengatasi error secara proaktif. Hal ini dibahas lebih lanjut dalam Buku Panduan People + AI untuk mendesain dengan AI.

Uji hipotesis untuk meningkatkan perilaku model

LIT memungkinkan Anda menguji perubahan pada perintah dalam antarmuka yang sama. Dalam contoh ini, coba tambahkan konstitusi untuk meningkatkan perilaku model. Konstitusi mengacu pada perintah desain dengan prinsip-prinsip untuk membantu memandu generasi model. Metode terbaru bahkan memungkinkan penurunan interaktif prinsip konstitusional.

Mari kita gunakan ide ini untuk membantu meningkatkan kualitas dialog lebih lanjut. Gunakan Datapoint Editor LIT untuk menambahkan bagian yang berisi prinsip-prinsip pembuatan di bagian atas perintah kita, yang kini dimulai seperti berikut:

Analyze a menu item in a restaurant.

* The analysis should be brief and to the point.
* It should provide a clear statement of suitability for someone with
  specific dietary restrictions.
* It should reflect the person's tastes

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: Avoid.

Dengan update ini, contoh dapat dijalankan kembali dan mengamati output yang sangat berbeda:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs, which you can't eat.
Recommendation: Not suitable for you.

Prompt-saliency kemudian dapat diperiksa ulang untuk membantu memahami alasan perubahan ini terjadi:

Antarmuka pengguna LIT yang menampilkan analisis saliency perintah

Dalam contoh ini, "Tidak cocok untuk Anda" dipengaruhi oleh prinsip "Memberikan pernyataan yang jelas tentang kesesuaian untuk seseorang dengan pembatasan diet tertentu" dan pernyataan analisis yang menjelaskan bahwa hidangan mengandung telur (yang disebut rantai pemikiran).

Menyertakan tim non-teknis dalam eksplorasi dan penyelidikan model

Penafsiran dimaksudkan menjadi upaya tim, yang mencakup keahlian dalam kebijakan, hukum, dan banyak lagi. Seperti yang Anda lihat, media visual dan kemampuan interaktif LIT untuk memeriksa salience dan mengeksplorasi contoh dapat membantu berbagai pemangku kepentingan membagikan dan mengomunikasikan temuan. Hal ini memungkinkan Anda menghadirkan keberagaman rekan satu tim yang lebih luas untuk eksplorasi, pemeriksaan, dan proses debug model. Mengenal metode-metode teknis ini dapat meningkatkan pemahaman tentang cara kerja model. Selain itu, keahlian yang lebih beragam dalam pengujian model awal juga dapat membantu mengungkap hasil yang tidak diinginkan yang dapat ditingkatkan.

Ringkasan

Setelah menemukan contoh bermasalah dalam evaluasi model, pindahkan contoh tersebut ke LIT untuk proses debug. Mulailah dengan menganalisis unit konten terbesar yang masuk akal yang menurut Anda secara logis terkait dengan tugas pemodelan, gunakan visualisasi untuk melihat di mana model benar atau salah hadir ke konten perintah, lalu lihat perincian ke unit konten yang lebih kecil untuk menjelaskan lebih lanjut perilaku salah yang Anda lihat untuk mengidentifikasi kemungkinan perbaikan.

Resource untuk developer