Nền tảng AI

TinyML là gì? Học máy trên vi điều khiển

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

TinyML mang khả năng suy luận học máy đến các thiết bị bị hạn chế nghiêm trọng như vi điều khiển, bộ xử lý tín hiệu số nhỏ, và các cảm biến tiêu thụ ít năng lượng. Những hệ thống này có thể chỉ có kilobyte hoặc megabyte bộ nhớ, ngân sách năng lượng chặt chẽ, không có kết nối mạng liên tục, và thời hạn thực thời gian thực.

Giá trị không chỉ là mô hình nhỏ hơn. Xử lý gần cảm biến có thể giảm độ trễ, băng thông và việc lộ dữ liệu thô đồng thời cho phép các sản phẩm hoạt động trong thời gian dài bằng pin hoặc năng lượng thu thập.

Những điểm chính

  • TinyML được định nghĩa bởi toàn bộ ngân sách phần cứng và phần mềm, không phải bởi một ngưỡng kích thước mô hình duy nhất.
  • Phân lượng, kiến trúc gọn nhẹ, nhân tối ưu và bộ đệm cẩn thận giúp triển khai khả thi.
  • Suy luận trên thiết bị có thể cải thiện tính riêng tư, nhưng việc cập nhật an toàn và quản lý dữ liệu vẫn quan trọng.
  • Đánh giá độ chính xác cùng với độ trễ, bộ nhớ tối đa, năng lượng, chu kỳ hoạt động và độ bền.
What Is TinyML? Machine Learning on Microcontrollers workflow diagram
TinyML thành công khi mô hình, firmware, cảm biến và ngân sách năng lượng được thiết kế cùng nhau.

Kiến trúc TinyML

Cảm biến ghi lại âm thanh, chuyển động, rung, hình ảnh hoặc tín hiệu khác. Firmware tiền xử lý nó thành các đặc trưng hoặc tensor; một mô hình gọn nhẹ chạy qua môi trường thực thi nhúng; logic ứng dụng quyết định có nên đánh thức hệ thống lớn hơn hay thực hiện cục bộ.

Đây là một dạng hạn chế của edge AI. Phần cứng có thể bao gồm MCU, bộ nhớ, giao diện cảm biến và đôi khi bộ tăng tốc thần kinh. Mỗi bộ đệm, toán tử và sao chép đều cạnh tranh vì tài nguyên hạn chế.

Điều chỉnh mô hình cho phù hợp

Phân lượng thay thế các giá trị độ chính xác cao bằng các đại diện số nguyên nhỏ hơn. Cắt tỉa, chưng cất, kỹ thuật đặc trưng và tìm kiếm kiến trúc có thể giảm tính toán hoặc lưu trữ. Hỗ trợ toán tử trong môi trường thực thi mục tiêu giới hạn các mô hình thực tế.

Việc đào tạo thường diễn ra trên phần cứng lớn hơn, sau đó mô hình được chuyển đổi và biên dịch cho thiết bị. Transfer learning có thể giảm nhu cầu dữ liệu, nhưng artefact cuối cùng phải được đánh giá sau khi chuyển đổi vì các thay đổi số học có thể làm thay đổi độ chính xác.

Dữ liệu và sự thay đổi môi trường

Các bản ghi trong phòng thí nghiệm hiếm khi đại diện cho mọi micro, vị trí lắp đặt, nhiệt độ, mẫu rung, giọng nói hoặc điều kiện nền. Thu thập dữ liệu từ các thiết bị và môi trường đại diện, giữ nguồn dữ liệu huấn luyện và kiểm tra độc lập, và bao gồm các trường hợp ‘không thuộc bất kỳ loại nào’.

Một kích hoạt sai có thể lãng phí năng lượng hoặc gây phiền toái cho người dùng; một bất thường bị bỏ lỡ có thể tốn kém. Chọn ngưỡng dựa trên chi phí lỗi thực tế, và giám sát hiệu suất thực địa qua các bản tóm tắt bảo vệ quyền riêng tư hoặc chẩn đoán mẫu khi thích hợp.

Đo lường toàn bộ thiết bị

Số lần hoạt động của mô hình không đồng nghĩa với hiệu năng sản phẩm. Báo cáo tần suất đánh thức, thời gian tiền xử lý, độ trễ suy luận, RAM tối đa, việc sử dụng flash, công suất trung bình và tối đa, hành vi nhiệt và ảnh hưởng đến pin dưới một chu kỳ hoạt động rõ ràng.

Lên kế hoạch cập nhật firmware và mô hình có chữ ký, khôi phục, nhận dạng thiết bị và phản hồi lỗ hổng. Các thiết bị nhỏ có thể được triển khai trong nhiều năm, vì vậy khả năng bảo trì là một phần của chất lượng mô hình. Các biện pháp Cybersecurity không thể hoãn lại chỉ vì thiết bị nhỏ.

Ngân sách bộ nhớ và tính toán

Flash lưu trữ firmware, trọng số mô hình và các hằng số; RAM chứa các bộ đệm cảm biến, kích hoạt trung gian và trạng thái thời gian chạy. Bộ nhớ kích hoạt tối đa có thể vượt quá kích thước trọng số, đặc biệt ở các lớp convolution đầu tiên. Trình lập kế hoạch bộ nhớ tái sử dụng các bộ đệm có thời gian sống không trùng nhau, trong khi các đặc trưng luồng tránh việc lưu trữ toàn bộ cửa sổ tín hiệu.

Số lần hoạt động là ước tính ban đầu, nhưng hiệu suất nhân phụ thuộc vào hình dạng tensor, căn chỉnh, hỗ trợ lệnh và truy cập bộ nhớ. Convolution sâu (depthwise) có thể giảm tính toán nhưng lại chạy kém trên phần cứng không có nhân tối ưu. Đánh giá mô hình đã biên dịch trên bo mạch mục tiêu, không chỉ trong trình đo hiệu năng trên máy để bàn.

Chu kỳ hoạt động chiếm ưu thế trong nhiều sản phẩm. Cảm biến và MCU có thể ngủ, tỉnh dậy để đáp ứng một kích hoạt đơn giản, chạy mô hình nhỏ, và kích hoạt radio hoặc bộ xử lý lớn hơn chỉ khi cần thiết. Đo lường toàn bộ chu kỳ hoạt động, bao gồm cảm biến, chuyển đổi, tiền xử lý, đánh thức, suy luận, truyền thông và rò rỉ khi nghỉ.

Phát triển và chuyển đổi mô hình

Bắt đầu với các ràng buộc triển khai và thu thập dữ liệu cảm biến đại diện. Tiền xử lý được sử dụng trong quá trình đào tạo phải khớp chính xác với triển khai cố định điểm hoặc nhúng. Sự khác biệt về tần số mẫu, cửa sổ, chuyển đổi màu, chuẩn hoá hoặc trích xuất đặc trưng có thể khiến mô hình thất bại ngay cả khi chuyển đổi thành công.

Phân lượng sau đào tạo hiệu chỉnh phạm vi từ các mẫu đại diện; đào tạo có nhận thức phân lượng (quantization-aware training) mô phỏng độ chính xác thấp hơn trong quá trình học. Các hệ số trọng số theo kênh thường giữ chất lượng convolution tốt hơn so với một hệ số duy nhất. Các toán tử không được hỗ trợ có thể được viết lại, xấp xỉ, hoặc chuyển sang dự phòng chậm hơn, mỗi trường hợp đều cần đánh giá mới.

Nén nên dựa trên giả thuyết. Cắt tỉa các trọng số không có cấu trúc có thể không tăng tốc nhân nhúng dày đặc; việc loại bỏ kênh có cấu trúc dễ dàng hơn cho phần cứng khai thác. Chưng cất chuyển hành vi từ một mô hình giáo viên lớn hơn nhưng cũng có thể chuyển cả thiên lệch và sai lầm của nó. So sánh với các phương pháp xử lý tín hiệu và ngưỡng cơ bản.

Ứng dụng, thử nghiệm thực địa và bảo trì

Các nhiệm vụ TinyML phổ biến bao gồm phát hiện từ khóa, phát hiện từ gọi, nhận dạng cử chỉ, phát hiện bất thường rung, xác định hiện diện, sự kiện âm học và thị giác đơn giản. Mô hình có thể đóng vai trò là cổng thay vì quyết định cuối cùng, tiết kiệm băng thông trong khi gửi các trường hợp không chắc chắn hoặc quan trọng tới hệ thống mạnh hơn.

Các thử nghiệm thực địa nên bao phủ các dung sai thiết bị, lão hóa cảm biến, lắp đặt, trạng thái pin, nhiệt độ, thời tiết, người dùng và nhiễu nền. Theo dõi số kích hoạt sai mỗi giờ hoặc số sự kiện bị bỏ lỡ mỗi chu kỳ hoạt động, không chỉ độ chính xác cân bằng trong thử nghiệm. Ngưỡng được chọn trong phòng thí nghiệm có thể cần hiệu chỉnh riêng cho sản phẩm.

Lên kế hoạch cho các bản cập nhật qua không dây có chữ ký, khôi phục, thu thập dữ liệu phiên bản mô hình và thời gian hỗ trợ dài hạn. Nếu không thể cập nhật, sử dụng các mô hình bảo thủ và ghi lại sự trôi dạt môi trường dự kiến. Việc ngừng hoạt động phải thu hồi chứng thực thiết bị và xử lý dữ liệu lưu trữ, không chỉ dừng bán sản phẩm.

Ví dụ thực tế: bộ giám sát rung TinyML

Một cảm biến gia tốc nhỏ gắn trên động cơ lấy mẫu rung dưới tải trọng bình thường và các điều kiện lỗi đã biết. Thiết bị chia tín hiệu thành các cửa sổ, loại bỏ độ lệch, tính toán các đặc trưng gọn nhẹ trong miền thời gian hoặc tần số, và chạy bộ phát hiện bất thường hoặc bộ phân loại. Tần suất lấy mẫu phải nắm bắt các tần số vòng bi và trục liên quan mà không làm quá tải bộ nhớ hoặc năng lượng. Nhãn nên được lấy từ các kiểm tra xác thực, không chỉ dựa trên cảnh báo có thể sai.

Việc đào tạo diễn ra trên máy trạm, sau đó là phân lượng, chuyển đổi và biên dịch cho vi điều khiển mục tiêu. Đo lường flash mô hình, RAM tối đa, thời gian thực thi, năng lượng và độ chính xác trên thiết bị thực tế. Toán học số nguyên và khả năng hỗ trợ toán tử có thể thay đổi kết quả so với mô hình đào tạo. Kiểm tra hướng cảm biến, lắp đặt, nhiệt độ, điện áp, biến thể linh kiện và rung nền thực tế, không chỉ các tệp phòng thí nghiệm đã được chọn lọc.

Thiết bị đã triển khai cần hiệu chuẩn, cập nhật firmware an toàn, báo cáo phiên bản, hành vi an toàn và kế hoạch đối phó với sự trôi dạt. Nó có thể truyền chỉ một điểm sức khỏe hoặc các đặc trưng đã chọn để tiết kiệm năng lượng và bảo vệ dữ liệu thô, nhưng các cảnh báo sai cục bộ vẫn gây chi phí bảo trì. Sử dụng ngưỡng theo giai đoạn, yêu cầu tính kiên trì, và kết hợp bằng chứng mô hình với trạng thái hoạt động. TinyML có giá trị nhất khi độ trễ cục bộ, quyền riêng tư, kết nối hoặc hạn chế năng lượng biện minh cho giới hạn kỹ thuật của nó.

Kiểm tra sản xuất nên bao gồm khả năng phục hồi sau chu kỳ nguồn, trôi dạt đồng hồ, mất kết nối cảm biến, đầu vào bị hỏng, cạn bộ nhớ và cập nhật bị gián đoạn. Xác định điều gì sẽ xảy ra khi mô hình không chạy được hoặc độ tin cậy sụp đổ: một giá trị mặc định an toàn, chỉ báo lỗi rõ ràng, hoặc quy tắc truyền thống có thể ưu tiên hơn so với dự đoán im lặng. Theo dõi phần cứng và phiên bản firmware của toàn bộ đội để lỗi mới phát hiện có thể được cô lập theo phiên bản thiết bị, môi trường hoặc bản phát hành mô hình.

Danh sách kiểm tra thực hiện thực tế

Biến ý tưởng thành quy trình làm việc có giới hạn, có thể kiểm thử: thu thập → tiền xử lý → suy luận → quyết định → hành động → cập nhật. Chỉ định một người chịu trách nhiệm, ghi chép dữ liệu và các phụ thuộc, thiết lập một baseline đơn giản, đặt tiêu chí chấp nhận và dừng, kiểm thử các lỗi đại diện, và xác định giám sát, khôi phục và đánh giá trước khi mở rộng phạm vi. Ghi lại các phiên bản và giả định để đội khác có thể tái tạo kết quả và hiểu những gì đã thay đổi.

Trước khi ra mắt, thực hiện một đánh giá sẵn sàng được ghi chép với những người xây dựng, vận hành, bảo mật và chịu ảnh hưởng của hệ thống. Kiểm thử các trường hợp bình thường, điều kiện biên, lỗi phụ thuộc và lạm dụng; bảo quản bằng chứng và rủi ro chưa giải quyết. Xác định ai có thể phê duyệt phát hành, thay đổi ngưỡng, ghi đè đầu ra hoặc dừng hoạt động. Xem lại quyết định sau khi dữ liệu thực tế đến, vì một dự án thí điểm kỹ thuật thành công không đảm bảo hiệu năng đáng tin cậy ở quy mô lớn hơn.

  • BỘ NHỚ: trọng số, kích hoạt và bộ đệm.
  • NĂNG LƯỢNG: chu kỳ hoạt động và di chuyển dữ liệu.
  • CHẤT LƯỢNG: độ chính xác thực địa trong điều kiện thực tế.

Câu hỏi thường gặp

TinyML có giống AI di động không?

Không hẳn. Các thiết bị di động là hệ thống edge với bộ xử lý và bộ nhớ tương đối lớn. TinyML tập trung vào các ràng buộc nhúng và lớp vi điều khiển chặt chẽ hơn nhiều.

Các mô hình TinyML có thể học trên thiết bị không?

Hầu hết các triển khai đào tạo ở nơi khác và suy luận trên thiết bị. Việc thích nghi hạn chế là có thể, nhưng bộ nhớ, năng lượng, độ ổn định, quyền riêng tư và khả năng khôi phục khiến việc đào tạo trên thiết bị trở nên khó khăn hơn.

Tài liệu tham khảo chính

Antoine là một nhà lãnh đạo có tầm nhìn và là đối tác sáng lập của Unite.AI, được thúc đẩy bởi niềm đam mê không ngừng nghỉ để định hình và quảng bá tương lai của AI và robot. Là một doanh nhân hàng loạt, ông tin rằng AI sẽ gây ra sự gián đoạn cho xã hội giống như điện, và thường được bắt gặp khi nói về tiềm năng của các công nghệ phá vỡ và AGI.

Là một nhà tương lai học, ông dành để khám phá cách những đổi mới này sẽ định hình thế giới của chúng ta. Ngoài ra, ông là người sáng lập của Securities.io, một nền tảng tập trung vào đầu tư vào các công nghệ tiên tiến đang định nghĩa lại tương lai và thay đổi toàn bộ lĩnh vực.