FastFlowLM सह AMD NPU वर LLMs चालवणे - Fedora मार्गदर्शिका

आता तुम्ही Fedora वापरून तुमच्या AMD NPU वर थेट Large Language Models चालवू शकता. हे मार्गदर्शक तुम्हाला Ryzen AI Max 390 चिप असलेल्या ASUS ROG Flow Z13 वर हे स्टॅक (stack) कसे सेट करायचे ते दाखवते.

सेटअपसाठी चार कार्यरत थरांची (layers) आवश्यकता आहे:

  • Kernel + DKMS driver (amdxdna): डिव्हाइस नोड तयार करते आणि फर्मवेअर लोड करते.
  • XRT base: AMD रनटाइम.
  • XRT NPU plugin: XRT ला NPU पाहण्यास अनुमती देते.
  • FastFlowLM (flm): मॉडेल्स चालवणारे टूल.

Fedora मध्ये यासाठी प्रीबिल्ट (prebuilt) पॅकेजेस उपलब्ध नसल्यामुळे, तुम्हाला ते सोर्समधून (from source) बिल्ड करावे लागेल.

⚠️ सुरू करण्यापूर्वी महत्त्वाचे उपाय (Critical Fixes)

  1. IOMMU सक्षम करा अनेक वापरकर्ते GPU ट्यूनिंगसाठी IOMMU अक्षम (disable) करतात. यामुळे NPU मध्ये बिघाड होतो. तुमची सेटिंग्ज तपासा: cat /proc/cmdline जर तुम्हाला amd_iommu=off दिसत असेल, तर ते /etc/default/grub मधून काढून टाका, तुमची grub कॉन्फिगरेशन पुन्हा तयार करा (regenerate) आणि रीबूट करा.

  2. Unlimited Memlock सेट करा NPU ला लॉक केलेल्या मेमरीची (locked memory) आवश्यकता असते. तुमची मर्यादा तपासा: ulimit -l जर ती 'unlimited' नसेल, तर /etc/security/limits.d/99-memlock.conf मध्ये खालील ओळी जोडा: * soft memlock unlimited * hard memlock unlimited त्यानंतर लॉग आउट करून पुन्हा लॉग इन करा.

  3. xrt-smi पाथ (Path) दुरुस्त करा 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)

  • डिपेंडेंसीज (dependencies) इन्स्टॉल करा: git, dkms, cmake आणि विविध डेव्हलपमेंट लायब्ररी इन्स्टॉल करण्यासाठी dnf वापरा.
  • XRT बिल्ड करा: xdna-driver रिपॉझिटरी क्लोन करा. Fedora साठी cmake3 wrapper तयार करा. RPMs बिल्ड आणि इन्स्टॉल करा.
  • 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

परफॉर्मन्स बेंचमार्क (Performance Benchmarks) (Ryzen AI Max 390)

  • पहिल्या टोकनसाठी लागलेला वेळ: 1.21 s
  • Prefill स्पीड: 18 tok/s
  • Decoding स्पीड: 11 tok/s

स्त्रोत (Source): https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5

ऐच्छिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi