“Field programmable array” có nghĩa là gì?
Tên đầy đủ là Field Programmable Gate Array, viết tắt FPGA, nghĩa là mảng cổng lập trình được. FPGA triển khai logic số có thể cấu hình; NPU tăng tốc các phép toán mạng nơ-ron được hỗ trợ. Lựa chọn phụ thuộc đường đi thực tế của tín hiệu. FPGA hữu ích cho giao diện song song hoặc thu thập dữ liệu nhạy về thời gian, còn NPU có thể đơn giản hóa tác vụ suy luận tương thích.
Từ bo mạch phát triển FPGA đến sản phẩm tùy chỉnh
Bo mạch FPGA chỉ chứng minh một phần của hệ thống. Thiết kế tùy chỉnh còn cần trình tự cấp nguồn, xung nhịp, giao diện bộ nhớ, thiết kế nhiệt và phương pháp kiểm thử lặp lại được. So sánh công sức thiết kế và xác minh FPGA với kiến trúc MPU hoặc SoC FPGA. Chi phí FPGA bao gồm kỹ thuật, công cụ, độ phức tạp bo mạch và kiểm thử sản xuất, không chỉ riêng chip.
AI MPU là gì?
Nền tảng MPU có khả năng AI kết hợp bộ vi xử lý ứng dụng với phần mềm và tài nguyên tăng tốc cần thiết cho khối lượng công việc học máy. Bắt đầu bằng cách xác định tác vụ nào thuộc về CPU và tác vụ nào được hưởng lợi từ bộ tăng tốc được hỗ trợ.
MPU, hay bộ vi xử lý ứng dụng, thường là trung tâm phần mềm của hệ thống Linux nhúng. “AI MPU” không phải là một danh mục bộ xử lý riêng biệt mà là nền tảng MPU bao gồm hoặc hoạt động chặt chẽ với các tài nguyên tăng tốc như NPU, GPU, DSP hoặc FPGA. MPU lưu trữ Linux, kết nối mạng, lưu trữ, dịch vụ bảo mật, logic ứng dụng và thời gian chạy điều phối khối lượng công việc AI.
Đối với học máy MPU, câu hỏi thực tế không chỉ là tốc độ CPU. Băng thông bộ nhớ, hỗ trợ bộ tăng tốc, camera và chất lượng I/O, Linux BSP tốc độ cao, tính khả dụng lâu dài, thiết kế nhiệt và sự trưởng thành của chuỗi công cụ mô hình thường quan trọng hơn giá trị TOPS tiêu đề.
Điều gì khiến MPU trở thành một nền tảng trí tuệ nhân tạo tốt?
MPU tốt nhất cho trí tuệ nhân tạo là khối lượng công việc cụ thể. Cổng tầm nhìn có thể ưu tiên MIPI CSI, đường dẫn video phần cứng và NPU. Một máy tính hoạt động bền bỉ có thể cần PCIe, nhiều cổng Ethernet, lõi đồng hành xác định và các tính năng bảo mật mạnh mẽ hơn. Nền tảng công nghiệp có thể coi trọng tuổi thọ sản phẩm lâu dài, TSN, CAN-FD và hệ sinh thái Linux ổn định.
Điểm chuẩn mô hình thực tế và chuỗi tiền xử lý hoàn chỉnh. Nền tảng có số liệu tăng tốc được quảng cáo thấp hơn có thể giành chiến thắng nếu nó tránh được việc sao chép bộ nhớ, hỗ trợ các toán tử cần thiết và giữ cho đường dẫn từ cảm biến đến kết quả luôn hiệu quả.
NPU: suy luận thần kinh hiệu quả cục bộ trên thiết bị
NPU biên tăng tốc các toán tử mạng thần kinh như phép tích chập, phép toán ma trận và các hàm kích hoạt thông thường. Đây thường là nơi hiệu quả nhất cho các mô hình phát hiện, phân loại, phân đoạn và trích xuất tính năng được hỗ trợ khi sức mạnh và thông lượng suy luận được duy trì là vấn đề quan trọng.
Hiệu suất của NPU phụ thuộc vào quá trình biên dịch và phạm vi điều hành. Các lớp không được hỗ trợ có thể quay trở lại CPU hoặc bộ tăng tốc khác. Yêu cầu lượng tử hóa, bố cục tensor, độ phân giải đầu vào và chuyển động bộ nhớ cũng có thể thay đổi đáng kể hiệu suất trong thế giới thực. Luôn đánh giá biểu đồ sản xuất thay vì chỉ dựa vào TOPS lý thuyết.
FPGA: quy trình xác định và suy luận AI trong đó tính linh hoạt là vấn đề quan trọng
FPGA vượt trội trong việc di chuyển dữ liệu xác định, giao diện tùy chỉnh và các đường dẫn song song ồ ạt. Trong các hệ thống xử lý cục bộ, nó có thể giải tuần tự hóa các cảm biến, căn chỉnh dấu thời gian, lọc dữ liệu, tạo vùng quan tâm, thực hiện tiền xử lý hình ảnh và cung cấp bộ tăng tốc với độ trễ có thể dự đoán được. Suy luận AI FPGA cũng có thể thực hiện được khi một mô hình ánh xạ tốt tới ngăn xếp tăng tốc DSP, bộ nhớ và nhà cung cấp có sẵn.
Sự đánh đổi là nỗ lực kỹ thuật. Chiến lược thiết kế, mô phỏng, đóng thời gian, xác minh và cập nhật RTL hoặc HLS phải được lập kế hoạch. Nên chọn FPGA vì hành vi xác định hoặc tính song song tùy chỉnh tạo ra giá trị hệ thống—không chỉ đơn giản vì nó có thể chạy số học.
NPU so với FPGA cho Edge AI
Quyết định NPU so với FPGA thường là một nhị phân sai. NPU nói chung là lựa chọn dễ dàng hơn cho các mạng thần kinh được hỗ trợ và hiệu suất mạnh mẽ trên mỗi watt. FPGA mạnh hơn khi hệ thống cần giao diện cảm biến tùy chỉnh, tiền xử lý xác định, định dạng dữ liệu bất thường hoặc quy trình được kiểm soát chặt chẽ trước và sau suy luận.
Một kiến trúc phổ biến sử dụng cả hai: FPGA để thu nạp và tiền xử lý cảm biến, NPU cho mạng thần kinh và MPU cho điều phối Linux. Điều này làm giảm số lượng công việc không thường xuyên được thực hiện trên bất kỳ bộ xử lý nào.
| Tài nguyên | Khối lượng công việc phù hợp nhất | Những hạn chế chính |
|---|---|---|
| FPGA | Đường ống xác định, I/O tùy chỉnh, đánh dấu thời gian, tiền xử lý, tăng tốc chuyên dụng | Nỗ lực RTL/HLS, xác minh, tài nguyên thiết bị |
| NPU | Hỗ trợ suy luận thần kinh với hiệu suất tốt trên mỗi watt | Hỗ trợ toán tử, trình biên dịch/thời gian chạy, lượng tử hóa và chuyển động bộ nhớ |
| MPU | Ứng dụng Linux, kết nối mạng, lưu trữ, an ninh mạng, điều phối | Thực hiện ít xác định hơn; chi phí mục đích chung |
| Lõi MCU / RT | Vòng điều khiển, giám sát an toàn, trình tự nguồn điện, I/O xác định | Bộ nhớ hạn chế và tính toán cấp cao |
Điện toán biên
- Bắt đầu với thời hạn: xác định tín hiệu nào có yêu cầu về thời gian cứng và độ trễ từ cảm biến đến hành động tối đa.
- Tốc độ dữ liệu bản đồ: tính toán thông lượng cảm biến, kích thước tensor trung gian và lưu lượng bộ nhớ trong trường hợp xấu nhất.
- Giữ thông tin xác định gần với giao diện: FPGA, động cơ DMA hoặc lõi thời gian thực thường phù hợp.
- Đặt các mô hình thần kinh được hỗ trợ trên NPU: xác nhận phạm vi điều hành và hiệu suất được biên dịch thực tế.
- Sử dụng MPU cho hệ thống: kết nối mạng, lưu trữ, cập nhật, ghi nhật ký, API và chính sách ứng dụng đương nhiên thuộc về Linux.
- Dự trữ kiểm soát thời gian thực: MCU hoặc lõi xác định sẽ giám sát hoạt động quan trọng về thời gian và tình trạng nền tảng khi cần thiết.
Băng thông bộ nhớ thường là nút thắt cổ chai
Nhiều thiết kế Edge AI tập trung vào các đỉnh điện toán và sau đó khám phá ra rằng các bản sao, chuyển đổi màu, định dạng lại tensor hoặc DDR dùng chung chiếm ưu thế về độ trễ. Đường dẫn không sao chép hoặc ít sao chép, cấu trúc liên kết DMA, hành vi bộ nhớ đệm và quyền truy cập bộ nhớ tăng tốc cần được đánh giá sớm. Việc điều tiết nhiệt cũng có thể biến một tiêu chuẩn mạnh mẽ thành hiệu suất duy trì yếu kém.
Điều này đặc biệt quan trọng khi nhiều camera, radar, cảm biến sự kiện hoặc luồng Ethernet tốc độ cao chia sẻ cùng một hệ thống con bộ nhớ.
Ví dụ về kiến trúc tham khảo
Đường dẫn tầm nhìn / cảm biến sự kiện
Cảm biến → Nhập và đánh dấu thời gian FPGA → Suy luận NPU → Dịch vụ quyết định MPU → Đầu ra CAN-FD hoặc Ethernet. Đây là một mô hình mạnh mẽ cho nhận thức có độ trễ thấp và kết nối trực tiếp với .
Máy tính AI nhúng
I/O tốc độ cao → Đường dẫn DMA / bộ tăng tốc → NPU hoặc suy luận GPU → Dịch vụ ứng dụng Linux → API lưu trữ và mạng. của chúng tôi mô-đun tính toán nhúng và máy tính chắc chắn để xử lý cục bộ các lớp sản phẩm được xây dựng xung quanh kiểu phân vùng này.
Cổng xác định công nghiệp
Giao diện CAN-FD / serial / Ethernet → Dấu thời gian và giao thức FPGA hoặc MCU → Dịch vụ MPU → phân tích NPU tùy chọn. Ở đây, I/O mang tính quyết định và khả năng bảo trì phần mềm lâu dài có thể quan trọng hơn thông lượng AI tối đa.
Cách chọn giữa FPGA, NPU và MPU
Chọn từ khối lượng công việc hoàn chỉnh chứ không phải nhãn bộ xử lý. Nếu vấn đề nổi trội là suy luận thần kinh, hãy bắt đầu từ khả năng tương thích NPU. Nếu I/O tùy chỉnh và tiền xử lý xác định chiếm ưu thế, hãy đánh giá tài nguyên FPGA. Nếu các dịch vụ, phần mềm mạng và ứng dụng Linux chiếm ưu thế, hãy bắt đầu với khả năng của MPU. Hầu hết các nền tảng hiệu suất cao để xử lý cục bộ sẽ kết hợp ít nhất hai trong số các tài nguyên này.
Trước khi triển khai phần cứng, hãy chạy các luồng đại diện thông qua ngăn xếp phần mềm dự kiến và đo độ trễ, nguồn điện, băng thông bộ nhớ và nhiệt độ từ đầu đến cuối. Bằng chứng đó có giá trị hơn bảng xếp hạng máy gia tốc chung.
Ví dụ hoạt động: bốn camera và ngân sách bộ nhớ dùng chung
Hãy xem xét một ví dụ lập kế hoạch với bốn luồng 1280 × 720 ở tốc độ khung hình 30 mỗi giây, được biểu thị dưới dạng RGB với một byte trên mỗi kênh sau khi chuyển đổi hình ảnh. Tải trọng hình ảnh hợp lý kết hợp của họ là 4 × 1280 × 720 × 30 × 3 = 331,776,000 byte mỗi giây, xấp xỉ 332 MB/s tính theo đơn vị thập phân. Đây không phải là tốc độ bit liên kết máy ảnh hoặc hiệu suất được đo của sản phẩm ALVEXIS.
Một bản sao toàn khung bổ sung sẽ đọc và ghi tải trọng đó, thêm khoảng 664 MB/s lưu lượng bộ nhớ trước khi xem xét hành vi của bộ nhớ đệm hoặc các hoạt động khác. Các tensor mô hình, chuyển đổi màu sắc, ghi nhật ký và các dịch vụ đồng thời sẽ thêm lưu lượng truy cập của riêng chúng. Điều này giải thích tại sao một thiết kế có thể bị hạn chế bởi sự di chuyển dữ liệu ngay cả khi xếp hạng tăng tốc tiêu đề của nó có vẻ đủ.
| Làm việc đến nơi | Điểm xuất phát | Bằng chứng trước khi cam kết |
|---|---|---|
| Nhập và đồng bộ hóa camera | Giao diện SoC được hỗ trợ, với FPGA hoặc thiết bị đồng hành nếu cần | Ghi luồng đồng thời, hành vi dấu thời gian và mất khi tải |
| Suy luận thần kinh | NPU khi đồ thị đã chọn và độ chính xác được hỗ trợ | Độ chính xác của chuyển đổi và các phép đo ứng dụng được duy trì trên thiết bị |
| Dịch vụ và ghi âm Linux | Tài nguyên MPU và đường dẫn lưu trữ được phân bổ ngân sách rõ ràng | Hoạt động của CPU, bộ nhớ và I/O khi suy luận đang hoạt động |
| Kiểm soát bên ngoài quan trọng theo thời gian | Bộ điều khiển thời gian thực phù hợp hoặc triển khai xác định được xác thực | Bằng chứng về thời gian phản hồi theo khối lượng công việc trong trường hợp xấu nhất có liên quan |
Mục đích của việc phân vùng là làm cho mỗi yêu cầu về thời gian và nguồn lực trở nên rõ ràng. Điều đó không có nghĩa là mọi thiết kế đều cần bốn bộ xử lý khác nhau. Bắt đầu với kiến trúc đơn giản nhất đáp ứng được yêu cầu, sau đó bổ sung các tài nguyên sao cho phù hợp với các giới hạn về đo lường hoặc giao diện.
Kế hoạch xác nhận để chọn hỗn hợp bộ xử lý
- Cố định hợp đồng đầu vào: cảm biến, định dạng dữ liệu, mô hình, độ phân giải và điều kiện hoạt động.
- Xác minh hỗ trợ mô hình và chất lượng đầu ra trước khi so sánh thông lượng của máy gia tốc.
- Đo lường việc thu thập, tiền xử lý, suy luận và phân phối riêng biệt, sau đó đo đường dẫn hoàn chỉnh.
- Lặp lại dưới tải nhiệt liên tục với tính năng ghi, kết nối mạng và tất cả các cảm biến dự kiến đều hoạt động.
- Ghi lại tuổi hàng đợi, dữ liệu đầu vào bị mất và độ trễ cuối, do đó tốc độ trung bình cao không che giấu được độ trễ không liên tục.
Giữ lại kết quả của bản sửa đổi bảng, hình ảnh phần mềm, phiên bản chuỗi công cụ và đầu vào kiểm tra. Để triển khai Rockchip, Hướng dẫn triển khai mô hình RK3588 phát triển quy trình công việc này. Đối với dữ liệu camera sự kiện, hãy sử dụng hướng dẫn tích hợp phần mềm để xác định dấu thời gian và cách biểu diễn trước khi chọn đường dẫn suy luận.
Sau khi khối lượng công việc được mô tả, hãy so sánh Tùy chọn tích hợp SoM và SBC. Quyết định đó kết nối kiến trúc điện toán với các đầu nối, nguồn, vỏ và công việc sản xuất.
Từ lựa chọn bộ xử lý đến sản phẩm có thể xây dựng được
Danh sách rút gọn bộ xử lý chỉ hữu ích khi nó phù hợp với sản phẩm hoàn chỉnh. Trước khi đặt mua một bo mạch tùy chỉnh, hãy biến khối lượng công việc thành một bản tóm tắt kỹ thuật ngắn:
- Đầu vào: số lượng cảm biến, giao diện, tốc độ lấy mẫu và yêu cầu đồng bộ hóa.
- Khối lượng công việc AI: mô hình thực tế, độ chính xác được hỗ trợ và chất lượng đầu ra chấp nhận được.
- Hạn chế về mặt vật lý: kích thước, nguồn điện, làm mát và môi trường hoạt động.
- Giao hàng: số lượng nguyên mẫu, khối lượng sản xuất, quyền sở hữu phần mềm và kiểm tra chấp nhận.
Đối với trạm kiểm tra, hãy kết nối đường ống camera với bộ kích hoạt đường dây, bộ nhận dạng bộ phận và giao diện kết quả. của chúng tôi giải pháp kiểm soát chất lượng và thị giác máy công nghiệp giải thích cách chuyển các yêu cầu đó thành dự án thử nghiệm.
Câu hỏi thường gặp về MPU, NPU và FPGA Edge AI
MPU AI là gì?
MPU AI mô tả khối lượng công việc trí tuệ nhân tạo được triển khai trên nền tảng bộ vi xử lý nhúng, thường là với Linux và thường có khả năng tăng tốc tích hợp hoặc đồng hành như NPU, GPU hoặc FPGA. MPU thường quản lý các ứng dụng, kết nối mạng, lưu trữ, bảo mật và điều phối xung quanh đường dẫn suy luận.
MPU có thể chạy máy học không?
Vâng. Khối lượng công việc học máy MPU có thể chạy trên lõi CPU hoặc sử dụng bộ tăng tốc tích hợp. Đối với các hệ thống sản xuất, hỗ trợ mô hình, băng thông bộ nhớ, nhiệt ổn định và độ trễ toàn diện quan trọng hơn chỉ tiêu đề TOPS.
NPU và FPGA: cái nào tốt hơn cho Edge AI?
NPU thường là lựa chọn đơn giản hơn cho suy luận mạng thần kinh được hỗ trợ với hiệu suất mạnh mẽ trên mỗi watt. FPGA thích hợp hơn khi giao diện cảm biến tùy chỉnh, tiền xử lý xác định, định dạng dữ liệu bất thường hoặc đường dẫn chuyên dụng là trọng tâm của thiết kế. Nhiều hệ thống sử dụng cả hai.
Bạn có thể chạy khối lượng công việc NPU trên FPGA không?
FPGA có thể triển khai các bộ tăng tốc mạng thần kinh hoặc các đường dẫn suy luận, nhưng nó không tự động tương đương với một NPU chuyên dụng. Giao dịch liên quan đến tài nguyên logic có thể lập trình, bộ nhớ, độ hoàn thiện của chuỗi công cụ, hỗ trợ mô hình, nỗ lực xác minh và sức mạnh.
Khi nào suy luận AI FPGA có ý nghĩa?
Suy luận AI của FPGA hấp dẫn khi suy luận phải được kết hợp chặt chẽ với quá trình tiền xử lý xác định, giao diện tùy chỉnh hoặc chuyển động dữ liệu chuyên biệt. Nó đặc biệt hữu ích khi thời gian chạy NPU tiêu chuẩn không phù hợp với đường dẫn cảm biến hoặc các hạn chế về độ trễ.
Nơi TinyML phù hợp với máy tính cục bộ
tính toán cục bộ mô tả quá trình xử lý gần nguồn dữ liệu; Edge AI áp dụng suy luận máy học ở đó. TinyML giải quyết lớp triển khai hạn chế hơn, thường là trên các bộ vi điều khiển có bộ nhớ và nguồn điện hạn chế. Do đó, một bộ phân loại rung động nhỏ và một đường dẫn nhận biết nhiều camera cần ngân sách phần cứng rất khác nhau mặc dù cả hai đều có thể là Edge AI.
Đối với mục tiêu vi điều khiển, hãy kiểm tra kích thước mô hình, bộ nhớ thời gian chạy, toán tử được hỗ trợ và chi phí thu thập. Đối với thiết kế dựa trên NPU hoặc FPGA, hãy đánh giá chuyển động của bộ nhớ và sự phân chia giữa công việc được tăng tốc và không được tăng tốc. Chọn kiến trúc nhỏ nhất đáp ứng các yêu cầu phục hồi và nhiệm vụ được đo lường, thay vì chỉ chọn một công nghệ từ từ viết tắt của nó.
Tài liệu tham khảo kỹ thuật
- Rockchip: Các thành phần phần mềm và công cụ triển khai RKNN
- Rockchip: ví dụ chuyển đổi mô hình và suy luận
- Gallego và cộng sự: Tầm nhìn dựa trên sự kiện - Một cuộc khảo sát
- TensorFlow Lite Micro: suy luận trên các thiết bị có bộ nhớ hạn chế
Ví dụ về băng thông là một phép tính rõ ràng, không phải là điểm chuẩn của sản phẩm. Xác thực kiến trúc đã chọn trên khối lượng công việc dự kiến.
Phân vùng khối lượng công việc Edge AI thực của bạn.
Gửi giao diện cảm biến, loại mô hình, tốc độ dữ liệu, đường bao công suất và các hạn chế triển khai. Chúng ta có thể ánh xạ chúng tới kiến trúc MPU/NPU/FPGA và lớp mô-đun điện toán phù hợp.
