استخدام LIT مع Gemma

عرض معلومات عن الذكاء الاصطناعي التوليدي التنفيذ في Google Colab عرض المصدر على GitHub التعلّم في الدروس التطبيقية حول الترميز

تعد منتجات الذكاء الاصطناعي التوليدي جديدة نسبيًا ويمكن أن تختلف سلوكياتها أكثر من والأشكال السابقة من البرامج. وهذا يجعل من المهم التحقق من التعلم الآلي نماذج قيد الاستخدام، يفحص أمثلة سلوك النموذج ثم يفحص والمفاجآت.

أداة تعلّم التفسيرات (LIT، الموقع الإلكتروني، GitHub) هي منصة لتصحيح الأخطاء وتحليل نماذج تعلُّم الآلة لفهم سبب وكيفية أن يتصرفوا بالطريقة التي يتصرفون بها.

ستتعرف هنا على كيفية إعداد LIT للاستفادة بشكل أكبر من نموذج Gemma باستخدام وحدة تحديد التسلسل لتحليل البيانات مناهج هندسة الطلبات.

إعداد LIT لتصحيح أخطاء رسائل Gemma Prompts

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.
.

يمكنك تجاهل هذه المواضيع بأمان.

تثبيت LIT وKeras NLP

يستخدم هذا الدفتر تنفيذ KerasNLP لـ Gemma (المزيد حول كيفية اضبط ذلك أدناه). يجب استخدام إصدار حديث من keras (3.0 أو إصدار أحدث). keras-nlp (0.12+) وlit-nlp (1.2+)، وحساب Kaggle لتنزيل الأساسي.

# 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

تقوم KerasNLP بتخزين أوزان النموذج المدرّبة مسبقًا على Kaggle. تشير رسالة الأشكال البيانية تم استخدام حزمة kagglehub. للمصادقة باستخدام هذه الخدمة. تأكَّد أيضًا من قبول اتفاقية الترخيص. لـ Gemma من حسابك في Kaggle.

انظر الملحق في النهاية لمزيد من المعلومات حول كيفية إعداد Kaggle الحساب.

import kagglehub

kagglehub.login()

جارٍ إعداد LIT

توفّر LIT دالة make_notebook_widget() لإعداد الطلب. أدوات تصحيح الأخطاء في سياق دفتر الملاحظات.

توفّر LIT مجموعة بيانات تتضمّن نماذج للطلبات المرفقة بالبرنامج التعليمي المرتبط. لاحقًا في هذا المستند.

راجع التعليقات أدناه حول تهيئة الأداة لاستخدام نماذج مختلفة و/أو ومجموعات البيانات.

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

يمكنك الآن عرض واجهة المستخدم في خلية Colab.

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

تصحيح الأخطاء في المطالبة باستخدام أهمية التسلسل

تستخدم النماذج اللغوية الكبيرة (LLM) التي تعمل من نص إلى نص، مثل Gemma، تسلسل إدخال في شكل نص رمز مميز وإنشاء رموز مميزة جديدة المتابعة أو الإكمالات المنطقية.

تتيح لك طرق الظهور فحص أجزاء المدخلات مهمة للنموذج لأجزاء مختلفة من المخرجات التي يتم إنشاؤها. وتوسِّع وحدة تحديد التسلسل في LIT هذه الطرق لتوضيح أهمية التسلسلات على مستويات متعددة من الدقة: من الرموز المميزة إلى من الكلمات إلى الجمل وما بعدها.

يمكنك استخدام LIT في الخلية أعلاه لاكتشاف أهمية التسلسل بنفسك. للحصول على تجربة تعلم أكثر توجيهًا، يمكنك متابعة من خلال الدليل التعليمي لتصحيح الأخطاء في الطلبات من خلال عرض التسلسل في Colab هذه مباشرةً.

لمزيد من المعلومات الأكاديمية والفنية حول كيفية عمل سلسلة Salience، راجِع مقالاتنا.

الملحق: الوصول إلى Gemma على Kaggle Hub

يستخدم هذا الدفتر تنفيذ KerasNLP لـ Gemma في هذا المستند. تقوم KerasNLP بتخزين أوزان النموذج المدرَّبة مسبقًا على Kaggle، وتتطلب Gemma والمصادقة وإقرار الترخيص للوصول إلى تلك الأوزان.

ترشدك التعليمات التالية خلال كيفية إعداد حساب Kaggle بالمصادقة مع Kaggle باستخدام حزمة kagglehub.

  1. إنشاء حساب Kaggle إذا لم يكن لديك حساب
  2. طلب الوصول إلى Gemma
    • تأكد من تسجيل الدخول إلى Kaggle باستخدام الحساب أعلاه
    • الانتقال إلى صفحة الموافقة: https://www.kaggle.com/models/google/gemma/license/consent
    • حدد "التحقق عبر حساب Kaggle" (الاختيار الافتراضي) وانقر على "التالي"
    • إكمال نموذج الموافقة (من خلال حقلَي الاسم الأول واسم العائلة في أعلى الصفحة)
    • الإقرار بالسياسة باستخدام مربّعات الاختيار في الأسفل
    • انقر على "قبول" زر في أسفل الصفحة لمنح المستخدم إذن الوصول
    • من المفترض أن يؤدي ذلك إلى إعادة توجيهك إلى صفحة النموذج (https://www.kaggle.com/models/google/gemma).
  3. إنشاء رمز مميز لواجهة برمجة التطبيقات
    • تأكد من تسجيل الدخول إلى Kaggle باستخدام الحساب الذي أنشأته أعلاه
    • انتقِل إلى صفحة "الإعدادات": https://www.kaggle.com/settings
    • انتقِل للأسفل وصولاً إلى قسم واجهة برمجة التطبيقات.
    • استخدام "إنشاء رمز مميّز جديد" زرّ لإنشاء الرموز المميّزة
    • استخدِم القائمة التي تظهر على الشاشة لحفظ ملف JSON، اسمه kaggle.json، الذي تنشئه الخدمة على جهازك.
    • ملف JSON هو كائن يتضمّن خاصيتين، هما اسم المستخدم والمفتاح، ستحتاجان إلى كليهما للمصادقة مع خدمتهما لاحقًا.
  4. استخدام بيانات اعتماد الرمز المميّز لواجهة برمجة التطبيقات للمصادقة باستخدام kagglehub في Colab
    • انتقِل إلى تسلسل LIT Saleince Colab: https://colab.sandbox.google.com/github/google/generative-ai-docs/blob/main/site/en/gemma/docs/lit_gemma.ipynb#scrollTo=yKw8gDsh_nVR
    • الاتصال ببيئة تشغيل GPU
    • في Gemma 2B، يمكنك استخدام بيئة تشغيل T4 ذات الإصدار المجاني.
    • بالنسبة إلى Gemma 7B، ستحتاج إلى أرصدة حوسبة في Colab مدفوعة مسبقًا أو حساب Colab Pro لاستخدام وحدة معالجة رسومات V100 أو L4 أو A100.
    • شغِّل خلية الرمز kagglehub لعرض نموذج HTML الذي يطلب إدخال اسم المستخدم ورمز مميز
    • انسخ الحقل username من ملف kaggle.json الذي نزّلته في الخطوة السابقة والصقه في الحقل username في النموذج.
    • انسخ الحقل key من ملف kaggle.json الذي نزّلته في الخطوة السابقة والصقه في الحقل token في النموذج.
    • انقر على زر تسجيل الدخول لحفظ بيانات الاعتماد هذه في بيئة التشغيل.

سيكون عليك تكرار الخطوة الأخيرة في أي وقت يكون فيه بيئة تشغيل Colab غير متصلة، لأنّ إلغاء الربط يؤدي إلى محو ذاكرة التخزين المؤقت التي يتم تخزين بيانات الاعتماد فيها.