PyTorch মধ্যে Gemma

ai.google.dev এ দেখুন Google Colab-এ চালান GitHub-এ উৎস দেখুন

এটি PyTorch এ Gemma অনুমান চালানোর একটি দ্রুত ডেমো। আরও বিশদ বিবরণের জন্য, অনুগ্রহ করে এখানে অফিসিয়াল PyTorch বাস্তবায়নের Github রেপো দেখুন।

মনে রাখবেন যে :

  • ফ্রি Colab CPU Python রানটাইম এবং T4 GPU পাইথন রানটাইম Gemma 2B মডেল এবং 7B int8 কোয়ান্টাইজড মডেল চালানোর জন্য যথেষ্ট।
  • অন্যান্য GPU বা TPU-এর জন্য উন্নত ব্যবহারের ক্ষেত্রে, অনুগ্রহ করে অফিসিয়াল রেপোতে README.md দেখুন।

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

Kaggle-এ লগইন করতে, আপনি হয় আপনার kaggle.json ক্রেডেনশিয়াল ফাইল ~/.kaggle/kaggle.json এ সঞ্চয় করতে পারেন অথবা Colab পরিবেশে নিম্নলিখিতটি চালাতে পারেন। আরো বিস্তারিত জানার জন্য kagglehub প্যাকেজ ডকুমেন্টেশন দেখুন।

import kagglehub

kagglehub.login()

নির্ভরতা ইনস্টল করুন

pip install -q -U torch immutabledict sentencepiece

মডেল ওজন ডাউনলোড করুন

# Choose variant and machine type
VARIANT = '2b-it'
MACHINE_TYPE = 'cuda'
import os

# Load model weights
weights_dir = kagglehub.model_download(f'google/gemma/pyTorch/{VARIANT}')

# Ensure that the tokenizer is present
tokenizer_path = os.path.join(weights_dir, 'tokenizer.model')
assert os.path.isfile(tokenizer_path), 'Tokenizer not found!'

# Ensure that the checkpoint is present
ckpt_path = os.path.join(weights_dir, f'gemma-{VARIANT}.ckpt')
assert os.path.isfile(ckpt_path), 'PyTorch checkpoint not found!'

মডেল বাস্তবায়ন ডাউনলোড করুন

# NOTE: The "installation" is just cloning the repo.
git clone https://github.com/google/gemma_pytorch.git
import sys

sys.path.append('gemma_pytorch')
from gemma_pytorch.gemma.config import get_config_for_7b, get_config_for_2b
from gemma_pytorch.gemma.model import GemmaForCausalLM

মডেল সেটআপ করুন

import torch

# Set up model config.
model_config = get_config_for_2b() if "2b" in VARIANT else get_config_for_7b()
model_config.tokenizer = tokenizer_path
model_config.quant = 'quant' in VARIANT

# Instantiate the model and load the weights.
torch.set_default_dtype(model_config.get_dtype())
device = torch.device(MACHINE_TYPE)
model = GemmaForCausalLM(model_config)
model.load_weights(ckpt_path)
model = model.to(device).eval()

অনুমান চালান

নীচে চ্যাট মোডে জেনারেট করার এবং একাধিক অনুরোধের সাথে জেনারেট করার উদাহরণ রয়েছে৷

নির্দেশ-সুরিত জেমা মডেলগুলিকে একটি নির্দিষ্ট ফর্ম্যাটার দিয়ে প্রশিক্ষিত করা হয়েছিল যা প্রশিক্ষণ এবং অনুমান উভয় সময় অতিরিক্ত তথ্য সহ নির্দেশের টিউনিং উদাহরণগুলিকে টীকা করে। টীকাগুলি (1) একটি কথোপকথনে ভূমিকা নির্দেশ করে এবং (2) একটি কথোপকথনের মোড়কে চিত্রিত করে৷ নীচে আমরা একটি মাল্টি-টার্ন কথোপকথনে ব্যবহারকারী এবং মডেল চ্যাট টেমপ্লেটগুলি ব্যবহার করে মডেল প্রম্পট ফর্ম্যাট করার জন্য একটি নমুনা কোড স্নিপেট দেখাই৷ প্রাসঙ্গিক টোকেন হল:

  • user : ব্যবহারকারীর পালা
  • model : মডেল পালা
  • <start_of_turn> : সংলাপের পালা শুরু
  • <end_of_turn> : সংলাপের পালা শেষ

নির্দেশ টিউনিং এবং সিস্টেম নির্দেশাবলীর জন্য Gemma বিন্যাস সম্পর্কে এখানে পড়ুন।

# Generate with one request in chat mode

# Chat templates
USER_CHAT_TEMPLATE = '<start_of_turn>user\n{prompt}<end_of_turn>\n'
MODEL_CHAT_TEMPLATE = '<start_of_turn>model\n{prompt}<end_of_turn>\n'

# Sample formatted prompt
prompt = (
    USER_CHAT_TEMPLATE.format(
        prompt='What is a good place for travel in the US?'
    )
    + MODEL_CHAT_TEMPLATE.format(prompt='California.')
    + USER_CHAT_TEMPLATE.format(prompt='What can I do in California?')
    + '<start_of_turn>model\n'
)
print('Chat prompt:\n', prompt)

model.generate(
    USER_CHAT_TEMPLATE.format(prompt=prompt),
    device=device,
    output_len=100,
)
Chat prompt:
 <start_of_turn>user
What is a good place for travel in the US?<end_of_turn>
<start_of_turn>model
California.<end_of_turn>
<start_of_turn>user
What can I do in California?<end_of_turn>
<start_of_turn>model
"* **Visit the Golden Gate Bridge and Alcatraz Island in San Francisco.**\n* **Head to Yosemite National Park and marvel at nature's beauty.**\n* **Explore the bustling metropolis of Los Angeles.**\n* **Relax on the pristine beaches of Santa Monica or Malibu.**\n* **Go whale watching in Monterey Bay.**\n* **Discover the charming coastal towns of Monterey Bay and Carmel-by-the-Sea.**\n* **Visit Disneyland and Disney California Adventure in Anaheim.**\n*"
# Generate sample
model.generate(
    'Write a poem about an llm writing a poem.',
    device=device,
    output_len=60,
)
['\n\nThe fingers dance on the keys,\nA symphony of thoughts and dreams.\nThe mind, a canvas yet uncouth,\nScribbling its secrets in the night.\n\nThe ink, a whispered voice from deep,\nA language ancient, never to sleep.\nEach stroke an echo of']

আরও জানুন

এখন যেহেতু আপনি Pytorch-এ Gemma কীভাবে ব্যবহার করবেন তা শিখেছেন, আপনি ai.google.dev/gemma- এ জেমমা করতে পারেন এমন আরও অনেক কিছু অন্বেষণ করতে পারেন। এই অন্যান্য সম্পর্কিত সংস্থানগুলিও দেখুন: