কখনো কি এমন ইচ্ছে হয়েছে যে আপনার AI কে যেন আবহাওয়ার রোবটের মতো না শোনায়, বরং অনেকটা… আপনার মতো শোনায়?
একবার ভাবুন: আপনি আপনার AI কে একটি গ্রাহকের ইমেইল সংক্ষিপ্ত করতে বললেন, এবং তার উত্তরে মনে হলো যেন শিপিং ফোরকাস্ট বর্ণনা করছে। কারিগরিভাবে সঠিক; কিন্তু আধ্যাত্মিকভাবে অকার্যকর। আপনি আসলে যা চান তা হলো আপনার AI—আপনার স্বর, আপনার পরিভাষা, আপনার পছন্দ—নিজের গ্যারেজে একটি গবেষণা ল্যাব তৈরি না করেই।
ফাইন-টিউনিং সেখানেই কাজে লাগে। এবং যদি আপনি "Tinker API" সম্পর্কে কিছু শুনে থাকেন, তবে আপনি সঠিক জায়গায় আছেন। Tinker API ব্যবহার করে আপনার নিজস্ব AI মডেলকে ফাইন-টিউন করার জন্য এটি একটি নির্দেশিকা—যাতে পরের বার আপনি যখন "একটি প্রতিক্রিয়া ড্রাফট করুন" টাইপ করেন, তখন আপনি এমন কিছু পান যা আপনার দলের মতো শোনায়, HAL 9000-এর আত্মীয়ের মতো নয়।
আমরা পুরো বিষয়টি নিয়ে আলোচনা করব: ফাইন-টিউনিং মানে কী, আপনার ডেটা কীভাবে প্রস্তুত করবেন, Tinker API-এর মাধ্যমে কীভাবে ফাইন-টিউন চালাবেন এবং কীভাবে আপনার বাজেট (বা আপনার ধৈর্য) নষ্ট করবেন না। আমি এমনকি আপনাকে বলব যে গ্রেমলিনরা কোথায় থাকে—কারণ ফাইন-টিউনিং শক্তিশালী, তবে এটি কোনো রূপকথার দেবী নয়।
কীওয়ার্ড সম্পর্কে সতর্কতা: আমরা অনেকবার বলব "কীভাবে Tinker API ব্যবহার করতে হয়", কারণ আপনি সেই প্রশ্নের উত্তর খুঁজতেই এসেছেন। আমরা "আপনার নিজস্ব AI মডেলকে ফাইন-টিউন করুন", "Tinker API টিউটোরিয়াল", "ফাইন-টিউনিংয়ের জন্য ডেটা সেট প্রস্তুতি", এবং "ফাইন-টিউন করা মডেল স্থাপন"-এর মতো বিষয়গুলোও অন্তর্ভুক্ত করব। যদি এটি অনেক বেশি মনে হয়, চিন্তা করবেন না—আমি এটিকে সহজ রাখব।
ফাইন-টিউনিং কী—এবং কী নয়
যদি একটি সাধারণ AI মডেল একটি সুইস আর্মি ছুরি হয়, ফাইন-টিউনিং হলো আপনি বলছেন, "শোনো ছুরি, আমরা তোমাকে প্যাকেট খোলার জন্য খুবই, খুবই ভালো বানাবো।" আপনি ছুরি আবিষ্কার করছেন না। আপনি এটিকে আপনার পছন্দের কার্ডবোর্ড শেখাচ্ছেন।
বাস্তবে, ফাইন-টিউনিং মানে হলো আপনি একটি বেস মডেল (যা ইতিমধ্যেই ইন্টারনেটের বিশাল টেক্সটের ওপর প্রশিক্ষিত) নেন এবং এটিকে আপনার উদাহরণ—আপনার লেখার শৈলী, আপনার ডোমেইন-স্পেসিফিক প্রশ্নোত্তর, আপনার সাপোর্ট স্ক্রিপ্ট—দিয়ে এমনভাবে ধাক্কা দেন যাতে এটি আপনার পছন্দসই উপায়ে সাড়া দেয়। এটি মডেলটিকে একটি স্টাইল গাইড এবং অনুশীলনী প্রশ্নপত্রের একটি স্তূপ দেওয়ার মতো।
তবে ফাইন-টিউনিং কোনো জাদু নয়। আপনার ডেটা সেই প্যাটার্নগুলো না শেখালে এটি হঠাৎ করে এমন কোনো তথ্য শিখবে না যা সে আগে কখনো দেখেনি। আপনি প্রতিনিধিত্বমূলক স্নিপেট না দিলে এটি বিশাল মালিকানাধীন ডকুমেন্ট "মনে রাখবে" না। এবং আপনার ডেটা যদি অগোছালো, পরস্পরবিরোধী বা ছোট হয়, তবে আপনার মডেল সেই অভ্যাসগুলো উত্তরাধিকার সূত্রে পাবে, অনেকটা একটি কিশোর রক ব্যান্ড তার ড্রামারের টেম্পো উত্তরাধিকার সূত্রে পাওয়ার মতো।
সংক্ষিপ্ত ভ্রমণসূচী
Tinker API ব্যবহার করে আপনার নিজস্ব AI মডেলকে ফাইন-টিউন করার একটি পাখির চোখের দৃশ্য এখানে দেওয়া হলো:
- Tinker API-তে একটি বেস মডেল নির্বাচন করুন।
- প্রম্পট এবং আদর্শ প্রতিক্রিয়া সহ একটি পরিষ্কার, সুষম ডেটা সেট প্রস্তুত করুন।
- Tinker-এ আপনার ডেটা সেট আপলোড করুন।
- স্পষ্ট হাইপারপ্যারামিটার সহ একটি ফাইন-টিউনিংয়ের কাজ তৈরি করুন।
- প্রশিক্ষণ নিরীক্ষণ করুন, একটি হেল্ড-আউট পরীক্ষার সেট দিয়ে ফলাফল মূল্যায়ন করুন।
- উৎপাদনে আপনার ফাইন-টিউন করা মডেল স্থাপন এবং কল করুন।
- অস্বাভাবিক কিছু দেখলে পুনরাবৃত্তি করুন।
আমরা ধাপে ধাপে যাব, কোড-স্টাইল উদাহরণ সহ যা আপনি পেস্ট করতে পারেন, এবং এমন টিপস যা আমাকে আমার স্ক্রিনে চিৎকার করা থেকে বাঁচিয়েছে।
ধাপ ১: আপনার বেস মডেলটি এমনভাবে বেছে নিন যেন আপনি একটি ভাড়া করা গাড়ি বাছাই করছেন
ম্যানহাটনে পার্ক করার জন্য আপনি ১৫-সিটের ভ্যান ভাড়া করবেন না। একইভাবে, আপনার যদি প্রতিদিন লক্ষ লক্ষ অনুরোধের জন্য দ্রুত, সস্তা উত্তরের প্রয়োজন হয় তবে একটি বিশাল মডেল নির্বাচন করবেন না। Tinker API সাধারণত কয়েকটি মডেল পরিবার সরবরাহ করে—লাইটওয়েট, মাঝারি আকারের এবং "বাহ, এটা তো স্মার্ট।"
- আপনার যদি গতি এবং খরচ সাশ্রয়ের প্রয়োজন হয়: ছোট বেসটি বেছে নিন।
- আপনার যদি সূক্ষ্মতা, যুক্তি বা দীর্ঘ-ফর্ম লেখার প্রয়োজন হয়: বড় বেসটি বেছে নিন।
- আপনার ডোমেনে যদি প্রচুর পরিভাষা থাকে (মেডিকেল, আইনি, সাপোর্ট ম্যাক্রো): মাঝারি থেকে বড় মডেলগুলি আরও ফলপ্রসূভাবে ফাইন-টিউন হয়।
পরামর্শ: প্রোটোটাইপ করার জন্য ছোট করে শুরু করুন। আপনার মূল মেট্রিকগুলি লাফিয়ে উঠলে, একই ডেটা সেটটিকে একটি বড় বেসে সরান।
ধাপ ২: আপনার ডেটা সেটটিকে এমনভাবে প্রস্তুত করুন যেন এটি একটি রেসিপি কার্ড, আপনার আবর্জনা বাক্স নয়
গুণমানের জন্য আপনার ডেটা সেট হলো সবচেয়ে বড় লিভার। মডেলটি অনুকরণ করে শেখে; উদাহরণগুলি অস্পষ্ট হলে, মডেলটি অস্পষ্ট হতে শেখে। যদি সেগুলি ঝরঝরে, সামঞ্জস্যপূর্ণ এবং বিভিন্ন হয়, তবে আপনার মডেল একজন সহায়ক সহকর্মী হয়ে ওঠে যে আসলে মেমো পড়ে।
স্পষ্ট নির্দেশাবলী-প্রতিক্রিয়া জোড়া সহ একটি JSONL (JSON Lines) ফর্ম্যাটের লক্ষ্য রাখুন। চ্যাট-স্টাইল ফাইন-টিউনিংয়ের জন্য, সিস্টেম/ব্যবহারকারী/সহকারীর মতো ভূমিকা অন্তর্ভুক্ত করুন। প্রতিটি উদাহরণ সংক্ষিপ্ত থেকে মাঝারি রাখুন; কয়েক ডজন উচ্চ-মানের উদাহরণ হাজারো গোলমেলে উদাহরণের চেয়ে ভালো।
উদাহরণ (নির্দেশাবলী-শৈলী):
{"instruction": "এই সাপোর্ট টিকেটটি ২ টি বাক্যে সংক্ষিপ্ত করুন, বন্ধুত্বপূর্ণ সুরে।", "input": "গ্রাহক 'Track Order' ক্লিক করার সময় একটি 404 ত্রুটির রিপোর্ট করেছেন", "output": "বিষয়টি জানানোর জন্য ধন্যবাদ! গ্রাহকরা 'Track Order' ক্লিক করলে সাইটটি একটি 404 দেখাচ্ছে। আমরা অর্ডার-ট্র্যাকিং পৃষ্ঠায় একটি ভাঙা লিঙ্কের সন্ধান করছি এবং একটি ফিক্স নিয়ে ফলোআপ করব।"}
উদাহরণ (চ্যাট-শৈলী):
{"messages": [
{"role": "system", "content": "আপনি একজন সংক্ষিপ্ত, বন্ধুত্বপূর্ণ সাপোর্ট এজেন্ট। সহজ ইংরেজি ব্যবহার করুন।"},
{"role": "user", "content": "আমার সাবস্ক্রিপশন রিনিউ হয়েছে কিন্তু কার্ডটি মেয়াদোত্তীর্ণ ছিল। সাহায্য করুন?"},
{"role": "assistant", "content": "অসুবিধার জন্য দুঃখিত! আমি আপনার প্ল্যানটি পুনরায় পরীক্ষা করেছি—একটি মেয়াদোত্তীর্ণ কার্ডে পুনর্নবীকরণের চেষ্টা করা হয়েছে। অনুগ্রহ করে বিলিং পৃষ্ঠায় আপনার কার্ড আপডেট করুন; এটি সংরক্ষিত হয়ে গেলে আমি চার্জটি পুনরায় চেষ্টা করব।"}
]}
ফাইন-টিউনিংয়ের জন্য ডেটা সেট প্রস্তুতির টিপস:
- সামঞ্জস্যতা রানী। সর্বদা একই স্বর, সাইন-অফ এবং কাঠামো ব্যবহার করুন।
- আপনার বিষয়গুলি ভারসাম্য রাখুন। যদি ৯০% উদাহরণ রিফান্ড হয়, তবে আপনার মডেল রিফান্ড পরী হয়ে যাবে।
- কঠিন কেসগুলো চিহ্নিত করুন। নেতিবাচক উদাহরণ অন্তর্ভুক্ত করুন (কী বলা উচিত নয়), যদি Tinker API একটি পছন্দসই সংকেত সমর্থন করে।
- এটি নিরাপদ রাখুন। ব্যক্তিগত ডেটা সরান। আপনি যদি সংবেদনশীল তথ্য নিয়ে কাজ করেন তবে বেনামী করুন বা সিনথেসাইজ করুন।
আপনার ডেটার ১০–২০% একটি পরীক্ষার সেট হিসাবে রাখুন। আপনি যদি প্রশিক্ষণ সেটে গ্রেড দেন তবে আপনি নিজেকে বোকা বানিয়ে ভাববেন যে মডেলটি একটি জিনিয়াস। আমাকে জিজ্ঞাসা করুন আমি কীভাবে জানি।
ধাপ ৩: চোখের জল না ফেলে Tinker API-তে আপনার ডেটা আপলোড করুন
বেশিরভাগ ফাইন-টিউনিং প্ল্যাটফর্ম একটি স্টোরেজ এন্ডপয়েন্ট সরবরাহ করে। Tinker API-এর মাধ্যমে, আপনি সাধারণত:
- একটি ডেটা সেট রিসোর্স তৈরি করুন (যেমন, POST /datasets)
- আপনার JSONL ফাইল আপলোড করুন
- স্কিমা যাচাই করুন (Tinker সাধারণত একটি সহজ প্রতিবেদন প্রদান করে: OK গণনা, ত্রুটি, অদ্ভুত ক্ষেত্র)
ছদ্ম-উদাহরণ (কার্ল-এর মতো):
curl -X POST -H "Authorization: Bearer YOUR_TINKER_KEY" -F "file=@my_finetune_data.jsonl" -F "purpose=finetune"
Tinker API যদি একটি CLI সমর্থন করে তবে জীবন সহজ হয়ে যায়:
আপলোড
tinker datasets upload my_finetune_data.jsonl --purpose finetune
যাচাই
tinker datasets validate DATASET_ID
যাচাইকরণের ত্রুটিগুলি আপনার বন্ধু। এগুলি বিচারকের মতো মনে হয়, তবে এগুলি আপনাকে রাত ২ টায় রহস্যজনক প্রশিক্ষণ ব্যর্থতা থেকে বাঁচায়।
ধাপ ৪: একটি ফাইন-টিউন কাজ শুরু করুন এবং উপযুক্ত সেটিংস নির্বাচন করুন
আপনি এমন একটি কাজ শুরু করবেন যা আপনার ডেটা সেট এবং আপনার নির্বাচিত বেস মডেলের দিকে নির্দেশ করে। বেশিরভাগ Tinker API ফাইন-টিউনিং এন্ডপয়েন্টগুলি epochs, learning rate, batch size এবং evaluation frequency-এর মতো প্যারামিটার গ্রহণ করে। অনুবাদ: আপনার ডেটার ওপর দিয়ে কতবার যাওয়া হবে, মডেলটি কতটা আগ্রাসীভাবে শিখবে, এটি একবারে কতগুলি উদাহরণ অধ্যয়ন করে এবং এটি কত ঘন ঘন আপনাকে একটি অগ্রগতি প্রতিবেদন দেখায়।
উদাহরণ অনুরোধ:
curl -X POST -H "Authorization: Bearer YOUR_TINKER_KEY" -H "Content-Type: application/json" -d '{
"base_model": "tinker-large-1",
"dataset_id": "ds_abc123",
"epochs": 3,
"learning_rate": 1e-5,
"batch_size": 8,
"eval_dataset_id": "ds_eval789",
"suffix": "support-tone-v1"
}'
উপযুক্ত ডিফল্ট:
- Epochs: ছোট থেকে মাঝারি ডেটা সেটের জন্য ৩–৫। বেশি সবসময় ভালো নয়; কখনও কখনও এটি অতিরিক্ত পদক্ষেপের সাথে শুধু ওভারফিটিং।
- Learning rate: রক্ষণশীলভাবে শুরু করুন (1e-5 or 2e-5)। মডেলটি খুব দ্রুত শিখলে, এটি তার সাধারণ বুদ্ধি ভুলে যায়।
- Batch size: আপনার কোটা যা অনুমতি দেয়, তবে এটি নিয়ে চিন্তা করবেন না—পারফরম্যান্সের উন্নতি মূলত ভালো ডেটা থেকে আসে।
- Early stopping: Tinker API যদি এটি সরবরাহ করে তবে এটি সক্ষম করুন। এটি হলো মেশিন লার্নিংয়ের "আমরা কি সেখানে পৌঁছেছি?" যা মাঝে মাঝে বলে, "হ্যাঁ।"
ধাপ ৫: চিলের মতো প্রশিক্ষণ নিরীক্ষণ করুন—তবে শান্ত চিল
Tinker সাধারণত লগ স্ট্রিম করে: প্রশিক্ষণ ক্ষতি, মূল্যায়ন ক্ষতি এবং সম্ভবত আপনার সংজ্ঞায়িত কাস্টম মেট্রিক (যেমন প্রশ্নোত্তর জন্য সঠিক মিল)। এখানে চা পাতা পড়ার নিয়ম দেওয়া হলো:
- প্রশিক্ষণ ক্ষতি কমছে, মূল্যায়ন ক্ষতি স্থির বা বাড়ছে? আপনি ওভারফিটিং করছেন—আপনার প্রশিক্ষণের উত্তর মুখস্থ করছেন কিন্তু নতুন উত্তর গুলিয়ে ফেলছেন।
- দুটোই কমছে? আপনি সঠিক পথে আছেন।
- ক্ষতি পোগো স্টিকের মতো বাউন্স করছে? আপনার শেখার হার খুব বেশি হতে পারে, অথবা আপনার ডেটা সেটটি অসামঞ্জস্যপূর্ণ।
যদি Tinker প্রশিক্ষণ চলাকালীন পূর্বরূপ জেনারেশন সরবরাহ করে তবে আংশিক আউটপুটগুলি পরীক্ষা করুন। আপনার পরীক্ষার সেট থেকে কয়েকটি প্রম্পট স্যাম্পল করুন এবং স্বর/সঠিকতা মূল্যায়ন করুন। হ্যাঁ, এটি গুণগত—তবে আপনি শৈলী প্রশিক্ষণ দিচ্ছেন, পদার্থবিজ্ঞানের প্রমাণ নয়।
ধাপ ৬: এটির নামকরণ করুন, স্থাপন করুন, কল করুন
কাজটি শেষ হলে, Tinker API আপনাকে ft:tinker-large-1:support-tone-v1:abc123-এর মতো একটি মডেল আইডি দিয়ে আশীর্বাদ করবে। তারপরে আপনি এটিকে একটি এন্ডপয়েন্টের পিছনে স্থাপন করতে পারেন এবং বেস মডেলের মতোই কল করতে পারেন—তবে এখন এটি আপনার দলের মতো কথা বলে।
উদাহরণ জেনারেশন কল:
curl -X POST -H "Authorization: Bearer YOUR_TINKER_KEY" -H "Content-Type: application/json" -d '{
"model": "ft:tinker-large-1:support-tone-v1:abc123",
"messages": [
{"role": "system", "content": "আপনি একজন সংক্ষিপ্ত, বন্ধুত্বপূর্ণ সাপোর্ট এজেন্ট।"},
{"role": "user", "content": "আমার রিফান্ড দেরি হয়েছে এবং আমি বিরক্ত।"}
],
"temperature": 0.4
}'
আপনার মডেলটি খুব বেশি চ্যাটি বা খুব সংক্ষিপ্ত হয়ে গেলে আপনি একটি উচ্চতর "presence_penalty" বা নিম্ন "temperature" সেট করতে পারেন। Tinker-এর ডক্স আপনাকে সব কিছু বুঝিয়ে বলবে—পরীক্ষা করতে দ্বিধা করবেন না।
ধাপ ৭: একজন কোচের মতো মূল্যায়ন করুন, বিচারকের মতো নয়
আপনার একটি স্বয়ংক্রিয় স্কোরকার্ড এবং একটি মানবিক স্কোরকার্ড লাগবে। স্বয়ংক্রিয় মেট্রিক (BLEU, ROUGE, সঠিকতা) পরিপাটি তবে স্বরের প্রতি অন্ধ। মানুষ "এটি খারাপ শোনাচ্ছে" সমস্যাটি ধরতে পারে।
একটি ছোট রুব্রিক সেট আপ করুন:
আপনার হেল্ড-আউট সেট থেকে ৫০–১০০ আউটপুট স্যাম্পল করুন। দু'জনকে আলাদাভাবে রেট দিতে বলুন। যদি কোনও বিভাগের গড় ৩-এর নিচে হয় তবে আপনার ডেটা সেটে ফিরে যান এবং আরও উদাহরণ যুক্ত করুন যা আপনি যে আচরণটি চান তা প্রদর্শন করে।
ধাপ ৮: খরচ এবং পারফরম্যান্স: আপনার CFO এবং আপনার সার্ভার কী বিষয়ে যত্ন নেয়
Tinker API-এর মাধ্যমে ফাইন-টিউনিংয়ের জন্য দুটি জায়গায় খরচ হয়: প্রশিক্ষণ এবং অনুমান। প্রশিক্ষণ একটি এককালীন স্প্রিন্ট; অনুমান একটি ম্যারাথন।
- টোকেন দৈর্ঘ্য হ্রাস করুন। ছোট প্রম্পট এবং আউটপুট = ছোট বিল।
- একটি সিস্টেম প্রম্পট ব্যবহার করুন যা আপনার শৈলীকে ফ্রেম করে, তবে প্রতিটি কলে বিশাল নির্দেশাবলী পুনরাবৃত্তি করবেন না যদি Tinker একটি স্থাপন-স্তরের ডিফল্ট সমর্থন করে।
- সম্ভব হলে সাধারণ প্রম্পটগুলি ক্যাশে করুন।
- একটি রুটিং কৌশল বিবেচনা করুন: আপনার ফাইন-টিউন করা বড় মডেলটি কেবল তখনই ব্যবহার করুন যখন প্রয়োজন হয়; অন্যথায়, একটি ছোট, সস্তা মডেলে ফিরে যান।
বিলম্বিততাও গুরুত্বপূর্ণ। আপনার ফাইন-টিউন করা মডেলটি ধীরে চললে, ছোট প্রসঙ্গ উইন্ডো ব্যবহার করে দেখুন, অথবা শ্রেণিবদ্ধকরণের জন্য ছোট মডেলটি এবং শুধুমাত্র জেনারেটিভ পাঠ্যের জন্য বড় মডেলটি ব্যবহার করুন।
ধাপ ৯: সমস্যা সমাধান: গ্রেমলিনদের সেরা হিট
- মডেলটি একটি ভাঙা রেকর্ডের মতো নিজেকে পুনরাবৃত্তি করে।
- তাপমাত্রা কম করুন; ঝরঝরে, সংক্ষিপ্ত উত্তর সহ উদাহরণ যুক্ত করুন; যদি সেটি একটি অপশন হয় তবে বিম উইডথ হ্রাস করুন।
- এটি নির্দেশাবলী উপেক্ষা করে।
- সিস্টেম প্রম্পটকে শক্তিশালী করুন এবং প্রশিক্ষণের উদাহরণ অন্তর্ভুক্ত করুন যা কঠোর নির্দেশাবলী অনুসরণ করে।
- এটি দম্ভের সাথে তথ্য হ্যালুসিনেট করে।
- এমন উদাহরণ অন্তর্ভুক্ত করুন যা বলে "আমি জানি না" বা উত্সের লিঙ্ক; তাপমাত্রা কম করুন; প্রতিক্রিয়া গ্রাউন্ড করার জন্য পুনরুদ্ধারের সাথে যুক্ত করুন।
- এটি খুব সুন্দর। (হ্যাঁ, এটি একটি জিনিস।)
- প্রশিক্ষণের উদাহরণ যুক্ত করুন যা সীমানা নির্ধারণ করে এবং নীতিগুলি স্পষ্ট করে—"আমরা X করতে পারি না, তবে এখানে Y দেওয়া হলো।"
- প্রশিক্ষণ অর্ধেক পথে ব্যর্থ হয়।
- ডেটা সেট যাচাইকরণ, অদ্ভুত অক্ষর এবং সর্বাধিক টোকেন দৈর্ঘ্য পরীক্ষা করুন। ছোট ব্যাচ আকার বা কম epochs চেষ্টা করুন।
ধাপ ১০: কখন ফাইন-টিউন করতে হবে বনাম কখন প্রম্পট বা পুনরুদ্ধার ব্যবহার করতে হবে
আমি ফাইন-টিউনিং ভালোবাসি, তবে এটি একমাত্র হাতুড়ি নয়। তিনটি সাধারণ কৌশল:
- শুধু প্রম্পট ইঞ্জিনিয়ারিং: সবচেয়ে সস্তা, দ্রুততম। যখন আপনার কেবল একটি স্বর পরিবর্তন বা সরল সামঞ্জস্যের প্রয়োজন হয় তখন দুর্দান্ত।
- পুনরুদ্ধার-বর্ধিত জেনারেশন (RAG): নতুন তথ্য এবং বৃহৎ জ্ঞান ভাণ্ডারের জন্য দুর্দান্ত। মডেলটি রানটাইমে আপনার ডক্স পড়ে।
- ফাইন-টিউনিং: শৈলী, কাঠামো এবং ডোমেইন প্যাটার্নের জন্য সেরা যা প্রতিদিন পরিবর্তিত হয় না।
প্রায়শই, বিজয়ী রেসিপিটি প্রতিটির কিছুটা মিশ্রণ: তথ্য আনতে RAG ব্যবহার করুন, তারপরে এটিকে আপনার ফাইন-টিউন করা মডেলটিতে প্রেরণ করুন যাতে এটি আপনার স্বাক্ষরিত কণ্ঠে উত্তর দেয়।
একটি দ্রুত Tinker API টিউটোরিয়াল যা আপনি অনুলিপি-পেস্ট করতে পারেন
এখানে একটি একত্রিত, কাল্পনিক ওয়াকথ্রু রয়েছে যা অনেক Tinker-শৈলীর প্ল্যাটফর্মকে প্রতিফলিত করে। এন্ডপয়েন্ট এবং আইডিগুলিকে আপনার আসলগুলো দিয়ে প্রতিস্থাপন করুন।
- ডেটা সেট তৈরি এবং আপলোড করুন
curl -X POST -H "Authorization: Bearer $TINKER_KEY" -F "[email protected]" -F "purpose=finetune" curl -X POST -H "Authorization: Bearer $TINKER_KEY" -F "[email protected]" -F "purpose=eval" curl -X POST -H "Authorization: Bearer $TINKER_KEY" -H "Content-Type: application/json" -d '{
"base_model": "tinker-medium-1",
"dataset_id": "ds_train",
"eval_dataset_id": "ds_eval",
"epochs": 4,
"learning_rate": 2e-5,
"suffix": "email-summarizer-v1"
}'
curl -N -H "Authorization: Bearer $TINKER_KEY"
- ফাইন-টিউন করা মডেলটি ব্যবহার করুন
curl -X POST -H "Authorization: Bearer $TINKER_KEY" -H "Content-Type: application/json" -d '{
"model": "ft:tinker-medium-1:email-summarizer-v1:xyz",
"prompt": "দুটি বুলেট পয়েন্টে নিম্নলিখিত ইমেলটি সংক্ষিপ্ত করুন, বন্ধুত্বপূর্ণ সুরে:\n\n[PASTE EMAIL]",
"max_tokens": 160,
"temperature": 0.4
}'
বাস্তব জীবনের পরিস্থিতি: কী ঘটে যখন…
- আপনি আপনার সাপোর্ট ম্যাক্রোগুলিতে ফাইন-টিউন করেন
- হঠাৎ, আপনার AI আপনার এজেন্টরা যে কাঠামো ব্যবহার করে সেই একই কাঠামোতে উত্তর দেয়: ক্ষমা চাওয়া, পদক্ষেপ, ফলো-আপ। CSAT প্রায়শই বৃদ্ধি পায় কারণ লোকেরা চমকের চেয়ে ধারাবাহিকতা বেশি পছন্দ করে।
- আপনি আপনার ব্র্যান্ডের কণ্ঠে ফাইন-টিউন করেন
- মডেলটি আপনার "আমরা সহায়ক তবে আঁকড়ে থাকি না" শৈলীতে পেরেক ঠোকে। এটি ১৭-বিস্ময়বোধক-চিহ্নিত উত্সাহ এড়িয়ে যায়। বিপণন আরও ভাল ঘুমায়।
- আপনি কোড পরামর্শের জন্য ফাইন-টিউন করেন
- টাস্কের বিবরণ এবং আদর্শ কোড স্নিপেটের জোড়া অন্তর্ভুক্ত করুন। উদাহরণ সংক্ষিপ্ত এবং ফোকাস রাখুন; গোলমেলে কোড গোলমেলে সমাপ্তির দিকে পরিচালিত করে।
- আপনি শ্রেণিবদ্ধকরণের জন্য ফাইন-টিউন করেন
- হ্যাঁ, আপনি পারেন। লেবেলযুক্ত উদাহরণ সরবরাহ করুন এবং সংক্ষিপ্ত প্রম্পট দিয়ে মডেলটি কল করুন। কঠোর লেবেলের জন্য, তাপমাত্রা শূন্যে সেট করুন।
সুরক্ষা প্রথম, শেষ এবং সর্বদা
যদি আপনার ব্যবহারের ক্ষেত্রটি নিয়ন্ত্রিত বা সংবেদনশীল ক্ষেত্রগুলিকে স্পর্শ করে, তবে আপনার সিস্টেম প্রম্পট এবং আপনার প্রশিক্ষণ ডেটাতে উজ্জ্বল লাইন টানুন। এমন উদাহরণ যুক্ত করুন যা সুন্দরভাবে প্রত্যাখ্যান প্রদর্শন করে। আউটপুট লগ করুন এবং ব্যবহারকারীদের সমস্যাগুলি জানাতে দিন। ফাইন-টিউন করা মডেলগুলি আত্মবিশ্বাসী হতে পারে—তাদের আত্মবিশ্বাসের সাথে সতর্ক হওয়ার জন্য প্রশিক্ষণ দিন।
কোথায় Sider.AI ফিট করে (এবং কোথায় করে না)
এখানে একটি বিস্ময়: Tinker API কীভাবে ব্যবহার করতে হয় তা বের করার সময় Sider.AI একটি দুর্দান্ত সঙ্গী হতে পারে। এটি একজন সতর্ক সহ-পাইলটের মতো যে অভিযোগ না করে ডক্স পড়ে। আপনি আপনার বিদ্যমান ইমেল বা জ্ঞান বেস ব্রাউজ করার সময় Sider-এর সাইডবারে ডেটা সেট উদাহরণ ড্রাফট করতে পারেন, তারপরে পরিষ্কার, সামঞ্জস্যপূর্ণ JSONL এক্সপোর্ট করতে পারেন। এটি আপনার জন্য প্রশিক্ষণের কাজটি চালাবে না—এটি Tinker-এর কাজ—তবে আপনার উদাহরণগুলি ড্রাফট, রিফ্যাক্টর এবং QA করার জন্য এটি দারুণভাবে ব্যবহারিক। এটিকে জিজ্ঞাসা করার চেষ্টা করুন, "একটি শান্ত, সরল-ইংরেজি সমর্থন কণ্ঠে এই উত্তরটি দুটি বাক্যে পুনরায় লিখুন," এবং দেখুন আপনার ডেটা সেটের গুণমান লাফিয়ে উঠছে। আমি চাই কেউ আমাকে বলুক এমন কিছু সমস্যা
- আরও ডেটা সর্বদা ভাল নয়—আরও প্রতিনিধিত্বমূলক ডেটা হল।
- স্বরকে অতিরিক্ত ফিট করবেন না। কয়েকটি ওয়াইল্ডকার্ড উদাহরণ রাখুন যাতে ব্যবহারকারীরা সৃজনশীল হলে মডেলটি অপ্রত্যাশিতভাবে কাজ করতে পারে।
- সবকিছুর সংস্করণ করুন: ডেটা সেট v1.1, মডেল v1.2, প্রম্পট টেমপ্লেট v3.0। ভবিষ্যতের আপনি আপনাকে একটি ধন্যবাদ মাফিন পাঠাবেন।
- একটি রোলব্যাক বোতাম রাখুন। যদি একটি নতুন ফাইন-টিউন লাইনচ্যুত হয়ে যায় তবে দ্রুত আগের মডেলটি পুনরায় স্থাপন করুন।
- বাস্তব ব্যবহারকারীর প্রম্পট দিয়ে মূল্যায়ন করুন, কেবল আপনার সুন্দরতম উদাহরণ দিয়ে নয়। ব্যবহারকারীরা বিশৃঙ্খলার কবি।
শেষ একটি জিনিস…
Tinker API-এর মাধ্যমে ফাইন-টিউনিং Skynet তৈরি করার বিষয়ে নয়। এটি রুক্ষ প্রান্তগুলি কেটে ফেলার বিষয়ে যাতে আপনার AI আপনার দলের অংশ মনে হয়। ছোট করে শুরু করুন, নির্দয়ভাবে পরিমাপ করুন এবং স্বীকার করতে ভয় পাবেন না যখন একটি সরল কৌশল (যেমন আরও ভাল প্রম্পট) কাজটি করে।
কারণ যখন আপনার AI অবশেষে আপনার মতো উত্তর দেয়? এটি কেবল দক্ষতা নয়। এটি হলো সুস্থতা।
চিট শীট
- আপনার নিজস্ব AI মডেলকে ফাইন-টিউন করার জন্য Tinker API কীভাবে ব্যবহার করবেন: পরিষ্কার, সামঞ্জস্যপূর্ণ JSONL জোড়া প্রস্তুত করুন; আপলোড করুন; উপযুক্ত ডিফল্ট সহ একটি ফাইন-টিউন শুরু করুন; মানুষ এবং মেট্রিক দিয়ে মূল্যায়ন করুন; স্থাপন এবং পুনরাবৃত্তি করুন।
- শৈলী এবং স্থিতিশীল প্যাটার্নের জন্য ফাইন-টিউনিং ব্যবহার করুন; নতুন তথ্যের জন্য পুনরুদ্ধার ব্যবহার করুন।
- ছোট প্রম্পট, ছোট মডেল এবং রুটিংয়ের মাধ্যমে খরচ নিয়ন্ত্রণ করুন।
- আপনার ডেটা সেটের একটি সুস্পষ্ট অংশ হিসাবে সুরক্ষা তৈরি করুন।
- Sider.AI-এর মতো সরঞ্জামগুলিকে "প্রশিক্ষণ" হিট করার আগে আরও ভাল উদাহরণ তৈরি করতে সহায়তা করুন।
FAQ
Q1:Tinker API-এর মাধ্যমে আমার নিজের AI মডেলকে ফাইন-টিউন করার জন্য আমি কীভাবে ডেটা প্রস্তুত করব?
স্পষ্ট নির্দেশাবলী-প্রতিক্রিয়া বা চ্যাট-শৈলীর জোড়া সহ JSONL ব্যবহার করুন। স্বরকে সামঞ্জস্যপূর্ণ রাখুন, সংবেদনশীল তথ্য বেনামী করুন এবং পরীক্ষার জন্য ১০–২০% রাখুন যাতে আপনি স্ফীত স্কোর দিয়ে নিজেকে বোকা না বানান।
প্রশ্ন ২: টিঙ্কার API-এর সাথে ফাইন-টিউনিং কি প্রম্পট ইঞ্জিনিয়ারিং-এর চেয়ে ভালো?
দ্রুত টোন পরিবর্তন এবং সাধারণ আচরণের জন্য প্রম্পট ব্যবহার করুন; যখন আপনার টেকসই শৈলী, গঠন বা ডোমেইন প্যাটার্নের প্রয়োজন হয় তখন ফাইন-টিউনিং ব্যবহার করুন। অনেক দল উভয়ই একত্রিত করে— তথ্যের জন্য RAG, কণ্ঠের জন্য ফাইন- টিউন।
প্রশ্ন ৩: টিঙ্কার API-এর সাথে একটি মডেলকে ফাইন- টিউন করার জন্য আমার কত ডেটা দরকার?
পরিমাণ থেকে গুণমান ভালো। কয়েকশ শক্তিশালী উদাহরণ হাজার হাজার ত্রুটিপূর্ণ উদাহরণকে ছাড়িয়ে যেতে পারে। ছোট করে শুরু করুন, মূল্যায়ন করুন, তারপর যেখানে মডেলটি দুর্বল, সেখানে লক্ষ্যযুক্ত উদাহরণ যোগ করুন।
প্রশ্ন ৪: টিঙ্কার API-তে আমি কিভাবে একটি ফাইন- টিউন করা মডেল স্থাপন করব?
প্রশিক্ষণের পর, টিঙ্কার একটি মডেল আইডি ফেরত দেয় যা আপনি স্ট্যান্ডার্ড সমাপ্তি বা চ্যাট এন্ডপয়েন্টের মাধ্যমে কল করতে পারেন। একটি সহায়ক সিস্টেম প্রম্পট সেট করুন, তাপমাত্রা টিউন করুন এবং বাস্তব ট্র্যাফিকের আউটপুট নিরীক্ষণ করুন।
প্রশ্ন ৫: আমি কিভাবে আমার ফাইন- টিউন করা মডেলটিকে ভুল তথ্য দেওয়া থেকে আটকাতে পারি?
উদাহরণগুলির সাথে প্রশিক্ষণ দিন যা অনিশ্চয়তা স্বীকার করে, তাপমাত্রা কমিয়ে দিন এবং তথ্যের জন্য পুনরুদ্ধারের সাথে যুক্ত করুন। নির্দেশের অংশ হিসেবে “উৎস উল্লেখ করুন” বা “বলুন আপনি জানেন না” এবং প্রশিক্ষণ ডেটাতে যোগ করুন।