কৃত্রিম বুদ্ধিমত্তার ভবিষ্যৎ

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

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

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

নিউরাল নেটওয়ার্ক যেভাবে কোন ছবিতে একটি প্রাণীকে চিনতে পারে

ডিপ নিউরাল নেটওয়ার্কের প্রতিটি লেয়ারে অনেক ডেটার ওপর একসঙ্গে একই হিসাব নিকাশ করা হয়। একে আমরা বলি প্যারালাল প্রসেসিং। একসময় এ রকম বিশাল স্কেলের প্যারালাল প্রসেসিং করার ক্ষমতা ছিল শুধু সুপারকম্পিউটারের। কিন্তু গ্রাফিকস প্রসেসিং ইউনিট (জিপিইউ) সুপারকম্পিউটারের সে কম্পিউটিং ক্ষমতা আমাদের হাতের মুঠোয় এনে দিয়েছে। কম্পিউটারের গ্রাফিকস কার্ড হিসেবে জিপিইউর ব্যবহার অনেক দিনের। জিপিইউ একধরনের হার্ডওয়্যার এক্সিলারেটর, যেটা গ্রাফিকস অনেক দ্রুত প্রসেস করতে সাহায্য করে। একসঙ্গে অনেক পিক্সেলের ওপর কাজ করার জন্য জিপিইউতে থাকে কয়েক হাজার প্যারালাল প্রসেসিং ইউনিট। তাই শুধু গ্রাফিকস প্রসেসিংয়ের জন্য নয়, যেকোনো প্যারালাল ডেটা প্রসেসিং কাজের জন্যও জিপিইউ ব্যবহার করা সম্ভব। আর যখন তার সঙ্গে যোগ হয়েছে জিপিইউকে প্রোগ্রাম করতে প্রোগ্রামিং ল্যাঙ্গুয়েজ (যেমন CUDA), সহজ হয়েছে প্যারালাল প্রসেসিং অ্যাপ্লিকেশনের জন্য জিপিইউর ব্যবহার। জিপিইউর এই সম্ভাবনার কথা বুঝতে পেরে জীববিজ্ঞান বা মহাকাশ গবেষণায় বিজ্ঞানীরা জিপিইউ ব্যবহার করা শুরু করেছেন আগেই। কিন্তু ২০১১ সালের আগ পর্যন্ত আর্টিফিশিয়াল ইন্টেলিজেন্সের ক্ষেত্রে জিপিইউর ব্যবহার শুরু হয়নি। গুগলের ‘ক্যাট’ প্রজেক্ট শেষ হওয়ার পর এর মুখ্য গবেষক স্ট্যানফোর্ড বিশ্ববিদ্যালয়ের অধ্যাপক অ্যান্ড্রু ইং (Andrew Ng) জিপিইউ নির্মাতা এনভিডিয়ার সঙ্গে কাজ শুরু করেন ডিপ লার্নিংয়ের জন্য জিপিইউর কার্যকারিতা পরীক্ষা করতে। ২০০০ সিপিইউর কাজ মাত্র ১২টি জিপিইউ দিয়ে করা গেল। জিপিইউর ব্যবহার ডিপ লার্নিংকে কম্পিউটিংয়ের পুরোভাগে নিয়ে এল। শুরু হলো হরেক রকম অ্যাপ্লিকেশনে ডিপ লার্নিংয়ের ব্যবহার—আর্টিফিশিয়াল ইন্টেলিজেন্স পৌঁছে গেল লাখ লাখ মানুষের কাছে গুগল, ফেসবুক, ম্যাপ—আরও কত অ্যাপ্লিকেশনের মাধ্যমে।

জিপিইউর পাশাপাশি ডিপ লার্নিংয়ের জন্য বিশেষ হার্ডওয়্যার বানানোর কাজও চলছে। গুগলের ডিপ মাইন্ড কম্পিউটারে ব্যবহূত হয়েছে তাদের নিজস্ব হার্ডওয়্যার এক্সিলারেটর, টেনসর প্রসেসিং ইউনিট (টিপিইউ)। টিপিইউ গুগলের মেশিন লার্নিং ফ্রেমওয়ার্ক টেনসর ফ্লোর জন্য বিশেষভাবে তৈরি অ্যাসিক (ASIC) চিপ। আবার মাইক্রোসফট ডিপ লার্নিংয়ের জন্য এফপিজিএর (FPGA) ব্যবহার পরীক্ষা করে দেখছে। তবে এখন পর্যন্ত ডিপ লার্নিংয়ের জন্য হার্ডওয়্যারের ক্ষেত্রে যেসব জিপিইউ এগিয়ে আছে, এনভিডিয়া তাদের মধ্যে অন্যতম। জিপিইউ সাধারণত কাজ করে ডাবল প্রিসিশন (৬৪-বিট) আর সিঙ্গেল প্রিসিশন (৩২-বিট) ডেটার ওপর। মডেল ট্রেনিংয়ের জন্য হাই প্রিসিশন কম্পিউটেশন দরকার। তাই প্রচলিত জিপিইউ এই ক্ষেত্রে ব্যবহূত হতে থাকবে। ডিপ লার্নিংয়ের আরেকটি ব্যবহার হচ্ছে ডেটা ইনফারেন্স (Inference)। এটি ট্রেইনড মডেলকে ব্যবহার করে কোনো একটি কাজ করে—যেমন ট্যাগকরা ছবি থেকে তৈরি মডেল ব্যবহার নতুন ছবিকে ট্যাগ করা। ইনফারেন্সের জন্য লো প্রিসিশন ডেটা হলেও চলে। লো প্রিসিশন হার্ডওয়্যারের সুবিধা হচ্ছে কম্পিউটেশন অনেক দ্রুত করা সম্ভব এবং সেটা শক্তি সাশ্রয়ী। ক্লাউড সিস্টেমের জন্য শক্তি সাশ্রয়ী হার্ডওয়্যার গুরুত্বপূর্ণ। তাই লো প্রিসিশন হার্ডওয়্যারের অগ্রগতির সঙ্গে সঙ্গে আমরা ক্লাউড সিস্টেমে ডিপ লার্নিং অ্যাপ্লিকেশনের আরও ব্যাপক ব্যবহার দেখব। গুগলের টিপিইউ লো প্রিসিশন ডেটার ওপর কাজ করে। এনভিডিয়াও ১৬-বিট জিপিইউ ডিজাইনের ওপর কাজ করছে। ডিপ লার্নিংয়ের ক্ষেত্রে পরবর্তী চ্যালেঞ্জ হচ্ছে এমবেডেড ডিভাইস, যেমন স্মার্টফোনে, ট্যাবলেট, ক্যামেরায় ডেটা ইনফারেন্স অ্যাপ্লিকেশন চালানো। ডিপ লার্নিং সফটওয়্যারের অগ্রগতির সঙ্গে সঙ্গে শক্তি সাশ্রয়ী হার্ডওয়্যার ডিজাইনের গুরুত্ব তাই সামনের দিনে আরও বেশি।

লেখক: ঊর্ধ্বতন মুখ্য হার্ডওয়্যার প্রকৌশলী, ওরাকল করপোরেশন, যুক্তরাষ্ট্র

*লেখাটি ২০১৭ সালে বিজ্ঞানচিন্তার এপ্রিল সংখ্যায় প্রকাশিত