Mô hình nhận diện chạy vài trăm mili giây trên máy tính thông thường là quá chậm cho robot đang di chuyển. Phần cứng chuyên dụng thu hẹp khoảng cách đó, với một số điều kiện.
Các loại phần cứng
Bộ xử lý đồ hoạ. Linh hoạt nhất, hỗ trợ mọi loại mô hình, công cụ phát triển chín muồi. Tiêu thụ điện cao và toả nhiệt nhiều.
Bộ tăng tốc chuyên dụng. Thiết kế riêng cho phép nhân ma trận. Hiệu suất trên mỗi oát cao hơn nhiều. Hạn chế về loại phép toán hỗ trợ, và mô hình phải chuyển đổi sang định dạng riêng.
Mô-đun tăng tốc rời. Cắm vào máy tính qua cổng chuẩn. Tiện, rẻ, phù hợp với mô hình nhỏ và vừa. Băng thông cổng có thể là nút thắt.
Mạch lập trình được. Cấu hình phần cứng theo mô hình cụ thể. Hiệu suất và độ trễ rất tốt. Phát triển khó và tốn thời gian.
Bộ xử lý tín hiệu số tích hợp. Có sẵn trong một số chip di động. Đủ cho mô hình nhỏ, rất tiết kiệm điện.
Chọn thế nào. Mô hình đa dạng và hay thay đổi thì bộ xử lý đồ hoạ. Mô hình cố định chạy liên tục cần tiết kiệm điện thì bộ tăng tốc chuyên dụng.
Đo hiệu năng cho đúng
Con số công bố thường không dùng được. Đo trong điều kiện lý tưởng, với mô hình chuẩn, không tính thời gian tiền xử lý và hậu xử lý.
Đo cái gì. Thời gian từ lúc có ảnh tới lúc có kết quả dùng được. Bao gồm đọc ảnh, chuyển đổi định dạng, chạy mô hình, xử lý đầu ra.
Thời gian tiền xử lý bị đánh giá thấp. Đổi kích thước, chuẩn hoá, chuyển bố cục dữ liệu — có khi chiếm gần một nửa tổng thời gian.
Đo cả độ trễ lẫn thông lượng. Xử lý theo lô cho thông lượng cao nhưng độ trễ mỗi ảnh tăng. Với robot thì độ trễ quan trọng hơn.
Đo khi hệ thống bận. Chạy đồng thời với các tiến trình khác của robot. Số đo khi máy rảnh không phản ánh thực tế.
Đo sau khi máy đã nóng. Chip giảm tốc khi quá nhiệt. Chạy liên tục mười lăm phút rồi mới đo mới ra số thật.
Đo trên chính phần cứng sẽ dùng. Không suy từ máy phát triển. Đây là sai lầm gây thất vọng thường xuyên nhất.
Nén mô hình
Cách rẻ nhất để chạy được mô hình lớn trên phần cứng nhỏ.
Giảm độ chính xác số. Chuyển từ số thực ba mươi hai bit sang tám bit nguyên. Giảm bộ nhớ bốn lần và tăng tốc đáng kể. Chất lượng thường giảm rất ít.
Đây là kỹ thuật nên thử trước tiên. Nhiều bộ tăng tốc chuyên dụng chỉ hỗ trợ số nguyên, nên bước này là bắt buộc chứ không phải tuỳ chọn.
Cắt tỉa. Loại bỏ các kết nối đóng góp ít. Giảm kích thước nhưng cần phần cứng hỗ trợ mới tăng tốc thật.
Chưng cất. Huấn luyện mô hình nhỏ bắt chước mô hình lớn. Cho mô hình nhỏ chất lượng tốt hơn so với huấn luyện trực tiếp.
Chọn kiến trúc nhẹ từ đầu. Có những họ mô hình thiết kế riêng cho thiết bị biên. Thường hiệu quả hơn nén một mô hình nặng.
Giảm độ phân giải đầu vào. Cách đơn giản nhất và hiệu quả nhất. Thời gian tính toán thường tỷ lệ với số điểm ảnh. Kiểm xem độ phân giải thấp hơn có đủ cho nhiệm vụ không.
Luôn đo lại chất lượng sau khi nén. Trên dữ liệu thật của mình, không chỉ trên tập chuẩn.
Nhiệt và tiêu thụ điện
Ràng buộc thật với robot chạy pin. Bộ tăng tốc chạy liên tục có thể tiêu thụ ngang phần di chuyển.
Chạy khi cần thay vì liên tục. Không cần nhận diện ba mươi lần mỗi giây khi robot đứng yên. Giảm tần số suy luận theo tình huống tiết kiệm rất nhiều.
Mô hình nhỏ lọc trước. Chạy mô hình nhẹ liên tục, chỉ gọi mô hình nặng khi mô hình nhẹ báo có gì đó đáng quan tâm. Kỹ thuật đơn giản và hiệu quả.
Nhiệt trong vỏ kín. Bộ tăng tốc toả nhiệt tập trung. Cần đường dẫn nhiệt tốt tới vỏ.
Giảm tốc do nhiệt. Chip tự giảm hiệu năng khi nóng. Trong môi trường Việt Nam thì đây là ràng buộc thật, và hiệu năng thực tế có thể thấp hơn nhiều so với thử nghiệm trong phòng lạnh.
Giám sát nhiệt độ. Ghi nhật ký nhiệt độ chip. Khi hiệu năng sụt bất thường thì đây là chỗ kiểm tra đầu tiên.
Cân nhắc tổng thể. Bộ tăng tốc mạnh hơn có thể làm robot chạy được ít giờ hơn. Đôi khi mô hình nhỏ hơn trên phần cứng tiết kiệm là lựa chọn tốt hơn.
Trên robot hay trên máy chủ
Quyết định kiến trúc có hệ quả lớn.
Trên robot — ưu điểm. Không phụ thuộc mạng, độ trễ thấp và ổn định, dữ liệu không rời khỏi thiết bị.
Trên robot — nhược điểm. Giới hạn kích thước mô hình, tiêu thụ điện, chi phí phần cứng nhân với số robot.
Trên máy chủ — ưu điểm. Mô hình lớn hơn nhiều, cập nhật tập trung, phần cứng dùng chung cho cả đội.
Trên máy chủ — nhược điểm. Phụ thuộc mạng hoàn toàn. Độ trễ thay đổi. Băng thông cho video là đáng kể. Và vấn đề riêng tư nếu dữ liệu chứa hình ảnh người.
Vấn đề mạng trong thực tế. Toà nhà có vùng sóng yếu, thang máy, tầng hầm. Robot mất mạng đúng lúc cần nhận thức nhất là kịch bản phải tính tới.
Kiến trúc lai. Mô hình nhỏ trên robot đảm bảo chức năng cơ bản và an toàn; mô hình lớn trên máy chủ cho khả năng đầy đủ khi có mạng. Đây là lựa chọn thực dụng nhất.
Nguyên tắc bất di dịch. Chức năng an toàn không bao giờ phụ thuộc mạng. Tránh vật cản và dừng khẩn phải chạy hoàn toàn trên robot.
Câu hỏi thường gặp
Vì sao con số hiệu năng công bố thường không dùng được?
Vì đo trong điều kiện lý tưởng với mô hình chuẩn và không tính thời gian tiền xử lý — mà tiền xử lý có khi chiếm gần một nửa tổng thời gian.
Kỹ thuật nén mô hình nào nên thử trước?
Giảm độ chính xác số từ ba mươi hai bit xuống tám bit nguyên. Giảm bộ nhớ bốn lần, tăng tốc đáng kể, chất lượng thường giảm rất ít — và nhiều bộ tăng tốc chỉ hỗ trợ số nguyên.
Cách tiết kiệm điện hiệu quả với bộ tăng tốc?
Chạy mô hình nhẹ liên tục để lọc trước, chỉ gọi mô hình nặng khi có gì đó đáng quan tâm, và giảm tần số suy luận khi robot đứng yên.
Nguyên tắc nào không được vi phạm khi tính toán trên máy chủ?
Chức năng an toàn không bao giờ phụ thuộc mạng. Tránh vật cản và dừng khẩn phải chạy hoàn toàn trên robot.
Đọc thêm trong Cảm biến lực & xúc giác và Vật liệu & kết cấu.