কিভাবে কাজ করে?কৃত্রিম বুদ্ধিমত্তা

ChatGPT আসলে কিভাবে কাজ করে? মেকানিজমটা কি?

Share
Share

কিভাবে এতো দ্রুত আপনার সব প্রশ্নের উত্তর গুছিয়ে উপস্থাপন করে?

আমরা তো দৈনন্দিন প্রতিটি কাজেই এখন AI ব্যবহার করি। বিভিন্ন সমস্যার সমাধানও AI আপনাকে করে দিচ্ছে। কখনো কি চিন্তা করেছেন, কীভাবে AI আপনার সমস্যার সমাধান করছে? এর ভেতরের আসল মেকানিজমটা আসলে কী?

ধরুন, আপনি একদিন বিকেলে মোবাইল হাতে নিয়ে বসে আছেন। হঠাৎ মনে প্রশ্ন জাগল, খুবই সাধারণ একটা প্রশ্ন। আপনি ChatGPT খুললেন, লিখলেন – “বাংলাদেশের রাজধানী কী?”

আর তারপর… এক, দুই, তিন সেকেন্ড।

উত্তর চলে এলো – “ঢাকা।”

কিন্তু, কিন্তু, কিন্তু … এবার একটু থামুন!

এই কয়েক সেকেন্ডে আসলে কী ঘটল?

ChatGPT কি সত্যিই জানে যে ঢাকা আমাদের রাজধানী, মানুষের মতো করে? নাকি তার মাথার ভেতরে থাকা কোনো মোটা বই খুলে উত্তরটা খুঁজে বের করল?

নাকি সম্পূর্ণ অন্য কিছু একটা ঘটল, যা আমরা কল্পনাও করিনি?

চলুন, আজ আমরা এই একটামাত্র প্রশ্নকে সঙ্গে নিয়ে পুরো যাত্রাটা ঘুরে আসি।

একটু থামুন। এক মুহূর্ত ভাবুন, আর মনে মনে একটা আন্দাজ করে রাখুন। শেষে মিলিয়ে দেখবেন, ঠিক ছিল কিনা।

ChatGPT কি সত্যিই আপনার লেখা “পড়ে”?

অনেকেই ভাবেন, “আমি তো বাংলায় লিখলাম, নিশ্চয়ই ChatGPT মানুষের মতো বাংলা বাক্যটা পড়ে বুঝে ফেলল।”

সত্যি বলতে, ব্যাপারটা এভাবে ঘটেই না।

একটু কল্পনা করুন। আপনার হাতে একটা লম্বা লেগো (Lego) বিল্ডিং আছে। পুরো বিল্ডিংটা একসাথে ধরে রাখা বেশ কঠিন, তাই না? কিন্তু সেটাকে যদি ছোট ছোট ব্লকে ভেঙে ফেলেন, তাহলে প্রতিটা ব্লক নিয়ে আলাদা করে কাজ করা অনেক সহজ হয়ে যায়।

ChatGPT ঠিক এই কাজটাই করে আপনার লেখার সঙ্গে। “বাংলাদেশের রাজধানী কী?” – এই বাক্যটাকে সে প্রথমেই ছোট ছোট টুকরায় ভেঙে ফেলে। এই টুকরোগুলোকে বলে Token (টোকেন)। আর এই ভাঙার প্রক্রিয়াটার নাম Tokenization

টোকেনই মূল কারিগর

এবার একটা মজার তথ্য দেই – একটা টোকেন সবসময় গোটা একটা শব্দ হয় না।

একটা টোকেন হতে পারে:

  • একটা পুরো শব্দ
  • একটা শব্দের অর্ধেক অংশ
  • একটা যতিচিহ্ন (যেমন কমা বা প্রশ্নবোধক চিহ্ন)
  • অথবা লেখার ছোট কোনো টুকরা

আমাদের প্রশ্নটাও – “বাংলাদেশের রাজধানী কী?” – এভাবেই কয়েকটা টোকেনে ভেঙে যায়, যেমন: বাংলাদেশ, -এর, রাজধানী, কী, ?

মানে কী দাঁড়ালো? ChatGPT আপনার প্রশ্নটাকে প্রথমেই “মানুষের ভাষা” হিসেবে দেখে না। বরং সেটাকে ছোট ছোট টুকরোতে ভেঙে একটা গাণিতিক রূপে নিয়ে যাওয়ার পথে হাঁটা শুরু করে।

সহজ কথায় – ভাষা এখানে ধীরে ধীরে গণিতে বদলে যাচ্ছে।

এরপর আসে সংখ্যা

এবার একটা মজার প্রশ্ন। কম্পিউটার তো আর বাংলা, ইংরেজি বোঝে না। সে বোঝে শুধু একটা জিনিস – সংখ্যা।

তাই প্রতিটা টোকেনকে একগুচ্ছ সংখ্যায় বদলে ফেলা হয়। এই পদ্ধতিটার নাম Embedding

কঠিন লাগছে? সহজ করে ভাবুন।

একটা বিশাল ম্যাপ কল্পনা করুন। এটা পৃথিবীর ম্যাপ নয়। এটা হলো অর্থের ম্যাপ। এই ম্যাপে যেসব শব্দের অর্থ বা সম্পর্ক কাছাকাছি, তারা অনেকটা কাছাকাছি অবস্থান করে। যেমন –

  • রাজা রানি
  • ঢাকা বাংলাদেশ
  • গাছ পাতা

লক্ষ করুন, “ঢাকা” আর “বাংলাদেশ” এই ম্যাপে একদম কাছাকাছি বসে আছে – কারণ এই দুটো শব্দ প্রায়ই একসঙ্গে ব্যবহৃত হয়, এবং তাদের মধ্যে একটা শক্ত সম্পর্ক আছে। এই সম্পর্কটাই পরে কাজে লাগবে, একটু পরেই দেখবেন।

এখন কম্পিউটার তার পরিচিত জগতে ফিরে এসেছে —

ভাষা → সংখ্যা → গণিত

আমরা শব্দ নিয়ে ভাবছি, আর কম্পিউটার সেই শব্দের সংখ্যার রূপ নিয়ে হিসাব করছে।

কিন্তু শুধু শব্দ চিনলেই তো ভাষা বোঝা যায় না

এবার একটা মজার সমস্যায় পড়া যাক (এইটুকু একটু পাশের গল্প, তবে জরুরি একটা ধারণা বোঝার জন্য) ।

ধরুন কেউ বলল – “আমি ব্যাংকে গেলাম।”

এখানে “ব্যাংক” বলতে কী বোঝানো হচ্ছে? সহজেই বুঝতে পারছেন – টাকা রাখার প্রতিষ্ঠান।

কিন্তু যদি বলা হয় – “আমি নদীর ব্যাংকে বসেছিলাম।”

এবার অর্থটা বদলে গেল। এখানে “ব্যাংক” বলতে বোঝানো হচ্ছে নদীর পাড়

একই শব্দ। কিন্তু অর্থ আলাদা। কেন? কারণ শব্দটি একা নেই — তার আশেপাশে অন্য শব্দও আছে, আর সেই আশেপাশের শব্দই আসল অর্থটা ঠিক করে দেয়।

ভাষার এই প্রসঙ্গ বা আশেপাশের তথ্যকে বলা হয় Context। অর্থাৎ, কোনো শব্দকে বুঝতে হলে শুধু শব্দটাকে দেখলেই হবে না – তার চারপাশে কী আছে, সেটাও দেখতে হবে।

Attention Mechanism

এবার ফিরে আসি আমাদের নিজের প্রশ্নে। ধরুন, একজন শিক্ষক ক্লাসে বললেন —

“রহিম বইটি নিয়ে স্কুলে গেল, কারণ সে পরীক্ষার প্রস্তুতি নিতে চেয়েছিল।”

এখানে “সে” বলতে কাকে বোঝানো হচ্ছে?

আপনি হয়তো এক সেকেন্ডও না ভেবে বলে দেবেন – “রহিমকে!”

কিন্তু কীভাবে বুঝলেন? কারণ আপনার মস্তিষ্ক বাক্যের বিভিন্ন শব্দের মধ্যে সম্পর্ক তৈরি করেছে। “সে” শব্দটির সঙ্গে “রহিম”-এর সম্পর্ক মিলিয়ে আপনি বুঝে ফেলেছেন, “সে” আসলে রহিমকেই বোঝাচ্ছে।

ChatGPT-ও অনেকটা এমন কাজ করে। তবে পার্থক্য হলো, আমরা করি মস্তিষ্ক দিয়ে, আর ChatGPT করে গণনার মাধ্যমে। এই কাজের পদ্ধতির নাম হলো Attention Mechanism

সহজ করে বললে, Attention মডেলকে সাহায্য করে বুঝতে যে একটি বাক্যের কোন অংশের সঙ্গে অন্য কোন অংশের সম্পর্ক বেশি গুরুত্বপূর্ণ।

আমাদের প্রশ্নেও ঠিক এটাই ঘটে। “বাংলাদেশের রাজধানী কী?” – এই বাক্যটা পড়ার সময় ChatGPT বুঝে ফেলে, “রাজধানী” শব্দটার সঙ্গে “বাংলাদেশ” শব্দটার সম্পর্কই এখানে সবচেয়ে গুরুত্বপূর্ণ। ঠিক এই কারণেই আগের সেই “অর্থের ম্যাপ”-এ ঢাকা আর বাংলাদেশ এত কাছাকাছি বসেছিল – মনে আছে তো?

মানুষের কাছে ভাষা বোঝা স্বাভাবিক ব্যাপার। কম্পিউটারের কাছে সেটা একটা বিশাল গণনার কাজ। আর এই গণনার মাধ্যমেই ধীরে ধীরে একটি সাধারণ বাক্য তার কাছে অর্থপূর্ণ হয়ে ওঠে।

এই সব একসাথে চলে যেখানে: Transformer

এতক্ষণে আমরা চারটা ধাপ পার হয়ে এসেছি –

Token → সংখ্যা (Embedding) → Context → Attention

এই চারটা ধাপ একসাথে যে কাঠামোর ভেতরে কাজ করে, তার নাম Transformer

খুব বেশি গণিতে না গিয়ে সহজভাবে বলি, Transformer এই কাজগুলো করে –

  • টোকেনগুলোর একটা প্রতিরূপ তৈরি করে
  • আশেপাশের শব্দ বিবেচনা করে (Context)
  • বিভিন্ন টোকেনের মধ্যে সম্পর্ক বিশ্লেষণ করে (Attention)
  • এরপর অনুমান করে, পরের টোকেনটা কী হতে পারে

এখানে একটা জরুরি কথা মনে রাখা দরকার — ChatGPT কোনো database নয়। ভেতরে কোথাও রেডি করা একটা তথ্যভাণ্ডার বসে নেই, যেখান থেকে সরাসরি “ঢাকা” শব্দটা তুলে আনা হচ্ছে।

বরং প্রশিক্ষণের (training) সময় মডেলটা ভাষা আর তথ্যের নানা প্যাটার্ন সম্পর্কে অসংখ্য গাণিতিক মান শিখে ফেলেছে। এই মানগুলোকে বলে Parameters

Parameters আসলে কী জিনিস?

সহজভাবে বললে – একটা নিউরাল নেটওয়ার্কের (neural network) ভেতরে অগণিত সংখ্যা থাকে, যেগুলো প্রশিক্ষণের সময় ধীরে ধীরে বদলাতে থাকে। এই বদলানো সংখ্যাগুলোই মডেলের “শেখা” জিনিসপত্র।

মনে করুন, একজন ছাত্র হাজার হাজার উদাহরণ দেখে দেখে ধীরে ধীরে বুঝতে শিখছে —

  • কোন শব্দের সঙ্গে কোন শব্দ সাধারণত বসে
  • বাক্য কীভাবে গঠিত হয়
  • প্রশ্নের উত্তর সাধারণত কেমন হয়
  • বিভিন্ন বিষয়ের মধ্যে সম্পর্ক কী

সেই ছাত্র কিন্তু একটা একটা বাক্য মুখস্থ করছে না। বরং প্যাটার্ন ধরতে শিখছে। AI-ও অনেকটা এভাবেই শেখে, শুধু পার্থক্য হলো – এই শেখাটা ঘটে গাণিতিক সমন্বয়ের মাধ্যমে।

কিন্তু ChatGPT এসব শিখল কীভাবে?

চলুন গল্পটা একটু পেছনে নিয়ে যাই।

আপনি প্রশ্ন করার অনেক আগেই ChatGPT-কে বিশাল পরিমাণ লেখা পড়িয়ে শেখানো হয়েছে। এই প্রক্রিয়াকেই বলে Training

এই বিশাল লেখার ভেতরে মডেলটা বহুবার এমন বাক্য দেখেছে –

“বাংলাদেশের রাজধানী হলো ___”

মডেলের কাজ ছিল, ফাঁকা জায়গায় ঠিক পরের শব্দটা অনুমান করা।

প্রথম প্রথম মডেলের অনুমান ভুল হতে পারত। হয়তো ও বলে বসত “আম” বা অন্য কিছু আজব শব্দ! (একটু হাসির ব্যাপার, তাই না?)

কিন্তু তারপর প্রশিক্ষণ প্রক্রিয়া ভুলটা ধরিয়ে দেয়, আর মডেলের ভেতরের সংখ্যাগুলো (parameters) একটু একটু করে ঠিক করে দেওয়া হয়।

এভাবে চলতে থাকে একটা চক্র —

অনুমান → ভুল → সংশোধন → আরও ভালো অনুমান

আর এই চক্রটা লক্ষ লক্ষ, এমনকি কোটি কোটি বার ঘটে – ততক্ষণ পর্যন্ত, যতক্ষণ না মডেল “বাংলাদেশের রাজধানী হলো”-র পরে “ঢাকা” বলাটা প্রায় নিশ্চিতভাবে শিখে ফেলে।

তাহলে কি ChatGPT বই মুখস্থ করে ফেলেছে?

না, ব্যাপারটা মানুষের মুখস্থ করার মতো নয়।

প্রশিক্ষণের মাধ্যমে মডেল পরিসংখ্যানগত (statistical) প্যাটার্ন আর ভাষার নানা রূপ শিখে ফেলে। তাই ChatGPT-এর আসল শক্তি শুধু তথ্যের পরিমাণে নয় – বরং ভাষার প্যাটার্ন আর সম্পর্কগুলো বোঝার আর প্রয়োগ করার ক্ষমতায়।

এবার সব একসাথে মিলিয়ে দেখি — আমাদের প্রশ্নের পুরো যাত্রা

মনে আছে তো, আমাদের প্রশ্নটা ছিল – “বাংলাদেশের রাজধানী কী?” চলুন এখন পুরো যাত্রাটা একবারে দেখি —

  • ধাপ ১: আপনার লেখা এলো – “বাংলাদেশের রাজধানী কী?”
  • ধাপ ২: লেখা ভেঙে টোকেন হলো — বাংলাদেশ, -এর, রাজধানী, কী, ?
  • ধাপ ৩: প্রতিটা টোকেন বদলে গেল একগুচ্ছ সংখ্যায় (Embedding)
  • ধাপ ৪: Attention মডেলকে দেখিয়ে দিল, “রাজধানী” শব্দটার সঙ্গে “বাংলাদেশ” শব্দটার সম্পর্কই এখানে সবচেয়ে গুরুত্বপূর্ণ
  • ধাপ ৫: Transformer-এর ভেতর দিয়ে এই পুরো তথ্য প্রক্রিয়া হলো
  • ধাপ ৬: মডেল তার প্রশিক্ষণে শেখা Parameters ব্যবহার করে সম্ভাব্য পরের টোকেনের সম্ভাবনা (Probability) হিসাব করল
  • ধাপ ৭: সব সম্ভাবনার মধ্যে সবচেয়ে বেশি সম্ভাবনাময় টোকেন হিসেবে বেরিয়ে এলো — “ঢাকা”
  • ধাপ ৮: ChatGPT সেই টোকেনটাই লিখে দিল স্ক্রিনে

এখানে একটা কথা মনে রাখা খুব জরুরি – ChatGPT একবারে গোটা উত্তরটা “লিখে” ফেলে না। উত্তরটা তৈরি হয় ধাপে ধাপে, এক টোকেন এক টোকেন করে। যদি প্রশ্নটার উত্তর একটার বেশি শব্দের হতো, যেমন “ঢাকা একটি প্রাচীন শহর” – তাহলে “ঢাকা” লেখার পর মডেল আবার নতুন করে হিসাব করত, পরের শব্দটা কী হওয়া উচিত। এভাবেই একটা টোকেনের পর আরেকটা টোকেন যোগ হতে থাকে, যতক্ষণ না পুরো উত্তরটা তৈরি হয়ে যায়।

মজার না? আপনি ভাবছিলেন উত্তরটা একসাথে চলে এলো, অথচ আসলে সেটা তৈরি হয়েছে অসংখ্য ছোট ছোট সিদ্ধান্তের মধ্য দিয়ে, একটার পর একটা!

শেষ পর্যন্ত, ChatGPT আসলে কী?

ChatGPT কোনো জাদুর বাক্স নয়।

এটা একটা বিশাল নিউরাল নেটওয়ার্ক-ভিত্তিক ভাষার মডেল, যেটা প্রশিক্ষণের মাধ্যমে ভাষার প্যাটার্ন শিখেছে এবং আপনার প্রশ্নের প্রসঙ্গ বিবেচনা করে একের পর এক টোকেন তৈরি করে উত্তর সাজায়।

আরেকটু সহজ করে বললে –

আপনি প্রশ্ন করেন। প্রশ্নটা টোকেনে ভাঙে। টোকেন সংখ্যায় বদলায়। মডেল Attention দিয়ে প্রসঙ্গ আর সম্পর্ক বিশ্লেষণ করে। তারপর তার শেখা Parameters ব্যবহার করে সম্ভাব্য পরের টোকেন অনুমান করতে করতে গোটা উত্তরটা তৈরি করে – আমাদের উদাহরণে যেটা শেষ পর্যন্ত দাঁড়ায় একটাই শব্দে: “ঢাকা“।

এটাই বোধহয় AI-এর সবচেয়ে আকর্ষণীয় দিক। বাইরে থেকে দেখলে মনে হয় এটা কথা বলছে, কিন্তু ভেতরে আসলে চলছে অবিরাম গণনা।

তো, পরের বার যখন ChatGPT-কে কোনো প্রশ্ন করবেন, একবার থেমে ভাববেন – আপনার সেই ছোট্ট প্রশ্নটা এই মুহূর্তে কত বড় একটা যাত্রা পার করতে চলেছে!

Share

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

ফ্রি ইমেইল নিউজলেটারে সাবক্রাইব করে নিন। আমাদের নতুন লেখাগুলি পৌছে যাবে আপনার ইমেইল বক্সে।

বিভাগসমুহ