I. Tổng quan về FPGA based CNN accelerator tại HCMUTE 2025
Đề tài tốt nghiệp năm 2025 tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) tập trung phát triển bộ tăng tốc phần cứng cho mạng nơ-ron tích chập (CNN). Mục tiêu cốt lõi là phát hiện các điểm mốc trên khuôn mặt (facial landmark detection) theo thời gian thực. Hệ thống sử dụng nền tảng Kria KV260 Vision AI Starter Kit trang bị chip AMD Xilinx Zynq UltraScale+ MPSoC. Kiến trúc MPSoC kết hợp chặt chẽ giữa hệ thống vi xử lý ARM và mảng logic lập trình được (FPGA fabric). Mô hình CNN được lượng tử hóa bằng thư viện Brevitas trong môi trường PyTorch. Sau đó, framework FINN của AMD Xilinx chuyển đổi đồ thị tính toán thành kiến trúc phần cứng dạng dòng dữ liệu (streaming dataflow). Quá trình tổng hợp mức cao (High-Level Synthesis - HLS) tạo ra các khối IP chuyên dụng bằng C++. Phương pháp này tối ưu hóa độ trễ, tiết kiệm tài nguyên phần cứng và giảm tiêu hao năng lượng. Nghiên cứu khẳng định tiềm năng lớn của giải pháp tính toán biên (edge computing) trong các bài toán thị giác máy tính đòi hỏi hiệu năng cao.
1.1. Bối cảnh nghiên cứu tại HCMUTE năm 2025
Đề tài được thực hiện bởi sinh viên Trần Long dưới sự hướng dẫn của Tiến sĩ Phạm Văn Khoa tại Khoa Đào tạo Quốc tế thuộc Đại học Sư phạm Kỹ thuật TP.HCM vào tháng 7 năm 2025. Bài toán nhận diện điểm mốc khuôn mặt có vai trò quan trọng trong tương tác người máy, phân tích cảm xúc và giám sát lái xe an toàn. Các thiết bị nhúng thông thường như Raspberry Pi hay vi điều khiển tiêu chuẩn không đủ năng lực tính toán. Chúng gây ra độ trễ cao và nghẽn cổ chai khi chạy mạng học sâu liên tục. Do đó, việc nghiên cứu một bộ tăng tốc chuyên biệt trên phần cứng FPGA là hướng đi tất yếu. Nghiên cứu đáp ứng trọn vẹn yêu cầu xử lý cục bộ, bảo mật dữ liệu và phản hồi nhanh chóng mà không cần kết nối đám mây.
1.2. Mục tiêu thiết kế bộ tăng tốc CNN trên FPGA
Mục tiêu nghiên cứu là xây dựng đường ống xử lý hoàn chỉnh từ khâu huấn luyện mạng đến hiện thực hóa vi mạch. Mạng nơ-ron phải xác định chính xác các tọa độ then chốt trên gương mặt với tốc độ khung hình cao. Hệ thống cần đạt mức tiêu thụ điện năng thấp, thích hợp cho các thiết bị di động hoặc trạm quan trắc độc lập. Việc kết hợp khung phần mềm FINN với công cụ Vivado HLS cho phép tự động hóa quy trình chuyển đổi mạng CNN sang mã RTL. Thiết kế phần cứng khai thác triệt để tính toán song song ở cấp độ điểm ảnh và kênh đặc trưng. Nhờ vậy, bộ tăng tốc đạt thông lượng tính toán vượt trội so với các vi xử lý đa năng truyền thống cùng công suất tiêu thụ.
II. Vấn đề xử lý facial landmark detection trên thiết bị biên
Phát hiện điểm mốc khuôn mặt đòi hỏi xử lý ma trận phức tạp với mật độ tính toán dày đặc. Các mô hình học sâu truyền thống thường có hàng triệu tham số với định dạng dấu phẩy động 32-bit (FP32). Khi triển khai lên các hệ thống nhúng, khối lượng tính toán lớn dẫn đến hiện tượng quá nhiệt và sụt giảm tốc độ khung hình. Bộ vi xử lý trung tâm (CPU) xử lý tuần tự nên gặp hiện tượng nghẽn cổ chai dữ liệu nghiêm trọng. Bộ xử lý đồ họa (GPU) mang lại tốc độ cao nhưng lại tiêu tốn quá nhiều năng lượng, không phù hợp với nguồn pin giới hạn. Bên cạnh đó, việc truyền dữ liệu liên tục giữa bộ nhớ ngoài DRAM và chip xử lý tạo ra độ trễ truy xuất đáng kể. Điều này làm giảm tính ổn định trong các ứng dụng thời gian thực như theo dõi ánh mắt tài xế hay nhận diện biểu cảm tức thời. Do đó, nhu cầu bức thiết là phải nén mô hình thông qua lượng tử hóa và thiết kế phần cứng chuyên biệt. Kiến trúc phần cứng phải tối ưu hóa đường truyền dữ liệu nội bộ để loại bỏ hoàn toàn các điểm nghẽn bộ nhớ.
2.1. Hạn chế của GPU và CPU trên hệ thống nhúng
CPU nhúng chỉ có số lượng lõi xử lý hạn chế và hoạt động theo cơ chế thực thi lệnh tuần tự. Cấu trúc này không đáp ứng được hàng tỷ phép tính nhân cộng ma trận mỗi giây của mạng CNN. Ngược lại, GPU nhúng sở hữu khả năng xử lý song song mạnh mẽ nhưng tiêu thụ điện năng từ mười đến ba mươi watt. Mức tiêu thụ này sinh nhiệt lượng lớn và đòi hỏi hệ thống tản nhiệt cồng kềnh. Ngoài ra, GPU phụ thuộc nhiều vào băng thông bộ nhớ chia sẻ, gây trễ dao động khi nạp luồng hình ảnh camera. Những hạn chế về công suất, kích thước và nhiệt độ khiến CPU lẫn GPU khó trở thành lựa chọn tối ưu cho hệ thống biên thông minh chạy độc lập.
2.2. Nhu cầu lượng tử hóa mô hình mạng nơ ron
Biểu diễn trọng số và hàm kích hoạt bằng số thực 32-bit tiêu tốn rất nhiều dung lượng bộ nhớ. Trên chip FPGA, tài nguyên bộ nhớ khối BRAM và khối tính toán DSP là hữu hạn. Lượng tử hóa là giải pháp then chốt giúp giảm độ rộng bit xuống 2-bit, 4-bit hoặc số nguyên 8-bit mà vẫn giữ được độ chính xác dự đoán. Thư viện Brevitas hỗ trợ quá trình huấn luyện có nhận thức lượng tử hóa (Quantization-Aware Training). Kỹ thuật này giúp mô hình thích ứng với việc làm tròn số ngay trong giai đoạn học. Dữ liệu sau khi lượng tử hóa giúp thu nhỏ kích thước mô hình, tiết kiệm bộ nhớ trên chip và tăng tốc độ xử lý phần cứng lên gấp nhiều lần.
III. Thiết kế FPGA based CNN accelerator bằng FINN và KV260
Phương pháp nghiên cứu tại HCMUTE xây dựng bộ tăng tốc dựa trên luồng công cụ tự động hóa tiên tiến của AMD Xilinx. Mô hình CNN được xây dựng và lượng tử hóa bằng Brevitas, sau đó xuất ra định dạng chuẩn ONNX. Framework FINN phân tích đồ thị tính toán và ánh xạ từng lớp mạng thành các khối C++ phần cứng tương ứng. Kiến trúc phần cứng vận hành theo nguyên lý dòng dữ liệu liên tục không gián đoạn. Các khối chức năng chính bao gồm FMPadding để đệm viền đặc trưng và ConvolutionInputGenerator để tạo cửa sổ trượt không gian. Tiếp theo, khối MVAU (Matrix-Vector Activation Unit) thực hiện các phép nhân tích chập song song cực nhanh. Khối StreamingDataWidthConverter chuyển đổi độ rộng bus dữ liệu giữa các tầng có cấu hình SIMD khác nhau. Nền tảng Zynq UltraScale+ MPSoC trên bo mạch Kria KV260 tích hợp khối xử lý PS và mảng logic PL thông qua giao tiếp DMA tốc độ cao. Quy trình tổng hợp High-Level Synthesis đảm bảo vi mạch đạt tần số xung nhịp ổn định và tối ưu tài nguyên logic.
3.1. Luồng thiết kế từ Brevitas đến framework FINN
Quy trình bắt đầu bằng việc huấn luyện mạng phát hiện điểm mốc khuôn mặt với Brevitas trên PyTorch. Các phép toán trọng số và kích hoạt được ép xuống độ chính xác thấp mà không làm giảm dung sai vị trí. Sau khi xuất mô hình sang tệp ONNX, framework FINN tiến hành tối ưu hóa đồ thị bằng cách gập các phép biến đổi liên tiếp. FINN chuyển đổi các nút tính toán thành các mẫu C++ chuyên biệt trong thư viện Vivado HLS. Mỗi lớp mạng được ánh xạ trực tiếp thành một lõi IP phần cứng độc lập. Luồng thiết kế tự động hóa này loại bỏ hoàn toàn việc viết mã RTL thủ công bằng Verilog hay VHDL, giúp rút ngắn thời gian phát triển và giảm thiểu sai sót kỹ thuật.
3.2. Cấu trúc khối IP phần cứng FMPadding và MVAU
Khối FMPadding đóng vai trò đệm các giá trị số không xung quanh bản đồ đặc trưng để duy trì kích thước không gian phù hợp. Khối ConvolutionInputGenerator tổ chức lại luồng dữ liệu tuần tự thành các vectơ cửa sổ trượt, cung cấp trực tiếp cho bộ tính toán. Trái tim của bộ tăng tốc là khối MVAU, nơi diễn ra các phép nhân ma trận với vectơ ở tốc độ cao. MVAU khai thác cấu trúc song song PE và SIMD để xử lý đồng thời nhiều kênh dữ liệu. Ngoài ra, khối StreamingDataWidthConverter điều phối sự tương thích về băng thông dữ liệu giữa các tầng mạng liền kề. Toàn bộ chuỗi khối IP tạo thành một đường ống xử lý trực tiếp trên chip mà không phụ thuộc vào bộ nhớ ngoài.
IV. Kết luận về FPGA based CNN accelerator tại HCMUTE 2025
Nghiên cứu tốt nghiệp năm 2025 tại HCMUTE đã chứng minh tính khả thi và hiệu quả vượt trội của bộ tăng tốc CNN trên FPGA. Việc kết hợp bo mạch Kria KV260, công cụ FINN và kỹ thuật lượng tử hóa mang lại giải pháp toàn diện cho bài toán phát hiện điểm mốc khuôn mặt. Bộ tăng tốc đạt tốc độ xử lý thời gian thực với độ trễ tính toán cực thấp và lượng điện năng tiêu thụ tối thiểu. So với các giải pháp GPU nhúng truyền thống, phần cứng FPGA thể hiện tính ưu việt về hiệu suất năng lượng trên mỗi watt. Kiến trúc mô-đun hóa cho phép dễ dàng mở rộng, tái cấu hình và cập nhật khi mạng nơ-ron thay đổi cấu trúc. Kết quả nghiên cứu mở ra tiềm năng ứng dụng to lớn trong các hệ sinh thái thông minh hiện đại. Đây là nền tảng vững chắc để phát triển các thiết bị giám sát an toàn xe hơi, hệ thống xác thực sinh trắc học và robot tương tác.
4.1. Đánh giá hiệu năng và mức tiêu thụ năng lượng
Hệ thống trên bo mạch AMD Kria KV260 vận hành với mức tiêu thụ điện năng chỉ khoảng vài watt, thấp hơn đáng kể so với GPU nhúng. Nhờ đường ống dòng dữ liệu sâu và cơ chế tính toán song song, bộ gia tốc duy trì độ trễ tính toán ở mức mili-giây cho mỗi khung hình. Mô hình lượng tử hóa chiếm dụng ít tài nguyên logic LUT và bộ nhớ nội BRAM, giúp bộ nhớ không bị quá tải. Độ chính xác định vị các điểm mốc khuôn mặt vẫn được bảo toàn tốt, đáp ứng các tiêu chuẩn khắt khe của thị giác máy tính công nghiệp. Kết quả thử nghiệm thực tế khẳng định sự cân bằng hoàn hảo giữa hiệu năng xử lý, công suất tiêu thụ và chi phí phần cứng.
4.2. Khả năng ứng dụng thực tế trong công nghiệp
Bộ tăng tốc phần cứng này có thể tích hợp trực tiếp vào hệ thống cảnh báo mất tập trung và buồn ngủ của người lái xe (DMS). Tốc độ đáp ứng tức thời giúp ngăn chặn kịp thời các nguy cơ tai nạn giao thông nghiêm trọng. Thiết kế cũng tương thích hoàn hảo với các thiết bị kiểm soát ra vào bằng nhận diện khuôn mặt tại các tòa nhà thông minh. Khả năng tính toán tại biên đảm bảo thông tin sinh trắc học cá nhân không bị rò rỉ qua mạng Internet. Ngoài ra, giải pháp còn phù hợp để ứng dụng trong y tế nhằm theo dõi trạng thái bệnh nhân hoặc hỗ trợ điều khiển cử chỉ không tiếp xúc trong giao diện người máy thế hệ mới.