Bỏ qua tới nội dung
0968 86 41 40
  1. Trang chủ
  2. Bài viết
  3. Máy tính công nghiệp
  4. AIR-200-S92A1 - triển khai mô hình AI với OpenVINO
Máy tính công nghiệp

AIR-200-S92A1 - triển khai mô hình AI với OpenVINO

09/09/2021· 9 phút đọc · 2019 từ· Chuyên mục Máy tính công nghiệp

Ngăn xếp phần mềm AI của máy tính nhúng AIR-200-S92A1: bộ công cụ Intel OpenVINO, gói Edge AI Suite, cách chuyển mô hình và quy trình đưa mô hình ra hiện trường.

AIR-200-S92A1 - triển khai mô hình AI với OpenVINO

AIR-200-S92A1 là máy tính nhúng suy luận trí tuệ nhân tạo của Advantech. Phần cứng của máy đã được trình bày ở bài tổng quan về AIR-200-S92A1; bài này đi vào phần quyết định dự án chạy được hay không, đó là ngăn xếp phần mềm AI và quy trình đưa mô hình từ máy trạm phát triển ra thiết bị tại hiện trường.

Bảng thông số đầy đủ, các bài toán lắp đặt và so sánh với những mã khác trong dòng AIR nằm ở bài Advantech AIR-200-S92A1 - máy tính AI biên cho thị giác máy. Phần dưới đây giả định cấu hình đã chốt và chuyển sang câu hỏi kế tiếp của đội kỹ thuật: nạp mô hình lên máy theo trình tự nào.

Sơ đồ cổng kết nối của máy tính nhúng AI Advantech AIR-200-S92A1
Cụm cổng của AIR-200-S92A1, nơi đấu camera và tín hiệu điều khiển khi triển khai mô hình

Ngăn xếp phần mềm AI trên AIR-200-S92A1

Máy có ba lớp phần mềm chồng lên nhau. Hiểu rõ ranh giới từng lớp giúp phân công việc đúng người và ước lượng đúng khối lượng công việc tích hợp.

LớpThành phầnViệc lớp đó đảm nhiệm
Hệ điều hànhWindows 10 cài sẵn; bản Linux hỗ trợ theo dự ánQuản lý thiết bị, dịch vụ chạy nền, cơ chế tự khởi động lại ứng dụng
Trình chạy suy luậnBộ công cụ Intel OpenVINO kèm trình điều khiển cho hai bộ xử lý thị giác Movidius Myriad X MA2485Chuyển mô hình sang dạng trung gian, tối ưu và thực thi trên bộ tăng tốc
Lớp ứng dụngGói Advantech Edge AI SuiteGiao diện quản lý, thư viện mô hình dựng sẵn, mẫu ứng dụng đọc luồng ảnh và xuất kết quả

Điểm đáng chú ý nằm ở lớp giữa. Bộ tăng tốc thị giác không chạy trực tiếp tệp mô hình do khung huấn luyện sinh ra. Mô hình phải qua bước chuyển đổi thành dạng trung gian của OpenVINO, gồm một tệp mô tả cấu trúc mạng và một tệp chứa trọng số. Bỏ qua bước này thì phần mềm vẫn chạy, nhưng toàn bộ khối lượng tính toán rơi về vi xử lý Intel Core i5 và tốc độ giảm nhiều lần.

Lớp trên cùng tiết kiệm được nhiều thời gian ở giai đoạn thử nghiệm. Edge AI Suite có sẵn các mô hình đã huấn luyện cho những bài toán phổ biến như phát hiện người, phát hiện phương tiện và nhận dạng khuôn mặt, kèm mẫu ứng dụng lấy ảnh từ camera mạng. Đội kỹ thuật dựng được bản chạy thử trong vài giờ, đo tốc độ thực tế rồi mới quyết định có cần huấn luyện mô hình riêng hay không.

Chuyển mô hình sang định dạng OpenVINO

Bước chuyển đổi thực hiện trên máy trạm phát triển, không phải trên máy đặt tại hiện trường. Trình tự gồm bốn việc, làm theo đúng thứ tự này thì hạn chế được phần lớn lỗi phát sinh về sau.

  1. Cố định phiên bản. Ghi lại phiên bản khung huấn luyện, phiên bản bộ công cụ OpenVINO và phiên bản trình điều khiển bộ tăng tốc. Ba số này phải khớp nhau; đây là nguyên nhân thường gặp nhất khi mô hình chạy được trên máy trạm mà không chạy trên thiết bị.
  2. Rà soát lớp mạng. Không phải mọi phép toán trong mô hình đều có bản thực thi trên bộ xử lý thị giác. Lớp nào không được hỗ trợ sẽ được đẩy về vi xử lý chính, làm tốc độ tụt bất thường. Rà trước danh sách lớp rồi thay thế bằng phép toán tương đương là cách rẻ nhất để giữ tốc độ.
  3. Chuyển đổi và chọn độ chính xác số học. Bộ tăng tốc chạy hiệu quả nhất ở dấu phẩy động 16 bit. Hạ độ chính xác từ 32 bit xuống 16 bit làm mô hình nhẹ đi và nhanh hơn, đổi lại phải đo lại độ chính xác nhận dạng trên tập ảnh thật của dự án chứ không dùng lại số liệu của tập dữ liệu mẫu.
  4. Đo trên đúng phần cứng. Số khung hình mỗi giây chỉ có giá trị khi đo trên chính máy AIR-200-S92A1, với đúng độ phân giải ảnh và đúng số luồng camera của dự án. Kết quả đo trên máy trạm có card đồ hoạ rời không dùng để lập cấu hình được.

Khi mô hình quá nặng so với năng lực của hai bộ xử lý thị giác sẵn có, máy còn đường mở rộng. Khe M.2 2230 khoá E và khe mini PCIe khổ đầy đủ nhận được mô-đun tăng tốc rời của hãng, chẳng hạn dòng mô-đun trình bày trong bài mô-đun trí tuệ nhân tạo VEGA-230 và bài mô-đun tăng tốc Edge AI VEGA-330-02A1. Cách này giữ nguyên thân máy và bộ cổng, chỉ tăng phần tính toán.

Quy trình đưa mô hình ra hiện trường

Giai đoạn triển khai thường tốn nhiều thời gian hơn giai đoạn huấn luyện, vì phải xử lý điều kiện thật của điểm lắp. Trình tự dưới đây phản ánh cách các dự án thị giác máy trong nước hay được nghiệm thu.

  • Dựng bản chạy thử trên bàn. Đấu camera, nạp mô hình đã chuyển đổi, chạy liên tục vài ngày và ghi nhật ký. Bước này phát hiện sớm lỗi rò bộ nhớ và lỗi mất kết nối camera, hai lỗi khó tìm khi máy đã lên tủ.
  • Chốt điều kiện chiếu sáng. Mô hình thị giác nhạy với ánh sáng hơn phần lớn người dùng dự đoán. Ảnh dùng để huấn luyện và ảnh thu tại hiện trường phải cùng điều kiện chiếu sáng, nếu không độ chính xác tụt dù phần cứng chạy đúng.
  • Đấu tín hiệu ra và đặt ngưỡng. Kết quả suy luận được quy về tín hiệu điều khiển qua bốn ngõ ra số cách ly của máy. Ngưỡng quyết định phải đặt theo hậu quả của hai loại lỗi: bỏ sót hàng lỗi và loại nhầm hàng đạt. Hai loại lỗi này không cùng chi phí, nên ngưỡng hiếm khi nằm ở mức giữa.
  • Chạy song song trước khi cắt chuyển. Cho hệ thống mới chạy song song với cách kiểm tra cũ trong một khoảng thời gian đủ dài, đối chiếu kết quả từng ca. Chỉ cắt chuyển khi tỷ lệ sai lệch nằm trong mức đã thoả thuận với bộ phận chất lượng.
  • Bàn giao kèm quy trình cập nhật. Mô hình sẽ phải huấn luyện lại khi sản phẩm đổi mẫu hoặc dây chuyền đổi tốc độ. Hồ sơ bàn giao nên ghi rõ ai giữ tập dữ liệu, cập nhật mô hình bằng cách nào và khôi phục lại bản trước ra sao khi bản mới cho kết quả kém hơn.
Máy tính nhúng trí tuệ nhân tạo Advantech AIR-200-S92A1 nhìn tổng thể
AIR-200-S92A1 đặt trong tủ điều khiển, xử lý ảnh ngay tại điểm đặt camera

Vận hành và cập nhật máy sau khi bàn giao

Máy chạy suy luận là thiết bị chạy liên tục, nên phần theo dõi sau bàn giao quan trọng ngang phần lắp đặt. Có ba nhóm chỉ số nên ghi lại ngay từ ngày đầu.

Nhóm thứ nhất là chỉ số phần cứng: nhiệt độ vi xử lý, dung lượng còn trống của ổ thể rắn và trạng thái hai cổng mạng. Máy chạy trong dải nhiệt công bố nhưng đặt trong tủ kín giữa trưa vẫn có thể chạm ngưỡng, và khi chạm ngưỡng thì vi xử lý tự hạ xung, kéo theo số khung hình xử lý được giảm theo. Nhóm thứ hai là chỉ số suy luận: số khung hình mỗi giây và độ trễ trung bình. Hai số này đi xuống dần trong nhiều ngày thường báo hiệu ổ lưu trữ sắp đầy hoặc đường mạng camera bắt đầu mất gói. Nhóm thứ ba là chỉ số nghiệp vụ: tỷ lệ phát hiện đúng theo từng ca và từng mã sản phẩm, đối chiếu định kỳ với kết quả kiểm tra thủ công.

Phần quản lý thiết bị từ xa nên dùng công cụ có sẵn của hãng thay vì tự viết. Bài phần mềm quản lý thiết bị DeviceOn/iEdge mô tả cách nền tảng này theo dõi trạng thái phần cứng và đẩy bản cập nhật xuống thiết bị biên. Với nhóm bài toán thị giác nói chung, bài ứng dụng thị giác máy tính tổng hợp các dạng bài toán thường gặp trong nhà máy.

Đặt cấu hình AIR-200-S92A1 ở đâu

Dòng AIR đặt theo cấu hình nên chưa có trang sản phẩm cố định trong cửa hàng của site. Các máy hộp không quạt cùng kiểu lắp nằm ở danh mục máy tính không quạt, phần thiết bị đóng vai trò cổng kết nối biên nằm ở giải pháp nhúng cho IoT. Nếu bài toán cần thân máy nhỏ hơn nữa, bài AIR-020 mô tả bản gọn nhất của dòng.

Khi gửi yêu cầu báo giá cho một dự án suy luận tại biên, bốn thông tin về phần mềm nên nêu cùng lúc với thông tin phần cứng: khung huấn luyện đang dùng, mô hình đã chuyển sang OpenVINO hay chưa, số luồng camera cùng độ phân giải mỗi luồng, và độ trễ tối đa mà dây chuyền chấp nhận được. Bốn thông tin này quyết định số bộ tăng tốc cần thiết và quyết định có phải lắp thêm mô-đun rời hay không.

Tài liệu kỹ thuật gốc của dòng nằm trên trang thiết bị của Advantech. Để đối chiếu với các dòng máy nhúng khác cùng hãng, xem danh mục máy tính nhúng Advantech trên IPC247. Nếu chưa chốt được nên chọn nền tảng x86 hay nền tảng chuyên cho suy luận, có thể chạy công cụ chọn máy theo yêu cầu rồi gửi kết quả kèm đề nghị báo giá.

Câu hỏi thường gặp về AIR-200-S92A1

Phần mềm AI đi kèm AIR-200-S92A1 gồm những gì?

Máy được giao kèm bộ công cụ Intel OpenVINO và gói Edge AI Suite của Advantech. OpenVINO lo phần chuyển đổi và chạy mô hình trên bộ xử lý thị giác. Edge AI Suite bổ sung phần giao diện quản lý, thư viện mô hình dựng sẵn và các mẫu ứng dụng đọc luồng ảnh từ camera.

Có bắt buộc phải chuyển mô hình sang định dạng OpenVINO không?

Có, nếu muốn mô hình chạy trên hai bộ xử lý thị giác Movidius Myriad X. Mô hình giữ nguyên định dạng huấn luyện sẽ chạy trên vi xử lý Core i5 và mất phần lớn lợi thế tốc độ. Bước chuyển đổi thực hiện trên máy trạm phát triển, không phải trên máy đặt tại hiện trường.

Một máy AIR-200-S92A1 chạy được bao nhiêu luồng camera?

Con số phụ thuộc độ phân giải ảnh, số khung hình cần xử lý mỗi giây và độ nặng của mô hình, nên không có mức cố định. Cách xác định đúng là đo thử trên chính mô hình và chính luồng ảnh của dự án. Khi cần thêm năng lực suy luận, máy còn khe M.2 và khe mini PCIe để lắp thêm mô-đun tăng tốc.

Hệ điều hành nào phù hợp để triển khai mô hình trên máy này?

Máy được cài sẵn Windows 10, còn bản Linux hỗ trợ theo dự án. Chọn hệ điều hành theo phần mềm thị giác sẵn có và theo cách đội vận hành quen cập nhật. Với trạm đặt xa và ít người trực, bản Linux kèm cơ chế cập nhật theo gói thường dễ quản lý hơn.

Sau khi triển khai thì theo dõi máy tại hiện trường bằng cách nào?

Advantech có phần mềm quản lý thiết bị riêng cho lớp thiết bị biên, theo dõi trạng thái phần cứng, nhiệt độ, dung lượng ổ và tình trạng kết nối từ xa. Ngoài ra nên ghi lại số khung hình xử lý được và độ trễ suy luận theo thời gian, vì hai chỉ số này giảm dần là dấu hiệu sớm của lỗi phần cứng hoặc nghẽn mạng.

Đọc thêm về thiết bị: toàn bộ máy tính công nghiệp Advantech cùng các hãng khác trên ipc247.com.