কনটেন্টে যান

ট্রান্সফরমার মডেল: কোথায় যাব সামনে?

‘এনএলপি’ এবং ‘আরএনএন’ এর ভবিষ্যৎ কি হতে পারে?

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

“অ্যাটেনশন ইজ অল ইউ নিড” - ট্রান্সফরমার

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

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

‘আরএনএন’ এবং ধাপের ধারণা

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

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

‘কন্টেক্সট’ ভেক্টর, ‘সিকোয়েন্স’ এবং ট্রান্সফরমার

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

'অ্যাটেনশন ভেক্টর' এবং সম্পর্কিত শব্দ

অ্যাটেনশন ভেক্টর কী

The key purpose of Attention is answering, “what part of the input should I focus on?” If we’re encoding an English sentence, the question we want to answer is, “how relevant is a word in the English sentence relevant to other words in the same sentence?” This is represented in the Attention vector.

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

সামনের বই?

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