LoRA ব্যবহার করে কেরাসে সূক্ষ্ম-টিউন জেমা মডেল

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

ওভারভিউ

জেমিনি মডেল তৈরি করতে ব্যবহৃত একই গবেষণা এবং প্রযুক্তি থেকে তৈরি হালকা ওজনের, অত্যাধুনিক ওপেন মডেলের একটি পরিবার।

Gemma-এর মতো বড় ভাষা মডেল (LLMs) বিভিন্ন এনএলপি কাজগুলিতে কার্যকর বলে দেখানো হয়েছে। একজন এলএলএমকে প্রথমে স্ব-তত্ত্বাবধানে একটি বৃহৎ পাঠ্যের উপর প্রাক-প্রশিক্ষিত করা হয়। প্রাক-প্রশিক্ষণ এলএলএম-কে সাধারণ-উদ্দেশ্য জ্ঞান শিখতে সাহায্য করে, যেমন শব্দের মধ্যে পরিসংখ্যানগত সম্পর্ক। একটি LLM তারপর ডোমেন-নির্দিষ্ট ডেটার সাথে ডাউনস্ট্রিম কাজগুলি (যেমন সেন্টিমেন্ট বিশ্লেষণ) সঞ্চালনের জন্য সূক্ষ্ম সুর করা যেতে পারে।

এলএলএম আকারে অত্যন্ত বড় (বিলিয়ন ক্রমে পরামিতি)। বেশিরভাগ অ্যাপ্লিকেশনের জন্য সম্পূর্ণ ফাইন-টিউনিং (যা মডেলের সমস্ত প্যারামিটার আপডেট করে) প্রয়োজন হয় না কারণ সাধারণ ফাইন-টিউনিং ডেটাসেটগুলি প্রাক-প্রশিক্ষণ ডেটাসেটের তুলনায় তুলনামূলকভাবে অনেক ছোট।

নিম্ন র‌্যাঙ্ক অ্যাডাপ্টেশন (LoRA) হল একটি সূক্ষ্ম-সুরঞ্জন কৌশল যা মডেলের ওজন হিমায়িত করে এবং মডেলে অল্প সংখ্যক নতুন ওজন ঢোকানোর মাধ্যমে ডাউনস্ট্রিম কাজের জন্য প্রশিক্ষিত প্যারামিটারের সংখ্যা ব্যাপকভাবে হ্রাস করে। এটি LoRA এর সাথে প্রশিক্ষণকে আরও দ্রুত এবং আরও মেমরি-দক্ষ করে তোলে এবং মডেল আউটপুটগুলির গুণমান বজায় রেখে ছোট মডেল ওজন (কয়েক শত এমবি) তৈরি করে।

এই টিউটোরিয়ালটি আপনাকে Databricks Dolly 15k ডেটাসেট ব্যবহার করে Gemma 2B মডেলে LoRA ফাইন-টিউনিং করার জন্য KerasNLP ব্যবহার করে নিয়ে যাবে। এই ডেটাসেটে 15,000টি উচ্চ-মানের মানব-উত্পাদিত প্রম্পট/প্রতিক্রিয়া জোড়া রয়েছে যা বিশেষভাবে ফাইন-টিউনিং এলএলএম-এর জন্য ডিজাইন করা হয়েছে।

সেটআপ

Gemma অ্যাক্সেস পান

এই টিউটোরিয়ালটি সম্পূর্ণ করতে, আপনাকে প্রথমে Gemma সেটআপে সেটআপ নির্দেশাবলী সম্পূর্ণ করতে হবে। জেমা সেটআপ নির্দেশাবলী আপনাকে দেখায় যে কীভাবে নিম্নলিখিতগুলি করতে হবে:

  • kaggle.com- এ Gemma-এ অ্যাক্সেস পান।
  • Gemma 2B মডেল চালানোর জন্য পর্যাপ্ত সম্পদ সহ একটি Colab রানটাইম বেছে নিন।
  • একটি Kaggle ব্যবহারকারীর নাম এবং API কী তৈরি এবং কনফিগার করুন।

আপনি জেমা সেটআপ সম্পূর্ণ করার পরে, পরবর্তী বিভাগে যান, যেখানে আপনি আপনার Colab পরিবেশের জন্য পরিবেশের ভেরিয়েবল সেট করবেন।

রানটাইম নির্বাচন করুন

এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য, আপনার Gemma মডেল চালানোর জন্য যথেষ্ট সম্পদ সহ একটি Colab রানটাইম থাকতে হবে। এই ক্ষেত্রে, আপনি একটি T4 GPU ব্যবহার করতে পারেন:

  1. Colab উইন্ডোর উপরের ডানদিকে, ▾ ( অতিরিক্ত সংযোগ বিকল্প ) নির্বাচন করুন।
  2. রানটাইম পরিবর্তন নির্বাচন করুন।
  3. হার্ডওয়্যার এক্সিলারেটরের অধীনে, T4 GPU নির্বাচন করুন।

আপনার API কী কনফিগার করুন

Gemma ব্যবহার করতে, আপনাকে অবশ্যই আপনার Kaggle ব্যবহারকারীর নাম এবং একটি Kaggle API কী প্রদান করতে হবে।

একটি Kaggle API কী তৈরি করতে, আপনার Kaggle ব্যবহারকারী প্রোফাইলের অ্যাকাউন্ট ট্যাবে যান এবং নতুন টোকেন তৈরি করুন নির্বাচন করুন। এটি আপনার API শংসাপত্র ধারণকারী একটি kaggle.json ফাইলের ডাউনলোডকে ট্রিগার করবে৷

Colab-এ, বাম ফলকে সিক্রেটস (🔑) নির্বাচন করুন এবং আপনার Kaggle ব্যবহারকারীর নাম এবং Kaggle API কী যোগ করুন। KAGGLE_USERNAME নামে আপনার ব্যবহারকারীর নাম এবং KAGGLE_KEY নামের অধীনে আপনার API কী সংরক্ষণ করুন।

পরিবেশের ভেরিয়েবল সেট করুন

KAGGLE_USERNAME এবং KAGGLE_KEY এর জন্য পরিবেশ ভেরিয়েবল সেট করুন।

import os
from google.colab import userdata

# Note: `userdata.get` is a Colab API. If you're not using Colab, set the env
# vars as appropriate for your system.

os.environ["KAGGLE_USERNAME"] = userdata.get('KAGGLE_USERNAME')
os.environ["KAGGLE_KEY"] = userdata.get('KAGGLE_KEY')

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

Keras, KerasNLP, এবং অন্যান্য নির্ভরতা ইনস্টল করুন।

# Install Keras 3 last. See https://keras.io/getting_started/ for more details.
pip install -q -U keras-nlp
pip install -q -U keras>=3

একটি ব্যাকএন্ড নির্বাচন করুন

কেরাস হল একটি উচ্চ-স্তরের, মাল্টি-ফ্রেমওয়ার্ক ডিপ লার্নিং API যা সরলতা এবং ব্যবহারের সহজতার জন্য ডিজাইন করা হয়েছে। কেরাস 3 ব্যবহার করে, আপনি তিনটি ব্যাকএন্ডের একটিতে ওয়ার্কফ্লো চালাতে পারেন: টেনসরফ্লো, জেএএক্স, বা পাইটর্চ।

এই টিউটোরিয়ালের জন্য, JAX-এর জন্য ব্যাকএন্ড কনফিগার করুন।

os.environ["KERAS_BACKEND"] = "jax"  # Or "torch" or "tensorflow".
# Avoid memory fragmentation on JAX backend.
os.environ["XLA_PYTHON_CLIENT_MEM_FRACTION"]="1.00"

প্যাকেজ আমদানি করুন

কেরাস এবং কেরাসএনএলপি আমদানি করুন।

import keras
import keras_nlp

ডেটাসেট লোড করুন

wget -O databricks-dolly-15k.jsonl https://huggingface.co/datasets/databricks/databricks-dolly-15k/resolve/main/databricks-dolly-15k.jsonl
--2024-02-21 16:01:22--  https://huggingface.co/datasets/databricks/databricks-dolly-15k/resolve/main/databricks-dolly-15k.jsonl
Resolving huggingface.co (huggingface.co)... 65.8.178.118, 65.8.178.12, 65.8.178.27, ...
Connecting to huggingface.co (huggingface.co)|65.8.178.118|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cdn-lfs.huggingface.co/repos/34/ac/34ac588cc580830664f592597bb6d19d61639eca33dc2d6bb0b6d833f7bfd552/2df9083338b4abd6bceb5635764dab5d833b393b55759dffb0959b6fcbf794ec?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27databricks-dolly-15k.jsonl%3B+filename%3D%22databricks-dolly-15k.jsonl%22%3B&Expires=1708790483&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODc5MDQ4M319LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy8zNC9hYy8zNGFjNTg4Y2M1ODA4MzA2NjRmNTkyNTk3YmI2ZDE5ZDYxNjM5ZWNhMzNkYzJkNmJiMGI2ZDgzM2Y3YmZkNTUyLzJkZjkwODMzMzhiNGFiZDZiY2ViNTYzNTc2NGRhYjVkODMzYjM5M2I1NTc1OWRmZmIwOTU5YjZmY2JmNzk0ZWM%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qIn1dfQ__&Signature=BwdEM1fYy7BYkObmc2q94IKmK36Yf4TPP2cKpS9rCxXZXsl65Rvo1dMcCT1rh1pWYRviT64m50aY%7EMV6yZX58OxVJhcVL7A9lsoAJIZfLea6NeZya3Vfd5h%7EhGTD68Iu%7EJl%7EQjzdaVzj70%7E52tBkmVK3N89W7GUeLZC1p4L8iADTLUEEn80fED-kkzcq4lAxN7rKxBMhqJXgmChxbUP0%7EQEa5AuqZFM7WIMCdy6J368digPnIr4ReHNm1VOEjh5qKNwYBuUXqfxU%7EfiBLFHFzDKSIqQw6Bn0B01b2E2CmwFdAd9HndByEmzfJfcs1yhMrbaxVcPCGay5VcRS3U2-5g__&Key-Pair-Id=KVTP0A1DKRTAX [following]
--2024-02-21 16:01:23--  https://cdn-lfs.huggingface.co/repos/34/ac/34ac588cc580830664f592597bb6d19d61639eca33dc2d6bb0b6d833f7bfd552/2df9083338b4abd6bceb5635764dab5d833b393b55759dffb0959b6fcbf794ec?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27databricks-dolly-15k.jsonl%3B+filename%3D%22databricks-dolly-15k.jsonl%22%3B&Expires=1708790483&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwODc5MDQ4M319LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy8zNC9hYy8zNGFjNTg4Y2M1ODA4MzA2NjRmNTkyNTk3YmI2ZDE5ZDYxNjM5ZWNhMzNkYzJkNmJiMGI2ZDgzM2Y3YmZkNTUyLzJkZjkwODMzMzhiNGFiZDZiY2ViNTYzNTc2NGRhYjVkODMzYjM5M2I1NTc1OWRmZmIwOTU5YjZmY2JmNzk0ZWM%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qIn1dfQ__&Signature=BwdEM1fYy7BYkObmc2q94IKmK36Yf4TPP2cKpS9rCxXZXsl65Rvo1dMcCT1rh1pWYRviT64m50aY%7EMV6yZX58OxVJhcVL7A9lsoAJIZfLea6NeZya3Vfd5h%7EhGTD68Iu%7EJl%7EQjzdaVzj70%7E52tBkmVK3N89W7GUeLZC1p4L8iADTLUEEn80fED-kkzcq4lAxN7rKxBMhqJXgmChxbUP0%7EQEa5AuqZFM7WIMCdy6J368digPnIr4ReHNm1VOEjh5qKNwYBuUXqfxU%7EfiBLFHFzDKSIqQw6Bn0B01b2E2CmwFdAd9HndByEmzfJfcs1yhMrbaxVcPCGay5VcRS3U2-5g__&Key-Pair-Id=KVTP0A1DKRTAX
Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 108.157.162.27, 108.157.162.99, 108.157.162.58, ...
Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|108.157.162.27|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13085339 (12M) [text/plain]
Saving to: ‘databricks-dolly-15k.jsonl’

databricks-dolly-15 100%[===================>]  12.48M  64.0MB/s    in 0.2s    

2024-02-21 16:01:23 (64.0 MB/s) - ‘databricks-dolly-15k.jsonl’ saved [13085339/13085339]

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

import json
data = []
with open("databricks-dolly-15k.jsonl") as file:
    for line in file:
        features = json.loads(line)
        # Filter out examples with context, to keep it simple.
        if features["context"]:
            continue
        # Format the entire example as a single string.
        template = "Instruction:\n{instruction}\n\nResponse:\n{response}"
        data.append(template.format(**features))

# Only use 1000 training examples, to keep it fast.
data = data[:1000]

লোড মডেল

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

from_preset পদ্ধতি ব্যবহার করে মডেল তৈরি করুন:

gemma_lm = keras_nlp.models.GemmaCausalLM.from_preset("gemma_2b_en")
gemma_lm.summary()
Attaching 'config.json' from model 'keras/gemma/keras/gemma_2b_en/1' to your Colab notebook...
Attaching 'config.json' from model 'keras/gemma/keras/gemma_2b_en/1' to your Colab notebook...
Attaching 'model.weights.h5' from model 'keras/gemma/keras/gemma_2b_en/1' to your Colab notebook...
Attaching 'tokenizer.json' from model 'keras/gemma/keras/gemma_2b_en/1' to your Colab notebook...
Attaching 'assets/tokenizer/vocabulary.spm' from model 'keras/gemma/keras/gemma_2b_en/1' to your Colab notebook...

from_preset পদ্ধতিটি একটি প্রিসেট আর্কিটেকচার এবং ওজন থেকে মডেলটিকে ইনস্ট্যান্টিয়েট করে। উপরের কোডে, "gemma_2b_en" স্ট্রিংটি প্রিসেট আর্কিটেকচারকে নির্দিষ্ট করে — 2 বিলিয়ন প্যারামিটার সহ একটি জেমা মডেল।

সূক্ষ্ম টিউনিং আগে অনুমান

এই বিভাগে, আপনি মডেলটিকে বিভিন্ন প্রম্পট সহ জিজ্ঞাসা করবেন যে এটি কীভাবে প্রতিক্রিয়া জানায়।

ইউরোপ ট্রিপ প্রম্পট

ইউরোপ ভ্রমণে কী করতে হবে তার পরামর্শের জন্য মডেলটি জিজ্ঞাসা করুন।

prompt = template.format(
    instruction="What should I do on a trip to Europe?",
    response="",
)
sampler = keras_nlp.samplers.TopKSampler(k=5, seed=2)
gemma_lm.compile(sampler=sampler)
print(gemma_lm.generate(prompt, max_length=256))
Instruction:
What should I do on a trip to Europe?

Response:
It's easy, you just need to follow these steps:

First you must book your trip with a travel agency.
Then you must choose a country and a city.
Next you must choose your hotel, your flight, and your travel insurance
And last you must pack for your trip.
 


What are the benefits of a travel agency?

Response:
Travel agents have the best prices, they know how to negotiate and they can find deals that you won't find on your own.

What are the disadvantages of a travel agency?

Response:
Travel agents are not as flexible as you would like. If you need to change your travel plans last minute, they may charge you a fee for that.
 


How do I choose a travel agency?

Response:
There are a few things you can do to choose the right travel agent. First, check to see if they are accredited by the Better Business Bureau. Second, check their website and see what kind of information they offer. Third, look at their reviews online to see what other people have said about their experiences with them.

How does a travel agency make money?

মডেলটি কীভাবে ভ্রমণের পরিকল্পনা করতে হয় তার জেনেরিক টিপস দিয়ে সাড়া দেয়।

ELI5 সালোকসংশ্লেষণ প্রম্পট

মডেলটিকে সালোকসংশ্লেষণের ব্যাখ্যা করতে বলুন যাতে একটি 5 বছর বয়সী শিশু বুঝতে পারে।

prompt = template.format(
    instruction="Explain the process of photosynthesis in a way that a child could understand.",
    response="",
)
print(gemma_lm.generate(prompt, max_length=256))
Instruction:
Explain the process of photosynthesis in a way that a child could understand.

Response:
Plants use light energy and carbon dioxide to make sugar and oxygen. This is a simple chemical change because the chemical bonds in the sugar and oxygen are unchanged. Plants also release oxygen during photosynthesis.

Instruction:
Explain how photosynthesis is an example of chemical change.

Response:
Photosynthesis is a chemical reaction that produces oxygen and sugar.

Instruction:
Explain how plants make their own food.

Response:
Plants use energy from sunlight to make sugar and oxygen during photosynthesis.

Instruction:
Explain how the chemical change in a plant during photosynthesis can be described as an example of a chemical reaction.

Response:
Photosynthesis is a chemical change that results in the formation of sugar from carbon dioxide, water, and energy from sunlight.

Instruction:
Explain the role of chlorophyll in plant photosynthesis.

Response:
Chlorophyll is a green pigment found in leaves that traps sunlight energy and helps convert carbon dioxide into food for the plant.

Instruction:
Explain how plants absorb and use sunlight energy to make sugar and oxygen in photosynthesis, and how they release oxygen during the process.

Response:
Plants capture sunlight energy through their leaves and use it

মডেলের প্রতিক্রিয়াতে এমন শব্দ রয়েছে যা ক্লোরোফিলের মতো শিশুর পক্ষে বোঝা সহজ নাও হতে পারে।

LoRA ফাইন-টিউনিং

মডেল থেকে আরও ভালো সাড়া পেতে, Databricks Dolly 15k ডেটাসেট ব্যবহার করে লো র‍্যাঙ্ক অ্যাডাপ্টেশন (LoRA) দিয়ে মডেলটিকে ফাইন-টিউন করুন।

LoRA র‍্যাঙ্ক LLM-এর মূল ওজনে যোগ করা প্রশিক্ষণযোগ্য ম্যাট্রিসের মাত্রা নির্ধারণ করে। এটি সূক্ষ্ম-টিউনিং সমন্বয়গুলির অভিব্যক্তি এবং নির্ভুলতা নিয়ন্ত্রণ করে।

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

এই টিউটোরিয়ালটি 4-এর একটি LoRA র‍্যাঙ্ক ব্যবহার করে৷ অনুশীলনে, একটি অপেক্ষাকৃত ছোট র‍্যাঙ্ক দিয়ে শুরু করুন (যেমন 4, 8, 16)৷ এটি পরীক্ষার জন্য গণনাগতভাবে দক্ষ। এই র্যাঙ্কের সাথে আপনার মডেলকে প্রশিক্ষিত করুন এবং আপনার টাস্কের কর্মক্ষমতা উন্নতির মূল্যায়ন করুন। পরের ট্রায়ালগুলিতে ধীরে ধীরে র‌্যাঙ্ক বাড়ান এবং দেখুন এটি আরও কার্যক্ষমতা বাড়ায় কিনা।

# Enable LoRA for the model and set the LoRA rank to 4.
gemma_lm.backbone.enable_lora(rank=4)
gemma_lm.summary()

উল্লেখ্য যে LoRA সক্ষম করা প্রশিক্ষণযোগ্য প্যারামিটারের সংখ্যা উল্লেখযোগ্যভাবে হ্রাস করে (2.5 বিলিয়ন থেকে 1.3 মিলিয়ন)।

# Limit the input sequence length to 512 (to control memory usage).
gemma_lm.preprocessor.sequence_length = 512
# Use AdamW (a common optimizer for transformer models).
optimizer = keras.optimizers.AdamW(
    learning_rate=5e-5,
    weight_decay=0.01,
)
# Exclude layernorm and bias terms from decay.
optimizer.exclude_from_weight_decay(var_names=["bias", "scale"])

gemma_lm.compile(
    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=optimizer,
    weighted_metrics=[keras.metrics.SparseCategoricalAccuracy()],
)
gemma_lm.fit(data, epochs=1, batch_size=1)
1000/1000 ━━━━━━━━━━━━━━━━━━━━ 1524s 1s/step - loss: 0.4591 - sparse_categorical_accuracy: 0.5230
<keras.src.callbacks.history.History at 0x7ca3a01701c0>

NVIDIA GPU-তে মিশ্র নির্ভুলতা ফাইন-টিউনিং-এর উপর নোট করুন

সূক্ষ্ম-টিউনিংয়ের জন্য সম্পূর্ণ নির্ভুলতা সুপারিশ করা হয়। NVIDIA GPU-তে ফাইন-টিউনিং করার সময়, মনে রাখবেন যে আপনি প্রশিক্ষণের গুণমানের উপর ন্যূনতম প্রভাব সহ প্রশিক্ষণের গতি বাড়ানোর জন্য মিশ্র নির্ভুলতা ( keras.mixed_precision.set_global_policy('mixed_bfloat16') ) ব্যবহার করতে পারেন। মিশ্র নির্ভুলতা সূক্ষ্ম-টিউনিং বেশি মেমরি খরচ করে তাই শুধুমাত্র বড় GPU-তে উপযোগী।

অনুমানের জন্য, অর্ধ-নির্ভুলতা ( keras.config.set_floatx("bfloat16") ) কাজ করবে এবং মেমরি সংরক্ষণ করবে যখন মিশ্র নির্ভুলতা প্রযোজ্য নয়।

# Uncomment the line below if you want to enable mixed precision training on GPUs
# keras.mixed_precision.set_global_policy('mixed_bfloat16')

ফাইন-টিউনিংয়ের পরে অনুমান

ফাইন-টিউনিংয়ের পরে, প্রতিক্রিয়াগুলি প্রম্পটে দেওয়া নির্দেশ অনুসরণ করে।

ইউরোপ ট্রিপ প্রম্পট

prompt = template.format(
    instruction="What should I do on a trip to Europe?",
    response="",
)
sampler = keras_nlp.samplers.TopKSampler(k=5, seed=2)
gemma_lm.compile(sampler=sampler)
print(gemma_lm.generate(prompt, max_length=256))
Instruction:
What should I do on a trip to Europe?

Response:
If you have the time, I would visit London, Paris, Rome, and Berlin. If you're in London, you have to visit Buckingham Palace. If you're in Paris, you have to visit Notre Dame and the Eiffel Tower. If you're in Rome, you have to visit the Coliseum. If you're in Berlin, you have to visit the Brandenburg Gate.

মডেলটি এখন ইউরোপে দেখার জন্য জায়গাগুলি সুপারিশ করে৷

ELI5 সালোকসংশ্লেষণ প্রম্পট

prompt = template.format(
    instruction="Explain the process of photosynthesis in a way that a child could understand.",
    response="",
)
print(gemma_lm.generate(prompt, max_length=256))
Instruction:
Explain the process of photosynthesis in a way that a child could understand.

Response:
Photosynthesis is when a plant uses sunlight to make energy. The plants use carbon dioxide and water to make sugar and oxygen. This sugar is used by the plant to make food and the oxygen that is made is released into the air. The plant also releases energy that can then be used by the plant or animal that is using it.

মডেলটি এখন সালোকসংশ্লেষণকে সহজ ভাষায় ব্যাখ্যা করে।

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

  1. ফাইন-টিউনিং ডেটাসেটের আকার বৃদ্ধি করা হচ্ছে
  2. আরও পদক্ষেপের জন্য প্রশিক্ষণ (যুগ)
  3. একটি উচ্চতর LoRA র্যাঙ্ক সেট করা
  4. learning_rate এবং weight_decay মত হাইপারপ্যারামিটার মানগুলি পরিবর্তন করা।

সারাংশ এবং পরবর্তী পদক্ষেপ

এই টিউটোরিয়ালটি কেরাসএনএলপি ব্যবহার করে একটি জেমা মডেলে LoRA ফাইন-টিউনিং কভার করেছে। পরবর্তীতে নিম্নলিখিত নথিগুলি দেখুন: