Uruchamianie LLM na AMD NPU za pomocą FastFlowLM - Poradnik dla Fedory
Możesz teraz uruchamiać duże modele językowe (LLM) bezpośrednio na swoim procesorze AMD NPU, korzystając z systemu Fedora. Ten poradnik pokazuje, jak skonfigurować stos technologiczny na ASUS ROG Flow Z13 z procesorem Ryzen AI Max 390.
Konfiguracja wymaga czterech działających warstw:
- Kernel + sterownik DKMS (amdxdna): Tworzy węzeł urządzenia i ładuje oprogramowanie układowe (firmware).
- XRT base: Środowisko uruchomieniowe AMD.
- Wtyczka XRT NPU: Pozwala XRT na wykrycie NPU.
- FastFlowLM (flm): Narzędzie służące do uruchamiania modeli.
Ponieważ Fedora nie posiada gotowych pakietów dla tego rozwiązania, musisz zbudować je ze źródeł.
⚠️ Krytyczne poprawki przed rozpoczęciem
Włącz IOMMU Wielu użytkowników wyłącza IOMMU w celu optymalizacji GPU. Powoduje to błędy w działaniu NPU. Sprawdź swoje ustawienia:
cat /proc/cmdlineJeśli widziszamd_iommu=off, usuń ten wpis z/etc/default/grub, wygeneruj ponownie konfigurację grub i zrestartuj system.Ustaw nieograniczony limit memlock NPU wymaga zablokowanej pamięci. Sprawdź swój limit:
ulimit -lJeśli nie jest ustawiony jako nieograniczony, dodaj poniższą treść do/etc/security/limits.d/99-memlock.conf:* soft memlock unlimited* hard memlock unlimitedNastępnie wyloguj się i zaloguj ponownie.Napraw ścieżkę xrt-smi Nie twórz linku symbolicznego (symlink) do
xrt-smi. Powoduje to błędy w wewnętrznym skrypcie. Zamiast tego użyj wrappera:
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
Podsumowanie kroków budowania
- Zainstaluj zależności: Użyj
dnf, aby zainstalowaćgit,dkms,cmakeoraz różne biblioteki deweloperskie. - Zbuduj XRT: Sklonuj repozytorium
xdna-driver. Utwórz wrappercmake3dla Fedory. Zbuduj i zainstaluj pakiety RPM. - Zainstaluj wtyczkę NPU: Zbuduj
xrt_pluginz repozytoriumxdna-driveri zainstaluj wynikowy pakiet RPM. - Zbuduj FastFlowLM: Sklonuj repozytorium FastFlowLM i użyj
cmakedo zbudowania i instalacji.
Polecenia weryfikacyjne
Sprawdź kernel i NPU:
flm validate
Sprawdź sprzęt:
xrt-smi examine
xrt-smi validate
Uruchom model:
flm run gemma4-it:e4b
Wyniki wydajności (Ryzen AI Max 390)
- Czas do pierwszego tokenu: 1,21 s
- Prędkość prefillu: 18 tok/s
- Prędkość dekodowania: 11 tok/s
Źródło: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi
