
Các mô hình học máy đóng vai trò nổi bật trong đời sống hằng ngày của chúng ta – dù bạn có nhận ra hay không. Suốt một ngày điển hình, khả năng cao là bạn sẽ tương tác với một mô hình học máy nào đó, vì chúng đã thâm nhập vào hầu hết sản phẩm số mà chúng ta sử dụng; ví dụ như dịch vụ mạng xã hội, trợ lý ảo cá nhân, công cụ tìm kiếm và bộ lọc thư rác của dịch vụ lưu trữ email.
Mặc dù học máy xuất hiện trong đời sống thường nhật với nhiều ví dụ, vẫn còn không ít lĩnh vực mà công nghệ này chưa chạm tới. Lý do? Nhiều mô hình học máy, đặc biệt là các kiến trúc tối tân (SOTA), đòi hỏi nguồn lực đáng kể. Nhu cầu về năng lực tính toán hiệu năng cao này đã khiến nhiều ứng dụng học máy bị giới hạn trong môi trường đám mây – nơi cung cấp tài nguyên hệ thống máy tính theo yêu cầu.
Bên cạnh chi phí tính toán cao khi huấn luyện, việc suy luận trên các mô hình này cũng thường khá tốn kém. Nếu học máy muốn mở rộng phạm vi và thâm nhập thêm nhiều lĩnh vực, cần có một giải pháp cho phép mô hình chạy suy luận trên các thiết bị nhỏ hơn, hạn chế tài nguyên hơn. Nỗ lực tìm kiếm giải pháp đó đã dẫn tới một phân nhánh của học máy gọi là Tiny Machine Learning (TinyML).
Trong bài viết này, chúng ta sẽ:
- Định nghĩa TinyML và các lợi ích của nó
- Đề cập một số ứng dụng của TinyML
- Thảo luận các yêu cầu quy trình làm việc đối với ứng dụng TinyML.
TinyML là gì?
“Mạng nơ-ron còn được gọi là mạng nơ-ron nhân tạo (ANN). Kiến trúc này là nền tảng của học sâu, một phân nhánh của học máy tập trung vào các thuật toán lấy cảm hứng từ cấu trúc và chức năng của não người. Nói một cách đơn giản, mạng nơ-ron là cơ sở cho các kiến trúc mô phỏng cách các nơ-ron sinh học truyền tín hiệu cho nhau.”
Nguồn: Hướng dẫn PyTorch: Xây dựng mạng nơ-ron đơn giản từ đầu
Học máy là một phân nhánh của trí tuệ nhân tạo cung cấp tập hợp các thuật toán. Những thuật toán này cho phép máy móc học các mẫu và xu hướng từ dữ liệu lịch sử sẵn có để dự đoán các kết quả đã biết trước đó trên cùng dữ liệu đó. Tuy nhiên, mục tiêu chính là sử dụng các mô hình đã huấn luyện để khái quát hóa suy luận vượt ra ngoài bộ dữ liệu huấn luyện, nâng cao độ chính xác dự đoán mà không cần lập trình tường minh.
Một trong các thuật toán dùng cho những tác vụ này là mạng nơ-ron. Mạng nơ-ron thuộc phân nhánh học sâu của học máy, bao gồm các mô hình thường tốn kém hơn để huấn luyện so với các mô hình học máy khác. Bạn có thể tìm hiểu thêm về xây dựng mô hình mạng nơ-ron bằng R trong một hướng dẫn riêng.

Hình 1. Minh họa mạng nơ-ron ba lớp
Theo tinyml.org, “Tiny machine learning được hiểu rộng là một lĩnh vực đang phát triển nhanh của các công nghệ và ứng dụng học máy, bao gồm phần cứng, thuật toán và phần mềm có khả năng thực hiện phân tích dữ liệu cảm biến ngay trên thiết bị với mức tiêu thụ điện năng cực thấp, thường ở dải mW trở xuống, từ đó cho phép nhiều trường hợp sử dụng luôn-bật và nhắm đến các thiết bị chạy pin.”
Sự phát triển của TinyML trong những năm gần đây phần lớn đến từ hệ sinh thái phần cứng và phần mềm hỗ trợ nó. Vì các kỹ thuật này có thể triển khai trên hệ thống tiêu thụ điện năng thấp (ví dụ: cảm biến, vi điều khiển, v.v.), học máy có thể được đưa ra biên ở mức cực hạn, cho phép các ứng dụng hoạt động với khả năng phản hồi theo thời gian thực. Tựu trung, ý tưởng là giúp các nhà thực hành học máy làm được nhiều hơn với ít tài nguyên hơn.
Vì sao điều này lại quan trọng? Hãy xem những điểm khiến TinyML hấp dẫn.
Các lợi ích của TinyML
- Độ trễ: Dữ liệu không cần truyền về máy chủ để suy luận vì mô hình chạy trên thiết bị biên. Việc truyền dữ liệu thường tốn thời gian, gây ra độ trễ. Loại bỏ yêu cầu này giúp giảm độ trễ.
- Tiết kiệm năng lượng: Vi điều khiển cần rất ít điện năng, cho phép chúng hoạt động trong thời gian dài mà không cần sạc. Thêm vào đó, không cần hạ tầng máy chủ lớn vì không có truyền tải thông tin: kết quả là tiết kiệm năng lượng, tài nguyên và chi phí.
- Giảm băng thông: Hầu như không cần kết nối internet để suy luận. Có các cảm biến trên thiết bị thu thập dữ liệu và xử lý ngay trên thiết bị. Điều này có nghĩa là không có dữ liệu cảm biến thô liên tục gửi về máy chủ.
- Quyền riêng tư dữ liệu: Dữ liệu của bạn không được lưu trên máy chủ vì mô hình chạy ở biên. Không truyền thông tin lên máy chủ giúp tăng đảm bảo về quyền riêng tư dữ liệu.
Tình huống sử dụng: TinyML đang được dùng như thế nào?
Các ứng dụng của TinyML trải rộng trên nhiều lĩnh vực, đặc biệt là những lĩnh vực phụ thuộc vào mạng lưới và dữ liệu internet vạn vật (IoT) – Internet of Things (IoT) về cơ bản là một mạng lưới các vật thể vật lý được gắn cảm biến, phần mềm và công nghệ khác để kết nối và trao đổi dữ liệu với các thiết bị, hệ thống khác qua internet.
Thị giác máy tính, từ khóa đánh thức bằng hình ảnh, phát hiện từ khóa, bảo trì dự đoán, nhận diện cử chỉ, bảo trì máy công nghiệp, v.v. đều là những trường hợp sử dụng phổ biến của TinyML. Hãy cùng điểm qua một số ngành đã ứng dụng TinyML để vận hành giải pháp:
Nông nghiệp
Dữ liệu nông nghiệp và chăn nuôi theo thời gian thực có thể được giám sát và thu thập bằng các thiết bị TinyML. Doanh nghiệp sản phẩm AI biên của Thụy Điển Imagimob đã tạo ra một nền tảng phát triển cho học máy trên thiết bị biên. Năm mươi lăm tổ chức trên khắp Liên minh Châu Âu đã hợp tác với Imagimob để tìm hiểu cách TinyML có thể mang lại quản lý hiệu quả cho cây trồng và vật nuôi.
Bảo trì dự đoán trong công nghiệp
TinyML có thể được triển khai trên các thiết bị công suất thấp để liên tục theo dõi máy móc nhằm phát hiện trục trặc và dự đoán sự cố trước khi xảy ra; kiểu ứng dụng này có tiềm năng giúp doanh nghiệp giảm chi phí thường phát sinh từ máy móc hỏng hóc.
Một ví dụ tiêu biểu về bảo trì dự đoán là Ping Services. Họ phát triển một thiết bị giám sát để liên tục theo dõi chữ ký âm học của cánh tuabin gió nhằm phát hiện và thông báo mọi thay đổi hoặc hư hại. Theo trang web của Ping, “việc giám sát liên tục giúp nhà vận hành phản ứng kịp thời với hư hại cánh, giảm chi phí bảo trì, rủi ro hỏng hóc và thời gian ngừng hoạt động, đồng thời cải thiện hiệu năng và hiệu suất của tuabin gió.”
Trải nghiệm khách hàng
Cá nhân hóa là công cụ tiếp thị then chốt mà khách hàng mong đợi khi kỳ vọng của họ tăng lên. Mục tiêu là doanh nghiệp hiểu khách hàng hơn và nhắm mục tiêu họ bằng quảng cáo, thông điệp phù hợp với hành vi. Triển khai các ứng dụng TinyML ở biên giúp doanh nghiệp nắm bắt ngữ cảnh người dùng, bao gồm cả hành vi của họ.
Yêu cầu quy trình làm việc
Nhiều công cụ và kiến trúc được dùng trong quy trình học máy truyền thống vẫn được áp dụng khi xây dựng ứng dụng cho thiết bị biên. Khác biệt chính là TinyML cho phép các mô hình này thực hiện nhiều chức năng trên các thiết bị nhỏ hơn.
Tensorflow Lite for microcontrollers (TF Lite Micro) là một trong các framework phổ biến nhất cho học máy trên thiết bị biên; nó được thiết kế riêng cho nhiệm vụ triển khai học máy trên hệ thống nhúng chỉ với vài kilobyte bộ nhớ.
Python thường là ngôn ngữ ưa thích để xây dựng mô hình học máy. Tuy nhiên, TensorFlow Lite giúp bạn dễ dàng phát triển mô hình bằng C, C++ hoặc Java và triển khai mà không cần kết nối internet.
Về phần cứng, cần có một bo mạch vi điều khiển được hỗ trợ để bắt đầu với TinyML trong TF Lite; thư viện hiện hỗ trợ các vi điều khiển sau:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite for Microcontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Spresense
Với sự hỗ trợ của TinyML, chúng ta có thể gia tăng mức độ thông minh cho hàng tỷ thiết bị sử dụng hằng ngày, như đồ gia dụng và thiết bị IoT, mà không phải tốn kém cho phần cứng đắt đỏ hay các kết nối internet ổn định vốn thường bị giới hạn bởi băng thông và điện năng, đồng thời gây ra độ trễ đáng kể.
Tài nguyên học tập
- TinyML Foundation
- Tiny ML: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers (Sách)
- Embedded Machine Learning on Edge Devices (Podcast)
- Understanding Machine Learning
- Introduction to Deep Learning in Python
- Deep Learning Tutorial
Tổng kết
TinyML đã thu hút nhiều sự quan tâm trong những năm gần đây trên nhiều ngành nhờ sự phát triển của hệ sinh thái phần cứng và phần mềm hỗ trợ nó. Công cụ này giúp hiện thực hóa việc triển khai các mô hình học máy trên hệ thống tiêu thụ năng lượng thấp, như vi điều khiển, mở ra nhiều cơ hội mới. Độ trễ thấp, tiết kiệm năng lượng, quyền riêng tư dữ liệu và không phụ thuộc kết nối là một số yếu tố khiến TinyML trở nên hấp dẫn với các nhà phát triển đang xây dựng ứng dụng cho thiết bị internet vạn vật (IoT).
Câu hỏi thường gặp
Tiny Machine Learning (TinyML) là gì?
TinyML là một dạng học máy cho phép mô hình chạy trên các thiết bị nhỏ hơn, kém mạnh hơn. Nó bao gồm phần cứng, thuật toán và phần mềm có thể phân tích dữ liệu cảm biến ngay trên các thiết bị này với mức tiêu thụ điện năng rất thấp, lý tưởng cho các trường hợp luôn-bật và thiết bị chạy pin.
Lợi ích của TinyML là gì?
Các lợi ích của TinyML gồm giảm độ trễ, tiết kiệm năng lượng, giảm băng thông và cải thiện quyền riêng tư dữ liệu. TinyML cho phép xử lý dữ liệu ngay trên thiết bị biên, loại bỏ nhu cầu truyền dữ liệu lên máy chủ vốn có thể gây chậm trễ. TinyML cũng cần ít điện năng hơn đáng kể so với các mô hình học máy truyền thống, cho phép hoạt động trong thời gian dài mà không cần sạc.
TinyML được dùng để làm gì?
TinyML có thể được sử dụng trong nhiều lĩnh vực, bao gồm nông nghiệp, bảo trì dự đoán trong công nghiệp và trải nghiệm khách hàng. Nó cũng có thể dùng cho thị giác máy tính, từ khóa đánh thức bằng hình ảnh, phát hiện từ khóa, nhận diện cử chỉ và nhiều hơn nữa.
Yêu cầu quy trình làm việc cho các ứng dụng TinyML là gì?
Các yêu cầu quy trình làm việc cho ứng dụng TinyML tương tự các quy trình học máy truyền thống. Tuy nhiên, TinyML cho phép các mô hình này thực hiện nhiều chức năng trên thiết bị nhỏ hơn. TensorFlow Lite for microcontrollers (TF Lite Micro) là một trong những framework phổ biến nhất cho học máy trên thiết bị biên, được thiết kế đặc thù để triển khai học máy trên hệ thống nhúng chỉ với vài kilobyte bộ nhớ.
Một số tài nguyên học TinyML là gì?
Một số tài nguyên học TinyML bao gồm TinyML Foundation, cuốn sách "Tiny ML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers" và podcast "Embedded Machine Learning on Edge Devices,". DataCamp cũng có nhiều tài nguyên như hướng dẫn học sâu này, khóa học về hiểu biết học máy và nhiều nội dung khác tại trung tâm Learn AI.