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

  1. 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/cmdline Jeśli widzisz amd_iommu=off, usuń ten wpis z /etc/default/grub, wygeneruj ponownie konfigurację grub i zrestartuj system.

  2. Ustaw nieograniczony limit memlock NPU wymaga zablokowanej pamięci. Sprawdź swój limit: ulimit -l Jeśli nie jest ustawiony jako nieograniczony, dodaj poniższą treść do /etc/security/limits.d/99-memlock.conf: * soft memlock unlimited * hard memlock unlimited Następnie wyloguj się i zaloguj ponownie.

  3. 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, cmake oraz różne biblioteki deweloperskie.
  • Zbuduj XRT: Sklonuj repozytorium xdna-driver. Utwórz wrapper cmake3 dla Fedory. Zbuduj i zainstaluj pakiety RPM.
  • Zainstaluj wtyczkę NPU: Zbuduj xrt_plugin z repozytorium xdna-driver i zainstaluj wynikowy pakiet RPM.
  • Zbuduj FastFlowLM: Sklonuj repozytorium FastFlowLM i użyj cmake do 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