|
|
Berjalan di Google Colab
|
Lihat sumber di GitHub
|
|
Produk AI generatif relatif baru dan perilakunya dapat lebih bervariasi dari bentuk perangkat lunak sebelumnya. Oleh karena itu, penting untuk mengetahui apakah model model yang digunakan, memeriksa contoh perilaku model, dan menyelidiki kejutan.
Learning Interpretability Tool (LIT; situs, GitHub) adalah platform untuk men-debug dan menganalisis model ML untuk memahami mengapa dan bagaimana mereka berperilaku seperti yang mereka lakukan.
Di sini, Anda akan mempelajari cara menyiapkan LIT untuk mengoptimalkan Model Gemma dengan menggunakan modul Sequence Salience untuk menganalisis berbagai Prompt Engineering.
Menyiapkan LIT untuk Men-debug Perintah Gemma
ERROR: pip's dependency resolver does not currently take into account all the
packages that are installed. This behaviour is the source of the following
dependency conflicts.
bigframes 0.21.0 requires scikit-learn>=1.2.2, but you have scikit-learn 1.0.2
which is incompatible.
google-colab 1.0.0 requires ipython==7.34.0, but you have ipython 8.14.0
which is incompatible.
Jenis pesan ini aman untuk diabaikan.
Menginstal LIT dan Keras NLP
Notebook ini menggunakan implementasi KerasNLP Gemma (selengkapnya tentang cara
konfigurasikan di bawah). Anda memerlukan keras versi terbaru (3.0+)
keras-nlp (0,12+) dan lit-nlp (1,2+), dan akun Kaggle untuk mengunduh
model dasar.
# Keras is included in Colab runtimes, but needs to be updated to to v3.0+.# LIT and Keras NLP are not icnldued by default and must be installed.# Running this cell may require you to restart your session to ensure the newer# packages are imported correctly.pip install -q -U "keras >= 3.0, <4.0" "keras-nlp >= 0.14" "lit-nlp >= 1.2"
Akses Kaggle
KerasNLP menyimpan bobot model terlatih mereka di Kaggle. Tujuan
Paket kagglehub digunakan
untuk otentikasi dengan layanan ini. Pastikan Anda juga menyetujui perjanjian lisensi
untuk Gemma dari akun Kaggle Anda.
Lihat Lampiran di bagian akhir untuk mengetahui informasi lebih lanjut tentang cara menyiapkan Kaggle menggunakan akun layanan.
import kagglehub
kagglehub.login()
Mengonfigurasi LIT
LIT menyediakan fungsi, make_notebook_widget() untuk mengonfigurasi perintah
alat proses debug dalam konteks notebook.
LIT menyediakan set data berisi contoh perintah yang menyertai tutorial yang ditautkan nanti dalam dokumen ini.
Lihat komentar di bawah untuk mengonfigurasi widget agar menggunakan berbagai model dan/atau {i>dataset<i} aslinya.
from lit_nlp.examples.prompt_debugging import notebook as lit_pdbnb
# The following function initializes a LIT Notebook Widget. It's configured by
# two required positional arguments:
#
# * `datasets_config`: A list of strings containing the dataset names and
# paths to load from, as "dataset:path", where path can be a URL or a
# local file path. The example below uses a special value,
# `sample_prompts`, to load the example prompts provided in the LIT
# distribution; no other special values are supported.
# * `models_config`: A list of strings containing the model names and paths to
# load from, as "model:path", where path can be a URL, a local file path,
# or the name of a preset for the configured deep learning framework.
#
# LIT supports salience computation for KerasNLP and Hugging Face Transformers
# models running on TensorFlow or PyTorch. Note that all models passed to the
# `models_config` parameter will be loaded using the same framework and runtime.
# You can cofnigre these with the following keywork arguments.
#
# * `dl_framework`: Must be one of "kerasnlp" or "transformers".
# * `dl_runtime`: Must be one of "tensorflow" or "torch".
#
# Changing the `dl_framework` value will affect the authentication method used
# to access Gemma model weights.
lit_widget = lit_pdbnb.make_notebook_widget(
['sample_prompts'],
["gemma_2b_it:gemma_1.1_instruct_2b_en"],
dl_framework="kerasnlp",
dl_runtime="tensorflow",
batch_size=1,
max_examples=5,
precision="bfloat16",
)
Sekarang Anda dapat merender UI dalam sel Colab.
lit_widget.render()
<IPython.core.display.Javascript object>
Prompt Debugging dengan Sequence Salience
Model bahasa besar (LLM) teks-ke-teks, seperti Gemma, mengambil urutan input dalam bentuk teks tokenized dan menghasilkan token baru yang tindak lanjut atau penyelesaian yang logis.
Metode animasi memungkinkan Anda memeriksa bagian mana dari input penting bagi model untuk berbagai bagian dari output yang dihasilkannya. Modul Sequence Salience LIT memperluas metode ini untuk menjelaskan pentingnya urutan pada berbagai tingkat perincian: dari token hingga kata ke kalimat dan seterusnya.
Anda dapat menggunakan LIT pada sel di atas untuk bermain-main dengan Sequence Salience modul Anda sendiri. Untuk pengalaman belajar yang lebih terpandu, Anda dapat mengikuti dengan tutorial Prompt Debugging with Sequence Salience langsung di Colab ini.
Untuk informasi akademis dan teknis tentang cara kerja Sequence Salience, lihat makalah kami.
Lampiran: Mengakses Gemma di Kaggle Hub
Notebook ini menggunakan implementasi KerasNLP Gemma dalam dokumen ini. KerasNLP menyimpan bobot model terlatih mereka di Kaggle, dan Gemma membutuhkan autentikasi dan konfirmasi lisensi untuk mengakses bobot tersebut.
Instruksi berikut akan memandu Anda tentang cara menyiapkan akun Kaggle dan
melakukan otentikasi dengan Kaggle menggunakan paket kagglehub.
- Buat akun Kaggle jika Anda belum memilikinya
- Buka: https://www.kaggle.com/account/login?phase=startRegisterTab
- Gunakan metode pendaftaran mana pun yang Anda inginkan untuk menyiapkan akun.
- Minta akses ke Gemma
- Pastikan Anda masuk ke Kaggle menggunakan akun di atas
- Buka halaman izin: https://www.kaggle.com/models/google/gemma/license/consent
- Pilih “Verifikasi melalui Akun Kaggle” pilihan (pilihan {i>default<i}) dan klik {i>next<i}
- Isi formulir izin (kolom nama depan dan nama belakang di bagian atas)
- Konfirmasi kebijakan menggunakan kotak centang di bagian bawah
- Klik tombol "Setuju" tombol di bagian bawah untuk diberi akses
- Tindakan ini akan mengalihkan Anda ke halaman model (https://www.kaggle.com/models/google/gemma)
- Membuat token API
- Pastikan Anda masuk ke Kaggle menggunakan akun yang Anda buat di atas
- Buka halaman Setelan: https://www.kaggle.com/settings
- Scroll ke bawah ke bagian API
- Gunakan "Buat Token Baru" untuk memicu pembuatan token
- Gunakan menu di layar untuk menyimpan file JSON, bernama kaggle.json, yang dihasilkan layanan ke komputer Anda
- File JSON adalah objek dengan dua properti, nama pengguna dan kunci, Anda akan memerlukan keduanya untuk melakukan autentikasi dengan layanannya nanti
- Gunakan kredensial token API Anda untuk melakukan autentikasi dengan kagglehub di Colab
- Buka LIT Sequence Saleince Colab: https://colab.sandbox.google.com/github/google/generative-ai-docs/blob/main/site/en/gemma/docs/lit_gemma.ipynb#scrollTo=yKw8gDsh_nVR
- Terhubung ke runtime GPU
- Untuk Gemma 2B, Anda dapat menggunakan runtime T4 tingkat gratis
- Untuk Gemma 7B, Anda memerlukan kredit komputasi Colab prabayar atau akun Colab Pro untuk menggunakan GPU V100, L4, atau A100
- Jalankan sel kode
kagglehubuntuk menampilkan formulir HTML yang meminta nama pengguna dan token Anda - Salin kolom
usernamedari filekaggle.jsonyang Anda download pada langkah sebelumnya dan tempelkan ke kolomusernamedi formulir - Salin kolom
keydari filekaggle.jsonyang Anda download pada langkah sebelumnya dan tempelkan ke kolomtokendi formulir - Klik tombol login untuk menyimpan kredensial ini di runtime Anda
Anda harus mengulangi langkah terakhir setiap kali koneksi runtime Colab terputus, karena pemutusan koneksi akan menghapus cache tempat kredensial disimpan.
Berjalan di Google Colab
Lihat sumber di GitHub