1. ভূমিকা
জেনারেটিভ এআই পণ্যগুলি তুলনামূলকভাবে নতুন এবং একটি অ্যাপ্লিকেশনের আচরণগুলি সফ্টওয়্যারের আগের ফর্মগুলির চেয়ে বেশি পরিবর্তিত হতে পারে। এটি ব্যবহার করা মেশিন লার্নিং মডেলগুলি তদন্ত করা, মডেলের আচরণের উদাহরণগুলি পরীক্ষা করা এবং বিস্ময়ের তদন্ত করা গুরুত্বপূর্ণ করে তোলে।
লার্নিং ইন্টারপ্রিটেবিলিটি টুল (LIT; ওয়েবসাইট , GitHub ) হল ML মডেলগুলিকে ডিবাগিং এবং বিশ্লেষণ করার জন্য একটি প্ল্যাটফর্ম যা তারা কেন এবং কীভাবে আচরণ করে তা বোঝার জন্য।
এই কোডল্যাবে, আপনি শিখবেন কিভাবে LIT ব্যবহার করতে হয় Google-এর Gemma মডেল থেকে আরও বেশি কিছু পেতে। এই কোডল্যাব বিভিন্ন প্রম্পট ইঞ্জিনিয়ারিং পদ্ধতির বিশ্লেষণ করার জন্য সিকোয়েন্স স্যালিয়েন্স, একটি ব্যাখ্যাযোগ্য কৌশল কীভাবে ব্যবহার করতে হয় তা প্রদর্শন করে।
শেখার উদ্দেশ্য:
- মডেল বিশ্লেষণে সিকোয়েন্স স্যালিয়েন্স এবং এর ব্যবহার বোঝা।
- প্রম্পট আউটপুট এবং সিকোয়েন্স স্যালিয়েন্স গণনা করতে জেমার জন্য LIT সেট আপ করা হচ্ছে।
- মডেল আউটপুটগুলিতে প্রম্পট ডিজাইনের প্রভাব বোঝার জন্য এলএম স্যালিয়েন্স মডিউলের মাধ্যমে সিকোয়েন্স স্যালিয়েন্স ব্যবহার করা।
- LIT-তে অনুমানকৃত প্রম্পট উন্নতি পরীক্ষা করা এবং তাদের প্রভাব দেখুন।
দ্রষ্টব্য: এই কোডল্যাবটি ব্যাকএন্ডের জন্য Gemma-এর KerasNLP বাস্তবায়ন এবং TensorFlow v2 ব্যবহার করে। এটি অনুসরণ করার জন্য একটি GPU কার্নেল ব্যবহার করার সুপারিশ করা হয়।
2. সিকোয়েন্স স্যালিয়েন্স এবং মডেল বিশ্লেষণে এর ব্যবহার
টেক্সট-টু-টেক্সট জেনারেটিভ মডেল, যেমন জেমমা, টোকেনাইজড টেক্সট আকারে একটি ইনপুট সিকোয়েন্স নেয় এবং নতুন টোকেন তৈরি করে যা সেই ইনপুটের সাধারণ ফলো-অন বা পূর্ণতা। এই প্রজন্মটি একবারে একটি টোকেন ঘটে, প্রতিটি নতুন জেনারেট করা টোকেন ইনপুটে যুক্ত করে (একটি লুপে) এবং মডেলটি একটি স্টপিং অবস্থায় না পৌঁছানো পর্যন্ত পূর্ববর্তী প্রজন্মের সাথে। উদাহরণগুলি অন্তর্ভুক্ত করে যখন মডেলটি একটি এন্ড-অফ-সিকোয়েন্স (EOS) টোকেন তৈরি করে বা পূর্বনির্ধারিত সর্বোচ্চ দৈর্ঘ্যে পৌঁছায়।
স্যালিয়েন্স পদ্ধতি হল ব্যাখ্যাযোগ্য AI (XAI) কৌশলগুলির একটি ক্লাস যা আপনাকে বলতে পারে যে কোনও ইনপুটের কোন অংশগুলি তার আউটপুটের বিভিন্ন অংশের জন্য মডেলের জন্য গুরুত্বপূর্ণ। LIT বিভিন্ন শ্রেণীবিন্যাস কাজের জন্য স্যালিয়েন্স পদ্ধতি সমর্থন করে, যা পূর্বাভাসিত লেবেলে ইনপুট টোকেনগুলির একটি ক্রমের প্রভাব ব্যাখ্যা করে। সিকোয়েন্স স্যালিয়েন্স এই পদ্ধতিগুলিকে টেক্সট-টু-টেক্সট জেনারেটিভ মডেলে সাধারণীকরণ করে এবং জেনারেট করা টোকেনগুলিতে পূর্ববর্তী টোকেনের প্রভাব ব্যাখ্যা করে।
সিকোয়েন্স স্যালিয়েন্সের জন্য আপনি এখানে Grad L2 Norm পদ্ধতিটি ব্যবহার করবেন, যা মডেলের গ্রেডিয়েন্ট বিশ্লেষণ করে এবং প্রতিটি পূর্ববর্তী টোকেনের আউটপুটে যে প্রভাব রয়েছে তার মাত্রা প্রদান করে। এই পদ্ধতিটি সহজ এবং দক্ষ, এবং শ্রেণীবিভাগ এবং অন্যান্য সেটিংসে ভাল পারফর্ম করতে দেখানো হয়েছে। স্যালিয়েন্স স্কোর যত বড়, প্রভাব তত বেশি। এই পদ্ধতিটি LIT-এর মধ্যে ব্যবহার করা হয় কারণ এটি ভালভাবে বোঝা যায় এবং ব্যাখ্যাযোগ্যতা গবেষণা সম্প্রদায় জুড়ে ব্যাপকভাবে ব্যবহৃত হয়।
গ্রেড ⋅ ইনপুট এবং ইন্টিগ্রেটেড গ্রেডিয়েন্ট অন্তর্ভুক্ত আরও উন্নত গ্রেডিয়েন্ট-ভিত্তিক স্যালিয়েন্স পদ্ধতি। LIME এবং SHAP- এর মতো অ্যাবেশন-ভিত্তিক পদ্ধতিগুলিও উপলব্ধ রয়েছে, যা আরও শক্তিশালী কিন্তু গণনা করার জন্য উল্লেখযোগ্যভাবে বেশি ব্যয়বহুল হতে পারে। বিভিন্ন স্যালেন্স পদ্ধতির বিশদ তুলনার জন্য এই নিবন্ধটি পড়ুন।
আপনি স্যালিয়েন্স পদ্ধতির বিজ্ঞান সম্পর্কে এই পরিচায়ক ইন্টারেক্টিভ এক্সপ্লোরেবল টু স্যালিয়েন্সে জানতে পারবেন।
3. আমদানি, পরিবেশ, এবং অন্যান্য সেটআপ কোড
নতুন Colab- এ এই কোডল্যাবটি অনুসরণ করা ভাল। আমরা একটি অ্যাক্সিলারেটর রানটাইম ব্যবহার করার পরামর্শ দিই, যেহেতু আপনি মেমরিতে একটি মডেল লোড করবেন, যদিও সচেতন থাকুন যে অ্যাক্সিলারেটর বিকল্পগুলি সময়ের সাথে পরিবর্তিত হয় এবং সীমাবদ্ধতার বিষয় । আপনি যদি আরও শক্তিশালী এক্সিলারেটর অ্যাক্সেস করতে চান তাহলে Colab পেড সাবস্ক্রিপশন অফার করে। বিকল্পভাবে, আপনার মেশিনে উপযুক্ত GPU থাকলে আপনি একটি স্থানীয় রানটাইম ব্যবহার করতে পারেন।
দ্রষ্টব্য: আপনি ফর্মের কিছু সতর্কতা দেখতে পারেন
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) keras-nlp
(0.14.) এবং lit-nlp
(1.2) এর একটি সাম্প্রতিক সংস্করণ এবং বেস মডেল ডাউনলোড করতে একটি Kaggle অ্যাকাউন্টের প্রয়োজন হবে৷
pip install -q -U 'keras >= 3.0' 'keras-nlp >= 0.14' 'lit-nlp >= 1.2'
কাগল অ্যাক্সেস
Kaggle এর সাথে প্রমাণীকরণ করতে, আপনি যেটি করতে পারেন:
- আপনার শংসাপত্রগুলি একটি ফাইলে সংরক্ষণ করুন, যেমন
~/.kaggle/kaggle.json
; -
KAGGLE_USERNAME
এবংKAGGLE_KEY
পরিবেশ ভেরিয়েবল ব্যবহার করুন; বা - একটি ইন্টারেক্টিভ পাইথন পরিবেশে নিম্নলিখিতগুলি চালান, যেমন Google Colab।
import kagglehub
kagglehub.login()
আরো বিস্তারিত জানার জন্য kagglehub
ডকুমেন্টেশন দেখুন, এবং Gemma লাইসেন্স চুক্তি স্বীকার করতে ভুলবেন না।
কেরাস কনফিগার করা হচ্ছে
Keras 3 টেনসরফ্লো (ডিফল্ট), পাইটর্চ এবং JAX সহ একাধিক গভীর শিক্ষার ব্যাকএন্ড সমর্থন করে। ব্যাকএন্ডটি KERAS_BACKEND
এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে কনফিগার করা হয়েছে, যা কেরাস লাইব্রেরি ইম্পোর্ট করার আগে অবশ্যই সেট করতে হবে। নিম্নলিখিত কোড স্নিপেট আপনাকে দেখায় কিভাবে একটি ইন্টারেক্টিভ পাইথন পরিবেশে এই ভেরিয়েবল সেট করতে হয়।
import os
os.environ["KERAS_BACKEND"] = "tensorflow" # or "jax" or "torch"
4. LIT সেট আপ করা
LIT পাইথন নোটবুক বা ওয়েব সার্ভারের মাধ্যমে ব্যবহার করা যেতে পারে। এই কোডল্যাব নোটবুক ব্যবহারের ক্ষেত্রে ফোকাস করে, আমরা কি Google Colab- এ অনুসরণ করার পরামর্শ দিতে পারি।
এই কোডল্যাবে, আপনি KerasNLP প্রিসেট ব্যবহার করে Gemma v2 2B IT লোড করবেন। নিচের স্নিপেটটি জেমা শুরু করে এবং একটি LIT নোটবুক উইজেটে একটি উদাহরণ ডেটাসেট লোড করে।
from lit_nlp.examples.prompt_debugging import notebook as lit_pdbnb
lit_widget = lit_pdbnb.make_notebook_widget(
['sample_prompts'],
["gemma2_2b_it:gemma2_instruct_2b_en"],
)
আপনি দুটি প্রয়োজনীয় অবস্থানগত আর্গুমেন্টে পাস করা মান দুটি পরিবর্তন করে উইজেটটি কনফিগার করতে পারেন:
-
datasets_config
: ডাটাসেট নাম এবং পাথ লোড করার জন্য "ডেটাসেট:পাথ" হিসাবে স্ট্রিংগুলির একটি তালিকা, যেখানে পাথ একটি URL বা স্থানীয় ফাইল পাথ হতে পারে। LIT বিতরণে প্রদত্ত উদাহরণ প্রম্পটগুলি লোড করতে নীচের উদাহরণটি বিশেষ মান,sample_prompts
ব্যবহার করে। -
models_config
: মডেলের নাম এবং পাথগুলি সম্বলিত স্ট্রিংগুলির একটি তালিকা যেখানে "মডেল:পথ" হিসাবে লোড করা যায়, যেখানে পাথ একটি URL, একটি স্থানীয় ফাইল পাথ বা কনফিগার করা গভীর শিক্ষার কাঠামোর জন্য একটি প্রিসেটের নাম হতে পারে।
একবার আপনি যে মডেলটিতে আগ্রহী তা ব্যবহার করার জন্য আপনি LIT কনফিগার করেছেন, আপনার নোটবুকে উইজেটটি রেন্ডার করতে নিম্নলিখিত কোড স্নিপেটটি চালান।
lit_widget.render(open_in_new_tab=True)
আপনার নিজের ডেটা ব্যবহার করা
টেক্সট-টু-টেক্সট জেনারেটিভ মডেল হিসেবে, জেমা টেক্সট ইনপুট নেয় এবং টেক্সট আউটপুট জেনারেট করে। LIT একটি মতামতযুক্ত API ব্যবহার করে লোড করা ডেটাসেটের গঠন মডেলের মডেলগুলিতে যোগাযোগ করতে। এলআইটি-তে এলএলএমগুলি দুটি ক্ষেত্র সরবরাহ করে এমন ডেটাসেটের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে:
-
prompt
: মডেলের ইনপুট যা থেকে পাঠ্য তৈরি করা হবে; এবং -
target
: একটি ঐচ্ছিক লক্ষ্য ক্রম, যেমন মানব রেটারদের "গ্রাউন্ড ট্রুথ" প্রতিক্রিয়া বা অন্য মডেল থেকে পূর্ব-উত্পন্ন প্রতিক্রিয়া।
LIT নিম্নলিখিত উত্স থেকে উদাহরণ সহ sample_prompts
একটি ছোট সেট অন্তর্ভুক্ত করে যা এই কোডল্যাব এবং LIT-এর বর্ধিত প্রম্পট ডিবাগিং টিউটোরিয়ালকে সমর্থন করে।
- GSM8K : কয়েকটি শট উদাহরণ সহ গ্রেড স্কুলের গণিত সমস্যা সমাধান করা।
- গিগাওয়ার্ড বেঞ্চমার্ক : সংক্ষিপ্ত নিবন্ধের সংগ্রহের জন্য শিরোনাম প্রজন্ম।
- সাংবিধানিক প্রম্পটিং : নির্দেশিকা/সীমানা সহ বস্তুগুলি কীভাবে ব্যবহার করতে হয় সে সম্পর্কে নতুন ধারণা তৈরি করা।
এছাড়াও আপনি সহজেই আপনার নিজস্ব ডেটা লোড করতে পারেন, হয় একটি .jsonl
ফাইল যাতে ফিল্ড prompt
সহ রেকর্ড থাকে এবং ঐচ্ছিকভাবে target
( উদাহরণ ) , অথবা LIT-এর ডেটাসেট API ব্যবহার করে যেকোনো বিন্যাস থেকে।
নমুনা প্রম্পটগুলি লোড করতে নীচের ঘরটি চালান৷
5. LIT-তে জেমার জন্য কয়েকটি শট প্রম্পট বিশ্লেষণ করা
আজ, প্রম্পট করা বিজ্ঞানের মতোই শিল্প, এবং LIT আপনাকে জেমা-এর মতো বড় ভাষার মডেলগুলির জন্য প্রম্পটগুলিকে অভিজ্ঞতাগতভাবে উন্নত করতে সাহায্য করতে পারে। সামনে, আপনি একটি উদাহরণ দেখতে পাবেন কিভাবে LIT-কে Gemma-এর আচরণগুলি অন্বেষণ করতে, সম্ভাব্য সমস্যাগুলির পূর্বাভাস দিতে এবং এর নিরাপত্তা উন্নত করতে ব্যবহার করা যেতে পারে৷
জটিল প্রম্পটে ত্রুটি চিহ্নিত করুন
উচ্চ মানের LLM-ভিত্তিক প্রোটোটাইপ এবং অ্যাপ্লিকেশনগুলির জন্য দুটি সবচেয়ে গুরুত্বপূর্ণ প্রম্পটিং কৌশল হল অল্প-শট প্রম্পটিং (প্রম্পটে পছন্দসই আচরণের উদাহরণ সহ) এবং চেইন-অফ-থট (চূড়ান্ত আউটপুটের আগে ব্যাখ্যা বা যুক্তির একটি ফর্ম সহ) এলএলএম)। কিন্তু একটি কার্যকর প্রম্পট তৈরি করা প্রায়ই এখনও চ্যালেঞ্জিং।
কাউকে তাদের স্বাদের উপর ভিত্তি করে তারা খাবার পছন্দ করবে কিনা তা মূল্যায়ন করতে সাহায্য করার একটি উদাহরণ বিবেচনা করুন। একটি প্রাথমিক প্রোটোটাইপ চেইন-অফ-থট প্রম্পট-টেমপ্লেট এইরকম দেখতে পারে:
def analyze_menu_item_template(food_likes, food_dislikes, menu_item):
return f"""Analyze a menu item in a restaurant.
## For example:
Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.
Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in france is usually great
Recommendation: Likely good.
Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in france
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.
## Now analyze one more example:
Taste-likes: {food_likes}
Taste-dislikes: {food_dislikes}
Suggestion: {menu_item}
Analysis:"""
আপনি এই প্রম্পট সঙ্গে সমস্যা স্পট? LIT আপনাকে LM Salience মডিউল দিয়ে প্রম্পট পরীক্ষা করতে সাহায্য করবে।
6. ডিবাগ করার জন্য সিকোয়েন্স স্যালিয়েন্স ব্যবহার করুন
স্যালিয়েন্সকে সম্ভাব্য ক্ষুদ্রতম স্তরে গণনা করা হয় (অর্থাৎ, প্রতিটি ইনপুট টোকেনের জন্য), কিন্তু LIT টোকেন-সালিয়েন্সকে আরও ব্যাখ্যাযোগ্য বৃহত্তর স্প্যানগুলিতে, যেমন লাইন, বাক্য বা শব্দগুলিতে একত্রিত করতে পারে। আমাদের স্যালিয়েন্সি এক্সপ্লোরেবল -এ অনাকাঙ্ক্ষিত পক্ষপাতগুলি সনাক্ত করতে স্যালিয়েন্সি সম্পর্কে আরও জানুন এবং কীভাবে এটি ব্যবহার করবেন।
প্রম্পট-টেমপ্লেট ভেরিয়েবলের জন্য প্রম্পটকে একটি নতুন উদাহরণ ইনপুট দিয়ে শুরু করা যাক:
food_likes = """Cheese"""
food_dislikes = """Can't eat eggs"""
menu_item = """Quiche Lorraine"""
prompt = analyze_menu_item_template(food_likes, food_dislikes, menu_item)
print(prompt)
fewshot_mistake_example = {'prompt': prompt} # you'll use this below
Analyze a menu item in a restaurant. ## For example: Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Onion soup Analysis: it has cooked onions in it, which you don't like. Recommendation: You have to try it. Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Baguette maison au levain Analysis: Home-made leaven bread in france is usually great Recommendation: Likely good. Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Macaron in france Analysis: Sweet with many kinds of flavours Recommendation: You have to try it. ## Now analyze one more example: Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis:
যদি আপনার LIT UI উপরের কক্ষে বা একটি পৃথক ট্যাবে খোলা থাকে, তাহলে আপনি এই প্রম্পট যোগ করতে LIT-এর ডেটাপয়েন্ট এডিটর ব্যবহার করতে পারেন:
আরেকটি উপায় হল আগ্রহের প্রম্পট সহ সরাসরি উইজেটটি পুনরায় রেন্ডার করা:
lit_widget.render(data=[fewshot_mistake_example])
বিস্ময়কর মডেল সমাপ্তি নোট করুন:
Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis: A savoury tart with cheese and eggs Recommendation: You might not like it, but it's worth trying.
কেন মডেল আপনাকে এমন কিছু খাওয়ার পরামর্শ দিচ্ছে যা আপনি স্পষ্টভাবে বলেছেন যে আপনি খেতে পারবেন না?
সিকোয়েন্স স্যালিয়েন্স মূল সমস্যা হাইলাইট করতে সাহায্য করতে পারে, যা আমাদের কয়েকটি-শট উদাহরণে রয়েছে। প্রথম উদাহরণে, বিশ্লেষণ বিভাগে যে চেইন-অফ-থট যুক্তি it has cooked onions in it, which you don't like
চূড়ান্ত সুপারিশের সাথে মেলে না You have to try it
।
LM Salience মডিউলে, "বাক্য" নির্বাচন করুন এবং তারপর সুপারিশ লাইন নির্বাচন করুন। UI এখন নিম্নরূপ দেখা উচিত:
এটি একটি মানবিক ত্রুটি হাইলাইট করে: সুপারিশ অংশের একটি দুর্ঘটনাজনিত অনুলিপি এবং পেস্ট এবং এটি আপডেট করতে ব্যর্থতা!
এখন Avoid
জন্য প্রথম উদাহরণে "সুপারিশ" সংশোধন করুন এবং আবার চেষ্টা করুন৷ LIT-এর নমুনা প্রম্পটে এই উদাহরণটি প্রি-লোড করা আছে, তাই আপনি এটি দখল করতে এই সামান্য ইউটিলিটি ফাংশনটি ব্যবহার করতে পারেন:
def get_fewshot_example(source: str) -> str:
for example in datasets['sample_prompts'].examples:
if example['source'] == source:
return example['prompt']
raise ValueError(f'Source "{source}" not found in the dataset.')
lit_widget.render(data=[{'prompt': get_fewshot_example('fewshot-fixed')}])
এখন মডেল সমাপ্তি হয়ে যায়:
Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis: This dish contains eggs and cheese, which you don't like. Recommendation: Avoid.
এটি থেকে একটি গুরুত্বপূর্ণ শিক্ষা নেওয়ার জন্য হল: প্রাথমিক প্রোটোটাইপিং সেই ঝুঁকিগুলি প্রকাশ করতে সাহায্য করে যা আপনি সময়ের আগে ভাবতে পারেন না , এবং ভাষা মডেলগুলির ত্রুটি-প্রবণ প্রকৃতির মানে হল যে একজনকে ত্রুটির জন্য সক্রিয়ভাবে ডিজাইন করতে হবে। এ সম্পর্কে আরও আলোচনা AI দিয়ে ডিজাইন করার জন্য আমাদের People + AI গাইডবুকে পাওয়া যাবে।
যদিও সংশোধন করা কয়েকটি শট প্রম্পট আরও ভাল, এটি এখনও পুরোপুরি সঠিক নয়: এটি সঠিকভাবে ব্যবহারকারীকে ডিম এড়াতে বলে, কিন্তু যুক্তিটি সঠিক নয়, এটি বলে যে তারা ডিম পছন্দ করে না, যখন প্রকৃতপক্ষে ব্যবহারকারী বলেছেন যে তারা ডিম খেতে পারে ডিম খাবেন না। নিম্নলিখিত বিভাগে, আপনি কীভাবে আরও ভাল করতে পারেন তা দেখতে পাবেন।
7. মডেল আচরণ উন্নত করতে অনুমান পরীক্ষা করুন
LIT আপনাকে একই ইন্টারফেসের মধ্যে প্রম্পটে পরিবর্তনগুলি পরীক্ষা করতে সক্ষম করে। এই উদাহরণে, আপনি মডেলের আচরণ উন্নত করতে একটি সংবিধান যোগ করার পরীক্ষা করতে যাচ্ছেন। সংবিধানগুলি মডেলের প্রজন্মকে গাইড করতে সাহায্য করার জন্য নীতিগুলির সাথে নকশা প্রম্পটগুলিকে উল্লেখ করে। সাম্প্রতিক পদ্ধতিগুলি এমনকি সাংবিধানিক নীতিগুলির ইন্টারেক্টিভ ডেরিভেশন সক্ষম করে।
প্রম্পটটিকে আরও উন্নত করতে সাহায্য করার জন্য আসুন এই ধারণাটি ব্যবহার করি। আমাদের প্রম্পটের শীর্ষে প্রজন্মের জন্য নীতিগুলির সাথে একটি বিভাগ যুক্ত করুন, যা এখন নিম্নরূপ শুরু হয়:
Analyze a menu item in a restaurant. * The analysis should be brief and to the point. * The analysis and recommendation should both be clear about the suitability for someone with a specified dietary restriction. ## For example: Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Onion soup Analysis: it has cooked onions in it, which you don't like. Recommendation: Avoid. ...
lit_widget.render(data=[{'prompt': get_fewshot_example('fewshot-constitution')}])
এই আপডেটের সাথে, উদাহরণটি পুনরায় চালানো যেতে পারে এবং একটি খুব ভিন্ন আউটপুট পর্যবেক্ষণ করা যেতে পারে:
Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis: This dish contains eggs, which you can't eat. Recommendation: Not suitable for you.
এই পরিবর্তন কেন ঘটছে তা বোঝার জন্য প্রম্পট স্যালিয়েন্সটি পুনরায় পরীক্ষা করা যেতে পারে:
সুপারিশ অনেক নিরাপদ লক্ষ্য করুন. তদুপরি, "আপনার জন্য উপযুক্ত নয়" বিশ্লেষণের সাথে (তথাকথিত চিন্তা চেইন) খাদ্যতালিকাগত সীমাবদ্ধতা অনুসারে উপযুক্ততা স্পষ্টভাবে উল্লেখ করার নীতি দ্বারা প্রভাবিত হয়। এটি অতিরিক্ত আত্মবিশ্বাস দেয় যে আউটপুট সঠিক কারণে ঘটছে।
8. মডেল অনুসন্ধান এবং অনুসন্ধানে অ-প্রযুক্তিগত দলগুলিকে অন্তর্ভুক্ত করুন
ব্যাখ্যাযোগ্যতা বলতে বোঝানো হয়েছে একটি দলের প্রচেষ্টা, এক্সএআই, নীতি, আইনী এবং আরও অনেক কিছু জুড়ে দক্ষতা।
প্রাথমিক বিকাশের পর্যায়ে মডেলগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য ঐতিহ্যগতভাবে উল্লেখযোগ্য প্রযুক্তিগত দক্ষতার প্রয়োজন, যা কিছু সহযোগীদের জন্য তাদের অ্যাক্সেস এবং অনুসন্ধান করা আরও কঠিন করে তুলেছে। এই দলগুলিকে প্রাথমিক প্রোটোটাইপিং পর্বে অংশগ্রহণ করতে সক্ষম করার জন্য টুলিং ঐতিহাসিকভাবে বিদ্যমান নেই।
LIT এর মাধ্যমে, আশা করা যায় যে এই দৃষ্টান্তটি পরিবর্তন হতে পারে। যেমন আপনি এই কোডল্যাবের মাধ্যমে দেখেছেন, LIT-এর ভিজ্যুয়াল মাধ্যম এবং ইন্টারেক্টিভ দক্ষতা পরীক্ষা করার এবং উদাহরণগুলি অন্বেষণ করার ক্ষমতা বিভিন্ন স্টেকহোল্ডারদের ফলাফলগুলি ভাগ করতে এবং যোগাযোগ করতে সহায়তা করতে পারে। এটি আপনাকে মডেল অন্বেষণ, অনুসন্ধান এবং ডিবাগিংয়ের জন্য সতীর্থদের বিস্তৃত বৈচিত্র্য আনতে সক্ষম করতে পারে। এই প্রযুক্তিগত পদ্ধতিতে তাদের প্রকাশ করা মডেলগুলি কীভাবে কাজ করে সে সম্পর্কে তাদের বোঝার উন্নতি করতে পারে। উপরন্তু, প্রাথমিক মডেল টেস্টিং-এ আরও বৈচিত্র্যময় দক্ষতার সেটও অবাঞ্ছিত ফলাফল উন্মোচন করতে সাহায্য করতে পারে যা উন্নত করা যেতে পারে।
9. রিক্যাপ
সংক্ষেপে:
- LIT UI ইন্টারেক্টিভ মডেল এক্সিকিউশনের জন্য একটি ইন্টারফেস প্রদান করে, যা ব্যবহারকারীদের সরাসরি আউটপুট তৈরি করতে এবং "কি হলে" পরিস্থিতি পরীক্ষা করতে সক্ষম করে। এটি বিভিন্ন প্রম্পট বৈচিত্র পরীক্ষা করার জন্য বিশেষভাবে কার্যকর।
- LM Salience মডিউলটি স্যালিয়েন্সের একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে এবং নিয়ন্ত্রণযোগ্য ডেটা গ্রানুলারিটি প্রদান করে যাতে আপনি মডেল-কেন্দ্রিক নির্মাণ (যেমন, টোকেন) এর পরিবর্তে মানব-কেন্দ্রিক নির্মাণ (যেমন, বাক্য এবং শব্দ) সম্পর্কে যোগাযোগ করতে পারেন।
যখন আপনি আপনার মডেল মূল্যায়নে সমস্যাযুক্ত উদাহরণ খুঁজে পান, তখন ডিবাগিংয়ের জন্য সেগুলিকে LIT-এ আনুন৷ কন্টেন্টের সবচেয়ে বড় ইন্দ্রিয়গ্রাহ্য একক বিশ্লেষণ করে শুরু করুন যা আপনি যৌক্তিকভাবে মডেলিং টাস্কের সাথে সম্পর্কিত মনে করতে পারেন, প্রম্পট সামগ্রীতে মডেলটি সঠিকভাবে বা ভুলভাবে কোথায় উপস্থিত হচ্ছে তা দেখতে ভিজ্যুয়ালাইজেশনগুলি ব্যবহার করুন এবং তারপরে আরও ছোট ছোট এককগুলিতে ড্রিল ডাউন করুন সম্ভাব্য সংশোধন সনাক্ত করার জন্য আপনি যে ভুল আচরণটি দেখছেন তা বর্ণনা করুন।
সবশেষে: লিট ক্রমাগত উন্নতি করছে! আমাদের বৈশিষ্ট্য সম্পর্কে আরও জানুন এবং এখানে আপনার পরামর্শ শেয়ার করুন।