Chạy LLM trên AMD NPU với FastFlowLM - Hướng dẫn dành cho Fedora
Giờ đây bạn có thể chạy các Mô hình Ngôn ngữ Lớn (LLM) trực tiếp trên NPU AMD của mình bằng Fedora. Hướng dẫn này sẽ chỉ bạn cách thiết lập các lớp phần mềm trên ASUS ROG Flow Z13 với chip Ryzen AI Max 390.
Việc thiết lập yêu cầu bốn lớp hoạt động:
- Kernel + driver DKMS (amdxdna): Tạo node thiết bị và tải firmware.
- XRT base: Runtime của AMD.
- XRT NPU plugin: Cho phép XRT nhận diện NPU.
- FastFlowLM (flm): Công cụ dùng để chạy các mô hình.
Vì Fedora thiếu các gói cài đặt sẵn cho việc này, bạn phải xây dựng (build) từ mã nguồn.
⚠️ Các bản sửa lỗi quan trọng trước khi bắt đầu
Bật IOMMU Nhiều người dùng thường tắt IOMMU để tinh chỉnh GPU. Điều này sẽ làm hỏng NPU. Kiểm tra cài đặt của bạn: cat /proc/cmdline Nếu bạn thấy
amd_iommu=off, hãy xóa nó khỏi/etc/default/grub, tạo lại cấu hình grub và khởi động lại máy.Thiết lập Memlock không giới hạn NPU cần bộ nhớ được khóa (locked memory). Kiểm tra giới hạn của bạn: ulimit -l Nếu nó không phải là "unlimited", hãy thêm dòng này vào
/etc/security/limits.d/99-memlock.conf:
- soft memlock unlimited
- hard memlock unlimited Sau đó, hãy đăng xuất và đăng nhập lại.
- Sửa đường dẫn xrt-smi
Đừng tạo symlink cho
xrt-smi. Việc này sẽ làm hỏng script nội bộ. Thay vào đó, hãy sử dụng một 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
Tóm tắt các bước Build
- Cài đặt các phụ thuộc (dependencies): Sử dụng
dnfđể cài đặtgit,dkms,cmakevà các thư viện phát triển khác nhau. - Build XRT: Clone repo
xdna-driver. Tạo một wrappercmake3cho Fedora. Build và cài đặt các file RPM. - Cài đặt NPU Plugin: Build
xrt_plugintừ repoxdna-drivervà cài đặt file RPM thu được. - Build FastFlowLM: Clone repo
FastFlowLMvà sử dụngcmakeđể build và cài đặt.
Các lệnh xác minh
Kiểm tra kernel và NPU: flm validate
Kiểm tra phần cứng: xrt-smi examine xrt-smi validate
Chạy một mô hình: flm run gemma4-it:e4b
Điểm chuẩn hiệu năng (Ryzen AI Max 390)
- Thời gian đến token đầu tiên: 1.21 s
- Tốc độ prefill: 18 tok/s
- Tốc độ giải mã (decoding): 11 tok/s
Nguồn: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi
