আপনার বিষয়ভিত্তিক মূল্যায়নগুলো চালু করার জন্য প্রাথমিক বিচারক মডেলটির সেটআপ শেষ করুন।
বিচারককে সারিবদ্ধ করুন এবং পরীক্ষা করুন
আপনার একজন প্রাথমিক বিচারক আছে, কিন্তু আপনি এখনও তাকে বিশ্বাস করতে পারেন না। আপনার বিচারক তখনই প্রস্তুত হয়, যখন তা ধারাবাহিকভাবে মানুষের বিচার-বিবেচনার সাথে একমত হয়।
একটি অ্যালাইনমেন্ট ডেটাসেট তৈরি করুন
আপনার জাজকে ক্যালিব্রেট করার জন্য একটি অ্যালাইনমেন্ট ডেটাসেট প্রয়োজন। এটি হলো ইনপুট এবং আউটপুটের একটি ছোট ও উচ্চ-মানের সংগ্রহ, যা মানুষের দ্বারা ম্যানুয়ালি রেট করা হয়েছে। এই ডেটাসেটটি আপনার গ্রাউন্ড ট্রুথ হিসেবে কাজ করে। জাজের লজিক আপনার প্রত্যাশার সাথে ধারাবাহিকভাবে সামঞ্জস্যপূর্ণ কিনা, তা যাচাই করার জন্য আপনি এটি ব্যবহার করবেন।
আপনার অ্যালাইনমেন্ট ডেটাসেটে ৩০-৫০টি ইনপুট-আউটপুট জোড়া থাকা উচিত। এই সেটটি কিছু এজ কেস (edge cases) অন্তর্ভুক্ত করার জন্য যথেষ্ট বড়, কিন্তু এতটাও ছোট যে আপনি অল্প সময়ের মধ্যে এটিকে লেবেল করতে পারবেন।
ThemeBuilder উদাহরণে, অ্যালাইনমেন্ট ডেটাসেটের একটি এন্ট্রি দেখতে এইরকম হয় (ইনপুট, আউটপুট, হিউম্যান লেবেল):
{
"id": "sample-014",
"userInput": {
"companyName": "Rawrr!",
"audience": "kids 5-10",
"tone": ["prehistoric", "loud", "fun"]
},
"appOutput": {
"motto": "Experiencing the prehistoric era."
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "FAIL",
"rationale": "While on-theme, this motto is too formal for kids.
It fails to capture the required 'loud' and 'fun' energy."
}
}
}
ইনপুট এবং আউটপুট তৈরি করার জন্য, আপনি উপলব্ধ থাকলে প্রোডাকশন লগ থেকে ডেটা নিতে পারেন, ম্যানুয়ালি ডেটা তৈরি করতে পারেন , একটি এলএলএম ( সিন্থেটিক ডেটা ) ব্যবহার করতে পারেন, অথবা হাতে-বাছাই করা কয়েকটি স্যাম্পল থেকে শুরু করে আপনার ডেটাসেটকে সমৃদ্ধ করার জন্য একটি এলএলএম-কে অনুরোধ করতে পারেন ।
আপনার ইনপুট এবং আউটপুট প্রস্তুত হয়ে গেলে, আপনার দলের সাথে রুব্রিক ব্যবহার করে আউটপুটগুলোকে PASS বা FAIL হিসেবে চিহ্নিত করুন। এটিই আপনার গ্রাউন্ড ট্রুথ বা চূড়ান্ত সত্য হয়ে উঠবে।
আপনার অ্যালাইনমেন্ট ডেটাসেটে যেন বিভিন্ন কাঠিন্যের PASS এবং FAIL উভয় ধরনের উদাহরণ অন্তর্ভুক্ত থাকে, যেমন:
- ১০টি উদাহরণস্বরূপ হ্যাপি পাথ কেস, যেগুলোকে আপনার বিচারকের
PASSহিসেবে চিহ্নিত করা উচিত। - ২০টি উদাহরণমূলক মামলা যা আপনার বিচারকের
FAILহিসেবে চিহ্নিত করা উচিত:- সুস্পষ্ট ব্যর্থতা , যেমন একটি অত্যন্ত বিষাক্ত বা ব্র্যান্ডের সাথে সম্পূর্ণ বেমানান নীতিবাক্য।
- সূক্ষ্ম ত্রুটি , যেমন একটি নীতিবাক্য যা ব্যাকরণগতভাবে নিখুঁত কিন্তু একটি প্রাণবন্ত ব্র্যান্ডের জন্য একটু বেশি আনুষ্ঠানিক, অথবা যা ব্র্যান্ডের ভাবভঙ্গির সাথে কেবল আংশিকভাবে খাপ খায়।
আপনার এলএলএম জাজ হলো একজন গেটকিপার। এমন একটি ডেটাসেটের সাথে এটিকে অ্যালাইন করলে, যেখানে পাসের চেয়ে ফেলের সংখ্যা বেশি, তা আপনাকে ফেলের সংখ্যা ধরার জন্য রুব্রিকটি সামঞ্জস্য করার আরও বেশি সুযোগ দেয় এবং ফলস্বরূপ, ফেলের সংখ্যা শনাক্ত করার ক্ষেত্রে জাজটিকে আরও দক্ষ করে তোলে।
আপনার অ্যালাইনমেন্ট ডেটাসেটটি প্রস্তুত হয়ে গেলে, এটি দেখতে অনেকটা এইরকম হবে:
হ্যাপি পাথ কেস (পাস)
// Easy, clean input + Good output
{
"id": "sample-001",
"userInput": {
"companyName": "Kinetica",
"description": "Carbon-fiber plated performance footwear engineered for
elite marathon runners.",
"audience": "competitive triathletes and professional runners",
"tone": [
"aggressive",
"high-performance",
"technical"
]
},
"appOutput": {
"motto": "Unlock your kinetic potential.",
"colorPalette": {
"textColor": "#FFFFFF",
"backgroundColor": "#000000",
"primary": "#DC2626",
"secondary": "#E2E8F0"
}
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "PASS",
"rationale": "This motto powerfully aligns the brand's technical
engineering with the ambitious goals of its elite athletic audience.
Relevance: Uses 'kinetic' to expertly link the brand to physical
energy. Audience appeal: 'Unlock your potential' resonates perfectly
with competitive runners. Tone consistency: Nails the required
aggressive, high-performance marks."
},
"mottoToxicity": {
"label": "PASS",
"rationale": "Perfectly clean and motivational. No offensive or
exclusionary language."
},
"colorBrandFit": {
"label": "PASS",
"rationale": "The chosen color palette perfectly mirrors Kinetica's
aggressive and technical brand identity by utilizing high-impact tones
that resonate with elite athletes. Relevance: Psychological association:
Blood red creates urgency and speed. Harmony: Stark contrast against
black/white feels highly technical.
Appropriateness: Extremely effective aesthetic for premium athletic gear."
}
}
}
সুস্পষ্ট ব্যর্থতা (ব্যর্থতা)
// Off-brand color palette
{
"id": "sample-014",
"userInput": {
"companyName": "Rawrr!",
"description": "Dinosaur themed playground and party venue.",
"audience": "kids 5-10",
"tone": [
"prehistoric",
"loud",
"fun"
]
},
"appOutput": {
"motto": "Experiencing the prehistoric era.",
"colorPalette": {
"textColor": "#4A4A4A",
"backgroundColor": "#F5F5DC",
"primary": "#D2B48C",
"secondary": "#C0C0C0"
}
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "FAIL",
"rationale": "While the motto relates to the dinosaur theme, its overly
academic and formal tone fails to capture the loud and fun energy
essential for a children's playground brand. Relevance: Effectively fits
the dinosaur theme. Audience appeal: A bit formal ('Experiencing' versus
something punchy), acceptable for parents booking events but should be
more exciting for kids, it's too formal and academic for a children's
playground, lacks the 'loud' and 'fun' energy requested in the tone.
Tone consistency: It touches on the 'prehistoric' element adequately."
},
"mottoToxicity": {
"label": "PASS",
"rationale": "A completely family-friendly, educational-sounding statement."
},
"colorBrandFit": {
"label": "FAIL",
"rationale": "This muted and sophisticated color scheme fails to capture
the high-energy, prehistoric spirit required to attract and excite a young
audience. Relevance: Psychological association: The 'sad beige', tan, and
muted greys evoke a sterile, 'adult minimalist' home décor aesthetic.
Harmony: The colors are muddy and lifeless. Appropriateness: For a 'loud'
and 'fun' children's playground targeting 5-10 year olds, this palette is
a spectacular failure. It desperately needs vibrant, exciting primary
colors to attract kids."
}
}
},
সূক্ষ্ম ব্যর্থতা (FAIL)
// Almost on-brand color palette
{
"id": "sample-023",
"userInput": {
"companyName": "Apex Dental",
"description": "High-end cosmetic dentistry specializing in porcelain
veneers and laser whitening.",
"audience": "Professionals seeking a perfect smile",
"tone": [
"clean",
"professional",
"bright"
]
},
"appOutput": {
"motto": "Designing your brightest smile.",
"colorPalette": {
"textColor": "#1A202C",
"backgroundColor": "#FFFFFF",
"primary": "#FFC107",
"secondary": "#E2E8F0"
}
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "PASS",
"rationale": "The motto perfectly captures the premium essence of the
brand by combining high-end dental aesthetics with a clear appeal to a
professional clientele. Relevance: Relates perfectly to cosmetic
dentistry and teeth whitening. Audience appeal: 'Brightest smile' is a
highly effective, aspirational hook for professionals wanting to look
their best. Tone consistency: Clean, upbeat, and exceedingly professional."
},
"mottoToxicity": {
"label": "PASS",
"rationale": "A very positive, medical-grade, and safe statement."
},
"colorBrandFit": {
"label": "FAIL",
"rationale": "The choice of bright yellow is a fundamental branding
failure for a cosmetic dental practice as it creates a direct and
repellent visual link to tooth discoloration, undermining the clinic's
high-end whitening positioning. Relevance: Psychological association:
While yellow technically fulfills the word 'bright', in the specific
context of dentistry, a primary bright yellow is subconsciously and
intensely associated with plaque, decay, and stained teeth.
Harmony: It stands out strongly but sends the wrong message.
Appropriateness: This is a massive psychological misstep for a whitening
clinic. It subverts trust in their core service by visually reminding
customers of the problem rather than the solution."
}
}
},
সারিবদ্ধতায় পৌঁছান
আপনার গ্রাউন্ড ট্রুথ প্রস্তুত হয়ে গেলে, এবার বিচারককে মানুষের তৈরি লেবেলের সাথে মেলানোর পালা। আপনার লক্ষ্য হলো এটা নিশ্চিত করা যে, বিচারক যেন ধারাবাহিকভাবে আপনার সাথে একমত হন এবং মানুষের বিচার-বিবেচনাকে অনুকরণ করেন। বিচারক দ্বারা তৈরি লেবেলগুলোর মধ্যে কত শতাংশ মানুষের তৈরি লেবেলের সাথে মিলে যায়, তা হিসাবে আপনি একটি অ্যালাইনমেন্ট স্কোর গণনা করতে পারেন।
// total = all test cases
// aligned = test cases where humanEval.label === llmJudgeEval.label
// For example, PASS and PASS
const alignment = (aligned / total) * 100;
একটি লক্ষ্য অ্যালাইনমেন্ট স্কোর নির্ধারণ করুন, যেমন ৮৫%। আপনার ব্যবহারের ক্ষেত্র অনুযায়ী এই লক্ষ্য ভিন্ন হতে পারে।
আপনার অ্যালাইনমেন্ট ডেটাসেটের উপর আপনার জাজ মডেলটি চালান। যদি আপনার অ্যালাইনমেন্ট স্কোর আপনার লক্ষ্যের চেয়ে কম হয়, তবে এটি কেন বিভ্রান্ত হয়েছিল তা বোঝার জন্য জাজের যুক্তিটি পড়ুন। এই ব্যবধানগুলো পূরণ করতে সিস্টেমের নির্দেশাবলী এবং জাজের প্রম্পট পরিবর্তন করুন। আপনার লক্ষ্য স্কোরে না পৌঁছানো পর্যন্ত এটি পুনরাবৃত্তি করুন।
সর্বোত্তম অনুশীলন
বিচারককে ধারাবাহিকভাবে নম্বর দিতে সাহায্য করার জন্য, এই সর্বোত্তম পদ্ধতিগুলো অনুসরণ করুন:
- ওভারফিটিং এড়িয়ে চলুন। নির্দেশাবলী সাধারণ হওয়া উচিত, এবং আপনার অ্যালাইনমেন্ট ডেটাসেটের জন্য খুব বেশি নির্দিষ্ট হওয়া উচিত নয়। আপনি যদি নির্দিষ্ট নির্দেশাবলী দেন, যেমন কিছু নির্দিষ্ট বাক্যাংশ এড়িয়ে চলা, তাহলে জাজটি এই নির্দিষ্ট অ্যালাইনমেন্ট পরীক্ষায় উত্তীর্ণ হতে খুব ভালো কাজ করবে, কিন্তু এটি নতুন ডেটার ক্ষেত্রে সাধারণীকরণ করতে ব্যর্থ হবে। এই সমস্যাটি ওভারফিটিং নামে পরিচিত।
- আপনার সিস্টেমের নির্দেশাবলী এবং বিচার করার প্রম্পট অপ্টিমাইজ করুন। প্রম্পট অপ্টিমাইজেশনের কৌশলগুলির মধ্যে রয়েছে ম্যানুয়ালি প্রম্পট পরিবর্তন করা, অন্য কোনো এলএলএম-কে উন্নতির পরামর্শ দিতে বলা, অথবা এই কৌশলগুলির সমন্বয়ে পরিবর্তন প্রয়োগ করা। প্রম্পট অপ্টিমাইজেশনের কৌশলগুলি ম্যানুয়াল থেকে শুরু করে অত্যন্ত উন্নত পর্যায় পর্যন্ত হতে পারে, যেমন জৈবিক বিবর্তনকে অনুকরণকারী অ্যালগরিদম । প্রয়োজনে পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনার জন্য আপনার করা পরিবর্তনগুলির একটি লগ রাখুন।
ThemeBuilder-এর ক্ষেত্রে অ্যালাইনমেন্ট কীভাবে কাজ করে তা দেখতে, অ্যালাইনমেন্ট টেস্টটি নিজে চালান ।

বুটস্ট্র্যাপিং সহ স্ট্রেস-টেস্ট
আপনার ৮৫% অ্যালাইনমেন্ট টার্গেটে পৌঁছানো মানেই এই নয় যে আপনার জাজ বাস্তব ডেটার সাথে ভালোভাবে কাজ করবে। বুটস্ট্র্যাপিং নামক একটি স্ট্যাটিস্টিক্যাল হ্যাক ব্যবহার করে আপনার জাজ-এর স্ট্রেস টেস্ট করুন। বুটস্ট্র্যাপিং অতিরিক্ত লেবেলিং প্রচেষ্টা ছাড়াই আপনার ডেটাসেটের নতুন সংস্করণ তৈরি করে।
** পরীক্ষা: আপনার ডেটাসেট থেকে প্রতিস্থাপন সহ এলোমেলোভাবে ৩০টি আইটেম পুনরায় নমুনা করুন। একটি রানে, একটি জটিল কেস পাঁচবার নির্বাচিত হতে পারে, যা পরীক্ষাটিকে আরও কঠিন করে তুলবে। এই এলোমেলোভাবে নির্বাচিত সেটগুলিতে অ্যালাইনমেন্ট পরীক্ষাটি একাধিকবার চালান এবং এই রানগুলো জুড়ে গড় অ্যালাইনমেন্ট এবং স্কোরের তারতম্য গণনা করুন। এর কোনো নির্দিষ্ট সংখ্যা নেই, তবে মাঝারি আকারের প্রকল্পের জন্য ১০টি পুনরাবৃত্তি একটি ভালো ভিত্তি। আরও বেশি আত্মবিশ্বাসের জন্য আরও বেশি পুনরাবৃত্তি করুন। ** সমাধান: যদি আপনার অ্যালাইনমেন্ট স্কোর উল্লেখযোগ্যভাবে ওঠানামা করে (উচ্চ তারতম্য), তাহলে আপনার বিচারক এখনও নির্ভরযোগ্য নয়। আপনার প্রাথমিক স্কোরটি ছিল কয়েকটি সহজ কেসের কারণে পাওয়া একটি আকস্মিক ফলাফল। আপনার মূল্যায়ন পদ্ধতিকে আরও বিস্তৃত করুন এবং আপনার অ্যালাইনমেন্ট ডেটাসেটে আরও বৈচিত্র্যময় ও জটিল উদাহরণ যোগ করুন।

আপনি নিজেই চেষ্টা করে দেখতে পারেন।

স্ব-সামঞ্জস্য পরীক্ষা করুন
বিচারককে তখনই বিশ্বাস করা যায়, যখন এটি একই ইনপুটের জন্য সর্বদা একই উত্তর দেয়। আপনি যদি আপনার তাপমাত্রা 0 তে সেট করেন, তবে বিচারকের ১০০% সামঞ্জস্যপূর্ণ হওয়া উচিত। নিশ্চিত হতে পরীক্ষা করুন।
- পরীক্ষা : আপনার জাজকে হুবহু একই ডেটাসেটে একাধিকবার চালান, উদাহরণস্বরূপ আপনার অ্যালাইনমেন্ট ডেটাসেট থেকে দৈবচয়নের মাধ্যমে একটি ডেটা নিন। এই পুনরাবৃত্তিগুলো জুড়ে প্রতিটি টেস্ট কেসের জন্য ভ্যারিয়েন্স গণনা করুন। ১০০% সামঞ্জস্য (শূন্য ভ্যারিয়েন্স) অর্জনের লক্ষ্য রাখুন। যদি ভ্যারিয়েন্স শূন্যের চেয়ে বেশি হয়, তাহলে পরীক্ষাটি ব্যর্থ হচ্ছে, কারণ এর অর্থ হলো আপনার জাজ একই ইনপুটের জন্য ভিন্ন ভিন্ন উত্তর দিচ্ছে।
- সংশোধন : আপনার বিচারকের নির্দেশটি অস্পষ্ট হতে পারে অথবা এর তাপমাত্রা খুব বেশি হতে পারে। নির্দেশের যে অংশগুলো অস্পষ্ট মনে হচ্ছে, বিশেষ করে আপনার স্কোরিং রুব্রিক, সেগুলো পুনরায় লিখুন। যদি আগে থেকে করা না হয়ে থাকে, তবে তাপমাত্রা কমিয়ে ০ করুন (অথবা
thinking_levelউচ্চতে সেট করুন)।
এটি বাস্তবে দেখতে, পরীক্ষাটি নিজেই চালিয়ে দেখুন ।

চূড়ান্ত পরীক্ষা
বুটস্ট্র্যাপিং আপনাকে ওভারফিটিং প্রতিরোধ করার জন্য একটি প্রাথমিক পরীক্ষা চালাতে সাহায্য করেছে। এখন, আপনি নতুন ডেটা ব্যবহার করে একটি চূড়ান্ত পরীক্ষা চালাবেন। এটিই আপনার চূড়ান্ত নিশ্চিতকরণ যে জাজ নতুন ইনপুটগুলোকে সঠিকভাবে স্কোর করতে পারে।
- পরীক্ষা : চূড়ান্ত পরীক্ষার জন্য ২০টি মানব-লেবেলযুক্ত নমুনার একটি পৃথক ডেটাসেট রাখুন যা আপনি অ্যালাইনমেন্টের সময় ব্যবহার করেননি। এই সেটের উপর আপনার জাজ (judge) চালান।
- সমাধান : যদি আপনার অ্যালাইনমেন্ট স্কোর বেশি থাকে, তাহলে আপনার জাজ প্রস্তুত! যদি স্কোর কমে যায়, তাহলে সম্ভবত আপনার ওভারফিট হয়েছে: আপনার নির্দিষ্ট অ্যালাইনমেন্ট ডেটা পাস করানোর জন্য আপনি আপনার প্রম্পটটি অনেক বেশিবার পরিবর্তন করেছেন। আপনার প্রম্পট, রুব্রিক এবং ফিউ-শট উদাহরণগুলো আরও বিস্তৃত করুন।
এটি বাস্তবে দেখতে, পরীক্ষাটি নিজেই চালিয়ে দেখুন ।
সারসংক্ষেপ
আপনার প্রাথমিক বিচারক তৈরি করতে আপনি বিভিন্ন পরীক্ষা চালিয়েছেন, যার মধ্যে অন্তর্ভুক্ত ছিল:
- অ্যালাইনমেন্ট টেস্ট যাচাই করে যে বিচারক সঠিক কিনা।
- বুটস্ট্র্যাপিং এবং চূড়ান্ত পরীক্ষার মাধ্যমে ডেটার সংবেদনশীলতা যাচাই করা হয়। নতুন ডেটার সম্মুখীন হলে বিচারক কি যথেষ্ট ঘন ঘন সঠিক থাকেন?
- স্ব-সামঞ্জস্য পরীক্ষা সিস্টেমের নয়েজ পরিমাপ করে, অর্থাৎ এলএলএম বিচারকের নিজস্ব অভ্যন্তরীণ এলোমেলো ভাব ফলাফলকে কতটা প্রভাবিত করে।