FastFlowLM ব্যবহার করে AMD NPU-তে LLM চালানো - Fedora গাইড

আপনি এখন Fedora ব্যবহার করে সরাসরি আপনার AMD NPU-তে Large Language Models চালাতে পারেন। এই গাইডটি আপনাকে Ryzen AI Max 390 চিপযুক্ত একটি ASUS ROG Flow Z13-এ এই স্ট্যাকটি কীভাবে সেটআপ করতে হয় তা দেখাবে।

সেটআপটির জন্য চারটি কার্যকরী লেয়ার প্রয়োজন:

  • Kernel + DKMS driver (amdxdna): এটি ডিভাইস নোড তৈরি করে এবং ফার্মওয়্যার লোড করে।
  • XRT base: AMD রানটাইম।
  • XRT NPU plugin: এটি XRT-কে NPU দেখতে সাহায্য করে।
  • FastFlowLM (flm): মডেল চালানোর টুল।

যেহেতু Fedora-তে এর জন্য কোনো প্রি-বিল্ট প্যাকেজ নেই, তাই আপনাকে সোর্স থেকে এটি বিল্ড করতে হবে।

⚠️ শুরু করার আগে গুরুত্বপূর্ণ কিছু সমাধান (Critical Fixes)

  1. IOMMU এনাবল করুন অনেক ব্যবহারকারী GPU টিউনিং করার জন্য IOMMU ডিজেবল করে রাখেন। এটি NPU-এর কার্যকারিতা নষ্ট করে দেয়। আপনার সেটিংস চেক করুন: cat /proc/cmdline যদি আপনি amd_iommu=off দেখতে পান, তবে এটি /etc/default/grub থেকে সরিয়ে ফেলুন, আপনার grub কনফিগারেশনটি পুনরায় তৈরি (regenerate) করুন এবং রিবুট করুন।

  2. Unlimited Memlock সেট করুন NPU-এর জন্য লকড মেমরি প্রয়োজন। আপনার লিমিট চেক করুন: ulimit -l যদি এটি unlimited না হয়, তবে /etc/security/limits.d/99-memlock.conf-এ এটি যোগ করুন: * soft memlock unlimited * hard memlock unlimited এরপর লগ আউট করে আবার লগ ইন করুন।

  3. xrt-smi পাথ ঠিক করুন xrt-smi-এর জন্য symlink ব্যবহার করবেন না। এটি ইন্টারনাল স্ক্রিপ্ট নষ্ট করে দেয়। পরিবর্তে একটি wrapper ব্যবহার করুন:

sudo tee /usr/local/bin/xrt-smi <<'EOF'
#!/bin/sh
exec /opt/xilinx/xrt/bin/xrt-smi "$@"
EOF
sudo chmod +x /usr/local/bin/xrt-smi

বিল্ড করার ধাপগুলোর সারসংক্ষেপ (Build Steps Summary)

  • ডিপেন্ডেন্সি ইনস্টল করুন: git, dkms, cmake এবং বিভিন্ন ডেভেলপমেন্ট লাইব্রেরি ইনস্টল করতে dnf ব্যবহার করুন।
  • XRT বিল্ড করুন: xdna-driver রিপোজিটরি ক্লোন করুন। Fedora-এর জন্য একটি cmake3 wrapper তৈরি করুন। RPM ফাইলগুলো বিল্ড এবং ইনস্টল করুন।
  • NPU Plugin ইনস্টল করুন: xdna-driver রিপোজিটরি থেকে xrt_plugin বিল্ড করুন এবং প্রাপ্ত RPM ইনস্টল করুন।
  • FastFlowLM বিল্ড করুন: FastFlowLM রিপোজিটরি ক্লোন করুন এবং বিল্ড ও ইনস্টল করতে cmake ব্যবহার করুন।

ভেরিফিকেশন কমান্ডসমূহ (Verification Commands)

কার্নেল এবং NPU চেক করুন: flm validate

হার্ডওয়্যার চেক করুন: xrt-smi examine xrt-smi validate

একটি মডেল চালান: flm run gemma4-it:e4b

পারফরম্যান্স বেঞ্চমার্ক (Ryzen AI Max 390)

  • প্রথম টোকেন পেতে সময়: 1.21 s
  • Prefill স্পিড: 18 tok/s
  • Decoding স্পিড: 11 tok/s

উৎস: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi