ভার্টেক্স এআই মূল্যায়নের মাধ্যমে একক এলএলএম আউটপুট মূল্যায়ন

1. সংক্ষিপ্ত বিবরণ

এই ল্যাবে, আপনি Vertex AI Gen AI মূল্যায়ন পরিষেবা ব্যবহার করে বৃহৎ ভাষার মডেলগুলি মূল্যায়ন করতে শিখবেন। আপনি মূল্যায়ন কাজগুলি পরিচালনা করতে, ফলাফল তুলনা করতে এবং মডেলের কর্মক্ষমতা এবং দ্রুত নকশা সম্পর্কে ডেটা-চালিত সিদ্ধান্ত নিতে SDK ব্যবহার করবেন।

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

তুমি কি শিখবে

এই ল্যাবে, আপনি নিম্নলিখিত কাজগুলি কীভাবে সম্পাদন করবেন তা শিখবেন:

  • গণনা-ভিত্তিক এবং মডেল-ভিত্তিক মেট্রিক্স সহ একটি মডেল মূল্যায়ন করুন।
  • পণ্যের লক্ষ্যের সাথে মূল্যায়নকে সামঞ্জস্যপূর্ণ করার জন্য একটি কাস্টম মেট্রিক তৈরি করুন।
  • বিভিন্ন প্রম্পট টেমপ্লেট পাশাপাশি তুলনা করুন।
  • সবচেয়ে কার্যকর সংস্করণটি খুঁজে পেতে একাধিক ব্যক্তিত্ব-ভিত্তিক প্রম্পট পরীক্ষা করুন।
  • ভার্টেক্স এআই এক্সপেরিমেন্ট ব্যবহার করে মূল্যায়ন রান ট্র্যাক এবং ভিজ্যুয়ালাইজ করুন।

তথ্যসূত্র

2. প্রকল্প সেটআপ

গুগল অ্যাকাউন্ট

যদি আপনার ইতিমধ্যেই একটি ব্যক্তিগত Google অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি Google অ্যাকাউন্ট তৈরি করতে হবে।

কর্মক্ষেত্র বা স্কুল অ্যাকাউন্টের পরিবর্তে ব্যক্তিগত অ্যাকাউন্ট ব্যবহার করুন

গুগল ক্লাউড কনসোলে সাইন-ইন করুন

একটি ব্যক্তিগত গুগল অ্যাকাউন্ট ব্যবহার করে গুগল ক্লাউড কনসোলে সাইন-ইন করুন।

বিলিং সক্ষম করুন

বিলিং সক্ষম করার জন্য, আপনার কাছে দুটি বিকল্প আছে। আপনি হয় আপনার ব্যক্তিগত বিলিং অ্যাকাউন্ট ব্যবহার করতে পারেন অথবা নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে ক্রেডিট রিডিম করতে পারেন।

$৫ গুগল ক্লাউড ক্রেডিট রিডিম করুন (ঐচ্ছিক)

এই কর্মশালাটি পরিচালনা করার জন্য, আপনার কিছু ক্রেডিট সহ একটি বিলিং অ্যাকাউন্ট প্রয়োজন। আপনি যদি নিজের বিলিং ব্যবহার করার পরিকল্পনা করেন, তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।

  1. এই লিঙ্কে ক্লিক করুন এবং একটি ব্যক্তিগত গুগল অ্যাকাউন্ট দিয়ে সাইন ইন করুন। আপনি এরকম কিছু দেখতে পাবেন: ক্রেডিট পৃষ্ঠার জন্য এখানে ক্লিক করুন
  2. আপনার ক্রেডিট অ্যাক্সেস করতে এখানে ক্লিক করুন বোতামটি ক্লিক করুন। এটি আপনাকে আপনার বিলিং প্রোফাইল সেট আপ করার জন্য একটি পৃষ্ঠায় নিয়ে যাবে। যদি আপনাকে একটি বিনামূল্যে ট্রায়াল সাইন আপ স্ক্রিন দেখানো হয়, তাহলে বাতিল করুন ক্লিক করুন এবং বিলিং লিঙ্ক করতে থাকুন। বিলিং প্রোফাইল পৃষ্ঠা সেট আপ করুন
  3. আপনি এখন একটি Google Cloud Platform ট্রায়াল বিলিং অ্যাকাউন্টের সাথে সংযুক্ত আছেন কিনা তা নিশ্চিত করুন -এ ক্লিক করুন। বিলিং ওভারভিউয়ের স্ক্রিনশট

একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট সেট আপ করুন

আপনি যদি গুগল ক্লাউড ক্রেডিট ব্যবহার করে বিলিং সেট আপ করেন, তাহলে আপনি এই ধাপটি এড়িয়ে যেতে পারেন।

একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট সেট আপ করতে, ক্লাউড কনসোলে বিলিং সক্ষম করতে এখানে যান

কিছু নোট:

  • এই ল্যাবটি সম্পূর্ণ করতে ক্লাউড রিসোর্সে $1 USD এর কম খরচ হবে।
  • আরও চার্জ এড়াতে আপনি এই ল্যাবের শেষে রিসোর্স মুছে ফেলার ধাপগুলি অনুসরণ করতে পারেন।
  • নতুন ব্যবহারকারীরা $300 USD বিনামূল্যে ট্রায়ালের জন্য যোগ্য।

একটি প্রকল্প তৈরি করুন (ঐচ্ছিক)

যদি আপনার এই ল্যাবের জন্য ব্যবহার করতে চান এমন কোন বর্তমান প্রকল্প না থাকে, তাহলে এখানে একটি নতুন প্রকল্প তৈরি করুন

৩. আপনার ভার্টেক্স এআই ওয়ার্কবেঞ্চ পরিবেশ সেট আপ করুন

আপনার পূর্ব-কনফিগার করা নোটবুক পরিবেশ অ্যাক্সেস করে এবং প্রয়োজনীয় নির্ভরতা ইনস্টল করে শুরু করা যাক।

ভার্টেক্স এআই ওয়ার্কবেঞ্চ অ্যাক্সেস করুন

  1. গুগল ক্লাউড কনসোলে, নেভিগেশন মেনু ☰ > ভার্টেক্স এআই > ড্যাশবোর্ডে ক্লিক করে ভার্টেক্স এআই -তে নেভিগেট করুন।

ড্যাশবোর্ড নির্বাচন করুন

  1. সকল প্রস্তাবিত API সক্ষম করুন এ ক্লিক করুন। দ্রষ্টব্য: এই ধাপটি সম্পন্ন হওয়ার জন্য অনুগ্রহ করে অপেক্ষা করুন।
  2. বাম দিকে, একটি নতুন ওয়ার্কবেঞ্চ ইনস্ট্যান্স তৈরি করতে ওয়ার্কবেঞ্চে ক্লিক করুন। ওয়ার্কবেঞ্চ তৈরি করুন
  3. ওয়ার্কবেঞ্চের ইনস্ট্যান্স মূল্যায়ন-ওয়ার্কবেঞ্চের নাম দিন এবং তৈরি করুন এ ক্লিক করুন। নাম ওয়ার্কবেঞ্চ
  4. ওয়ার্কবেঞ্চ সেট আপ হওয়া পর্যন্ত অপেক্ষা করুন। এতে কয়েক মিনিট সময় লাগতে পারে। অপেক্ষা করুন ওয়ার্কবেঞ্চ
  5. ওয়ার্কবেঞ্চটি প্রস্তুত হয়ে গেলে, Open JupyterLab এ ক্লিক করুন। ওপেন ওয়ার্কবেঞ্চ
  6. ওয়ার্কবেঞ্চে, একটি নতুন Python3 নোটবুক তৈরি করুন। নোটবুক তৈরি করুন

এই পরিবেশের বৈশিষ্ট্য এবং ক্ষমতা সম্পর্কে আরও জানতে, Vertex AI Workbench এর অফিসিয়াল ডকুমেন্টেশন দেখুন।

প্যাকেজ ইনস্টল করুন এবং আপনার পরিবেশ কনফিগার করুন

  1. আপনার নোটবুকের প্রথম কক্ষে, Vertex AI SDK (মূল্যায়ন উপাদান সহ) এবং অন্যান্য প্রয়োজনীয় প্যাকেজ ইনস্টল করতে নীচের আমদানি বিবৃতিগুলি (SHIFT+ENTER) যোগ করুন এবং চালান।
    %pip install -U -q google-cloud-aiplatform[evaluation]
    %pip install -U -q datasets anthropic[vertex] openai
    
  2. নতুন ইনস্টল করা প্যাকেজগুলি ব্যবহার করার জন্য নীচের কোড স্নিপেটটি চালিয়ে কার্নেলটি পুনরায় চালু করার পরামর্শ দেওয়া হচ্ছে।
    # Automatically restart kernel after installation so that your environment can access the new packages.
    import IPython
    
    app = IPython.Application.instance()
    app.kernel.do_shutdown(True)
    
    
  3. আপনার প্রোজেক্ট আইডি এবং লোকেশন দিয়ে নিচেরটি প্রতিস্থাপন করুন এবং নিচের সেলটি চালান। ডিফল্ট লোকেশনটি europe-west1 হিসেবে সেট করা আছে কিন্তু আপনার Vertex AI ওয়ার্কবেঞ্চ ইনস্ট্যান্স যেখানে আছে সেই একই লোকেশন ব্যবহার করা উচিত।
    # Configure your project settings
    PROJECT_ID = "YOUR PROJECT ID"
    LOCATION = "europe-west1"
    
  4. একটি নতুন ঘরে নিম্নলিখিত কোডটি চালিয়ে এই ল্যাবের জন্য প্রয়োজনীয় সমস্ত পাইথন লাইব্রেরি আমদানি করুন।
    from anthropic import AnthropicVertex
    from google.auth import default, transport
    import openai
    import pandas as pd
    from vertexai.evaluation import (
       EvalTask,
       MetricPromptTemplateExamples,
       PairwiseMetric,
       PointwiseMetric,
       PointwiseMetricPromptTemplate,
    )
    from vertexai.generative_models import GenerativeModel
    from vertexai.preview.evaluation import notebook_utils
    

৪. আপনার মূল্যায়ন ডেটাসেট সেট আপ করুন

এই টিউটোরিয়ালের জন্য, আমরা OpenOrca ডেটাসেট ডেটাসেট থেকে ১০টি নমুনা ব্যবহার করব। এটি আমাদেরকে মডেলগুলির মধ্যে অর্থপূর্ণ পার্থক্য দেখতে পর্যাপ্ত তথ্য দেয় এবং মূল্যায়নের সময় পরিচালনাযোগ্য রাখে।

💡 প্রো টিপ: উৎপাদনে, পরিসংখ্যানগতভাবে উল্লেখযোগ্য ফলাফলের জন্য আপনি ১০০-৫০০টি উদাহরণ চাইবেন, কিন্তু শেখার এবং দ্রুত প্রোটোটাইপিংয়ের জন্য ১০টি নমুনাই উপযুক্ত!

ডেটাসেট প্রস্তুত করুন

  1. একটি নতুন কোষে, ডেটা লোড করার জন্য নিম্নলিখিত কোষটি চালান, এটিকে একটি পান্ডাস ডেটাফ্রেমে রূপান্তর করুন, এবং আমাদের মূল্যায়নের কাজে স্পষ্টতার জন্য response কলামের নাম পরিবর্তন করে reference করুন এবং দশটি উদাহরণের একটি র্যান্ডম নমুনা তৈরি করুন।
    from datasets import load_dataset
    
    ds = (
       load_dataset(
          "Open-Orca/OpenOrca",
          data_files="1M-GPT4-Augmented.parquet",
          split="train[:100]",
       )
       .to_pandas()
       .drop(columns=["id"])
       .rename(columns={"response": "reference"})
    )
    
    dataset = ds.sample(n=10)
    
  2. পূর্ববর্তী সেলটি চালানো শেষ হওয়ার পর, পরবর্তী সেলটিতে, আপনার মূল্যায়ন ডেটাসেটের প্রথম কয়েকটি সারি প্রদর্শনের জন্য নিম্নলিখিত কোডটি যোগ করুন এবং চালান।
    dataset.head()
    

৫. গণনা-ভিত্তিক মেট্রিক্স সহ একটি বেসলাইন স্থাপন করুন

এই কাজে, আপনি একটি গণনা-ভিত্তিক মেট্রিক ব্যবহার করে একটি বেসলাইন স্কোর স্থাপন করেন। এই পদ্ধতিটি দ্রুত এবং ভবিষ্যতের উন্নতি পরিমাপ করার জন্য একটি বস্তুনিষ্ঠ মানদণ্ড প্রদান করে।

আমরা ROUGE (Recall-Oriented Understudy for Gisting Evaluation) ব্যবহার করব, যা সারসংক্ষেপের কাজের জন্য একটি আদর্শ মেট্রিক। এটি মডেল-উত্পাদিত প্রতিক্রিয়ায় শব্দের ক্রম (n-গ্রাম) এবং গ্রাউন্ড-ট্রুথ reference টেক্সটের শব্দের তুলনা করে কাজ করে।

গণনা-ভিত্তিক মেট্রিক্স সম্পর্কে আরও পড়ুন।

বেসলাইন মূল্যায়ন চালানো

  1. একটি নতুন কক্ষে, আপনি যে মডেলটি পরীক্ষা করতে চান তা নির্ধারণ করতে নিম্নলিখিত কক্ষটি যোগ করুন এবং চালান, gemini-2.0-flashgeneration_configtemperature এবং max_output_tokens মতো পরামিতি রয়েছে যা মডেলের আউটপুটকে প্রভাবিত করে।
    # Model to be evaluated
    model = GenerativeModel(
        "gemini-2.0-flash",
        generation_config={"temperature": 0.6, "max_output_tokens": 256, "top_k": 1},
    )
    
    Vertex AI SDK-তে বৃহৎ ভাষার মডেলগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য GenerativeModel ক্লাস হল প্রাথমিক ইন্টারফেস।
  2. পরবর্তী কক্ষে, EvalTask ​​তৈরি এবং কার্যকর করার জন্য নিম্নলিখিত কোডটি যোগ করুন এবং রান করুন। Vertex AI Evaluation SDK এর এই অবজেক্টটি মূল্যায়ন পরিচালনা করে। আপনি এটি ডেটাসেট এবং গণনা করার জন্য মেট্রিক্স দিয়ে কনফিগার করেন, যা এই ক্ষেত্রে rouge_l_sum
    # Define an EvalTask with ROUGE-L-SUM metric
    rouge_eval_task = EvalTask(
        dataset=dataset,
        metrics=["rouge_l_sum"],
    )
    rouge_result = rouge_eval_task.evaluate(
        model=model,
        prompt_template="# System_prompt\n{system_prompt} # Question\n{question}",
    )
    
  3. পরবর্তী কক্ষে এই কোডটি চালিয়ে ফলাফল প্রদর্শন করুন।
    notebook_utils.display_eval_result(rouge_result)
    
    display_eval_result() ইউটিলিটি গড় (গড়) স্কোর এবং সারি-বাই-সারি ফলাফল দেখায়।

৬. ঐচ্ছিক: মডেল-ভিত্তিক পয়েন্টওয়াইজ মেট্রিক্স দিয়ে মূল্যায়ন করুন

দ্রষ্টব্য: এই বিভাগটি প্রদত্ত বিনামূল্যের ক্রেডিটের সীমার মধ্যে নাও চলতে পারে।

যদিও ROUGE কার্যকর, এটি কেবল আভিধানিক ওভারল্যাপ পরিমাপ করে (অর্থাৎ এটি কেবল মিলিত শব্দ গণনা করে, এটি প্রসঙ্গ, প্রতিশব্দ বা প্যারাফ্রেজিং বোঝে না)। তাই এটি একটি প্রতিক্রিয়া সাবলীল বা যুক্তিসঙ্গত কিনা তা নির্ধারণে সেরা নয়। মডেলের কর্মক্ষমতা সম্পর্কে আরও গভীর ধারণা পেতে, আপনি মডেল-ভিত্তিক পয়েন্টওয়াইজ মেট্রিক্স ব্যবহার করেন।

এই পদ্ধতির সাহায্যে, আরেকটি LLM ("বিচারক মডেল") প্রতিটি প্রতিক্রিয়াকে স্বতন্ত্রভাবে একটি পূর্বনির্ধারিত মানদণ্ডের ভিত্তিতে মূল্যায়ন করে, যেমন সাবলীলতা বা সুসংগততা।

মডেল-ভিত্তিক মেট্রিক্স সম্পর্কে আরও পড়ুন।

পয়েন্টওয়াইজ মূল্যায়ন চালান

  1. একটি ইন্টারেক্টিভ ড্রপডাউন মেনু তৈরি করতে একটি নতুন কক্ষে নিম্নলিখিতটি চালান। এই রানের জন্য, তালিকা থেকে সমন্বয় নির্বাচন করুন।
    #Select a pointwise metric to use
    
    import ipywidgets as widgets
    
    pointwise_single_turn_metrics = [
        metric
        for metric in MetricPromptTemplateExamples.list_example_metric_names()
        if not metric.startswith("pairwise") and not metric.startswith("multi_turn")
    ]
    
    dropdown = widgets.Dropdown(
        options=pointwise_single_turn_metrics,
        description="Select a metric:",
        font_weight="bold",
        style={"description_width": "initial"},
    )
    
    def dropdown_eventhandler(change):
        global POINTWISE_METRIC
        if change["type"] == "change" and change["name"] == "value":
            POINTWISE_METRIC = change.new
            print("Selected:", change.new)
    
    POINTWISE_METRIC = dropdown.value
    dropdown.observe(dropdown_eventhandler, names="value")
    display(dropdown)
    
  2. একটি নতুন কক্ষে, EvalTask ​​আবার চালান, এবার নির্বাচিত মডেল-ভিত্তিক মেট্রিক ব্যবহার করে। Vertex AI মূল্যায়ন পরিষেবা বিচারক মডেলের জন্য একটি প্রম্পট তৈরি করে, যার মধ্যে মূল প্রম্পট, রেফারেন্স উত্তর, প্রার্থী মডেলের প্রতিক্রিয়া এবং নির্বাচিত মেট্রিকের জন্য নির্দেশাবলী অন্তর্ভুক্ত থাকে। বিচারক মডেল একটি সংখ্যাসূচক স্কোর এবং এর রেটিং এর জন্য একটি ব্যাখ্যা প্রদান করে। দ্রষ্টব্য: এই পদক্ষেপটি চালাতে কয়েক মিনিট সময় লাগবে।
    pointwise_result = EvalTask(
        dataset=dataset,
        metrics=[POINTWISE_METRIC],
    ).evaluate(
        model=model,
        prompt_template="# System_prompt\n{system_prompt} # Question\n{question}",
    )
    

ফলাফল প্রদর্শন করুন

মূল্যায়ন সম্পন্ন হওয়ার পর, পরবর্তী ধাপ হল আউটপুট বিশ্লেষণ করা।

  1. আপনার নির্বাচিত মেট্রিকের গড় স্কোর দেখানো সারাংশ মেট্রিক্স দেখতে একটি নতুন ঘরে নিম্নলিখিত কোডটি চালান।
    notebook_utils.display_eval_result(pointwise_result)
    
  2. সারি সারি বিশ্লেষণ দেখতে পরবর্তী কক্ষে নিম্নলিখিতটি চালান, যার মধ্যে বিচারক মডেলের স্কোরের লিখিত যুক্তি অন্তর্ভুক্ত রয়েছে। এই গুণগত প্রতিক্রিয়া আপনাকে বুঝতে সাহায্য করে কেন একটি প্রতিক্রিয়া একটি নির্দিষ্ট উপায়ে স্কোর করা হয়েছিল।
    notebook_utils.display_explanations(pointwise_result, num=1, metrics=[POINTWISE_METRIC])
    

৭. গভীর অন্তর্দৃষ্টির জন্য একটি কাস্টম মেট্রিক তৈরি করুন

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

এই কাজে, আপনি summarization_helpfulness নামে একটি নতুন মেট্রিক তৈরি করবেন।

কাস্টম মেট্রিক সংজ্ঞায়িত করুন এবং চালান

  1. কাস্টম মেট্রিক সংজ্ঞায়িত করতে একটি নতুন ঘরে নিম্নলিখিতটি চালান। PointwiseMetricPromptTemplate মেট্রিকের জন্য বিল্ডিং ব্লক রয়েছে:
    • মানদণ্ড : বিচারক মডেলকে মূল্যায়নের জন্য নির্দিষ্ট মাত্রাগুলি বলে: "মূল তথ্য," "সংক্ষিপ্ততা," এবং "কোনও বিকৃতি নেই।"
    • rating_rubric : ৫-পয়েন্ট স্কোরিং স্কেল প্রদান করে যা প্রতিটি স্কোরের অর্থ কী তা নির্ধারণ করে।
    • input_variables : ডেটাসেট থেকে অতিরিক্ত কলামগুলিকে Judge মডেলে পাস করে যাতে মূল্যায়ন সম্পাদনের জন্য প্রয়োজনীয় প্রসঙ্গ থাকে।
    # This new custom metric evaluates the actual quality and usefulness of the summary.
    
    summarization_helpfulness_metric = PointwiseMetric(
        metric="summarization_helpfulness",
        metric_prompt_template=PointwiseMetricPromptTemplate(
            criteria={
                "Key Information": "Does the summary capture the most critical pieces of information from the original text? It should not miss the main topic or key takeaways.",
                "Conciseness": "Is the summary brief and to the point? It should avoid unnecessary words or repetitive information.",
                "No Distortion": "Does the summary introduce information or opinions that were NOT present in the original text? It must accurately reflect the source material without adding hallucinations."
            },
            rating_rubric={
                "5": "Excellent: Captures all key information, is highly concise, and has zero distortion.",
                "4": "Good: Captures most key information with minor omissions, is concise, and has no distortion.",
                "3": "Satisfactory: Captures the main idea but misses some key details OR is not very concise.",
                "2": "Unsatisfactory: Misses the main idea of the original text OR contains minor distortions/hallucinations.",
                "1": "Poor: Is completely irrelevant, fails to summarize the text, OR contains significant distortions.",
            },
            input_variables=["prompt", "reference"],
        ),
    )
    
  2. আপনার নতুন কাস্টম মেট্রিক দিয়ে EvalTask ​​কার্যকর করতে পরবর্তী কক্ষে নিম্নলিখিত কোডটি চালান।
    # You would then update the EvalTask to use this new metric
    pointwise_result = EvalTask(
        dataset=dataset,
        metrics=[summarization_helpfulness_metric],
    ).evaluate(
        model=model,
        prompt_template="# System_prompt\n{system_prompt} # Question\n{question}",
    )
    
  3. ফলাফল প্রদর্শনের জন্য একটি নতুন ঘরে নিম্নলিখিতটি চালান।
    notebook_utils.display_eval_result(pointwise_result)
    

৮. জোড়াভিত্তিক মূল্যায়নের সাথে মডেলের তুলনা করা

যখন আপনাকে সিদ্ধান্ত নিতে হবে যে দুটি মডেলের মধ্যে কোনটি একটি নির্দিষ্ট কাজে ভালো পারফর্ম করে, তখন আপনি জোড়াভিত্তিক মডেল-ভিত্তিক মূল্যায়ন ব্যবহার করতে পারেন। এই পদ্ধতিটি A/B পরীক্ষার একটি রূপ যেখানে একজন বিচারক মডেল একজন বিজয়ী নির্ধারণ করে, ডেটা-চালিত মডেল নির্বাচনের জন্য সরাসরি তুলনা প্রদান করে।

মডেলগুলি:

  • প্রার্থী মডেল : মডেল ভেরিয়েবল (যা পূর্বে gemini-2.0-flash হিসাবে সংজ্ঞায়িত করা হয়েছিল) .evaluate() পদ্ধতিতে পাস করা হয়। এটিই আপনার পরীক্ষা করা প্রধান মডেল।
  • বেসলাইন মডেল : দ্বিতীয় মডেল, gemini-2.0-flash-lite , PairwiseMetric ক্লাসের ভিতরে নির্দিষ্ট করা হয়েছে। এটিই সেই মডেল যার সাথে আপনি তুলনা করছেন।

জোড়াভিত্তিক মূল্যায়ন চালান

  1. একটি নতুন কক্ষে, একটি ইন্টারেক্টিভ ড্রপডাউন মেনু তৈরি করতে নিম্নলিখিত কোডটি যোগ করুন এবং চালান। এটি আপনাকে তুলনার জন্য কোন পেয়ারওয়াইজ মেট্রিক ব্যবহার করতে চান তা নির্বাচন করার অনুমতি দেবে। এই রানের জন্য, pairwise_summarization_quality নির্বাচন করুন।
    from IPython.display import display
    import ipywidgets as widgets
    
    pairwise_single_turn_metrics = [
        metric
        for metric in MetricPromptTemplateExamples.list_example_metric_names()
        if metric.startswith("pairwise") and "multi_turn" not in metric
    ]
    
    dropdown = widgets.Dropdown(
        options=pairwise_single_turn_metrics,
        description="Select a metric:",
        font_weight="bold",
        style={"description_width": "initial"},
    )
    
    def dropdown_eventhandler(change):
        global POINTWISE_METRIC
        if change["type"] == "change" and change["name"] == "value":
            POINTWISE_METRIC = change.new
            print("Selected:", change.new)
    
    def dropdown_eventhandler(change):
        global PAIRWISE_METRIC_NAME
        if change["type"] == "change" and change["name"] == "value":
            PAIRWISE_METRIC_NAME = change.new
            print("Selected:", change.new)
    
    
    PAIRWISE_METRIC_NAME = dropdown.value
    dropdown.observe(dropdown_eventhandler, names="value")
    display(dropdown)
    
  2. পরবর্তী কক্ষে, EvalTask ​​কনফিগার এবং এক্সিকিউট করার জন্য নিম্নলিখিত কোডটি যোগ করুন এবং রান করুন। লক্ষ্য করুন কিভাবে PairwiseMetric ক্লাসটি বেসলাইন মডেল ( gemini-2.0-flash-lite ) সংজ্ঞায়িত করতে ব্যবহৃত হয়, যখন প্রার্থী মডেল ( gemini-2.0-flash ) .evaluate() পদ্ধতিতে পাস করা হয়।
    pairwise_result = EvalTask(
        dataset=dataset,
        metrics=[
            PairwiseMetric(
                metric=PAIRWISE_METRIC_NAME,
                metric_prompt_template=MetricPromptTemplateExamples.get_prompt_template(
                    PAIRWISE_METRIC_NAME
                ),
                # Define a baseline model to compare against
                baseline_model=GenerativeModel("gemini-2.0-flash-lite"),
            )
        ],
    ).evaluate(
        # Specify a candidate model for pairwise comparison
        model=model,
        prompt_template="# System_prompt\n{system_prompt} # Question\n{question}",
    )
    
  3. একটি নতুন ঘরে, ফলাফল প্রদর্শনের জন্য নিম্নলিখিত কোডটি যোগ করুন এবং চালান। সারাংশ টেবিলটি প্রতিটি মডেলের জন্য "জয়ের হার" দেখাবে, যা নির্দেশ করবে যে বিচারক মডেল কোনটি বেশি পছন্দ করেছে।
    notebook_utils.display_eval_result(pairwise_result)
    

৯. ঐচ্ছিক: ব্যক্তিত্ব-চালিত প্রম্পট মূল্যায়ন করুন

দ্রষ্টব্য: এই বিভাগটি প্রদত্ত বিনামূল্যের ক্রেডিটের সীমার মধ্যে নাও চলতে পারে।

এই কাজে, আপনি একাধিক প্রম্পট টেমপ্লেট পরীক্ষা করবেন যা মডেলটিকে বিভিন্ন ব্যক্তিত্ব গ্রহণের নির্দেশ দেয়। এই প্রক্রিয়া, যাকে প্রায়শই প্রম্পট ইঞ্জিনিয়ারিং বা প্রম্পট ডিজাইন বলা হয়, আপনাকে একটি নির্দিষ্ট ব্যবহারের ক্ষেত্রে পদ্ধতিগতভাবে সবচেয়ে কার্যকর প্রম্পট খুঁজে পেতে সহায়তা করে।

সারসংক্ষেপ ডেটাসেট প্রস্তুত করুন

এই মূল্যায়ন সম্পাদন করার জন্য, ডেটাসেটে নিম্নলিখিত ক্ষেত্রগুলি থাকা প্রয়োজন:

  • instruction : আমরা মডেলটিকে মূল কাজটি দিচ্ছি। এই ক্ষেত্রে, এটি একটি সহজ "নিম্নলিখিত নিবন্ধটি সারসংক্ষেপ করুন:"।
  • context : মডেলটির যে উৎস টেক্সটটি ব্যবহার করতে হবে। এখানে, আমরা চারটি ভিন্ন সংবাদের টুকরো প্রদান করেছি।
  • reference : স্থল-সত্য বা "স্বর্ণমান" সারাংশ। ROUGE এবং সারসংক্ষেপের মানের মতো মেট্রিক্সের জন্য স্কোর গণনা করার জন্য মডেলের উৎপন্ন আউটপুট এই পাঠ্যের সাথে তুলনা করা হবে।
  1. একটি নতুন সেলে, সারসংক্ষেপের কাজের জন্য একটি pandas.DataFrame তৈরি করতে নিম্নলিখিত কোডটি যোগ করুন এবং রান করুন।
    instruction = "Summarize the following article: \n"
    
    context = [
        "Typhoon Phanfone has killed at least one person, a US airman on Okinawa who was washed away by high waves. Thousands of households have lost power and Japan's two largest airlines have suspended many flights. The storm also forced the suspension of the search for people missing after last week's volcanic eruption. The storm-tracking website Tropical Storm Risk forecasts that Phanfone will rapidly lose power over the next few hours as it goes further into the Pacific Ocean. Typhoon Phanfone was downgraded from an earlier status of a super typhoon, but the Japan Meteorological Agency had warned it was still a dangerous storm. Japan averages 11 typhoons a year, according to its weather agency. The typhoon made landfall on Monday morning near the central city of Hamamatsu, with winds of up to 180 km/h (112 mph). The airman was one of three US military personnel swept away by high waves whipped up by the typhoon off southern Okinawa island, where the US has a large military base. The remaining two are still missing. A police spokesman said they had been taking photographs of the sea. A university student who was surfing off the seas of Kanagawa Prefecture, south of Tokyo, was also missing, national broadcast NHK reports. It said at least 10 people had been injured and 9,500 houses were without power. The storm was expected to deposit about 100mm of rain on Tokyo over 24 hours, according to the Transport Ministry website. Many schools were closed on Monday and two car companies in Japan halted production at some plants ahead of the storm. More than 174 domestic flights were affected nationwide, NHK state broadcaster said on Sunday. On Sunday, heavy rain delayed the Japanese Formula One Grand Prix in Suzaka. French driver Jules Bianchi lost control in the wet conditions and crashed, sustaining a severe head injury.",
        "The blaze started at the detached building in Drivers End in Codicote, near Welwyn, during the morning. There was another fire at the building 20 years ago, after which fire-proof foil was placed under the thatch, which is protecting the main building. More than 15 fire engines and support vehicles were called to tackle the blaze. Roads in the area were closed and traffic diverted.",
        'The 18-year-old fell at the New Charter Academy on Broadoak Road in Ashton-under-Lyne at about 09:10 BST, Greater Manchester Police (GMP) said. GMP said he had gone to Manchester Royal Infirmary and his condition was "serious". Principal Jenny Langley said the school would remain "fully open" while police investigated. "Our thoughts are with the family and we\'re doing everything we can to support them along with staff and pupils," she said.',
        'But Belgian-born Dutchman Max Verstappen was unable to drive a car legally on his own in either country. That all changed on Wednesday when the youngster turned 18 and passed his driving test at the first attempt. Despite having competed in 14 grands prix since his debut in Australia in March, Verstappen admitted to feeling the pressure during his test. "It\'s a relief," said the Toro Rosso driver, who finished ninth in Japan on Sunday and had only started driving lessons a week ago. "I was a bit nervous to make mistakes, but the exam went well." A bonus of turning 18 is that Verstappen will now be able to drink the champagne if he ever makes it onto the podium.',
    ]
    
    reference = [
        "A powerful typhoon has brought many parts of Japan to a standstill and briefly battered Tokyo before heading out to sea.",
        "A major fire has been burning in the thatched roof of a large property in Hertfordshire.",
        "A student has been taken to hospital after falling from a balcony at a Greater Manchester school.",
        "He is Formula 1's youngest ever driver and in charge of a car that can reach over 200mph.",
    ]
    
    response = [
        "Typhoon Phanfone, while downgraded from super typhoon status, caused significant disruption and tragedy in Japan. One US airman died after being swept away by high waves, with two more missing. The storm caused power outages for thousands, flight cancellations, and the suspension of rescue efforts for missing volcano victims. Heavy rain and strong winds led to school and factory closures, transportation disruptions, and at least 10 injuries. The typhoon is expected to weaken as it moves over the Pacific Ocean.",
        "A large fire broke out in a detached thatched building in Codicote, near Welwyn. This is the second fire at the building in 20 years. Thankfully, fire-proof foil installed after the previous fire is protecting the main building. Over 15 fire engines and support vehicles responded, closing roads and diverting traffic in the area.",
        "An 18-year-old student at New Charter Academy in Ashton-under-Lyne suffered a serious fall and was hospitalized. The incident is under investigation by Greater Manchester Police, but the school remains open. The principal expressed support for the student's family and the school community.",
        "Max Verstappen, a Formula One driver, was finally able to get his driver's license at age 18. Despite already competing in 14 Grand Prix races, he was not of legal driving age in his native countries. He admitted to being nervous but passed the test on his first attempt.  As an added bonus of turning 18, Verstappen can now enjoy champagne on the podium if he places.",
    ]
    
    eval_dataset = pd.DataFrame(
        {
            "instruction": instruction,
            "context": context,
            "reference": reference,
        }
    )
    

প্রম্পট মূল্যায়ন টাস্কটি চালান

সারসংক্ষেপ ডেটাসেট প্রস্তুত করার পর, আপনি এই কাজের মূল পরীক্ষাটি চালানোর জন্য প্রস্তুত: একাধিক প্রম্পট টেমপ্লেটের তুলনা করে দেখুন কোনটি মডেল থেকে সর্বোচ্চ মানের আউটপুট তৈরি করে।

  1. পরবর্তী কক্ষে, একটি একক EvalTask ​​তৈরি করুন যা প্রতিটি প্রম্পট পরীক্ষার জন্য পুনরায় ব্যবহার করা হবে। experiment প্যারামিটার সেট করার মাধ্যমে, এই টাস্ক থেকে সমস্ত মূল্যায়ন রান স্বয়ংক্রিয়ভাবে লগ করা হয় এবং Vertex AI Experiments-এ গোষ্ঠীভুক্ত করা হয়।
    EXPERIMENT_NAME = "eval-sdk-prompt-engineering"  # @param {type:"string"}
    
    summarization_eval_task = EvalTask(
        dataset=eval_dataset,
        metrics=[
            "rouge_l_sum",
            "bleu",
            "fluency",
            "coherence",
            "safety",
            "groundedness",
            "summarization_quality",
            "verbosity",
            "instruction_following",
            "text_quality",
        ],
        experiment=EXPERIMENT_NAME,
    )
    
    বিস্তৃত মেট্রিক্স তালিকাটি লক্ষ্য করুন। আমরা পরিষেবাটিকে rouge_l_sum এবং bleu এর মতো গণনামূলক মেট্রিক্স থেকে শুরু করে মডেল-ভিত্তিক মেট্রিক্সের বিস্তৃত অ্যারে ( fluency , coherence , summarization_quality , instruction_following , ইত্যাদি) সবকিছু গণনা করার নির্দেশ দিচ্ছি। এটি আমাদেরকে প্রতিটি প্রম্পট মডেলের আউটপুট মানের উপর কীভাবে প্রভাব ফেলে তার একটি সামগ্রিক, 360-ডিগ্রি ভিউ দেয়।
  2. একটি নতুন কক্ষে, চারটি ব্যক্তিত্ব-চালিত প্রম্পট কৌশল সংজ্ঞায়িত এবং মূল্যায়ন করতে নিম্নলিখিত কোডটি যোগ করুন এবং চালান। for লুপ প্রতিটি টেমপ্লেটের মাধ্যমে পুনরাবৃত্তি করে এবং একটি মূল্যায়ন চালায়। প্রতিটি টেমপ্লেট মডেলটিকে একটি নির্দিষ্ট ব্যক্তিত্ব বা লক্ষ্য প্রদান করে একটি ভিন্ন শৈলীর সারাংশ তৈরি করার জন্য ডিজাইন করা হয়েছে:
    • পারসোনা #১ (স্ট্যান্ডার্ড) : একটি নিরপেক্ষ, সরল সারসংক্ষেপ অনুরোধ।
    • পারসোনা #২ (এক্সিকিউটিভ) : একজন ব্যস্ত এক্সিকিউটিভ যেমন পছন্দ করেন, ফলাফল এবং প্রভাবের উপর আলোকপাত করে বুলেট পয়েন্টে একটি সারসংক্ষেপ চান।
    • পারসোনা #৩ (৫ম শ্রেণীর শিক্ষার্থী) : মডেলটিকে সহজ ভাষা ব্যবহার করার নির্দেশ দেয়, তার আউটপুটের জটিলতা সামঞ্জস্য করার ক্ষমতা পরীক্ষা করে।
    • Persona #4 (টেকনিক্যাল অ্যানালিস্ট) : একটি অত্যন্ত তথ্যবহুল সারাংশের প্রয়োজন যেখানে মূল পরিসংখ্যান এবং সত্তাগুলি সংরক্ষণ করা হয়, যা মডেলের নির্ভুলতা পরীক্ষা করে। লক্ষ্য করুন যে এই নতুন টেমপ্লেটগুলির স্থানধারকগুলি, যেমন {context} এবং {instruction} , এই কাজের জন্য আপনার তৈরি করা eval_dataset এর নতুন কলামের নামের সাথে মিলে যায়।
            # Define prompt templates that target different user personas
        prompt_templates = [
            # Persona 1: Standard, neutral summary
            "Article: {context}. Task: {instruction}. Summary:",
    
            # Persona 2: For a busy executive (bullet points)
            "Instruction: {instruction} into three key bullet points for a busy executive. Focus on the main outcome and impact. Article: {context}. Summary:",
    
            # Persona 3: For a 5th grader (simple language)
            "Instruction: {instruction} such that you're explaining it to a 10-year-old. Use simple words. Article: {context}. Summary:",
    
            # Persona 4: For a technical analyst (fact-focused)
            "Instruction: Provide a detailed, factual summary of the following text, ensuring all key statistics, names, and locations are preserved. Article: {context}. Summary:",
        ]
    
        eval_results = []
        for i, prompt_template in enumerate(prompt_templates):
            eval_result = summarization_eval_task.evaluate(
                prompt_template=prompt_template,
                model=GenerativeModel(
                    "gemini-2.0-flash",
                    generation_config={
                        "temperature": 0.3,
                        "max_output_tokens": 256,
                        "top_k": 1,
                    },
                ),
                evaluation_service_qps=5,
            )
    
    
            eval_results.append((f"Prompt Persona #{i+1}", eval_result))
    

ফলাফল বিশ্লেষণ এবং কল্পনা করুন

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

  1. নিম্নলিখিত কোডটি একটি নতুন কক্ষে চালিয়ে আপনার পরীক্ষিত চারটি প্রম্পট পারসোনার প্রতিটির সারাংশ ফলাফল প্রদর্শন করুন। এটি আপনাকে কর্মক্ষমতার একটি উচ্চ-স্তরের পরিমাণগত দৃশ্য দেয়।
    for title, eval_result in eval_results:
        notebook_utils.display_eval_result(title=title, eval_result=eval_result)
    
  2. একটি নতুন ঘরে, প্রতিটি ব্যক্তির জন্য summarization_quality মেট্রিকের যুক্তি দেখতে নিম্নলিখিত কোডটি যোগ করুন এবং চালান।
    for title, eval_result in eval_results:
        notebook_utils.display_explanations(
            eval_result, metrics=["summarization_quality"], num=2
        )
    
    একটি প্রম্পট কেন ভালোভাবে কাজ করেছে তা বোঝার জন্য, আপনি জাজ মডেলের বিস্তারিত ব্যাখ্যাগুলি পর্যালোচনা করতে পারেন।
  3. প্রতিটি প্রম্পটের জন্য বিভিন্ন মানের মেট্রিক্সের মধ্যে ট্রেড-অফ কল্পনা করার জন্য একটি রাডার প্লট তৈরি করুন। একটি নতুন ঘরে, নিম্নলিখিত কোডটি যোগ করুন এবং চালান।
    notebook_utils.display_radar_plot(
        eval_results,
        metrics=["instruction_following", "fluency", "coherence", "text_quality"],
    )
    
  4. আরও সরাসরি, পাশাপাশি তুলনা করার জন্য, একটি বার প্লট তৈরি করুন। একটি নতুন ঘরে, নিম্নলিখিত কোডটি যোগ করুন এবং চালান।
    notebook_utils.display_bar_plot(
        eval_results,
        metrics=["instruction_following", "fluency", "coherence", "text_quality"],
    )
    
    আপনি নীচের ছবির মতো ফলাফল দেখতে পাবেন: ফলাফল
  5. এই কাজের জন্য আপনার Vertex AI Experiment-এ লগ করা সমস্ত রানের সারাংশ এখন আপনি দেখতে পারবেন। সময়ের সাথে সাথে আপনার কাজ ট্র্যাক করার জন্য এটি কার্যকর। একটি নতুন ঘরে, নিম্নলিখিত কোডটি যোগ করুন এবং রান করুন:
    summarization_eval_task.display_runs()
    

১০. পরীক্ষাটি পরিষ্কার করুন

আপনার প্রকল্পটি সুসংগঠিত রাখতে এবং অপ্রয়োজনীয় চার্জ এড়াতে, আপনার তৈরি করা রিসোর্সগুলি পরিষ্কার করা একটি সর্বোত্তম অনুশীলন। এই ল্যাব জুড়ে, প্রতিটি মূল্যায়ন রান একটি Vertex AI পরীক্ষায় লগ করা হয়েছিল। নিম্নলিখিত কোডটি এই মূল পরীক্ষাটি মুছে ফেলে, যা সমস্ত সম্পর্কিত রান এবং তাদের অন্তর্নিহিত ডেটাও সরিয়ে দেয়।

  • Vertex AI Experiment এবং এর সাথে সম্পর্কিত রানগুলি মুছে ফেলার জন্য এই কোডটি একটি নতুন ঘরে চালান।
    delete_experiment = True
    
    # Please set your LOCATION to the same one used during Vertex AI SDK initialization.
    LOCATION = "YOUR LOCATION" # @param {type:"string"}
    
    if delete_experiment:
    
        from google.cloud import aiplatform
    
        aiplatform.init(project=PROJECT_ID, location=LOCATION)
        experiment = aiplatform.Experiment(EXPERIMENT_NAME)
        experiment.delete()
    

১১. অনুশীলন থেকে উৎপাদন পর্যন্ত

এই ল্যাবে আপনি যে দক্ষতাগুলি অর্জন করেছেন তা নির্ভরযোগ্য AI অ্যাপ্লিকেশন তৈরির মূল ভিত্তি। তবে, ম্যানুয়ালি চালিত নোটবুক থেকে উৎপাদন-গ্রেড মূল্যায়ন ব্যবস্থায় স্থানান্তরের জন্য অতিরিক্ত অবকাঠামো এবং আরও নিয়মতান্ত্রিক পদ্ধতির প্রয়োজন। এই বিভাগটি আপনার স্কেল বাড়ানোর সময় বিবেচনা করার জন্য মূল অনুশীলন এবং কৌশলগত কাঠামোর রূপরেখা দেয়।

উৎপাদন মূল্যায়ন কৌশল তৈরি করা

এই ল্যাব থেকে প্রাপ্ত দক্ষতা উৎপাদন পরিবেশে প্রয়োগ করার জন্য, সেগুলোকে পুনরাবৃত্তিযোগ্য কৌশলে রূপান্তর করা সহায়ক। নিম্নলিখিত কাঠামোগুলি মডেল নির্বাচন, দ্রুত অপ্টিমাইজেশন এবং ক্রমাগত পর্যবেক্ষণের মতো সাধারণ পরিস্থিতির জন্য মূল বিবেচনার রূপরেখা দেয়।

মডেল নির্বাচনের জন্য:

   # Evaluation strategy for choosing models
   evaluation_strategy = {
      "dataset_size": "100+ examples for statistical significance",
      "metrics": ["task-specific", "general quality", "efficiency"],
      "comparison_type": "pairwise with statistical testing",
      "baseline": "established_model_or_human_benchmark"
   }

দ্রুত অপ্টিমাইজেশনের জন্য

   # Systematic prompt improvement workflow
   prompt_optimization = {
      "hypothesis": "Clear statement of what you're testing",
      "variants": "3-5 different prompt strategies",
      "evaluation": "Same metrics across all variants", 
      "analysis": "Statistical significance + qualitative review"
   }

ক্রমাগত পর্যবেক্ষণের জন্য

   # Production evaluation pipeline
   production_eval = {
      "frequency": "Every model update + weekly monitoring",
      "automation": "CI/CD integration with quality gates",
      "metrics": "Speed + quality + cost tracking",
      "alerting": "Performance degradation detection"
   }

খরচ-কার্যকারিতা বিবেচনা

মডেল-ভিত্তিক মূল্যায়ন স্কেলে ব্যয়বহুল হতে পারে। একটি সাশ্রয়ী উৎপাদন কৌশল বিভিন্ন উদ্দেশ্যে বিভিন্ন পদ্ধতি ব্যবহার করে। এই সারণীতে বিভিন্ন ধরণের মূল্যায়নের জন্য গতি, খরচ এবং ব্যবহারের ক্ষেত্রের মধ্যে লেনদেনের সারসংক্ষেপ তুলে ধরা হয়েছে:

মূল্যায়নের ধরণ

সময়

প্রতি নমুনা খরচ

সেরা জন্য

রুজ/ব্লু

সেকেন্ড

~$০.০০১

উচ্চ-ভলিউম স্ক্রিনিং

মডেল-ভিত্তিক পয়েন্টওয়াইজ

~১-২ সেকেন্ড

~$০.০১

মান মূল্যায়ন

জোড়া অনুসারে তুলনা

~২-৩ সেকেন্ড

~$০.০২

মডেল নির্বাচন

মানব মূল্যায়ন

মিনিট

১-১০ ডলার

গোল্ড স্ট্যান্ডার্ড বৈধতা

সিআই/সিডি এবং পর্যবেক্ষণের মাধ্যমে স্বয়ংক্রিয় করুন

ম্যানুয়াল নোটবুক রান স্কেলেবল নয়। একটি কন্টিনিউয়াস ইন্টিগ্রেশন/কন্টিনিউয়াস ডিপ্লয়মেন্ট (CI/CD) পাইপলাইনে আপনার মূল্যায়ন স্বয়ংক্রিয় করুন।

  • মানসম্মত গেট তৈরি করুন : আপনার মূল্যায়নের কাজটিকে একটি CI/CD পাইপলাইনে (যেমন, ক্লাউড বিল্ড) একীভূত করুন। নতুন প্রম্পট বা মডেলগুলিতে স্বয়ংক্রিয়ভাবে মূল্যায়ন চালান এবং মূল মানের স্কোর আপনার নির্ধারিত থ্রেশহোল্ডের নিচে নেমে গেলে স্থাপনা ব্লক করুন।
  • ট্রেন্ড মনিটর করুন : আপনার মূল্যায়ন থেকে সারাংশ মেট্রিক্স রপ্তানি করুন গুগল ক্লাউড মনিটরিংয়ের মতো একটি পরিষেবাতে। সময়ের সাথে সাথে গুণমান ট্র্যাক করার জন্য ড্যাশবোর্ড তৈরি করুন এবং আপনার দলকে কর্মক্ষমতার কোনও উল্লেখযোগ্য অবনতি সম্পর্কে অবহিত করার জন্য স্বয়ংক্রিয় সতর্কতা সেট আপ করুন।

১২. উপসংহার

তুমি ল্যাব সম্পন্ন করেছো। তুমি জেনারেটিভ এআই মডেল মূল্যায়নের জন্য প্রয়োজনীয় দক্ষতা অর্জন করেছো।

এই ল্যাবটি গুগল ক্লাউড লার্নিং পাথ সহ প্রোডাকশন-রেডি এআই-এর অংশ।

সংক্ষিপ্তসার

এই ল্যাবে, আপনি শিখেছেন কিভাবে:

  • EvalTask ​​ফ্রেমওয়ার্ক ব্যবহার করে মূল্যায়নের সেরা অনুশীলনগুলি প্রয়োগ করুন।
  • গণনা-ভিত্তিক থেকে শুরু করে মডেল-ভিত্তিক বিচারক পর্যন্ত বিভিন্ন ধরণের মেট্রিক ব্যবহার করুন।
  • বিভিন্ন সংস্করণ পরীক্ষা করে প্রম্পটগুলি অপ্টিমাইজ করুন।
  • পরীক্ষামূলক ট্র্যাকিং সহ একটি পুনরুৎপাদনযোগ্য কর্মপ্রবাহ তৈরি করুন।

অব্যাহত শেখার জন্য সম্পদ

এই ল্যাবে আপনি যে পদ্ধতিগত মূল্যায়ন পদ্ধতিগুলি শিখেছেন তা নির্ভরযোগ্য, উচ্চ-মানের AI অ্যাপ্লিকেশন তৈরির ভিত্তি হিসেবে কাজ করবে। মনে রাখবেন: ভালো মূল্যায়ন হল পরীক্ষামূলক AI এবং উৎপাদন সাফল্যের মধ্যে সেতুবন্ধন।