FastFlowLM을 사용하여 AMD NPU에서 LLM 실행하기 - Fedora 가이드
이제 Fedora를 사용하여 AMD NPU에서 대규모 언어 모델(LLM)을 직접 실행할 수 있습니다. 이 가이드는 Ryzen AI Max 390 칩이 탑재된 ASUS ROG Flow Z13에서 스택을 설정하는 방법을 설명합니다.
설정을 위해서는 네 가지 작동 계층이 필요합니다:
- Kernel + DKMS driver (amdxdna): 디바이스 노드를 생성하고 펌웨어를 로드합니다.
- XRT base: AMD 런타임입니다.
- XRT NPU plugin: XRT가 NPU를 인식할 수 있게 합니다.
- FastFlowLM (flm): 모델을 실행하는 도구입니다.
Fedora에는 이를 위한 사전 빌드된 패키지가 없으므로, 소스에서 직접 빌드해야 합니다.
⚠️ 시작 전 필수 수정 사항
IOMMU 활성화 많은 사용자가 GPU 튜닝을 위해 IOMMU를 비활성화하곤 합니다. 이는 NPU 작동을 방해합니다. 설정을 확인하세요:
cat /proc/cmdline만약amd_iommu=off가 보인다면,/etc/default/grub에서 이를 제거하고, grub 설정을 재생성한 뒤 재부팅하십시오.Memlock 제한 해제 NPU에는 잠긴 메모리(locked memory)가 필요합니다. 제한 사항을 확인하세요:
ulimit -l만약unlimited가 아니라면,/etc/security/limits.d/99-memlock.conf에 다음 내용을 추가하십시오:* soft memlock unlimited* hard memlock unlimited그 다음 로그아웃 후 다시 로그인하십시오.xrt-smi 경로 수정 xrt-smi를 심볼릭 링크(symlink)로 만들지 마십시오. 내부 스크립트가 깨질 수 있습니다. 대신 래퍼(wrapper)를 사용하십시오:
sudo tee /usr/local/bin/xrt-smi <<'EOF'#!/bin/shexec /opt/xilinx/xrt/bin/xrt-smi "$@"EOFsudo chmod +x /usr/local/bin/xrt-smi
빌드 단계 요약
- 의존성 설치: dnf를 사용하여 git, dkms, cmake 및 다양한 개발 라이브러리를 설치합니다.
- XRT 빌드: xdna-driver 저장소를 클론합니다. Fedora용 cmake3 래퍼를 생성합니다. RPM을 빌드하고 설치합니다.
- NPU 플러그인 설치: xdna-driver 저장소에서 xrt_plugin을 빌드하고 생성된 RPM을 설치합니다.
- FastFlowLM 빌드: FastFlowLM 저장소를 클론하고 cmake를 사용하여 빌드 및 설치합니다.
검증 명령어
커널 및 NPU 확인:
flm validate
하드웨어 확인:
xrt-smi examine
xrt-smi validate
모델 실행:
flm run gemma4-it:e4b
성능 벤치마크 (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
