TinyML: công nghệ máy học siêu tiết kiệm năng lượng
(ikkaro.net)TinyML là gì
- TinyML là việc sử dụng machine learning trên vi điều khiển.
- Khác với các hệ thống dùng trong ML truyền thống, TinyML được dùng trên các hệ thống có CPU và RAM rất ít, mức tiêu thụ điện chỉ ở mức milliwatt hoặc microwatt.
- Nó thực hiện việc thu nhỏ các mô hình lớn để có thể sử dụng trên những thiết bị và vi điều khiển có tài nguyên cực kỳ hạn chế.
- Trang web chính thức của TinyML Foundation là https://www.tinyml.org/
- Có chuỗi 3 khóa học do Đại học Harvard cung cấp miễn phí:
- Cơ bản về TinyML (xây dựng gì, vì sao xây dựng, và có những vấn đề nào)
- Ứng dụng của TinyML (dựa trên dữ liệu, thiên lệch, v.v.)
- Triển khai TinyML (đặt mô hình ở đâu, bảo mật và quyền riêng tư)
Nguyên lý cơ bản của TinyML
- Các hệ thống nhúng sử dụng vi điều khiển có tối đa 256kB bộ nhớ, nên không thể chạy các mô hình lớn.
- Một số ví dụ về hệ điều hành có thể dùng cùng vi điều khiển:
- FreeRTOS
- Mbed OS
- Machine learning bao gồm các thuật toán tìm mẫu trong dữ liệu.
- Trong TinyML, các thuật toán này được nén lại để có thể tìm mẫu trong dữ liệu một cách hiệu quả.
- Mỗi ngày IoT tạo ra 5 quintillion byte dữ liệu, nhưng chưa đến 1% trong số đó được phân tích.
Kỹ thuật nén thuật toán
-
Cắt tỉa (Pruning)
- Cắt tỉa synapse: loại bỏ các kết nối mạng trong mô hình. Đôi khi độ chính xác có thể giảm.
- Cắt tỉa neuron: loại bỏ toàn bộ neuron khỏi mô hình để giảm yêu cầu tính toán của mạng.
-
Lượng tử hóa (Quantization)
- Rời rạc hóa các giá trị trong một phạm vi nhỏ hơn. Ví dụ, nếu rời rạc hóa số thực dấu phẩy động vào phạm vi từ -128 đến 127 thì chỉ cần xét 256 giá trị.
- Nếu chuyển một giá trị dấu phẩy động lưu trong 4 byte sang giá trị số nguyên lưu trong 1 byte thì kích thước sẽ giảm 4 lần.
- Do tài nguyên hạn chế, lượng tử hóa là yếu tố rất quan trọng trong TinyML.
-
Chưng cất tri thức (Knowledge distillation)
- Áp dụng kiến thức và bí quyết để làm cho mô hình nhỏ hơn.
Công cụ
- Sử dụng TensorFlow Lite.
- TensorFlow tập trung vào các nhà nghiên cứu ML, trong khi TensorFlow Lite dành cho các nhà phát triển ứng dụng.
Ứng dụng của TinyML
- Có thể tìm thấy các trường hợp sử dụng TinyML chuyên biệt cho thế giới DIY, maker và hacker trên trang web này.
TinyML trong công nghiệp
- Trong lĩnh vực công nghiệp, TinyML được dùng cho bảo trì, giúp tăng hiệu quả và giảm chi phí bằng cách cảnh báo trước khả năng hỏng hóc khi xuất hiện rung động.
- Do vấn đề về độ chính xác, có thể xuất hiện cảnh báo giả, và trách nhiệm đối với cảnh báo giả thuộc về người vận hành hoặc hệ thống.
TinyML cho môi trường
- Thay vì thu thập dữ liệu rồi mới xử lý, TinyML cho phép nhận phản hồi theo thời gian thực về các thay đổi của môi trường. Ví dụ, có thể biết được các thay đổi trong đời sống động vật hoang dã theo thời gian thực.
TinyML cho con người
- Giúp người khuyết tật thực hiện nhiều công việc hơn mà không cần dùng tay.
- Cải thiện UI và UX của ứng dụng để việc sử dụng trở nên dễ dàng hơn.
- Công nghệ được tạo ra để nâng cao trải nghiệm của con người. Công nghệ nên giúp đỡ con người.
Rủi ro và nhược điểm
- Nó có hoạt động tốt với mọi nhóm dân số hay không?
- Quyền riêng tư của dữ liệu có được đảm bảo không?
- Có thể bảo vệ dữ liệu này hay không?
- Cần xây dựng công nghệ dựa trên AI lấy con người làm trung tâm. Phải cân nhắc điều này trong quá trình thiết kế, phát triển và triển khai.
Ý kiến của GN⁺
- TinyML là công nghệ đột phá cho phép triển khai machine learning trong môi trường tài nguyên hạn chế, có thể cải thiện đáng kể hiệu quả và trí thông minh của các thiết bị IoT.
- Các kỹ thuật nén thuật toán như cắt tỉa, lượng tử hóa và chưng cất tri thức là những yếu tố cốt lõi giúp thu nhỏ mô hình machine learning để có thể chạy trên các thiết bị công suất thấp.
- Ứng dụng của TinyML trong bảo trì công nghiệp, giám sát môi trường và hỗ trợ người khuyết tật có thể góp phần cải thiện cuộc sống con người, là một ví dụ điển hình về tác động tích cực của công nghệ đối với xã hội.
1 bình luận
Ý kiến trên Hacker News
Phát triển trình biên dịch Rust TinyML
predict()thực hiện suy luận cho mô hình đã cho.Sức hấp dẫn của lĩnh vực TinyML
Virus nhắm vào hạ tầng sử dụng LLM
Giải thích về TinyML / Edge ML của Edge Impulse
Ví dụ sử dụng ESP32, Tensor Flow Lite và Edge Impulse từ Hacker Box
Hiện tại và tương lai của TinyML
Nhiều ý kiến khác nhau về TinyML