আমি আমার ASUS ROG Ally-তে একটি LLM লোকালি চালিয়েছি
আমি কয়েক সপ্তাহ ধরে আমার ASUS ROG Ally-তে একটি লোকাল AI মডেল চালিয়েছি। আমি ভেবেছিলাম এটি একটি মজার প্রজেক্ট হবে। পরিবর্তে, এটি হার্ডওয়্যারের সীমাবদ্ধতা সম্পর্কে একটি শিক্ষা হয়ে দাঁড়িয়েছে।
আমি এটিকে ক্লাউডের বিকল্প হিসেবে ব্যবহার করিনি। আমি এটিকে ছোট ছোট কাজের জন্য একটি বিশেষায়িত টুল হিসেবে ব্যবহার করেছি। হ্যান্ডহেল্ড হার্ডওয়্যারে AI চালানোর বিষয়ে আমি যা শিখেছি তা নিচে দেওয়া হলো।
মেমরির বাধা
হ্যান্ডহেল্ড ডিভাইসগুলো Unified Memory Architecture ব্যবহার করে। এর মানে হলো CPU এবং GPU একই RAM শেয়ার করে। ডিফল্টভাবে, GPU মেমরির খুব সামান্য অংশ পায়।
যদি আপনার মডেলটি সেই অংশে না ধরে, তবে সিস্টেম CPU ব্যবহার করে। এর ফলে টেক্সট জেনারেশন অত্যন্ত ধীরগতির হয়ে যায়।
সমাধান:
- আপনার BIOS-এ যান।
- ম্যানুয়ালি UMA frame buffer বাড়িয়ে দিন।
- আমি আমারটিকে 4 GB পর্যন্ত বাড়িয়েছি। এই পরিবর্তনটি অন্য যেকোনো পরিবর্তনের চেয়ে বেশি সাহায্য করেছে।
যা কাজ করে না
আমি মেমরি থেকে আরও বেশি সুবিধা নিতে zRAM ব্যবহার করার চেষ্টা করেছি। কিন্তু তা ব্যর্থ হয়েছে। বেশিরভাগ AI মডেল GGUF ফাইল ব্যবহার করে যা ইতিমধ্যে কম্প্রেস করা থাকে। জায়গা বাড়ানোর জন্য আপনি সেগুলোকে আরও কম্প্রেস করতে পারবেন না।
আমি সাহায্য করার জন্য disk swap ব্যবহার করার চেষ্টাও করেছি। Swap কোনো কিছুকে দ্রুত করে না। এটি বিষয়গুলোকে ব্যবহারের অযোগ্য করে তোলে। যদি আপনার মডেল disk swap-এর ওপর নির্ভর করে, তবে আপনি প্রতি কয়েক সেকেন্ডে মাত্র একটি শব্দ দেখতে পাবেন।
Swap চালু রাখার একমাত্র কারণ হলো RAM শেষ হয়ে গেলে সিস্টেম যাতে আপনার প্রসেসটি বন্ধ (kill) না করে দেয় তা নিশ্চিত করা।
মসৃণভাবে চালানোর জন্য টিপস
যদি আপনার AI আউটপুট খাপছাড়া বা আটকে আটকে মনে হয়, তবে আপনার Linux kernel সেটিংস পরীক্ষা করুন।
- আপনার vm.swappiness ভ্যালু কমিয়ে দিন।
- এটি সিস্টেমকে খুব দ্রুত মেমরিকে swap-এ সরিয়ে নেওয়া থেকে বিরত রাখে।
- এটি জেনারেশন প্রক্রিয়াটিকে আটকে যাওয়ার পরিবর্তে স্থিতিশীল করে তোলে।
মডেল নির্বাচন নির্ভর করে ব্যবহারের ধরনের ওপর
বেশিরভাগ মানুষ দ্রুততম মডেল খোঁজে। আমি পরিবর্তে একটি ধীরগতির কিন্তু আরও সুক্ষ্ম মডেল বেছে নিয়েছি।
- আপনি যদি রিয়েল-টাইমে চ্যাট করেন, তবে আপনার গতি প্রয়োজন।
- আপনি যদি ব্যাকগ্রাউন্ডে কোনো এজেন্ট চালান, তবে আপনার গুণমান (quality) প্রয়োজন।
আমি আমার সেটআপটি ব্যাকগ্রাউন্ড টাস্কের জন্য ব্যবহার করি। আমি একটি রিকোয়েস্ট পাঠাই এবং পরে ফলাফলটি দেখি। যেহেতু আমি স্ক্রিনের দিকে তাকিয়ে নেই, তাই একটি রেসপন্স ৮ সেকেন্ডের পরিবর্তে ৪০ সেকেন্ড সময় নিলেও আমার কিছু যায় আসে না। আমি দ্রুততম উত্তর নয়, বরং সেরা উত্তরটি চাই।
হ্যান্ডহেল্ড ডিভাইসে reasoning মডেলগুলো এড়িয়ে চলুন। দুর্বল হার্ডওয়্যারে ধাপে ধাপে চিন্তা করার প্রক্রিয়াটি অনেক বেশি সময় নেয়। গুণমানের যেটুকু উন্নতি হয়, তা প্রায়শই এই দীর্ঘ অপেক্ষার যোগ্য হয় না।
এটি কিসের জন্য ভালো
একটি 16 GB ডিভাইস নিচের কাজগুলোর জন্য দারুণ:
- ছোট ইমেল ড্রাফট করা।
- ছোট কোড স্নিপেট রিভিউ করা।
- দৈনন্দিন পরিকল্পনার খসড়া তৈরি করা।
- ব্যক্তিগত কাজ যা আপনার নেটওয়ার্কের বাইরে যাওয়া উচিত নয়।
এটি নিচের কাজগুলোর জন্য অনুপযুক্ত:
- দীর্ঘ নথিপত্র।
- গভীর গবেষণা।
- জটিল কোডিং প্রজেক্ট।
লোকাল AI একটি টুল, কোনো অলৌকিক বিষয় নয়। এটি রুটিনমাফিক এবং হালকা কাজের জন্য উপযুক্ত।
Optional learning community: https://t.me/GyaanSetuAi
