![]() |
![]() |
![]() |
![]() |
Usługi związane z generatywną AI są stosunkowo nowe, a ich zachowania mogą się różnić starszych form oprogramowania. Dlatego tak ważne jest sondowanie systemów uczących się używanych modeli, zbadanie przykładów działania modelu i zbadanie niespodzianki.
Learning Interpretability Tool (LIT; strona internetowa, GitHub) to platforma do debugowania i analizowania modeli ML, aby zrozumieć, dlaczego i jak zachowanie w swoich zachowaniach.
Z tego artykułu dowiesz się, jak skonfigurować narzędzie LIT, by w pełni wykorzystać modelu Gemma, używając modułu Salience Sequence Salience do analizowania różnych i metody inżynierii promptów.
Konfigurowanie narzędzia LIT do debugowania promptów 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.
Można je zignorować.
Instalowanie LIT i Keras NLP
Ten notatnik korzysta z implementacji kodu Gemma w KerasNLP (więcej informacji na temat
skonfiguruj poniżej). Potrzebujesz najnowszej wersji aplikacji keras
(3.0 lub nowszej)
keras-nlp
(0.12+) i lit-nlp
(1.2+) oraz konto Kaggle, aby pobrać
model podstawowy.
# 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"
Dostęp do Kaggle
KerasNLP przechowuje wytrenowane wagi modeli w Kaggle.
Używany pakiet kagglehub
do uwierzytelnienia w tej usłudze. Pamiętaj, aby zaakceptować także umowę licencyjną.
dla Gemma z konta Kaggle.
Więcej informacji o konfigurowaniu Kaggle znajdziesz w Dodatku na końcu. koncie.
import kagglehub
kagglehub.login()
Konfigurowanie LIT
LIT udostępnia funkcję make_notebook_widget()
do konfigurowania promptu
z narzędzi do debugowania
w kontekście notatnika.
LIT udostępnia zbiór przykładowych promptów towarzyszących samouczkowi, do którego link w dalszej części tego dokumentu.
Aby dowiedzieć się, jak skonfigurować widżet do użycia różnych modeli lub w wielu zbiorach danych.
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",
)
Możesz teraz renderować interfejs w komórce Colab.
lit_widget.render()
<IPython.core.display.Javascript object>
Debugowanie z wykorzystaniem poziomu sekwencji
Duże modele językowe (LLM) zamiany tekstu na tekst, np. Gemma, pobierają sekwencję wejściową w postaci tekstu tokenizowanego i wygenerować nowe tokeny, logiczne kontynuacje lub uzupełnianie.
Metody oceny umożliwiają sprawdzanie, które części są ważne dla modelu w przypadku różnych części generowanych danych wyjściowych. Moduł Skuteczność w sekwencji LIT rozszerza te metody, aby wyjaśnić, znaczenie sekwencji na różnych poziomach szczegółowości: od tokenów po słów na zdania i nie tylko.
Możesz użyć funkcji LIT w komórce powyżej, aby pobawić się poziomami sekwencji . Aby łatwiej zdobywać wiedzę, zapoznaj się z zapoznaj się z samouczkiem Prompt Debugging with Sequence Salience (Debugowanie wyników w sekwencji). bezpośrednio w tej usłudze Colab.
Więcej informacji akademickich i technicznych na temat działania Salience Sequence Salience znajdziesz przeczytaj nasz artykuł.
Dodatek: dostęp do Gemma w Kaggle Hub
Ten notatnik korzysta z implementacji Gemma w KerasNLP w tym dokumencie. KerasNLP przechowuje wytrenowane wagi modeli w Kaggle, a Gemma wymaga uwierzytelniania i potwierdzenia licencji, aby uzyskać dostęp do tych wag.
Poniższe instrukcje przeprowadzą Cię przez proces konfiguracji konta Kaggle oraz
uwierzytelniać w Kaggle za pomocą pakietu kagglehub
.
- Utwórz konto Kaggle, jeśli jeszcze go nie masz
- Wejdź na https://www.kaggle.com/account/login?phase=startRegisterTab.
- Użyj metody rejestracji, którą preferujesz, aby skonfigurować konto.
- Poproś o dostęp do Gemma
- Zaloguj się w Kaggle, korzystając z powyższego konta.
- Otwórz stronę zgody: https://www.kaggle.com/models/google/gemma/license/consent.
- Wybierz opcję „Zweryfikuj przez konto Kaggle”. (ustawienie domyślne) i kliknij Dalej.
- Wypełnij formularz zgody (pola imienia i nazwiska u góry).
- Potwierdź, że zgadzasz się z zasadami, za pomocą pól wyboru u dołu
- Kliknij „Akceptuję”. u dołu przycisku, aby przyznać dostęp
- Powinno to spowodować przekierowanie na stronę modelu (https://www.kaggle.com/models/google/gemma).
- Tworzenie tokena API
- Zaloguj się w Kaggle na konto utworzone powyżej.
- Wejdź na stronę Ustawienia: https://www.kaggle.com/settings.
- Przewiń w dół do sekcji dotyczącej interfejsu API.
- Użyj opcji „Utwórz nowy token”. przycisk aktywujący generowanie tokenów
- Użyj menu na ekranie, aby zapisać plik JSON o nazwie kaggle.json, który zostanie wygenerowany na komputerze.
- Plik JSON to obiekt z 2 właściwościami – nazwą użytkownika i kluczem. Obie te właściwości będą potrzebne później do uwierzytelnienia w usłudze
- Używanie danych logowania tokena interfejsu API do uwierzytelniania w kagglehub w Colab
- Otwórz stronę LIT Sequence Saleince w Colab: https://colab.sandbox.google.com/github/google/generative-ai-docs/blob/main/site/en/gemma/docs/lit_gemma.ipynb#scrollTo=yKw8gDsh_nVR
- Połącz ze środowiskiem wykonawczym GPU
- W przypadku Gemma 2B możesz użyć środowiska wykonawczego T4 poziomu bezpłatnego.
- W przypadku Gemma 7B potrzebujesz przedpłaconych środków obliczeniowych Colab lub konta Colab Pro, aby korzystać z GPU V100, L4 lub A100
- Uruchom kod z komórki
kagglehub
, aby wyświetlić formularz HTML z prośbą o podanie nazwy użytkownika i tokenu - Skopiuj pole
username
z plikukaggle.json
pobranego w poprzednim kroku i wklej je w poluusername
w formularzu. - Skopiuj pole
key
z plikukaggle.json
pobranego w poprzednim kroku i wklej je w polutoken
w formularzu. - Kliknij przycisk logowania, aby zapisać te dane logowania w środowisku wykonawczym
Musisz powtórzyć ostatni krok za każdym razem, gdy środowisko wykonawcze Colab jest odłączone, ponieważ odłączenie powoduje wyczyszczenie pamięci podręcznej, w której są przechowywane dane logowania.