Gemma ile LIT'yi kullanma

Üretken yapay zekayı göster Google Colab'de çalıştır Kaynağı GitHub'da görüntüle Codelab'de Öğrenin

Üretken yapay zeka ürünleri nispeten yenidir ve davranışları ve eski yazılım türleridir. Bu da makine öğreniminin test edilmesini modelin davranışının örneklerini inceleyip modelin davranışını sürprizler.

Öğrenim Yorumlanabilirlik Aracı (LIT; web sitesi, GitHub) neden ve nasıl performans gösterdiğini anlamak için makine öğrenimi modellerinde hata ayıklama ve analiz etme platformudur. davrandıkları gibi davranırlar.

Bu makalede, Google'ın envanterinden daha iyi yararlanmak için LIT'yi Farklı veri türlerini analiz etmek için Sıra Salience modülünü kullanan Gemma modeli yaklaşımlarını geliştirebilirsiniz.

Gemma İstemlerinde Hata Ayıklamak için LIT'yi Ayarlama

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.

Bunları güvenle görmezden gelebilirsiniz.

LIT ve Keras NLP'yi yükleyin

Bu not defterinde, Gemma’nın KerasNLP uygulaması kullanılmaktadır (daha fazla bilgi için bunu aşağıda yapılandırın). Yeni bir keras (3.0+) sürümüne ihtiyacınız var keras-nlp (0.12+) ve lit-nlp (1.2+) ve bir Kaggle hesabı kullanarak temel modeliniz.

# 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"

Kaggle Erişimi

KerasNLP, önceden eğitilmiş model ağırlıklarını Kaggle'da depolar. İlgili içeriği oluşturmak için kullanılan kagglehub paketi kullanılıyor bu hizmetle kimlik doğrulaması yapmak istiyorum. Lisans sözleşmesini de kabul ettiğinizden emin olun Gemma'yı seçin.

Kaggle'ı nasıl kuracağınızla ilgili daha fazla bilgi için belgenin sonundaki Ek'e bakın hesap.

import kagglehub

kagglehub.login()

LIT'yi yapılandırma

LIT, istemimizi yapılandırmak için make_notebook_widget() adlı bir işlev sağlar hata ayıklama araçlarını not defteri bağlamında inceleyelim.

LIT, bağlantısı verilen eğitime eşlik eden örnek istemlerin yer aldığı bir veri kümesi sağlar bu belgenin devamında bulabilirsiniz.

Widget'ı farklı modeller kullanacak şekilde yapılandırmak için aşağıdaki yorumlara bakın ve/veya veri kümelerinde yer alır.

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",
)

Artık kullanıcı arayüzünü bir Colab hücresinde oluşturabilirsiniz.

lit_widget.render()
<IPython.core.display.Javascript object>

Sıranın Salience ile İstem Hata Ayıklama

Gemma gibi metinden metne dönüştüren büyük dil modelleri (LLM'ler) bir giriş sırası alır. token atanmış bir metin biçiminde ve ya da tamamlamaların önemini vurgular.

Salience yöntemleri, bir reklamın hangi kısımlarına girişlerin, üretilen çıktının farklı kısımları için model açısından önemlidir. LIT'nin Sıra Salience modülü bu yöntemlerin kapsamını genişleterek birden fazla ayrıntı düzeyindeki dizilerin önemi hakkında bilgi edinebilirsiniz: cümleler ve öteler oluşturun.

Salience Dizisi ile denemeler yapmak için yukarıdaki hücrede LIT'yi kullanabilirsiniz. modülü düzenleyebilirsiniz. Daha rehberli bir öğrenme deneyimi için Sıra Salience ile İstem Hata Ayıklama eğiticisini inceleyin. doğrudan bu Colab'da bulun.

Sequence Salience'ın işleyiş şekli hakkında daha da akademik ve teknik bilgiler için makalemize göz atın.

Ek: Kaggle Hub'da Gemma'ya erişme

Bu not defterinde, Gemma'nın KerasNLP uygulaması kullanılmaktadır. KerasNLP, önceden eğitilmiş model ağırlıklarını Kaggle üzerinde depolar. Gemma da bu ağırlıklara erişmek için kimlik doğrulama ve lisans onayı gerekir.

Aşağıdaki talimat bir Kaggle hesabı oluşturma ve kagglehub paketini kullanarak Kaggle ile kimlik doğrulaması yapın.

  1. Kaggle hesabınız yoksa oluşturun
  2. Gemma'ya erişim isteyin
    • Kaggle'a yukarıdaki hesabı kullanarak giriş yaptığınızdan emin olun.
    • İzin sayfasına gidin: https://www.kaggle.com/models/google/gemma/license/consent
    • "Kaggle Hesabı ile Doğrula"yı seçin seçeneğini (varsayılan seçim) seçin ve İleri'yi tıklayın
    • İzin formunu doldurun (üst kısımdaki ad ve soyadı alanları)
    • Alt kısımdaki onay kutularını kullanarak politikayı onaylayın
    • "Kabul et"i tıklayın erişim izni vermek için alt taraftaki düğme
    • Model sayfasına yönlendirilirsiniz (https://www.kaggle.com/models/google/gemma)
  3. API jetonu oluşturma
    • Kaggle'a yukarıda oluşturduğunuz hesabı kullanarak giriş yaptığınızdan emin olun.
    • Ayarlar sayfasına gidin: https://www.kaggle.com/settings
    • API bölümüne ilerleyin
    • "Yeni Jeton Oluştur"u kullanın jeton oluşturma işlemini tetikleme düğmesi
    • Makinenizde oluşturulan kaggle.json adlı JSON dosyasını kaydetmek için ekrandaki menüyü kullanın.
    • JSON dosyası, kullanıcı adı ve anahtar olmak üzere iki özelliğe sahip bir nesnedir. Daha sonra hizmetle kimlik doğrulaması yapmak için her ikisinin de olması gerekir
  4. Colab'de kagglehub ile kimlik doğrulamak için API jetonu kimlik bilgilerinizi kullanın
    • Colab'den itibaren LIT Dizi İndirimi'ne gidin: https://colab.sandbox.google.com/github/google/generative-ai-docs/blob/main/site/en/gemma/docs/lit_gemma.ipynb#scrollTo=yKw8gDsh_nVR
    • GPU çalışma zamanına bağlanın
    • Gemma 2B için ücretsiz katman olan T4 çalışma zamanını kullanabilirsiniz.
    • Gemma 7B için V100, L4 veya A100 GPU kullanmak üzere ön ödemeli Colab işlem kredilerine veya Colab Pro hesabına ihtiyacınız vardır
    • Kullanıcı adınızı ve jetonu isteyen bir HTML formu görüntülemek için kagglehub kod hücresini çalıştırın
    • Önceki adımda indirdiğiniz kaggle.json dosyasından username alanını kopyalayıp formdaki username alanına yapıştırın.
    • Önceki adımda indirdiğiniz kaggle.json dosyasından key alanını kopyalayıp formdaki token alanına yapıştırın.
    • Bu kimlik bilgilerini çalışma zamanınıza kaydetmek için giriş düğmesini tıklayın

Colab çalışma zamanı bağlantısı kesildiğinde son adımı tekrarlamanız gerekir. Bağlantının kesilmesi kimlik bilgilerinin depolandığı önbelleği temizler.