تشغيل نماذج اللغة الكبيرة (LLMs) على AMD NPU باستخدام FastFlowLM - دليل Fedora
يمكنك الآن تشغيل نماذج اللغة الكبيرة (LLMs) مباشرة على AMD NPU الخاص بك باستخدام Fedora. يوضح لك هذا الدليل كيفية إعداد حزمة البرمجيات (stack) على جهاز ASUS ROG Flow Z13 المزود بشريحة Ryzen AI Max 390.
يتطلب الإعداد أربع طبقات عمل:
- Kernel + DKMS driver (amdxdna): يقوم بإنشاء عقدة الجهاز (device node) وتحميل البرامج الثابتة (firmware).
- XRT base: بيئة تشغيل AMD.
- XRT NPU plugin: يسمح لـ XRT بالتعرف على NPU.
- FastFlowLM (flm): الأداة التي تقوم بتشغيل النماذج.
نظرًا لأن Fedora تفتقر إلى حزم جاهزة لهذا الغرض، يجب عليك البناء من المصدر (build from source).
⚠️ إصلاحات حاسمة قبل البدء
تفعيل IOMMU يقوم العديد من المستخدمين بتعطيل IOMMU من أجل ضبط أداء GPU، وهذا يؤدي إلى تعطل NPU. تحقق من إعداداتك:
cat /proc/cmdlineإذا رأيتamd_iommu=offفي المخرجات، فقم بإزالته من/etc/default/grubثم أعد إنشاء تكوين grub وأعد التشغيل.ضبط Memlock إلى غير محدود (Unlimited) يحتاج NPU إلى ذاكرة مقفلة (locked memory). تحقق من الحد الخاص بك:
ulimit -lإذا لم يكن "unlimited"، فأضف ما يلي إلى/etc/security/limits.d/99-memlock.conf:* soft memlock unlimited* hard memlock unlimitedبعد ذلك، قم بتسجيل الخروج ثم الدخول مرة أخرى.إصلاح مسار xrt-smi لا تستخدم رابطًا رمزيًا (symlink) لـ xrt-smi، لأن ذلك سيعطل السكربت الداخلي. استخدم غلافًا (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
ملخص خطوات البناء
- تثبيت التبعيات (dependencies): استخدم
dnfلتثبيتgitوdkmsوcmakeومختلف مكتبات التطوير. - بناء XRT: قم بعمل clone لمستودع
xdna-driver. أنشئ غلافcmake3لـ Fedora. قم ببناء وتثبيت حزم RPM. - تثبيت NPU Plugin: قم ببناء
xrt_pluginمن مستودعxdna-driverوقم بتثبيت حزمة RPM الناتجة. - بناء FastFlowLM: قم بعمل clone لمستودع
FastFlowLMواستخدمcmakeللبناء والتثبيت.
أوامر التحقق
تحقق من النواة (kernel) و NPU:
flm validate
تحقق من الأجهزة (hardware):
xrt-smi examine
xrt-smi validate
تشغيل نموذج:
flm run gemma4-it:e4b
مقاييس الأداء (Ryzen AI Max 390)
- الوقت حتى ظهور أول توكن (Time to first token): 1.21 ثانية
- سرعة التعبئة المسبقة (Prefill speed): 18 توكن/ثانية
- سرعة فك التشفير (Decoding speed): 11 توكن/ثانية
المصدر: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
