Luồng phát triển suy luận AI của FPGA
Quy trình phát triển kết hợp liền mạch quy trình làm việc phần cứng và phần mềm vào quy trình làm việc AI toàn diện chung. Các bước như sau:
1 Trình tối ưu hóa mô hình trong bộ dụng cụ OpenVINO tạo các tệp mạng biểu diễn trung gian (.xml) và các tệp weight và bias (.bin).
2 Trình biên dịch Intel FPGA AI Suite được sử dụng để:
- Cung cấp số liệu hiệu suất hoặc diện tích ước tính cho một tệp cấu trúc nhất định hoặc tạo tệp cấu trúc được tối ưu hóa. (Kiến trúc đề cập đến các tham số IP suy luận như kích thước của mảng PE, độ chính xác, chức năng kích hoạt, độ rộng giao diện, kích thước cửa sổ, v.v)
- Biên dịch các tệp mạng thành tệp .bin với các phân vùng mạng cho FPGA và CPU (hoặc cả hai) cùng với weight and bias.
3 Tệp .bin đã biên dịch được nhập bởi ứng dụng suy luận người dùng khi chạy.
- Các giao diện lập trình ứng dụng thời gian chạy (API) bao gồm API công cụ suy luận (CPU phân vùng thời gian chạy và FPGA, suy luận lịch trình) và FPGA AI (bộ nhớ DDR, khối phần cứng FPGA).
- Các thiết kế tham khảo chứng minh các hoạt động cơ bản khi nhập .bin và chạy suy luận trên FPGA với việc hỗ trợ CPU chủ (x86 và bộ xử lý Arm).
Lưu ý:
Thiết bị được hỗ trợ: Agilex™ 7 FPGA, Cyclone® 10 GX FPGA Arria® 10 FPGA
Các mạng, lớp và chức năng1 kích hoạt đã được thử nghiệm:
- ResNet-50, MobileNet v1/v2/v3, YOLO v3, TinyYOLO v3, UNET, i3d
- 2D Conv, 3D Conv, Được kết nối đầy đủ, Softmax, BatchNorm, EltWise Mult, Clamp
- ReLU, PReLU