Colab না Kaggle—ফ্রি GPU-তে স্থির কোটা নয়, কাজের ধরনই সিদ্ধান্ত

|লেখক: QUASA সম্পাদকীয় দল|6 মিনিটের পাঠ| 1
Colab না Kaggle—ফ্রি GPU-তে স্থির কোটা নয়, কাজের ধরনই সিদ্ধান্ত

নিজের ফাইল ও Google Drive নিয়ে মেশিন লার্নিং শিখলে Colab দিয়ে শুরু করা সুবিধাজনক। প্রতিযোগিতার ডেটা Kaggle-এ থাকলে, বা অন্যের প্রকাশিত নোটবুক ধরে পরীক্ষা চালাতে চাইলে Kaggle Notebooks বেশি মানানসই। পছন্দের সময় শুধু বিনামূল্যের জিপিইউয়ের হিসাব দেখলে ডেটা আনা, সেশন থামার পর কাজ ফের শুরু করা এবং ফল পুনরায় তৈরি করার সময়টি বাদ পড়ে যায়।

Colab-এর ব্যবহারসংক্রান্ত নির্দেশনা অনুযায়ী, বিনামূল্যের জিপিইউ নিশ্চিত নয়, ব্যবহারের সীমা বদলায় এবং প্রাপ্যতা ও ব্যবহারের ধরন অনুযায়ী নোটবুক সর্বোচ্চ ১২ ঘণ্টা চলতে পারে। Kaggle সাপ্তাহিক জিপিইউ ব্যবহারের একটি প্রকাশিত সীমা দেয়, তবে সেটিও একটানা প্রশিক্ষণের নিশ্চয়তা নয়। ফলে কোন নোটবুক উপযুক্ত, তার উত্তর নির্ভর করে ডেটা কোথায় আছে এবং থেমে যাওয়া রান থেকে কতটা কাজ উদ্ধার করা যাবে তার ওপর।

শেখার ছোট অনুশীলনে Colab কোথায় সুবিধা দেয়

কোডের একটি অংশ বদলে ফল দেখা, ভুল সংশোধন করা এবং নিজের ছোট ডেটা দিয়ে ধারণা বোঝার কাজে Colab-এর হোস্টেড Jupyter নোটবুক সহজ সূচনা। আলাদা পরিবেশ বসানো ছাড়াই ব্রাউজারে কোড চালানো যায়। নোটবুক Google Drive-এ রাখা ও ভাগ করা যায় বলে পাঠের নোট এবং কোড একই জায়গায় ধরে রাখা সুবিধাজনক।

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

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

প্রতিযোগিতার ডেটা ও প্রকাশিত নোটবুকে Kaggle কোথায় এগিয়ে

প্রতিযোগিতার ডেটা Kaggle-এ থাকলে সেখানকার নোটবুকেই সেটি ইনপুট হিসেবে যোগ করা যায়। Kaggle-এর নোটবুক নির্দেশনায় ডেটাসেট ও প্রতিযোগিতার ইনপুট যোগ করা, পরিষ্কার সেশনে ‘Save & Run All’ দিয়ে সংস্করণ সংরক্ষণ করা এবং সেই পূর্ণ রান ১২ ঘণ্টার মধ্যে শেষ করার শর্ত দেখানো হয়েছে। প্রতিযোগিতার ডেটা ব্যবহারের আগে তার নিয়মে সম্মতি দিতে হয়; বাইরের ডেটা ব্যবহার করা যাবে কি না, সেটিও সংশ্লিষ্ট প্রতিযোগিতার নিয়মে নির্ধারিত হয়।

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

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

ফাইল Google Drive-এ থাকলে শুরু করার খরচ

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

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

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

দীর্ঘ প্রশিক্ষণে সাপ্তাহিক কোটা ও সেশনের সীমা

Kaggle-এর জিপিইউ ব্যবহারের নির্দেশনায় সাপ্তাহিক কোটা ৩০ ঘণ্টা, চাহিদা ও সম্পদ অনুযায়ী কখনো বেশি, বলা আছে। এটি একটি মডেলকে বিরতি ছাড়া পুরো কোটা ধরে চালানোর সুযোগ বোঝায় না। পূর্ণ নোটবুক রানের নিজস্ব সময়সীমা আছে; Colab-এও বিনামূল্যের সেশনের আয়ু ও জিপিইউ প্রাপ্যতা বদলায়। দীর্ঘ কাজের পরিকল্পনায় তাই মোট ব্যবহারের সুযোগ এবং একটি রান কতক্ষণ টিকবে—দুটি আলাদা হিসাব।

মডেল মাঝপথে থামতে পারে এমন হলে প্রশিক্ষণ কোথা থেকে আবার শুরু হবে, সেটিই মূল প্রশ্ন। নির্দিষ্ট বিরতিতে মডেলের অবস্থা সংরক্ষণ করলে আগের সব ধাপ পুনরায় চালানোর প্রয়োজন কমে। শুধু কোড সংরক্ষণ যথেষ্ট নয়: ব্যবহৃত ডেটা, প্রয়োজনীয় প্যাকেজ এবং শেষ চেকপয়েন্ট নতুন সেশনে পাওয়া যেতে হবে। কোন যন্ত্র পাওয়া যাবে তার ওপর পুরো পরিকল্পনা দাঁড় করালে জিপিইউ বদলানো বা সেশন শেষ হওয়া মাত্রই কাজ আটকে যায়।

Kaggle-এ সংরক্ষিত নোটবুকের আউটপুট পরে অন্য নোটবুকের ইনপুট হতে পারে। Colab-এ Drive-এ চেকপয়েন্ট রাখার পথ পরিচিত হলেও নতুন সেশনে Drive যুক্ত করা, ফাইল পড়া ও প্রয়োজনীয় প্যাকেজ বসানোর ধাপ নিজের নোটবুকে স্পষ্ট রাখতে হয়। উভয় ক্ষেত্রেই আগের সেশনের মেমরিতে থাকা মডেল আর নতুন সেশনে পাওয়া সংরক্ষিত মডেল এক জিনিস নয়।

একই ছোট প্রশিক্ষণকাজে পার্থক্যটি কেমন

উদাহরণ হিসেবে Kaggle-এ থাকা Iris Species ডেটাসেট দিয়ে একটি ছোট শ্রেণিবিন্যাসের মডেল প্রশিক্ষণের কথা ধরা যাক; এখানে কোনো পরীক্ষার ফল দাবি করা হচ্ছে না। Kaggle Notebooks-এ ডেটাসেটটি ইনপুট হিসেবে যোগ করে কোড চালানো যায়। Colab-এ একই কাজ করতে হলে আগে ডেটাসেটটি নিজের ব্যবহারের জায়গা থেকে আনতে হবে, যেমন Drive-এ রাখা অনুলিপি যুক্ত করে। মডেলের কোড একই রাখা গেলেও ইনপুটের অবস্থান ও ফাইল পড়ার পথ আলাদা হবে।

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

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

শিক্ষার্থী ও প্রতিযোগীর জন্য নির্বাচন

নিজের ফাইল নিয়ে ধারণা শেখা এবং Drive-এ রাখা কাজ বারবার বদলে দেখা শিক্ষার্থীর জন্য Colab স্বাভাবিক পছন্দ। প্রতিযোগিতার ডেটা ও প্রকাশিত উদাহরণ একই পরিবেশে দরকার হলে Kaggle Notebooks শুরু করার ঘুরপথ কমায়। শিক্ষার্থীও Kaggle-এর প্রকাশিত নোটবুক থেকে শিখতে পারেন; প্রতিযোগীও প্রয়োজনমতো Colab ব্যবহার করতে পারেন। সিদ্ধান্তটি পরিচয়ের চেয়ে ডেটার অবস্থান ও কাজের ধারার সঙ্গে বেশি যুক্ত।

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

আরও পড়ুন:

শেয়ার করুন:

আমাদের নিউজলেটার নিন

সর্বশেষ Web3, AI ও ক্রিপ্টো সংবাদ সরাসরি আপনার ইনবক্সে পান।

0