Gemini 3.1 Flash Live লঞ্চ — এবং Nextain যা প্রস্তুত করছিল
আজ Gemini 3.1 Flash Live লঞ্চ হয়েছে। সময়টা অদ্ভুতভাবে মিলে যাওয়ায়, আমরা যে প্রযুক্তি প্রস্তুত করছিলাম, তা অসম্পূর্ণ হলেও এখন প্রকাশ করার সিদ্ধান্ত নেওয়া হয়েছে। naia-os, Naia অ্যাকাউন্ট এবং Google প্রোভাইডারের মাধ্যমে Gemini Live সমর্থন করছিল এবং অবিলম্বে Gemini 3.1 Flash Live প্রয়োগ করা হয়েছে। নিচের ভিডিওতে আপনি এটি দেখতে পারবেন।
এই ধরনের মডেলকে আসলে S2S, অথবা Omni মডেল বলা হয়, যা প্রচলিত STT, LLM, TTS পাইপলাইনের তুলনায় দ্রুত এবং স্বাভাবিক কথোপকথন সমর্থন করে।
মানুষের কথা শেখার প্রক্রিয়ার অনুরূপ রিয়েল-টাইম ভয়েস কনভার্সেশন মডেল (S2S, omni model)
GPT-4o ভয়েস মোড, Gemini Live, MiniCPM-o এর মধ্যে উল্লেখযোগ্য, যা টেক্সট নয়, বরং ভয়েসের মাধ্যমে, রিয়েল-টাইমে, আবেগও ধারণ করে কথোপকথন করে। ইংরেজিতে একে সাধারণত Speech to Speech (S2S), Omni Model বলা হয়। আমি মনে করি এটি প্রচলিত একমুখী STT (ভয়েসকে টেক্সটে রূপান্তরকারী মডেল) বা TTS (টেক্সটকে ভয়েসে রূপান্তরকারী মডেল) এর থেকে ভিন্ন এবং অনেক বেশি মানুষের মতো। যারা শুনতে পান না, সেই শ্রবণ প্রতিবন্ধীরা কথা শিখতে অসুবিধা হওয়ার কারণ হলো, তারা তাদের নিজেদের উচ্চারণ শুনতে না পাওয়ায় কথা শিখতে অসুবিধার সম্মুখীন হন।
তাই আমি এটিকে ভয়েস কনভার্সেশন মডেলের ভবিষ্যৎ এবং মূল প্রবণতা হবে বলে বিচার করে STT/TTS এর পৃথক সেটিং অপশনগুলো সরিয়ে দিয়ে 'লাইভ কনভার্সেশন মডেল'-এ একত্রিত করেছি এবং Gemini Live API ও gpt-4o-realtime-preview যোগ করেছি। কিন্তু যেহেতু উভয় API-ই পেইড, তাই বিনামূল্যে ব্যবহারকারীদের জন্য এটিকে 'TTS Only' হিসেবে চিহ্নিত করে Edge কে কনভার্সেশন মডেল নির্বাচনে রেখেছি, এবং এভাবেই সম্প্রতি (গতকাল) সংস্করণ 0.1.2 প্রকাশিত হয়েছে। Gemini Live API কে Naia অ্যাকাউন্টের সাথে একত্রিতও করেছি এবং বাস্তব পরীক্ষা করে কথা বলে দেখেছি যে কথোপকথনের প্রতিক্রিয়া ইমোশনাল ফিডব্যাক এবং প্রতিক্রিয়া গতির দিক থেকে অত্যন্ত সন্তোষজনক ছিল।
শুধু STT/TTS মডেল ভেবেছিলাম এমন রিয়েল-টাইম ভয়েস কনভার্সেশন মডেল সম্পর্কে ভুল ধারণা
কিন্তু আসলে এখানে একটি বড় ভুল ধারণা ছিল। আমি Gemini Live API কে পরবর্তী প্রজন্মের STT/TTS ইন্টিগ্রেটেড মডেল হিসেবে বুঝেছিলাম, কিন্তু পরে জানতে পারলাম যে একটি নির্দিষ্ট LLM মডেল, অর্থাৎ Gemini 2.5 flash বিল্ট-ইন রয়েছে এবং LLM পরিবর্তন করা যাবে না।
স্থানীয়ভাবে ব্যবহারযোগ্য রিয়েল-টাইম ভয়েস কনভার্সেশন মডেল MiniCPM-o-4.5
এই ভুল ধারণাটি উপলব্ধি করার কারণ হলো, Naia ব্যবহারকারীদের জন্য স্থানীয় মডেল সমর্থন করার লক্ষ্য রাখে, তাই RTX-3090 স্তরে চালানো যায় এমন রিয়েল-টাইম ভয়েস কনভার্সেশন মডেল খুঁজে বের করে প্রয়োগ করতে গিয়ে আমি এটি জানতে পারলাম। প্রথমে যেগুলি লক্ষ্যবস্তু ছিল সেগুলি হলো Moshi, Qwen3-Omni-30b, MiniCPM-o-4.5। Moshi এই ক্ষেত্রে ওপেন সোর্সের অগ্রদূত হলেও, সমর্থিত ভাষা মূলত ইংরেজি/ফরাসি এবং কমিউনিটি সক্রিয় না থাকায় এটি নির্বাচন করা হয়নি। Qwen3-omni-30b সম্প্রতি চমৎকার পারফরম্যান্স দেখালেও, একটি RTX 3090 এর 24GB VRAM এর জন্য যথেষ্ট নয় এবং যাচাই করা হয়নি বলে বাদ দেওয়া হয়েছে। অবশেষে যা সিদ্ধান্ত নেওয়া হয়েছিল তা হলো MiniCPM-o। এটি বর্তমানে কোরিয়ান ভাষা সমর্থন না করলেও, যদি নির্দিষ্ট পরিমাণ পুঁজি বিনিয়োগ করা সম্ভব হয়, তাহলে ভাষা অতিরিক্ত ফাইন-টিউন করা যেতে পারে। এবং যেহেতু অডিও রেফারেন্স অডিও সমর্থন করে, তাই ব্যবহারকারী যা চায় সেই TTS পর্যন্ত বাস্তবায়ন করা সম্ভব হবে বলে আমি মনে করেছি।
এছাড়াও, এর আকার ছোট হওয়ায়, 24GB থেকে অবশিষ্ট VRAM দিয়ে Qwen3-omni-30b-a3b এর সাথে চালালে RTX-3090 স্তরেও LLM পারফরম্যান্স অনেক বাড়ানো যাবে বলে আমি মনে করেছিলাম। Qwen3-omni পূর্বে উল্লিখিত রিয়েল-টাইম ভয়েস কনভার্সেশন (Omni মডেল) হলেও, এটি গ্রহণ না করার কারণ হলো, কোয়ান্টাইজ করলে ভয়েস আউটপুট ভেঙে যায় এবং ভোক্তা GPU এর 24GB তে চালানো সম্ভব ছিল না। তবে LLM হিসেবে কোয়ান্টাইজড মডেল ভালো পারফরম্যান্স দেখায় বলে জানা গেছে।
তাই MiniCPM-o কে স্থানীয় GPU (RunPod RTX 3090) তে আপলোড করে একটি Websocket ব্রিজ সার্ভার তৈরি করে Naia অ্যাপে সংযুক্ত করেছি। করতে গিয়ে জানতে পারলাম যে মডেল যা শুনেছে তা ফেরত দিচ্ছে না। কিন্তু এখানে সিদ্ধান্তমূলকভাবে যা জানতে পারলাম তা হলো, বিল্ট-ইন Qwen3-8B মডেলটি প্রতিক্রিয়া জানাচ্ছে এবং omni মডেলটি এন্ড-টু-এন্ড প্রশিক্ষণপ্রাপ্ত হওয়ায় পরিবর্তন করা অসম্ভব। সুতরাং MiniCPM-o কে আসলে Qwen3-8b-omni বলাটা বেশি উপযুক্ত হবে। সঠিকভাবে বলতে গেলে, শোনার জন্য Whisper-medium, মস্তিষ্কের জন্য Qwen3-8b, ভয়েস সিন্থেসিসের জন্য CosyVoice2, এবং ভিশনের জন্য SigLip2 ব্যবহার করা হচ্ছে বলে জানা গেছে। এই ভিন্ন মডেলগুলোকে সংযুক্ত করে মাল্টিমোডাল ডেটা দিয়ে পুনরায় প্রশিক্ষণের প্রক্রিয়া চালানো হয় বলে জানা গেছে। বৃহত্তর অর্থে এটি ফাইন-টিউনিং, কিন্তু এই সময়ে মাল্টিমোডাল ডেটার পরিমাণ এত বিশাল হওয়ায় এর খরচ কয়েক বিলিয়ন থেকে কয়েক দশ বিলিয়ন কোরিয়ান ওন হতে পারে। সম্প্রতি কোরিয়ার ডকপামোতে 'ফ্রম স্ক্র্যাচ' নাকি নয় তা নিয়ে অনেক কথা হয়েছিল, মনে হচ্ছে এটি বোঝাতে চাইছে যে প্রকৃত লক্ষ্য শুধু 'ফ্রম স্ক্র্যাচ' নয়।
MiniCPM-o-4.5, vllm-omni সমর্থনের জন্য ক্লড কোড চ্যালেঞ্জ জার্নি
কিন্তু বিল্ট-ইন Qwen3-8b নিজেই GPT-4o স্তরের হওয়ায় এটিকে উপেক্ষা করা সম্ভব ছিল না। উপরন্তু, ভয়েস রেফারেন্স এবং LLM এর ফাইন-টিউনিং এর সম্ভাবনাও থাকায়, Nextain, যারা সার্বভৌম AI অনুসরণ করে, তাদের জন্য এটি অবশ্যই অনুসরণীয় একটি মডেল বলে মনে করেছি। vllm কে ফর্ক করে RunPod এ আপলোড করেছিলাম, কিন্তু VRAM 48GB প্রয়োজন হয়েছিল। প্রায় দুই দিন ধরে চালিয়েছিলাম। তারপর দেরিতে জানতে পারলাম যে vllm-omni নামে একটি পৃথক প্রকল্প আলাদাভাবে বিদ্যমান এবং MiniCPM-o-4.5 এর কাজ ইতিমধ্যেই কেউ একজন করছে। তাই আমরা l3 টেস্ট সমর্থন করব বলে মন্তব্য করেছি। (→ vllm-omni #1182) এখনও কোনো প্রতিক্রিয়া আসেনি, এবং অপেক্ষা করার সময়, আমরা অভ্যন্তরীণভাবে vllm-omni এর উপর ভিত্তি করে চেষ্টা চালিয়ে গেছি।
এবার বিশেষ করে সতর্কতার সাথে এগিয়েছি। এর আগে AI বিশ্লেষণ অসম্পূর্ণভাবে যাচাই করে অন্য ওপেন সোর্স প্রকল্পে ক্লড কোড দিয়ে তৈরি PR আপলোড করে তীব্রভাবে সমালোচিত হয়েছিলাম। কোড বিশ্লেষণ অসম্পূর্ণ ছিল, কমিউনিটির নিয়মও মানা হয়নি, এমনকি সেই প্রকল্পের আওতার বাইরের কিছু তৈরি করা হয়েছিল, তাই এটি স্বাভাবিক ছিল। তাই এবার রিপোজিটরির আপস্ট্রিম দৃষ্টিকোণ থেকে কনটেক্সট সংগ্রহ করেছি এবং প্রতিকূল রিভিউ বারবার করার প্রক্রিয়া চালিয়েছি। তারপর ক্লিন পাস ঘোষণা করেছি এবং Naia OS এ সংযুক্ত করে কথোপকথন সম্ভব হচ্ছে কিনা তাও যাচাই করেছি এবং আপস্ট্রিমে অবদানের জন্য একটি ডকুমেন্টও তৈরি করে রিভিউ করেছি।
কিন্তু RunPod ডাউন হয়ে যাওয়ার পর আজ আবার আপলোড করতে গিয়ে দেখি কাজ করছে না। কাজ করার সময় অসম্পূর্ণভাবে রেকর্ড করা জিনিসগুলো সমস্যা তৈরি করেছে। রানটাইম যাচাই করা সম্ভব না হওয়ায়, পুনরুৎপাদনই সম্ভব হচ্ছে না। পূর্ববর্তী সেশনের সমস্ত রেকর্ড খুঁজে বের করে, এখন আবার পুনরুৎপাদন করতে গিয়ে রেকর্ডগুলো সংশোধন করছিলাম, কিন্তু অবশেষে আবার একটি গুরুতর সমস্যা খুঁজে পেয়ে শেষ পর্যন্ত বন্ধ করে দিয়েছি। vllm-omni এর অন্যান্য মডেলের প্যাটার্ন নয়, বরং নতুন হওয়ায় একটি নির্দিষ্ট প্যাটার্ন ব্যবহার করা হয়েছিল, এবং vllm-omni আপডেট হওয়ার সাথে সাথে সবকিছু ভেঙে গেছে। বিশ্লেষণের ফলাফল হর্নস এবং কনটেক্সট নিয়ন্ত্রণে ব্যর্থতার কারণে আবার একটি মধ্যবর্তী প্রতিবেদন লিখতে বাধ্য করেছে, এবং এর উপর ভিত্তি করে আবার কনটেক্সট, হর্নস সংশোধন করানো হয়েছে এবং ব্যয়বহুল RunPod এর পরিবর্তে কোড বারবার বিশ্লেষণ করানো হয়েছে। ㅜㅜ
https://github.com/nextain/vllm-omni/blob/main/.agents/docs/minicpm-o-midterm-review.md
আজ Gemini 3.1 Flash Live এর লঞ্চের খবরের সাথে সঙ্গতি রেখে MiniCPM-o 4.5 এর অপারেটিং ভিডিও প্রকাশ করতে চেয়েছিলাম। কিন্তু একবারে সফল হওয়া সত্যিই কঠিন। এখন সময় ভোর সাড়ে ৩টা বাজতে চলেছে। সর্বোপরি, এই কাজের উদ্দেশ্য হলো AI-নেটিভ ওপেন সোর্স ইকোসিস্টেমের বাস্তবায়ন, এবং AI কে 'AI slop' ছাড়াই ওপেন সোর্সে সঠিকভাবে অবদান রাখতে সক্ষম করার একটি পরীক্ষা। আগামী সপ্তাহে কিছু গ্রাফিক্স কার্ড ধার করে কাজ করার সিদ্ধান্ত নিয়েছি, তাই আমি মনে করি পরিস্থিতি কিছুটা সহজ হবে।
এরপর যদি অতিরিক্ত কাজ করা হয়, তাহলে অডিও রেফারেন্স বা LLM ফাইন-টিউনিং সম্ভব হয় কিনা তাও শেয়ার করব।
তথ্যসূত্র
- Gemini 3.1 Flash Live — Model Card (Google DeepMind)
- Speech-to-Speech Models in 2026: Three Architectural Bets — ভয়েস ইন্টিগ্রেটেড মডেল আর্কিটেকচারের তুলনা
- Introducing gpt-realtime — Simon Willison — gpt-realtime মডেল বিশ্লেষণ
- GPT-4o vs. GPT-4.1: All the differences — মডেলগুলির মধ্যে ভূমিকার পার্থক্য
- MiniCPM-o পরীক্ষার ফলাফল (GitHub Issue)
- সেটিং UI এর নতুন ডিজাইন (GitHub Issue)
- STT/TTS পাইপলাইন ডিজাইন (GitHub Issue)