জেমার সাথে LIT ব্যবহার করা

জেনারেটিভ এআই দেখুন Google Colab-এ চালান GitHub-এ উৎস দেখুন কোডল্যাবে শিখুন

জেনারেটিভ এআই পণ্যগুলি তুলনামূলকভাবে নতুন এবং তাদের আচরণগুলি সফ্টওয়্যারের আগের ফর্মগুলির চেয়ে বেশি পরিবর্তিত হতে পারে। এটি ব্যবহার করা মেশিন লার্নিং মডেলগুলি তদন্ত করা, মডেলের আচরণের উদাহরণগুলি পরীক্ষা করা এবং বিস্ময়ের তদন্ত করা গুরুত্বপূর্ণ করে তোলে।

লার্নিং ইন্টারপ্রিটেবিলিটি টুল (LIT; ওয়েবসাইট , GitHub ) হল ML মডেলগুলিকে ডিবাগিং এবং বিশ্লেষণ করার জন্য একটি প্ল্যাটফর্ম যা তারা কেন এবং কীভাবে আচরণ করে তা বোঝার জন্য।

এখানে, আপনি বিভিন্ন প্রম্পট ইঞ্জিনিয়ারিং পদ্ধতির বিশ্লেষণ করার জন্য সিকোয়েন্স স্যালিয়েন্স মডিউল ব্যবহার করে Google-এর জেমা মডেল থেকে আরও বেশি কিছু পেতে কীভাবে LIT সেটআপ করবেন তা শিখবেন।

জেমা প্রম্পট ডিবাগ করতে LIT সেট আপ করা হচ্ছে

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 ইনস্টল করুন

এই নোটবুকটি জেমার কেরাসএনএলপি বাস্তবায়ন ব্যবহার করে (নিচে কীভাবে এটি কনফিগার করতে হয় সে সম্পর্কে আরও)। বেস মডেল ডাউনলোড করতে আপনার 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"

কাগল অ্যাক্সেস

কেরাসএনএলপি তাদের প্রাক-প্রশিক্ষিত মডেলের ওজন কাগল-এ সঞ্চয় করে। এই পরিষেবার সাথে প্রমাণীকরণ করতে kagglehub প্যাকেজ ব্যবহার করা হয়। আপনার Kaggle অ্যাকাউন্ট থেকে Gemma- এর লাইসেন্স চুক্তিটিও গ্রহণ করতে ভুলবেন না।

কিভাবে একটি 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 সেলে UI রেন্ডার করতে পারেন।

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

সিকোয়েন্স স্যালিয়েন্স সহ প্রম্পট ডিবাগিং

টেক্সট-টু-টেক্সট লার্জ ল্যাঙ্গুয়েজ মডেল (এলএলএম), যেমন জেমা, টোকেনাইজড টেক্সট আকারে একটি ইনপুট সিকোয়েন্স নেয় এবং নতুন টোকেন তৈরি করে যা লজিক্যাল ফলো-অন বা সমাপ্তি।

স্যালিয়েন্স পদ্ধতিগুলি আপনাকে একটি ইনপুটের কোন অংশগুলি তার জেনারেট আউটপুটের বিভিন্ন অংশের জন্য মডেলের জন্য গুরুত্বপূর্ণ তা পরীক্ষা করার অনুমতি দেয়। LIT-এর সিকোয়েন্স স্যালিয়েন্স মডিউল গ্রানুলিটির একাধিক স্তরে সিকোয়েন্সের গুরুত্ব ব্যাখ্যা করতে এই পদ্ধতিগুলিকে প্রসারিত করে: টোকেন থেকে শব্দ থেকে বাক্য পর্যন্ত এবং তার বাইরেও।

সিকোয়েন্স স্যালিয়েন্স মডিউলটি নিজের মতো করে খেলার জন্য আপনি উপরের ঘরে LIT ব্যবহার করতে পারেন। আরও নির্দেশিত শেখার অভিজ্ঞতার জন্য, আপনি এই Colab-এ সরাসরি সিকোয়েন্স স্যালিয়েন্স টিউটোরিয়াল সহ প্রম্পট ডিবাগিং-এর সাথে দীর্ঘক্ষণ অনুসরণ করতে পারেন।

সিকোয়েন্স স্যালিয়েন্স কীভাবে কাজ করে সে সম্পর্কে আরও বেশি একাডেমিক এবং প্রযুক্তিগত তথ্যের জন্য, আমাদের কাগজটি দেখুন।

পরিশিষ্ট: Kaggle হাব উপর Gemma অ্যাক্সেস

এই নোটবুক এই নথিতে Gemma-এর KerasNLP বাস্তবায়ন ব্যবহার করে। কেরাসএনএলপি তাদের প্রাক-প্রশিক্ষিত মডেলের ওজনগুলি কাগল-এ সঞ্চয় করে, এবং সেই ওজনগুলি অ্যাক্সেস করার জন্য জেমার প্রমাণীকরণ এবং লাইসেন্স স্বীকৃতির প্রয়োজন।

নিম্নলিখিত নির্দেশাবলী আপনাকে কিভাবে একটি Kaggle অ্যাকাউন্ট সেট আপ করতে হয় এবং kagglehub প্যাকেজ ব্যবহার করে Kaggle এর সাথে প্রমাণীকরণ করতে হয় তা নিয়ে চলে।

  1. আপনার যদি না থাকে তাহলে একটি Kaggle অ্যাকাউন্ট তৈরি করুন৷
    • এখানে যান: https://www.kaggle.com/account/login?phase=startRegisterTab
    • আপনি আপনার অ্যাকাউন্ট সেট আপ করতে পছন্দ করেন যে কোনো নিবন্ধন পদ্ধতি ব্যবহার করুন.
  2. Gemma অ্যাক্সেস অনুরোধ
    • উপরের অ্যাকাউন্ট ব্যবহার করে আপনি Kaggle এ লগ ইন করেছেন তা নিশ্চিত করুন
    • সম্মতি পৃষ্ঠায় যান: https://www.kaggle.com/models/google/gemma/license/consent
    • "কাগল অ্যাকাউন্টের মাধ্যমে যাচাই করুন" বিকল্পটি নির্বাচন করুন (ডিফল্ট নির্বাচন) এবং পরবর্তীতে ক্লিক করুন
    • সম্মতি ফর্মটি পূরণ করুন (শীর্ষে প্রথম নাম এবং শেষ নামের ক্ষেত্র)
    • নীচের চেকবক্সগুলি ব্যবহার করে নীতিটি স্বীকার করুন৷
    • অ্যাক্সেস মঞ্জুর করতে নীচের "স্বীকার করুন" বোতামে ক্লিক করুন৷
    • এটি আপনাকে মডেল পৃষ্ঠায় পুনঃনির্দেশিত করবে ( https://www.kaggle.com/models/google/gemma )
  3. একটি API টোকেন তৈরি করুন
    • আপনি উপরে তৈরি করা অ্যাকাউন্ট ব্যবহার করে Kaggle এ লগ ইন করেছেন তা নিশ্চিত করুন৷
    • সেটিংস পৃষ্ঠায় যান: https://www.kaggle.com/settings
    • API বিভাগে নিচে স্ক্রোল করুন
    • টোকেন জেনারেশন ট্রিগার করতে "নতুন টোকেন তৈরি করুন" বোতামটি ব্যবহার করুন
    • JSON ফাইলটি সংরক্ষণ করতে অন-স্ক্রীন মেনু ব্যবহার করুন, যার নাম kaggle.json, পরিষেবাটি আপনার মেশিনে তৈরি করে
    • JSON ফাইলটি দুটি বৈশিষ্ট্য সহ একটি বস্তু, ব্যবহারকারীর নাম এবং কী, পরে তাদের পরিষেবার সাথে প্রমাণীকরণ করার জন্য আপনার উভয়ের প্রয়োজন হবে
  4. Colab-এ kagglehub-এর মাধ্যমে প্রমাণীকরণ করতে আপনার API টোকেন ক্রেডেনশিয়াল ব্যবহার করুন
    • এলআইটি সিকোয়েন্স সেলিন্স কোলাবে যান: 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-এর জন্য V100, L4 বা A100 GPU ব্যবহার করার জন্য আপনার প্রি-পেইড Colab কম্পিউট ক্রেডিট বা Colab Pro অ্যাকাউন্টের প্রয়োজন হবে
    • একটি HTML ফর্ম প্রদর্শন করতে kagglehub কোড সেল চালান যা আপনার ব্যবহারকারীর নাম এবং একটি টোকেন জানতে চায়
    • আগের ধাপে ডাউনলোড করা kaggle.json ফাইল থেকে username ফিল্ডটি কপি করুন এবং ফর্মের username ফিল্ডে পেস্ট করুন
    • আগের ধাপে ডাউনলোড করা kaggle.json ফাইল থেকে key ফিল্ডটি কপি করুন এবং ফর্মের token ফিল্ডে পেস্ট করুন
    • আপনার রানটাইমে এই শংসাপত্রগুলি সংরক্ষণ করতে লগইন বোতামে ক্লিক করুন৷

Colab রানটাইম ডিসকানেক্ট হয়ে গেলে আপনাকে শেষ ধাপটি রিপিট করতে হবে, কারণ ডিসকানেক্ট হলে ক্যাশে সাফ হয়ে যাবে যে শংসাপত্রগুলি স্টোর করা আছে।