কনটেন্টে যান

কৃত্রিম বুদ্ধিমত্তার দুটো 'অ্যাপ্রোচ'

কবে হবে?

Artificial intelligence will reach human levels by around 2029. Follow that out further to, say, 2045, we will have multiplied the intelligence, the human biological machine intelligence of our civilization a billion-fold.

— Ray Kurzweil

আচ্ছা, কৃত্রিম বুদ্ধিমত্তার কিভাবে এগুচ্ছে এই মুহুর্তে?

সত্যি বলতে, বুদ্ধিমত্তা জিনিসটাকে খালি চোখে দেখা যায় না - এই ব্যাপারটাকে বুঝবো কিভাবে?

আমাদের আশেপাশের পশুপাখি থেকে মাঝে মাঝে বেশ কিছু ‘বুদ্ধিমত্তা’র আচরণ পাই। ব্যাপারটা এমন যে - যেহেতু সেই পশুপাখিটা মানুষের স্কেলে অর্থাৎ মানুষের মতো করে কোন জিনিসকে মিমিক করছে, সে কারণে আমরা তাকে বুদ্ধিমান প্রাণী বলছি। জিনিসটা এরকম যে সে মানুষের মতো করে আচরণ করছে, কিন্তু সে যদি তার মত করে (সেই প্রানীর গোত্রের মতো) কোন কাজ করে সেটা তার স্কেলে বুদ্ধিমান বলা যেতে পারে। এ ব্যাপারে প্রথম বইয়ে বেশ কিছু আলাপ করেছিলাম।

কোন কিছুর মধ্যে যে বুদ্ধিমত্তা আছে সেটা তার কাজের আউটকাম অথবা তার ব্যবহারে (বিহেভিয়ার প্যাটার্নে) সেটা ফুটে উঠে। তবে এই বুদ্ধিমত্তা যেখান থেকে বের হচ্ছে সেটার উৎপত্তিস্থল আমাদের বা পশুপাখিদের মাথায়। আমাদের মাথায় এই বুদ্ধিমত্তাগুলো কিভাবে তৈরি হচ্ছে অথবা এর কাজ করার প্রসেসগুলো আমরা যেহেতু সরাসরি দেখতে পারছি না, সে কারণে এই বুদ্ধিমত্তা কিভাবে কাজ করছে সেটার ব্যাপারে আমরা এখনো অনেক কিছুই জানি না। আমরা জানি, মাথার নিউরনের ভিতর ইলেকট্রনিক পালস্ দিয়ে ব্যাপারগুলো ঘটে তবে এর’ ইন্টারনাল’ গল্পগুলো আমাদের কাছে এখনো অজানা।

এটা একটা বড় সমস্যা। তাহলে একজন কৃত্রিম বুদ্ধিমত্তা রিসার্চার কিভাবে একটা ইন্টেলিজেন্ট সিস্টেম তৈরি করবেন যার আউটকাম আমাদের বা পশুপাখির সেই কাজের মধ্য দিয়ে বোঝা যাবে? এ ব্যাপারে পড়ছিলাম মাইক উলরিজের একটা লেখা। বিশেষ করে ‘কৃত্রিম বুদ্ধিমত্তা’র কয়েকটা রাস্তা নিয়ে। লেখাটা আমার পছন্দ হয়েছে কারণ কৃত্রিম বুদ্ধিমত্তার বর্তমান ট্রেন্ডের বেশ কিছু ধারনা এখানে এসেছে। উনি যে দুটো রাস্তা নিয়ে আলাপ করেছেন তার মধ্যে একটার উত্থান আমার চোখের সামনে হচ্ছে প্রতিদিন। কাজের রেজাল্ট অসাধারণ। উত্থানটা বেশ ভয়ানক।

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

মেশিন ট্রান্সলেশন

এই মেশিন ট্রান্সলেশন এই দশকের একটা বিশাল আবিষ্কার যেটাকে আমরা একটা মডেলের উপর ভিত্তি করে তৈরি করি। তাহলে এই ‘মডেল বেইজড অ্যাপ্রোচটা কি হতে পারে? আমাদের ফাইনাল আউটকাম মানে এই মেশিন ট্রান্সলেশন থেকে যেই ধরনের ব্যবহার অথবা তার উত্তর পেতে চাচ্ছি - সেই মডেলটাকে তৈরি করে আমরা দিয়ে দেই যন্ত্রকে, যাতে সে সরাসরি সেটাকে ব্যবহার করতে পারে। আমরা যদি এখানে ইংরেজি থেকে বাংলায় ট্রান্সলেশন এর কথা বলি তাহলে এখানে যে মডেলগুলো ব্যবহার হবে তা ইংরেজি এবং বাংলা ভাষার আলাদা আলাদা করে দুটো মডেল ব্যবহার করবে।

কিভাবে ট্রান্সলেশন করছে মেশিন?

ব্যাপারটা না বোঝারই কথা। আরেকটু খোলাসা করি। আমাদের বাক্যের স্ট্রাকচার, যেটাকে আমরা সিনট্যাক্স বলছি সেটার মধ্যে ইংরেজি এবং বাংলার ব্যাকরণগত ধারণা আগে থেকে তৈরি করা থাকে। ইংরেজির জন্য এখানে এক ধরণের সিনট্যাক্স এবং বাংলার জন্য সেটা অন্য ধরনের হবে সেটাই স্বাভাবিক। আমরা এই সিনট্যাক্স ব্যবহার করে একটা বাক্যের (যেটাকে আমরা ট্রান্সলেশন করছি) তার স্ট্রাকচারটা বের করার চেষ্টা করব আগে। ফলে সেই স্ট্রাকচার থেকে আমরা ওই বাক্যের একটা ভাবার্থ পেয়ে যাব, যেটাকে আমরা ‘সিমান্টিকস’ বলি। এটা অর্থের লিঙ্গুইস্টিক্স এবং লজিকের একটা সমন্বিত ভাব। আমরা যখন ভেতরের ভাবার্থ অর্থাৎ ‘ইনার মিনিং’ পেয়ে যাচ্ছি তখন আমরা সেই টার্গেট ল্যাংগুয়েজ (ধরুন বাংলা) মডেলে ফিরে গিয়ে নতুন করে কাছাকাছি একটা বাক্য তৈরি করব যার অর্থ ইংরেজির প্রায় কাছাকাছি হবে।

বিশাল সমস্যা তাই না? এক লাইনে বলতে গেলে, আমরা শুরুতে একটা মডেল তৈরি করব যেই কাজটা আমরা আউটকাম (ইংরেজি থেকে বাংলা ট্রান্সলেশন) হিসেবে পেতে চাই। এরপর সেই মডেলটাকে পাঠিয়ে দেব যন্ত্রের কাছে যাতে সে নতুন ভাষার ব্যাকরণ এর নীতি বুঝে মোটামুটি কাজটা বের করে দিতে পারে সে।

মাইক উলরিজ ব্যাপারটাকে এমন চমৎকার ভাবে বর্ণনা করেছেন, কারন আমি যখন উনার এই অংশটুকু পড়ছি তখন একই জিনিস ‘রেজোন্যান্স’ হচ্ছে আমার মনের ভেতরে - কারণ এই ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং যেমন বৈজ্ঞানিক, সেভাবে অনেকখানি হেঁয়ালি বটে। আমরা যখন যন্ত্রকে একটা ব্যাপারে জিজ্ঞাসা করব, তখন তার মধ্যে মানুষের হেঁয়ালি বা অনেক ধরনের ‘অস্পস্ট’ ‘ঝাপসা’ অর্থের জিনিসপত্র দিতে পারব না।

মানুষের হেঁয়ালি

আমি যন্ত্রকে যাই প্রশ্ন করি না কেন, সে হয়তোবা কখনোই আমাকে "আমি এ ব্যাপারে নিশ্চিত নই / আই অ্যাম নট সিউর" ধরনের উত্তর দেবেনা। এগুলো মানুষই করতে পারে। যন্ত্র হাজারটা নাটক পড়ে আরেকটা শেক্সপিয়ারের মতো নাটক লিখলেও সেটাকে মানুষের মতো হেঁয়ালি লেভেলে নেওয়ার সম্ভাবনা বেশ কম। আমরা অনেক ধরনের শব্দের ব্যবহার করি যেটার কোন শাব্দিক কোন অর্থ নেই, সে ধরনের শব্দগুলো যন্ত্র চাইবেনা ব্যবহার করতে। মজা করার জন্য হলে হয়তোবা ঠিক আছে।

ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং

আগের ধারণায় ‘ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং’ নিয়ে কাজ করতে গিয়ে দেখেছি আমাদের ব্যাকরণের যে নীতিমালা আছে সেই নীতিমালা অনুযায়ী আমাদের বাক্য থেকে একটা অর্থের স্ট্রাকচার তৈরি করতে হবে শুরুতে। এর পাশাপাশি সেই আগের অর্থ দিয়ে কিভাবে একটা বাক্য ‘জেনারেট’ করতে হবে সেই রুলসেট বা নীতিমালাগুলোকে শেখাতে হবে মডেলকে। গত দশকে রিসার্চাররা এই রুলসেট নিয়ে ব্যস্ত ছিলেন কিভাবে একটা বাক্যের স্ট্রাকচার এবং এর সাথে তার ভাবার্থ ‘ইনার মিনিং’ ‘ইন্টারনালি’ ম্যাপিং করা যায়।

এটার আউটকাম আমরা দেখেছি, যা অনেকটাই কার্যকরী তবে ‘ট্রান্সলেটেড’ একটা প্যারাগ্রাফ পড়লে মনে হয় এটা কোন মানুষ লেখেনি। হয়তোবা এই স্টাইলে মানুষের মত করে অ্যাক্যুরেসি আনা বেশ কঠিন হবে। আমি মানুষ হয়েই অনেক সময় কবিতার ভেতরের অর্থ বুঝতে পারি না, সেখানে যন্ত্রের জন্য ব্যাপারটা কঠিনই বটে। উচ্চমার্গের কবিতা এবং গল্পগুলো এত পেঁচানো থাকে যেখান থেকে তার ভেতরের অর্থ বের করা কঠিনই এই রুলসেটের ব্যাকরণের স্ট্রাকচার দিয়ে।

স্ট্যাটিসটিক্যাল মেশিন ট্রান্সলেশন

তবে ব্যাপারটা একটা বিশাল নাটকীয় মোড় নেয় যখন ‘স্ট্যাটিসটিক্যাল মেশিন ট্রান্সলেশন’ কনসেপ্টটা রিসার্চারদের কাছে চলে আসে। এই রাস্তার মজা হচ্ছে এখানে ভাষার ল্যাঙ্গুয়েজ মডেলের ভেতরে ঢুকতে হচ্ছে না কাউকে। বরং, আমরা এখানে হাজারো/লক্ষ্যের বাক্যের উদাহরণ পাঠিয়ে দেব যেই বাক্যগুলোকে আমরা ‘ট্রান্সলেট’ করার চেষ্টা করছি। বুঝতেই পারছেন - আমরা এখানে ‘প্রোবাবিলিটি’ মানে কোনটা বেশি ব্যবহার হয়েছে সেগুলোকে ব্যবহার করব সেই স্ট্যাটিসটিক্যাল মডেল থেকে - যেখানে সেই স্পেসিফিক ট্রান্সলেশনে এই ধরনের বাক্যগুলোকে অন্যান্য সময় কিভাবে ব্যবহার করা হয়েছিল।

ঝামেলা মনে হচ্ছে? এর পেছনের গল্পটা খুবই সোজা, কারণ আমরা যখন হাজার, লক্ষ অথবা কোটি উদাহরণ ব্যবহার করবো এই ব্যাপারটাতে - তখন সেই বাক্যের স্ট্রাকচারটা অন্যান্যবার কিভাবে ব্যবহার করেছিল, তার সাথে মিলিয়ে কোন কোন শব্দগুলোকে কোনটার আগে পরে লাগালে তার প্রোবাবিলিটি ডিস্ট্রিবিউশন অনুযায়ী সর্বোচ্চ ভোট পাওয়া শব্দগুলোকেই এই ‘স্ট্যাটিসটিক্যাল মেশিন ট্রান্সলেশন’ ব্যবহার করবে বেশি।

বাচ্চাদের ভাষা শেখা

একটা উদাহরণ দেই বরং। আমাদের বাচ্চাগুলো কোন ধরনের ব্যাকরণ জানা ছাড়াই [মানে স্কুলে না যেয়ে] পুরো বাক্য বলতে পারতো। কিভাবে? জন্মের পর থেকে বাবা মা আত্মীয়দের থেকে হাজারও শব্দ শুনে সেটার একটা ধারণা তৈরি করে নেয় নিজে নিজে। কোন শব্দের পর কোন শব্দ বসবে সেটা নিয়ে মাথায় জোড়া লাগাতে থাকে আস্তে আস্তে। এক পর্যায়ে কী বললে বাবা মা খুশি হয় সেটাও বের করে ফেলে সে। এই কাজটাই স্ট্যাটিস্টিকাল অ্যাসোসিয়েশন।

স্ট্যাটিস্টিকাল অ্যাসোসিয়েশন

এটা ঠিক যে এই কাজে প্রচুর ডাটা এবং কম্পিউটিং ক্ষমতা লাগছে বিশেষ করে এ ধরনের ‘স্ট্যাটিস্টিকাল অ্যাসোসিয়েশন’ তৈরি করার জন্য। আমি যেহেতু ‘ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং’ নিয়ে কাজ করছি, সেখানে আমি দেখছি ‘ওপেন এআই’ এর জিপিটি-৩ এর ল্যাঙ্গুয়েজ মডেল এমুহুর্তে প্রায় ১৭৫ বিলিয়ান প্যারামিটার ব্যবহার করছে। এ ধরনের ‘স্ট্যাটিসটিক্যাল মেশিন ট্রান্সলেশন’ রিসার্চের নতুন একটা অংশে বিশাল একটা ধারণা দিচ্ছে - যার কারণে এই একই ধারণা চলে যাচ্ছে অন্যান্য এরিয়াতে। আমার নিজের অভিজ্ঞতা থেকে বলতে পারি অন্যান্য লার্নিংগুলোর মধ্যে ‘ডিপ লার্নিং’য়ে এই কাজটা অসাধারণভাবে রেজাল্ট দিচ্ছে। ‘ডিপ লার্নিং’ নিয়ে আমার লেখা আরেকটা বইয়ে এব্যাপারে অনেকগুলো উদাহরণ দিয়ে দেখিয়েছি।

কৃত্রিম বুদ্ধিমত্তার এই দুটো রাস্তার মধ্যে এই মুহূর্তে ছোটখাটো কাজের জন্য প্রথম অ্যাপ্রোচ ঠিক আছে। আমি বলবো এটা অনেকটাই ‘ট্রান্সপারেন্ট’ কারণ আমরা জানি মডেলের ভেতরে কি হচ্ছে। তবে পৃথিবী যেভাবে কমপ্লেক্স হচ্ছে এবং একই সমস্যা যখন বিভিন্ন ডাইমেনশনে পাড়ি দিচ্ছে তখন এই কমপ্লেক্স ধরনের কাজগুলো এতো সহজে করা সম্ভব হয় না।

কোটি উদাহরণ থেকে মডেলের শেখা

আর সে কারণেই আমরা ব্যবহার করব দ্বিতীয় অ্যাপ্রোচ - যেখানে মেশিন লার্নিং মডেলের কোন বালাই নেই, বরং কোটি কোটি উদাহরণ থেকে মডেল শিখে নেবে তাকে কি করতে হবে। সিচুয়েশন ডিপেন্ডেন্ট। এ ব্যাপারে প্রচুর কাজ চলছে তবে এর সবচেয়ে বড় লিমিটেশন হচ্ছে ডাটার উপর বেশি নির্ভরতা মানে ডাটার নয়েজ তার অনাকাঙ্খিত ‘বায়াস’ তৈরি হতে পারে। আরেকটা সমস্যা হচ্ছে, এই মডেল মানুষের চেয়ে ভাল কাজ করবে তবে এটা থেকে জানার উপায় নেই কিভাবে সে এই কাজগুলো করছে ভেতরে ভেতরে। মডেলের ভেতরে কোটি কোটি ‘সংখ্যা’র খেলা দেখে মানুষের বোঝার উপায় নেই মডেলটা কিভাবে ‘ইন্টারনালি’ কাজ করছে।

এখন আমাদের প্রশ্ন হচ্ছে, আমরা কি মডেল কিভাবে কাজ করছি সেটা জানতে চাই - নাকি মডেলের অসাধারণ পারফরম্যান্স আউটকাম নিয়ে খুশি থাকব? পরের প্রশ্ন, দুটো জিনিস কি একসাথে পাওয়া সম্ভব? বোধহয় না। তবে, এই অজানা ব্যাপারগুলো নিয়ে আসবো সামনে।