Getting the transcript…
By codestorywithMIK · 1264 caption lines · Watch on YouTube
হ্যালো এভরিওয়ান, আমার চ্যানেল ‘ কোর্স উইথ মাইক ’-এ আপনাদের স্বাগত। আজ আমরা এআই ফান্ডামেন্টালস প্লেলিস্টের ১০ নম্বর ভিডিওটি করতে যাচ্ছি। আজ আমরা কী পড়তে চলেছি? প্যারামিটার কী? মনে আছে, আগের ভিডিওতে আমি আপনাদের বুঝিয়েছিলাম যে কন্টেক্সট উইন্ডো কী? কন্টেক্সট উইন্ডো হলো ডেটা বা তথ্যের সেই সর্বোচ্চ পরিমাণ—যা আমরা টোকেনে পরিমাপ করি—যা একটি এলএলএম কোনো নির্দিষ্ট অনুরোধের জন্য তার বর্তমান প্রসঙ্গ হিসেবে বিবেচনা করতে পারে। তাই না?
একবারে সর্বোচ্চ যতগুলো টোকেন এটি প্রসেস করতে এবং যুক্তি দিয়ে বুঝতে পারে। সেটিকে কন্টেক্সট উইন্ডো বলা হয়। তাহলে এখন আমরা বুঝতে পেরেছি যে, হ্যাঁ, সে কন্টেক্সট গ্রহণ করছে। তারপর সেখান থেকে উত্তর তৈরি করতে পারছে। কিন্তু এলএলএম কীভাবে উত্তর তৈরি করতে পারছে? কারণ আমরা এটিকে প্রচুর ডেটা দিয়ে ট্রেনিং করিয়েছি। এবার ট্রেনিংয়ের কথায় আসি যে, যখন ট্রেনিং করা হয়েছিল তখন কীভাবে করা হয়েছিল? তাই না? প্রশ্ন তো এটাই যে, যখন আমরা এলএলএম-কে কোনো ইনপুট দিই, তখন এটি কীভাবে রেসপন্স বের করতে পারছে, তাই না? এটি কীভাবে সেই প্যাটার্নগুলো শিখল? উত্তর কীভাবে বের করতে পারছে?
শুরুতে নিশ্চয়ই এটি কিছু প্যাটার্ন বুঝেছিল। কীভাবে সে সেই প্যাটার্নগুলো শিখল? সে কী শিখেছে? আসলে সে কী শিখেছে? এটি একটি অত্যন্ত গুরুত্বপূর্ণ প্রশ্ন। এবং সেই শিক্ষাগুলো কোথায় জমা থাকে? সামনে এগিয়ে যাওয়ার আগে, আপনি অনেকবার এবং অনেক জায়গায় এটি দেখে থাকবেন। অনেকেই বলেন যে এই এলএলএম-টি ৭ বি প্যারামিটারের । কেউ কেউ বলেন যে এই এলএলএম-টি ৭০ বি প্যারামিটারের । কেউ কেউ বলেন যে এই এলএলএম-টি শত মিলিয়ন বা বিলিয়ন প্যারামিটারের । তাহলে এর অর্থ আসলে কী? জানেন কী হয়? যখন আপনি কোনো এলএলএম মডেল ডাউনলোডও করেন, তখন দেখবেন ৮ বি, ৭০ বি এমন কিছু দেখতে পাবেন।
জানেন এটা কী? আসলে বি-এর মানে হলো বিলিয়ন। তাই না? আর ৮ বি বা ৭ বি বা ৭০ বি- এর মানে কী হলো? যে এই এলএলএম-এ এত বিলিয়ন প্যারামিটার আছে। তো এখান থেকেই ছবিতে প্যারামিটারের আগমন ঘটে। প্যারামিটার বোঝা গুরুত্বপূর্ণ। তাহলে দেখা যাক প্যারামিটার আসলে কী? একটি উদাহরণ দিই। ধরুন, আমি এলএলএম-কে একটি স্টেটমেন্ট দিলাম। ‘দ্য ক্যাট ড্র্যাংক দ্য’ —আর এখানে আমি জায়গাটি খালি রেখেছি। এখন এলএলএম যদি অনুমান করতে চায় যে এর উত্তর কী হবে। তাই না?
সে অনুমান করবে । হতে পারে সে অনুমান করল ‘ ওয়াটার’। আর এই উদাহরণের জন্য ধরে নিন যে সঠিক উত্তরটি ছিল মিল্ক। ঠিক আছে? আমি এলএলএম-কে যে টেক্সট বা বইটি পড়তে দিয়েছিলাম তাতে লেখা ছিল যে ‘ক্যাট ড্র্যাঙ্ক দ্য মিল্ক’, কিন্তু এটি সঠিক অনুমান করতে পারেনি। ধরে নেওয়া যাক এটি ওয়াটার অনুমান করেছে যা একটি ভুল প্রেডিকশন । ঠিক আছে? এখন কোনোভাবে এলএলএম-কে উন্নত করতে হবে । সে যে ভুলটি করেছে তা সংশোধন করতে হবে। মডেলটিকে নিজেকে উন্নত করতে হবে।
তাহলে জানেন এলএলএম কী করে? এলএলএম-কে কীভাবে ডিজাইন করা হয়? এটি তার প্রেডিকশনকে তুলনা করে। অর্থাৎ, এখন সে যে ভুল প্রেডিকশনটি করেছে, সেটিকে সঠিক উত্তরের সাথে তুলনা করবে। সঠিক উত্তরটি কী? মিল্ক। তাই সে ওয়াটারকে আগে মিল্কের সাথে তুলনা করবে। এটি প্রেডিকশনটিকে সঠিক উত্তরের সাথে তুলনা করে এবং তারপর ছোট ছোট অ্যাডজাস্টমেন্ট বা সমন্বয় করে। এখন সমন্বয়টা কিসে করে? সেদিকে নজর দিন । এখন দেখুন এলএলএম কী? এটি এক ধরণের কম্পিউটার বা মেশিন, যা ভেতরে ভেতরে গণিত নিয়ে কাজ করছে।
গণিত মানে হলো সে সংখ্যার সাথে খেলছে। তার কাছে কিছু গাণিতিক সংখ্যা আছে এবং সঠিক উত্তরে পৌঁছানোর জন্য সে সেই সংখ্যাগুলোকে সমন্বয় করে। ঠিক আছে? আবার বুঝে নিন। যখন উত্তরটি ভুল এসেছিল, তখন সে তার ভুল প্রেডিকশনটিকে সঠিক উত্তরের সাথে তুলনা করেছিল। এবং সেই সঠিক উত্তরে পৌঁছানোর জন্য সে কী করেছিল? তার বর্তমান গাণিতিক সংখ্যাগুলোকে সে অ্যাডজাস্ট করার প্রয়োজন মনে করেছিল, যাতে পরের বার তার উত্তর মিল্ক আসে, অর্থাৎ সঠিক উত্তর আসে। ঠিক আছে, তো আমি আপনাকে যেটা বলছি যে সে এই যে সংশোধন করছে, নিজের সংখ্যাগুলোতে যে সমন্বয় করছে সঠিক উত্তরে পৌঁছানোর জন্য, তা সে বারবার করে। এটি চেষ্টা চালিয়ে যায়, আবার চেষ্টা করে।
ধরা যাক আবার ব্যর্থ হলো, সে আবার চেষ্টা করবে, বারবার চেষ্টা করতে থাকবে এবং লক্ষ লক্ষ বার এই বিশাল পরিমাণ ট্রেনিং ডেটার ওপর সে এটি করতে থাকবে। কারণ আমরা তো পুরো ইন্টারনেট তাকে দিয়ে দিচ্ছি যে, ভাই তুমি নিজেকে ট্রেইন করো। ঠিক? আর এটা তো আমি খুব ছোট একটি স্টেটমেন্ট দিয়েছিলাম। দ্য ক্যাট ড্র্যাঙ্ক দ্য মিল্ক। আমরা তো পড়ার জন্য তাকে পুরো ইন্টারনেটের ডেটা দিচ্ছি। তাই না? আর তা থেকে সে বিষয়গুলো শিখছে। তো এভাবেই সে নিজেকে ট্রেইন করার চেষ্টা করছে। যখন ভুল উত্তর আসে, তখন সে নিজেই নিজেকে সংশোধন করার চেষ্টা করে যে আমি কি আমার গাণিতিক সংখ্যাগুলোকে অ্যাডজাস্ট করে সঠিক সংখ্যার দিকে যেতে পারি কি না । এবং সে এটা করতেই থাকে।
সময়ের সাথে সাথে এমন একটা সময় আসে যখন এলএলএম (LLM) প্যাটার্ন চেনার ক্ষেত্রে আরও ভালো হতে থাকে। ধীরে ধীরে সে শেখে এবং ক্রমাগত সংখ্যাগুলোকে অ্যাডজাস্ট করতে করতে এমন এক পর্যায়ে পৌঁছে যায় যে সেই সংখ্যাগুলোর সাহায্যে সে দারুণ প্রেডিকশন করতে পারে। তাই না? উদাহরণস্বরূপ ধরা যাক। পুরো ট্রেনিংয়ের সময় সে হয়তো অনেক ধরণের প্যাটার্ন শিখে নিয়েছে। হতে পারে সে শিখে নিয়েছে যে কোন শব্দগুলো সাধারণত একসাথে ব্যবহৃত হয়।
তাই না? বাক্য কীভাবে তৈরি হয় । হতে পারে সে ব্যাকরণের নিয়মগুলো শিখে নিয়েছে। তাই না? তথ্যের বিভিন্ন অংশ একে অপরের সাথে কীভাবে সম্পর্কিত। ইত্যাদি ইত্যাদি। এই ধরণের অনেক নিয়ম এবং প্যাটার্ন সে তার ট্রেনিং চলাকালীন শিখে নেয়। তাই না? এবং ধীরে ধীরে অনুমান করতে শুরু করে। এখন এই প্রক্রিয়াটাই চলতে থাকে। প্রেডিক্ট করল, উত্তর ভুল এলো। কিছু সংখ্যা অ্যাডজাস্ট করল, আবার একই জিনিস রিপিট করছে। আবার প্রেডিক্ট করবে। ভুল এলে আবার সংখ্যাগুলো অ্যাডজাস্ট করবে। আর একেই ট্রেনিং বলা হয় । এই যে যেটা চলছে না, এটা এক ধরণের লুপ। সে এই বিষয়টিই বারবার রিপিট করতে থাকে। তাই না? যতক্ষণ না এমন একটা পর্যায় আসে যে তার অনুমান একদম সঠিক হতে শুরু করে। ঠিক আছে? এটাই হলো ট্রেনিং। আর মনে রাখবে, এই ট্রেনিং মিলিয়ন বিলিয়ন বার হয় এবং মিলিয়ন বিলিয়ন ডেটার ওপর আমরা এই ট্রেনিং করি । কিন্তু আমি ১০০%নিশ্চিত যে আপনার এখনো বিভ্রান্তি হচ্ছে যে, সে যে সংখ্যাগুলো অ্যাডজাস্ট করছে, সেগুলো কী ? সে আসলে কী অ্যাডজাস্ট করছে? সেই সংখ্যাগুলো আসলে কী? মডেলটি আসলে কী অ্যাডজাস্ট করছে? তো যে সংখ্যাগুলো সে অ্যাডজাস্ট করছে, সেগুলোকে প্যারামিটার বলা হয়। তাই না?
প্যারামিটার কী? এগুলো হলো সেই সংখ্যা যা মডেল ট্রেনিংয়ের সময় শেখে বা অ্যাডজাস্ট করে। শুরুতে এই সংখ্যাগুলো সম্পূর্ণ র্যান্ডম থাকে। আর এই র্যান্ডম সংখ্যার কারণে ভুল উত্তর আসে। কিন্তু সে ভুল উত্তরটিকে সঠিক উত্তরের সাথে তুলনা করে । তারপর সংখ্যাগুলোকে কিছুটা অ্যাডজাস্ট করে এবং এটি চলতেই থাকে। সেটা চলতেই থাকে যতক্ষণ না সেই সংখ্যাগুলো সঠিকভাবে অ্যাডজাস্ট হয়ে যায়। এগুলো সব র্যান্ডম সংখ্যা। এখন প্যারামিটারেরও অনেক ধরণ আছে।
যেমন কিছু প্যারামিটারকে আমরা ওয়েট (Weight)- এর ক্যাটাগরিতে রাখি। কিছু প্যারামিটারকে আমরা ওয়েট (weight) বলি। যাকে ডব্লিউ (W) দিয়ে চিহ্নিত করা হয় । কিছু প্যারামিটারকে আমরা বায়াস (bias) বলি, যাকে ছোট হাতের বি (b) দিয়ে চিহ্নিত করা হয় । আর অনেক ধরণের প্যারামিটারও থাকে। তবে এগুলোই সবচেয়ে গুরুত্বপূর্ণ যা আপনাকে খেয়াল রাখতে হবে। ঠিক আছে? তো এবার এগিয়ে যাওয়া যাক। আপনাকে একটা সাধারণ ডায়াগ্রাম দেখাই। ধরে নিচ্ছি এটা একটা এলএলএম (LLM) । খুবই সাধারণ একটা ডায়াগ্রাম এবং উপর ওপর বিষয়টি বোঝাচ্ছি। এটা বোঝার একদম সহজ একটা উপায় বলছি । ধরে নিই এটা এলএলএম।
এলএলএম-এ কিছু সংখ্যা ছিল। ধরে নিন এগুলোই আপনার প্যারামিটার। ঠিক আছে? আর এই প্যারামিটারগুলোর সাহায্যে এটি কিছু গাণিতিক হিসাব করল এবং প্রেডিক্ট করল যে উত্তর হবে ওয়াটার। দ্য ক্যাট ড্রাঙ্ক ওয়াটার। কিন্তু মনে আছে, সঠিক উত্তর ছিল মিল্ক। তো জানেন এলএলএম কী করবে? এই ওয়াটারকে মিল্কের সাথে তুলনা করবে। ঠিক আছে? আর এই সংখ্যাগুলোকে অ্যাডজাস্ট করা শুরু করবে এবং অনেকবার অ্যাডজাস্ট করবে। অ্যাডজাস্ট করবে, আবার চেক করবে, অ্যাডজাস্ট করবে, আবার চেক করবে।
অ্যাডজাস্ট করতে করতে হয়তো এমন একটা সময় আসবে যখন এই প্যারামিটারগুলোর কারণে সঠিক উত্তর আসতে শুরু করবে। উত্তর সঠিক আসতে শুরু করবে । ঠিক আছে? এর মানে হলো, এই যে সেটিং বা প্যারামিটারগুলোর বর্তমান অবস্থা, এটি একটি ভালো অবস্থা। এর মাধ্যমে আমাদের এলএলএম সঠিক অনুমান করতে পারছে। এখন আপনার মনে হতে পারে যে কোনো মেশিনকে ট্রেনিং দেওয়ার এটা কত অদ্ভুত উপায় যে, এলোমেলো কিছু সংখ্যা নিয়ে নেওয়া হলো এবং যতক্ষণ না সঠিক অনুমান করতে পারছে, ততক্ষণ সংখ্যাগুলো অ্যাডজাস্ট করা হচ্ছে।
কিন্তু আসলে বিষয় হলো, যাদের নিউরাল নেটওয়ার্ক সম্পর্কে ধারণা আছে, তারা জানবেন যে এটা কী। নিউরাল নেটওয়ার্ক আসলে এভাবেই কাজ করে। যেকোনো নিউরাল নেটওয়ার্ককে এভাবেই ট্রেনিং দেওয়া হয়। এখন নিউরাল নেটওয়ার্ক কী? এত গভীরে যাওয়ার প্রয়োজন নেই। তবে একটা সহজ উদাহরণের মাধ্যমে আমি আপনাকে বোঝাতে পারি। নিউরাল নেটওয়ার্ককে এমন একটা গাণিতিক সিস্টেম বা অ্যালগরিদমের সেট হিসেবে ধরে নিন, যা কম্পিউটারকে জটিল সমস্যা সমাধানের জন্য শিখতে সাহায্য করে। নিউরাল নেটওয়ার্ক হলো এমন একটা সেটিং । এটি অ্যালগরিদম বা সংখ্যার একটা সেট হতে পারে।
এটি এমন একটি সিস্টেম। ঠিক আছে? তাই এলএলএম -ও এক বিশেষ ধরণের নিউরাল নেটওয়ার্কই। নিউরাল নেটওয়ার্ক যেভাবে সংখ্যা নিয়ে খেলা করে, এলএলএম-ও সেভাবেই সংখ্যা নিয়ে খেলছে। দেখলেন তো? তো এখন নিউরাল নেটওয়ার্কের কথা বললে আপনি সাধারণত গুগলেও যদি সার্চ করেন, তাহলে এই ধরনের জটিল ডায়াগ্রামই দেখতে পাবেন, যেখানে কী হয়? এটি ইনপুট লেয়ার এবং লেয়ার বাই লেয়ার উত্তর বেরিয়ে আসে। এটি ইনপুট লেয়ার, মাঝের লেয়ারটিকে হিডেন লেয়ার বলে এবং এতে প্রচুর ক্যালকুলেশন ও কম্পারিজন হয় এবং শেষে আমরা আউটপুট পাই, যেটিকে আউটপুট লেয়ার বলা হয়।
ঠিক আছে? এবং এই সবগুলি আমার ইনপুট। ধরে নিই এটি ইনপুট ওয়ান, ইনপুট টু এবং ইনপুট থ্রি। তো এগুলি আমার সব ইনপুট যেগুলিকে আমরা ভেক্টরের আকারে রিপ্রেজেন্ট করি। এখন একটি সহজ উদাহরণ নেওয়া যাক। এটি নিউরাল নেটওয়ার্কের খুব জটিল একটি ডায়াগ্রাম ছিল । আমি নিউরাল নেটওয়ার্কের একটি সহজ ডায়াগ্রাম নিচ্ছি। এখন ধরে নিই এখানে ইনপুট ওয়ান ছিল এবং ইনপুট টু ছিল এবং নিউরাল নেটওয়ার্কের এই যে কানেকশন বা যে এজগুলো আপনি দেখতে পাচ্ছেন, এগুলি সব ওয়েটস।
জানেন ওয়েট-এর মানে কী হয়? যে আউটপুটটি আসবে, সেই আউটপুটটি আনার ক্ষেত্রে ইনপুট ওয়ানের অবদান কতটা হবে । ইনপুট টু-এর অবদান কতটা হবে । ঠিক আছে? তো যার ওয়েট বেশি হবে, তার অবদানও বেশি হবে। তাই না? তো আউটপুট যখন আমাকে পেতে হবে, তখন আমরা জানি সিম্পলি কী করি? আমার যে i1 ভেক্টরটি আছে সেটির ডট প্রোডাক্ট বের করি W1 ভেক্টরের সাথে। এবং যোগ করে দিই। I2 ভেক্টরটি যে ইনপুট, সেটির ডট প্রোডাক্ট করি W2-এর সাথে। ঠিক আছে, দেখছেন তো ডট প্রোডাক্টের যোগফল করেছি।
তারপরে জানেন, আমরা আরও একটি জিনিস করি কারণ দেখুন, এগুলি তো ভেক্টর, তাই ভেক্টর স্পেসে এটিকে রিপ্রেজেন্ট করা যেতে পারে। এখন, এখন লক্ষ্য করুন, এটিকে যখন আমি এই স্পেসে রিপ্রেজেন্ট করব, তখন এতে আরও একটি জিনিস যোগ করা হয় যেটিকে বলে 'b'। এখন 'b' আমি উপরেই বলেছি, এটি হলো বায়াস। এই বায়াসের কনসেপ্ট কী, তার খুব গভীরে যাওয়ার প্রয়োজন নেই। তবে আমি আপনাকে স্কুলের একটি উদাহরণ দিয়ে বোঝাচ্ছি। মনে আছে, স্কুলে আমরা লাইন ড্র করতাম? ধরে নিই, আমার 2D প্লেনে y = mx + c একটি লাইন।
এখানে কী ছিল? m একটি স্লোপ ছিল যা দিয়ে বোঝা যেত যে আমার লাইনটি x অক্ষ থেকে কতটা হেলানো থাকবে। লাইনটি এমন হতে পারে। লাইনটি এমন হতে পারে। লাইনটি এমন হতে পারে। এটির এই যে অংশটি, এটিকে আমরা স্লোপ ধরি । ঠিক আছে? তাহলে যদি এই c না থাকতো, মনে আছে আমার লাইনটা সবসময় অরিজিন দিয়ে পাস করতো। যদি এই C না থাকতো, আর যেই C আসতো, C কে একটা শিফট ধরো, C এর কারণে এই লাইনটা উপরে নিচে শিফট হয়ে যেত। ধরে নিই C যদি পজিটিভ হয়, তাহলে এটা উপরে যেতে পারে, এই লাইনটা আরও উপরে যেতে পারে । C যদি নেগেটিভ হয়, তাহলে লাইনটা নিচে শিফট হয়ে যেত।
তো একইভাবে B কে বুঝে নাও। B কি করছে? আমার ভেক্টরটাকে উপরে বা নিচে শিফট করার ক্ষমতা রাখে। এবার লক্ষ্য করো, আমাদের যে আউটপুট এসেছে তা কতগুলো প্যারামিটারের সাহায্যে এসেছে? ১ ২ ৩, এখানে আমি লিখেওছি যে W1, W2 এবং B এই তিনটি প্যারামিটারের সাহায্যে আমরা আউটপুট বের করেছি। এবার ভাবো, আসল এলএলএম (LLM)-এ বাস্তব জগতে তিনটি নয়, এরকম বিলিয়ন বা ট্রিলিয়ন প্যারামিটার থাকে। তো সেটা তো আরও বেশি জটিল হয়। আমি খুব সাধারণ ভাবে, সাধারণ ক্যালকুলেশনের মাধ্যমে আপনাদের বোঝানোর চেষ্টা করেছি।
ঠিক আছে? তো এবার দেখুন, একটা খুব সহজ উপমার মাধ্যমে আমি আপনাদের বোঝাই যে প্যারামিটার আসলে কি, যেটা আমার প্রিয় উদাহরণ এবং আপনারা সব জায়গায় এই উদাহরণটাই দেখবেন। ধরে নিন যে এটা আপনার এলএলএম (LLM )। এলএলএম কে একটা ব্ল্যাক বক্স ধরুন এবং সেই ব্ল্যাক বক্সে ধরুন এরকম অনেকগুলো ডায়াল আছে। দেখতে পাচ্ছেন? এই সবগুলোই ডায়াল, অনেকগুলো। আর ডায়ালগুলো আমি এখানে এঁকেও দেখিয়েছি। আর হ্যাঁ, ডায়াল যেখানেই পয়েন্ট করছে সেখানে একটা নিউমেরিক্যাল নম্বর ধরে নিন।
চলুন ধরে নিই ০.১, ০.২, ১.২, ২.৩, -০.২ এবং এভাবে এখানে অনেক সংখ্যা থাকবে। ঠিক আছে? শুরুতে কি হয় না, এই সব ডায়াল র্যান্ডমলি সেট করা থাকে। ঠিক আছে? তো ট্রেনিংয়ের সময় যেটা হয়, সব ডায়াল ধরে নিই র্যান্ডমলি সেট করা আছে এবং তার ভিত্তিতে যে আউটপুট এল, যদি প্রেডিকশন ভুল হয়, তাহলে আমরা সেই ডায়ালগুলোকে অ্যাডজাস্ট করি। অর্থাৎ এলএলএম নিজেই ডায়ালগুলোকে অ্যাডজাস্ট করে। মানে অ্যালগরিদম এমন ভাবে লেখা হয় যাতে সে নিজের এই ভ্যালুগুলোকে অটোমেটিক্যালি অ্যাডজাস্ট করে এবং আবার চেষ্টা করে।
প্রেডিকশন করে । যদি সঠিক উত্তর আসে তবে ঠিক আছে। যদি সঠিক না আসে তবে আবার ডায়াল অ্যাডজাস্ট করে। এভাবে মিলিয়ন বা ট্রিলিয়ন বার এটা চলতেই থাকে । ঠিক আছে? তারপর আল্টিমেটলি কি হয়? একটা সময় আসে যখন এই ডায়ালগুলো এমন ভ্যালুতে সেট হয় যা মডেলকে আরও ভালো প্রেডিকশন করতে সাহায্য করে। এমন একটা সময় আসবে যে, এই ডায়ালগুলো এমন সব ভ্যালুতে সেট হয়ে যাবে যাতে সঠিক অনুমান আসতে শুরু করে। সঠিক উত্তর আসতে শুরু করবে। তো সেই ফিক্সড ডায়াল বা ফিক্সড নম্বর যা সেট হয়ে গেছে এবং যার মাধ্যমে সঠিক উত্তর আসছে, সেটাই হবে আমার প্যারামিটারের ভ্যালু।
অর্থাৎ সঠিক প্যারামিটারের ভ্যালু সেট হয়ে গেছে। তাই না? তো যদি কেউ আপনাকে বলে 7B বা 70B, এর মানে কী? এর মানে আমার মডেলটিকে 7 বিলিয়ন বা 70 বিলিয়ন লার্নড প্যারামিটার দিয়ে ট্রেনিং দেওয়া হয়েছে। তো দেখছেন, এগুলো হলো লার্নড প্যারামিটারস। যদি সে সেই প্যারামিটারগুলোর মাধ্যমে সঠিক উত্তর অনুমান করতে শুরু করে। তাই না? তো এখন এখান থেকেও আপনি বুঝতে পারছেন যে, 7 বিলিয়ন লার্নড প্যারামিটার মানে। অর্থাৎ সে এতগুলো প্যারামিটারের সাহায্যে ট্রেনিং নিয়েছে। 70 বিলিয়ন যেহেতু বেশি, তাই স্বাভাবিকভাবেই এর ট্রেনিং আরও ভালো হয়েছে কারণ এতে বেশি প্যারামিটার আছে। তাই না?
তবে আপনি এত সহজভাবে তুলনা করতে পারবেন না যে 7 বিলিয়নওয়ালা ভালো হবে। 70 বিলিয়নওয়ালা আরও ভালো হবে। বিষয়টা এমন নয়। তাই না? এবং একটি গুরুত্বপূর্ণ বিষয় হলো, 7 বিলিয়ন মানে এই নয় যে সে 7 বিলিয়ন তথ্য শিখে নিয়েছে। এগুলো তথ্য বা ফ্যাক্ট নয়। অর্থাৎ এমন নয় যে সে 7 বিলিয়ন আলাদা আলাদা তথ্য জমা করে রেখেছে। বিষয়টা এমন নয়। সেগুলো হলো 7 বিলিয়ন সংখ্যা এবং সেই সংখ্যাগুলো এত ভালোভাবে সেট হয়েছে যে সেগুলোর সাহায্যে সে সঠিক উত্তর অনুমান করতে পারে। তাই না?
তো আপনি এভাবে বুঝে নিন যে 7 বিলিয়ন লার্নড সংখ্যা আছে, আর তাকে যদি কোনো প্রশ্নের উত্তর খুঁজতে হয়, তবে এলএলএম- এর জ্ঞান সেই 7 বিলিয়ন প্যারামিটারে ছড়িয়ে দেওয়া হয়েছে এবং সে সেই প্যারামিটারগুলোর সাথেই ইন্টারঅ্যাক্ট করে সঠিক উত্তরটি অনুমান করতে পারে। লক্ষ লক্ষ প্যারামিটারের মধ্যে সম্মিলিত ইন্টারঅ্যাকশন হয়, তবেই সে সঠিক আউটপুট অনুমান করতে পারে। তাই না? তাই কখনও এমনটা ভাববেন না যে মডেলে যদি 7 বিলিয়ন বা 70 বিলিয়ন লেখা থাকে, তাহলে সে 70 বিলিয়ন তথ্য মনে রেখেছে।
বিষয়টা তা নয়। সে 70 বিলিয়ন প্যারামিটার শিখে রেখেছে। সেগুলো তার লার্নড প্যারামিটার। ঠিক আছে? আর বেশি প্যারামিটার মানেই যে ভালো মডেল হবে এমনটা নয়। অর্থাৎ বেশি প্যারামিটারওয়ালা মডেল মানেই সেটি বেশি ভালো মডেল হবে, এমনটা নয়। এটা জরুরি নয়। হতে পারে, আবার না-ও হতে পারে। কারণ একটি এলএলএম মডেল কতটা ভালো হবে তা নির্ভর করে আরও অনেক বিষয়ের ওপর। তা নির্ভর করে তাকে ট্রেনিং দেওয়ার জন্য কতটা উন্নতমানের ডেটা দেওয়া হয়েছিল তার ওপর । ধরুন 70 বিলিয়ন প্যারামিটার আছে, কিন্তু তাকে ট্রেনিং দেওয়ার জন্য খুব বাজে ডেটা দেওয়া হয়েছিল।
তাহলে সেই এলএলএম মডেলটি ভালো হবে না। এটা এটার ওপরও নির্ভর করে যে আপনি ট্রেনিংয়ের জন্য তাকে কী ধরনের অ্যালগরিদম দিয়েছেন। কীভাবে আপনি তাকে ট্রেন করেছেন? আপনার এলএলএম মডেলের ডিজাইন কী ছিল। তাই না? কী কী টাস্ক বা কাজ দিয়ে আপনি তাকে ট্রেন করেছেন? ঠিক আছে। তো আরেকটি বিষয় বোঝা জরুরি যে, যদি আপনার মডেলটি লার্জ বা বড় হয়, তবে তাতে আরও একটি সমস্যা হলো যে সেটি অনেক বেশি মেমোরি নেবে। তাই না? এবং তাতে কম্পিউটিং পাওয়ারও বেশি লাগবে। ঠিক?
অনেকেই, আমি অনেক ইউটিউব ভিডিওতে দেখেছি যে কেউ কেউ তাদের মেশিনে খুব বড় একটি এলএলএম মডেল চালানোর চেষ্টা করেছিল । তাদের মেশিন হ্যাং হয়ে গেছে বা ক্র্যাশ করেছে এবং এই ধরনের আরও অনেক কিছু। এই ধরনের অনেক সমস্যা দেখা দেয়। কারণ মডেল বড় হলে সেটির জন্য অনেক বেশি কম্পিউটিং পাওয়ার প্রয়োজন হয়। তাই না? সেটি অনেক বেশি মেমোরিও খরচ করে। তাই খুব বড় মডেল নেওয়ার ক্ষেত্রে অনেক ধরনের ট্রেড-অফ বা সীমাবদ্ধতাও থাকে। ঠিক আছে?
তো চলুন, আমি চাই অন্তত এই ভিডিও থেকে একটি টেক- অ্যাওয়ে আপনারা নিয়ে যান। শুধু একটি বিষয় মাথায় রাখতে হবে যে প্যারামিটারগুলোর তাৎপর্য কী। প্যারামিটার হলো এআই মডেলের ভেতরে থাকা শেখা সংখ্যা, যা প্যাটার্ন চিনতে এবং আউটপুট জেনারেট করতে সাহায্য করে। এবং আমরা তো এখন শিখেছি যে বিলিয়ন বিলিয়ন প্যারামিটার থাকে এবং সে তা শিখে নেয়, আর সেই প্যারামিটারগুলো লার্নড প্যারামিটার হয়ে যায়, যার সাহায্যে সে উত্তর বের করে।
কিন্তু এই বিলিয়ন বিলিয়ন প্যারামিটার শুরুতে র্যান্ডম বা দৈবচয়িত থাকে। মনে আছে? শুরুতেই সেগুলো একদম সঠিকভাবে সেট করা থাকে না। সেগুলো র্যান্ডমলি শুরু হয়। তাই না ? এবং ট্রেনিং প্রসেসের সময় ধীরে ধীরে সেগুলো সঠিক শেপে আসে। আর ঠিক এখানেই প্রি-ট্রেনিং বিষয়টি সামনে আসে। তো, আমরা পরবর্তী ভিডিওতে এটাই দেখব। আশা করি আমি আপনাদের সাহায্য করতে পেরেছি। পরের ভিডিওতে দেখা হবে। ধন্যবাদ।