আজকাল কৃত্রিম বুদ্ধিমত্তার যুগ, এবং কৃবু কৃপায় শুধু যে নানান রকমের রকমারি তথ্য জানা যাচ্ছে তাই নয়, আমরা সহজে গল্প লিখত পারি, কম্পিউটারকে দিয়ে ছবি আঁকিয়ে নিতে পারি, গান লেখাতে পারি, এরকম নানান রকমের কাজ কর্ম করা যেতে পারে য়ে ব্যাপারগুলো সত্যি বলতে কী, পাঁচ বছর আগেও কেউ বাস্তব বলে মনে করতে পারত না, এখানে কেউ বলতে আমি আমার আপনার মতন সাধারণ মানুষের কথা বলছি, অসাধারণ মানুষেরা বরাবর নানারকম ব্যাপার স্যাপার আবিষ্কার করেন, তাঁদের কথা আলাদা রকম।
এখন এই যে কৃবু মহারাজ এতসব কাজ করতে সক্ষম, তার একটি নাম আছে, ইংরিজিতে তাকে বলা হয় জেনারেটিভ pre trained model। এ কথাতে বলা হচ্ছে যে কম্পিউটারকে নির্দেশ দিলে সে generate করতে পারবে, অর্থাৎ আপনার হুকুম মত ছবি আঁকতে পারবে, গল্প লিখতে পারবে আপনার ফরমায়েশ মত এ সব কাজ সে করতে পারবে । আপনি ভাবতে পারেন এ কাজ কম্পিউটার করে কী করে । তার রহস্য কিঞ্চিৎ জটিল কারণ আন্তর্জালের উপস্থিতির কারণে কম্পিউটারের কাছে সমগ্র জগতের যাবতীয় তথ্য নাগালের মধ্যে রয়েছে, সে নানান তথ্য, বাক্য, শব্দ, ছবির অংশবিশেষ যন্ত্রের মাধ্যমে অনুধাবন করে এক বা একাধিক প্যাটার্ন আবিষ্কার করে, আর তারপর তাদের ভিত্তিতে নানান রকমের নতুন নতুন প্যাটার্ন সাজিয়ে ফেলতে সে পটু। এই ব্যাপারগুলো বলা হয় large language model এবং এই যে সে নতুন প্যাটার্ন বার করতে সক্ষম তার নাম দেয়া হয়েছে জেনারেটিভ এ আই । এরকম বেশ কিছু generative AI আছে, সকলের তালিকা লিখতে গেলে দীর্ঘ হয়ে যাবে, আমরা বরং এই লেখাটির কথা বিবেচনা করে শুধু chatGPT নাম দিয়ে একটির কথা বলব।
মনে করুন আপনি chatGPT এর সঙ্গে কথা চালাচালী করে আলাপ আলোচনা করে কোন একটি বিষয় সম্বন্ধে জানতে চান। তার জন্য আপনাকে chatGPT ওয়েবসাইটে যেতে হবে, বা আপনি যদি মোবাইল ফোন ব্যবহার করেন তাহলে আপনার মোবাইলে chatGPT App ইনস্টল করে নিন । না ইনস্টল করে নীচের সাইটে গিয়েও কাজ করতে পারেন:
আপনি একাউন্ট খুলে কাজ করতে পারেন, না খুলেও কাজ করতে পারেন, আপনার ইচ্ছা।
এখন chatGPT এর সঙ্গে বা একে আপনাকে সূত্র ধরিয়ে দিতে হবে বা নির্দেশিকা দিতে হবে, তবে সে কাজ করবে। এই য়ে সূত্র ধরিয়ে দেওয়া বা নির্দেশ দেয়া, এর ইংরেজি নাম প্রম্প্ট ইঞ্জিনিয়ারিং -- অর্থাৎ, কাঙ্ক্ষিত ফলাফল পাওয়ার জন্য আপনি ঠিক কী ধরনের নির্দেশিকা বা ইংরেজি ভাষায় "ইনপুট" দেবেন, তার নীতি ও প্রয়োগ। chatGPT , যাকে বলে, "আপনি যা চান আমি ঠিক তাই " গোছের ব্যাপার, কিন্তু আপনি কী চান, আর আপনি যা চান সেইট যন্ত্রকে কী করে বোঝাবেন, তার ওপর, — এর ব্যবহারযোগ্যতায় গুরুত্বপূর্ণ ভূমিকা রযেছে । যেমন লিখলাম, নানান রকমের এ আই আছে, তাদের প্রায় সকলের ক্ষেত্রেই এই ব্যাপারগুলো প্রযোজ্য, যদিও এই লেখায় আমি সীমাবদ্ধ থাকবো শুধুমাত্র চ্যাট-ভিত্তিক
জেনারেটিভ প্রি-ট্রেইন্ড মডেলে, যেমন: OpenAI-এর ChatGPT, Claude.ai, Google Gemini, যেগুলো আপনার সঙ্গে সরাসরি কথা চলছলি করবে (চ্যাট)। এছাড়াও আরও অনেক রকমের ব্যাপার আছে, যেমন, যেখানে আমরা API (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস) ব্যবহারের মাধ্যমে এজেন্টদের সাথে যোগাযোগ করতে পারি, সে কাজ যারা প্রোগ্রামিং করেন তাদের ক্ষেত্রে প্রযোজ্য (আপনিও করতে পারেন, আপাতত এই লেখাটিতে তাদের নিয়ে লিখছি না )।
উদাহরণ দিয়ে শুরু করা যাক মনে করুণ আপনি মধুমেহ রোগ সম্বন্ধে জানতে চান। আজকাল চারপাশের বহু মানুষকে মধুমেহ বা ডায়বিটিস রোগে ভুগতে দেখা যায়। নানা রকমের ডায়বিটিস রোগের কথা আপনি শুনেছেন, এর মধ্যে আপনার ইচ্ছে হয়েছে দ্বিতীয় প্রকার যাকে বলে টাইপ টু ডায়বিটিস তাই নিয়ে chatGPT বাবুর সঙ্গে কিঞ্চিৎ আলাপ আলোচনা করার মাধ্যমে জ্ঞান আহরণ করার । তা আপনি জানতে চাইছেন বিভিন্ন দেশের মানুষের মধ্যে টাইপ ২ ডায়াবেটিসের প্রকোপ, ইত্যাদি নিয়ে জানা, আর একটি সুপ্ত ইচ্ছে যে আপনি ওই বিষয় নিয়ে একটি নাটক বা গল্প লিখবেন। বেশ কথা। আমরা chatGPT ব্যবহার করে দেখি কী করা যায় । এই হচ্ছে আমাদের প্রম্প্ট ইঞ্জিনিয়ারিং এর প্রথম পাঠ।
প্রম্পট ইঞ্জিনিয়ারিং ব্যাপারটি হচ্ছে (আমাদের ক্ষেত্রে) বাংলা ভাষায় আলাপ আলোচনা করা। দেখবেন যে এ একধরনের বিজ্ঞানের ও শিল্পের এক মিশ্রণ—অনেকটা google এ তথ্য খোঁজার প্রক্রিয়ার মত।
শূন্য থেকে শুরু: জিরো শট প্রম্প্ট
আমরা ডায়াবেটিসের প্রাদুর্ভাব নিয়ে অনুসন্ধান শুরু করব। আমরা দেখতে চাই এ বিষয়ে chatGPT কী জানে। আমরা কোন উদাহরণ বা কোন কিছু বিশদ ভাবে বর্ণনা করব না, শুধু ডায়াবেটিস এর নাম দিয়ে আর প্রাদুর্ভাব কথাটা (ইংরিজিতে prevalence বলে) দিয়ে জিজ্ঞাসা করে দেখব । এই যে কোন রকম কিছু আর বর্ণনা করলাম না, একে আমরা বলতে পারি শূন্য থেকে শুরু, এর ইংরেজি কেতাবি নাম জিরো শট প্রম্প্ট ।
এই ধরনের প্রম্পটকে আপনি প্রশ্নের (query) মতো ভাবতে পারেন, তবে প্রম্পট এবং ডেটাবেসে তথ্য অনুসন্ধানে ব্যবহৃত প্রশ্নের মধ্যে কিছু পার্থক্য আছে। আমরা যে কথাটি লিখে chatGPT কে সন্ধান করতে বলেছি সেটি আকারে ইঙ্গিতে প্রশ্ন হলেও আসলে chatGPT সেটিকে প্রশ্ন হিসেবে বিবেচনা করে না।
এর মানে কী?
উদাহরণস্বরূপ, আমরা ধরুন chatGPT ব্যবহার না করে, একটি সাধারণ চিকিৎসা-তথ্য অনুসন্ধান সাইট যেমন PubMed (
https://pubmed.gov) ব্যবহার করে জানতে চাই বিভিন্ন দেশে প্রাপ্তবয়স্কদের মধ্যে টাইপ ২ ডায়াবেটিসের প্রাদুর্ভাব কীরকম। সেক্ষেত্রে আমি প্রথমেই একটি নির্দিষ্ট তারিখের সীমা নির্ধারণ করলাম ধরুন, আমি ১ জানুয়ারি ২০১৪ থেকে ৩১ ডিসেম্বর ২০২৪ পর্যন্ত দশ বছরের তথ্য অনুসন্ধান করতে চাই। এরপর আমি কিছু নির্দিষ্ট অনুসন্ধান শব্দ ব্যবহার করবো, যেমন — “prevalence”, “Type 2 Diabetes” — এবং আমরা আরও বলব যে, আমরা সেই গবেষণাপত্রগুলো খুঁজতে চাই, যেগুলোর শিরোনাম বা সারাংশে (abstract) এই শব্দগুলো রয়েছে। এরকম করে ধাপে ধাপে আমরা অনুসন্ধান বা প্রশ্ন গঠন করবো। এই প্রক্রিয়ার মাধ্যমে আমরা নানান লিঙ্ক এবং গবেষণাপত্রের একটি তালিকা পাবো, যেগুলো আমরা সংগ্রহ করে পড়বো এবং সেখান থেকে প্রাসঙ্গিক তথ্য বের করবো।
chatGPT তে আমরা যে কাজটা করছি সেটি কিন্তু অমন নয় ।
আমরা যখন ChatGPT ব্যবহার করি, তখন আমরা কিন্তু শুধু তথ্য খুঁজে বের করেই সন্তুষ্ট হই না, তার চেয়ে আরও বেশি কিছু চাই। আমরা চাই, আমরা যেসব উৎস থেকে তথ্য চাইছি, সেখান থেকে নির্দিষ্ট তথ্যের সারাংশ বা সুসংগঠিত টেবিল আকারে তা আমাকে দেওয়া হোক। সেইট হচ্ছে generative এ আই এর generative কারিগরি।
এবার যেকোনো GPT মডেল অজস্র তথ্যের ভিত্তিতে প্রশিক্ষিত হয়। এবং এসব ক্ষেত্রে যা হয়, মডেল টিকে আপনি যে কথাগুলো লিখলেন সে চেষ্টা করে সেই শব্দ বা বাক্যগুলোর ওপর ভিত্তি করে পরবর্তী শব্দ বা বাক্য কী হতে পারে বা কীভাবে একে "শূন্যস্থান পূর্ণ করবে" । আপনি যেই লিখলেন "১৮ বছর বয়েসী বা তার থেকে বয়েসে বড় মানুষের মধ্যে ডায়বেটিসের প্রাদুর্ভাব:", chatGPT জানে যে এর পরবর্তী কথা হবে 'নির্ণয়" বা "কত?" বা ওইজাতীয় কিছু একটি বাক্য । এই ব্যাপারটি ভেবে দেখুন।
বেশির ভাগ সময় দেখবেন যারা প্রথম প্রথম chatGPT ব্যবহার করছেন তাঁরা চমৎকৃত হয়ে যান যে chatGPT bojhe কী করে যে আমি কী জানতে চাই । সেটি যেমন বেশ ভালো দিক, যে chatGPT ব্যবহার করতে হলে একটা ছোট কথা লিখে দিলেই সে বেশ আন্দাজ করে বাকি তথ্য দিয়ে দেবে, তার কয়েকটি গন্ডগোলের ব্যাপারও আছে। যেমন, chatGPT জানে না আপনি আসলে কী জানতে চাইছেন। সে শব্দ জুড়ে জুড়ে স্থির করেছে যে আপনি রোগের প্রাদুর্ভাব জানতে চাইছেন। এখন সহজ প্রশ্নের ক্ষেত্রে এক রকম, আবার কঠিন প্রশ্নের ক্ষেত্রে GPT প্রায়ই গণ্ডগোল করে ফেলে, বিশেষ করে তার কাছে যদি এমন তথ্য থাকে যাতে এক রকম উত্তর দেয় যেতে পারে কিন্তু সে উত্তর এই প্রশ্নের উত্তর নয় । ভুল উত্তর। যার জন্য আপনি যদি chatGPT ব্যবহার করার সময় শুধুই zero-shot prompt দেন, তাহলে উত্তর কিন্তু খুঁটিয়ে দেখে নেবেন, নাহলে GPT মাঝেমধ্যেই ভুলভাল উত্তর দেবে । একে ধরনের ভুল হয়, তার নাম কৃবুর মায়া বা AI Hallucination।
তার মানে আপনি যত স্পষ্টভাবে এবং যত বিশদভাবে আপনার প্রশ্ন করতে পারবেন, তত chatGPT ও স্পষ্ট ও নির্ভুল ভাবে আপনাকে উত্তর দিতে পারবে ।
One-shot বা Few-shot প্রম্পট
এবার আমরা আরেকটু এগোই। আমরা আগের বার জিপিটিকে জিজ্ঞাসা করেছিলাম ডায়বেটিসের প্রাদুর্ভাব কত, সে তার উত্তর দিয়েছে, কিন্তু আমি মনে করুণ জানতে চাইছিলাম যে "মহামরিবিদ্যা" (এপিডেমিয়োলজি) তার চোখ দিয়ে বিচার করলে ডায়বিটিস সম্বন্ধে আমরা কী জানতে পারি তা যেন সে আমাদের সাধারণ মানুষের ভাষায় জানায় ।
কড়া প্রশ্ন, কাজেই এই প্রশ্ন করতে গেলে আপনি একে মহামরিবিদ্যা কী তা নিয়ে এক লাইন লিখলেন যে মহামরিবিদ্যা যে কোন অসুখ সমাজে কতটা ছড়িয়েছে ও কী কী কারণে ছড়াতে পারে তাই নিয়ে যে বিদ্যা সেই বিষয়ের চর্চা, এই সব লিখে ধরুন বললেন যে এইভাবে লিখলে লিখতে হবে ডায়বিটিস কত ও কি কারণে হয় ইত্যাদি। ধরুন আপনি নিম্নলিখিত প্রম্প্ট টি লিখলেন:
"মহামরিবিদ্যা হল যেকোন অসুখে সমাজে কতটা প্রবল এবং কী কারণে হয়েছে ও কী কী করলে উপকার হবে তার চর্চা। এই টি জেনেই আমাদের বলুন ভারতে ডায়বিটিসের মহামারী সম্বন্ধে কী জানা আছে"
এই যে আপনি একটি উদাহরণ দিলেন, তারপর বিশদ ব্যাখ্যা করলেন, এই ব্যাপারটিকে কেতাবি ভাষায় বলে "one-shot প্রম্প্ট", এর অর্থ আপনি একটি মাত্র উদাহরণ দিয়ে তথ্য জানতে চাইছেন । একটা ব্যাপার লক্ষ করুন, এই যে আপনি এখন আরো বিশদ, এতে করে chatGPT "আপনি যা চান আমি ঠিক তাই" গোছের উত্তর হাজির করবে ।
অর্থাৎ, আপনি যদি কোন বিষয় মোটামুটি ওপর ওপর জানতে চান, তাহলে একটা চলনসই জিরো শট প্রম্প্ট দিলে chatGPT আপনাকে উত্তর দিয়ে দেবে ঠিক ই, কিন্তু সে উত্তর অতি যাকে বলে "ওপর ওপর" লঘু গোছের উত্তর । তাতে আপনার কাজ চলে যাবে হয়তো, হয়তো নয় । কিন্তু আপনি যদি আরেকটু বিশদ ভাবে বা আরেকটু ব্যক্তিগত ভাবে উত্তর চান, তাহলে আপনাকে chatGPT কে কিছুটা শেখাতে হবে, এবং এখানেই one-shot বা few-shot গোছের প্রম্পটার প্রয়োজন। ওয়ান শট মানে একটি উদাহরণ, একের বেশি হলে আরো ভালো, যার জন্য few shot নাম দেয়া হয়েছে ।
Chain of Thought Prompt - চিন্তা প্রবাহের সূত্রধরানো
তো গল্পটা যখন থেকে শুরু করেছিলাম। আপনি মনে করুন chatGPT কে দিয়ে একটি নাটক লেখাতে চান, যেখানে ডাক্তার আর ডায়বিটিস রোগীর মধ্যে কথোপকথন হবে, আর কথোপকথন শেষ হবে ডাক্তার হাল আমলের চিকিৎসা বা কিসে উপকার হবে তার রূপরেখা তৈরি করে দেবেন। এখন আপনি ডায়বিটিস সম্বন্ধে কিছুই সেরকম জানেন না, বা কিসে উপকার হবে সে সম্বন্ধেও কোন ধারণা নেই, তথাপি আপনি chatGPT এর সাহায্যে অমন একটি নাটক লিখতে উৎসাহী।
তাই যদি হয়, তখন দেখুন আপনার উদ্দেশ্য দুরকমের:
১) আপনি chatGPT এর সাহায্যে জানতে চান কিসে ডায়বিটিস রুগীর উপকার হবে
২) এই য়ে কিসে উপকার হবে তার একটি তালিকা প্রস্তুত করে chatGPT আপনাকে একটি নাটক লিখে দেবে, নাটকটি সংক্ষিপ্ত হওয়া চাই, এবং নাটকটিতে জনৈক ডাক্তার এবং রুগীর কথোপকথন হওয়া চাই ।
তার মানে ১) ---> ২) এরা যেন একেকটি শৃঙ্খলে আবদ্ধ ।
তা এটা একটি উদাহরণ, এরকম আপনি আরো অনেক উদাহরণের কথা ভাবতে পারেন, তাদের সকলেরই এই এক গল্প, অনেকটা কথোপকথন এর মাধ্যমে আপনি ও chatGPT একটি মেলবন্ধনে জড়িয়ে পড়লেন, এবং এর ফলশ্রুতিতে আপনি পেলেন একটি চমৎকার নাটিকা । গল্প ও হতে পারতো । কিন্তু সে যাই হোক, আপনি অল্প অল্প করে একেক কিস্তিতে chatGPT কে ব্যবহার করলেন, আপনি এক চিন্তা থেকে আরেক চিন্তায় উপনীত হলেন, এবং সেই চিন্তা তরঙ্গের সূত্র ধরা রইল chatGPT তে ।
এই ব্যাপারটিকে chain of thought prompt বলা যেতে পারে, এবং পরতে পরতে একটু একটু করে অনেকটা গল্প করার মতো করে আপনি chatGPT ব্যবহার করতে থাকলেন। পুরো গল্পটা একেবারে না দিয়ে গল্পটির বিভিন্ন দিক একটু একটু করে উন্মোচিত হল।
উপসংহার
তো chatGPT ব্যবহার করা বিশেষ করে প্রম্প্ট নিয়ে অনেক কিছু লেখা যেতে পারে, তবে এই তিনটি উপায় অবলম্বন করে দেখতে পারেন। খুব বিশদে কিছু না জানতে চাইলে zero-shot prompt বা কোন উদাহরণ না দিয়ে স্রেফ আপনার প্রশ্ন করুন, তাতে chatGPT বলুন বা Google, বিশেষ তফাৎ হবে না। বিশেষ করে আজকাল দেখবেন
perplexity ai নাম দিয়ে একটি সার্চ ইঞ্জিন বেরিয়েছে, তাতে এই ধরনের তথ্য খোঁজার কাজ দিব্য চলে যায়। আবার যেখানে আপনার ইছা chatGPT কে দিয়ে নতুন কিছু আইডিয়া বার করানোর বা গল্পের বা প্রবন্ধের খসড়া লিখিয়ে নেবার, তখন একটু বিস্তারিত ভাবে few-shot prompt বা chain of thought prompt ব্যবহার করে দেখলে দেখবেন সুবিধে হবে ।
আপাতত এই লেখাটিতে এইটুকুই থাক। পরবর্তী লেখাটিতে আরেকটু বিস্তারিত ভাবে আলোচনা করা যাবে।