FastFlowLM மூலம் AMD NPU-வில் LLM-களை இயக்குதல் - Fedora வழிகாட்டி
இப்போது Fedora பயன்படுத்தி உங்கள் AMD NPU-வில் நேரடியாக Large Language Models-களை இயக்க முடியும். Ryzen AI Max 390 சிப் கொண்ட ASUS ROG Flow Z13 சாதனத்தில் இந்தத் தொகுப்பை (stack) எவ்வாறு அமைப்பது என்பதை இந்த வழிகாட்டி காட்டுகிறது.
இந்த அமைப்பிற்கு நான்கு செயல்பாட்டு அடுக்குகள் (layers) தேவை:
- Kernel + DKMS driver (amdxdna): சாதன முனையத்தை (device node) உருவாக்கி, firmware-ஐ ஏற்றுகிறது.
- XRT base: AMD runtime.
- XRT NPU plugin: XRT-ஆல் NPU-வைக் கண்டறிய அனுமதிக்கிறது.
- FastFlowLM (flm): மாடல்களை இயக்கும் கருவி.
Fedora-வில் இதற்கான முன் கட்டமைக்கப்பட்ட தொகுப்புகள் (prebuilt packages) இல்லாததால், நீங்கள் இதை மூலக் குறியீட்டிலிருந்து (source) உருவாக்க வேண்டும்.
⚠️ தொடங்குவதற்கு முன் முக்கியமான திருத்தங்கள்
IOMMU-வைச் செயல்படுத்தவும் GPU tuning-க்காகப் பல பயனர்கள் IOMMU-வை முடக்கிவிடுகிறார்கள். இது NPU-வைச் செயலிழக்கச் செய்யும். உங்கள் அமைப்புகளைச் சரிபார்க்கவும்:
cat /proc/cmdlineநீங்கள்amd_iommu=offஎன்பதைக் கண்டால், அதை/etc/default/grub-லிருந்து நீக்கிவிட்டு, உங்கள் grub config-ஐ மீண்டும் உருவாக்கி (regenerate), கணினியை மறுதொடக்கம் (reboot) செய்யவும்.Unlimited Memlock-ஐ அமைக்கவும் NPU-விற்கு லாக் செய்யப்பட்ட நினைவகம் (locked memory) தேவை. உங்கள் வரம்பைச் (limit) சரிபார்க்கவும்:
ulimit -lஅது unlimited ஆக இல்லையென்றால்,/etc/security/limits.d/99-memlock.conf-இல் இதைக் கூட்டவும்:* soft memlock unlimited* hard memlock unlimitedபிறகு லாக் அவுட் செய்து மீண்டும் லாக் இன் செய்யவும்.xrt-smi பாதையைச் சரிசெய்யவும் xrt-smi-க்கு symlink பயன்படுத்த வேண்டாம். இது உட்புற ஸ்கிரிப்டை (internal script) உடைத்துவிடும். அதற்குப் பதிலாக ஒரு 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 மற்றும் பல்வேறு மேம்பாட்டு நூலகங்களை (development libraries) நிறுவ dnf-ஐப் பயன்படுத்தவும்.
- XRT-ஐ உருவாக்கவும்: xdna-driver repo-வை குளோன் (clone) செய்யவும். Fedora-விற்கான cmake3 wrapper-ஐ உருவாக்கவும். RPM-களை உருவாக்கி நிறுவவும்.
- NPU Plugin-ஐ நிறுவவும்: xdna-driver repo-விலிருந்து xrt_plugin-ஐ உருவாக்கி, அதன் மூலம் கிடைக்கும் RPM-ஐ நிறுவவும்.
- FastFlowLM-ஐ உருவாக்கவும்: FastFlowLM repo-வை குளோன் செய்து, cmake மூலம் உருவாக்கி நிறுவவும்.
சரிபார்ப்பு கட்டளைகள் (Verification Commands)
Kernel மற்றும் NPU-வைச் சரிபார்க்க:
flm validate
வன்பொருளைச் (hardware) சரிபார்க்க:
xrt-smi examine
xrt-smi validate
ஒரு மாடலை இயக்க:
flm run gemma4-it:e4b
செயல்திறன் அளவீடுகள் (Performance Benchmarks) (Ryzen AI Max 390)
- முதல் டோக்கனுக்கான நேரம் (Time to first token): 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
