3 điểm bởi GN⁺ 2024-01-17 | 1 bình luận | Chia sẻ qua WhatsApp

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í:
    1. Cơ bản về TinyML (xây dựng gì, vì sao xây dựng, và có những vấn đề nào)
    2. Ứng dụng của TinyML (dựa trên dữ liệu, thiên lệch, v.v.)
    3. 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

 
GN⁺ 2024-01-17
Ý kiến trên Hacker News
  • Phát triển trình biên dịch Rust TinyML

    • Một trình biên dịch TinyML dựa trên Rust đã được phát triển như một dự án luận văn thạc sĩ.
    • Sử dụng procedural macro của Rust để đánh giá mô hình tại thời điểm biên dịch và tạo hàm predict() thực hiện suy luận cho mô hình đã cho.
    • Đạt được kích thước binary nhỏ hơn rất nhiều so với TensorFlow Lite for Microcontrollers và các engine khác.
    • Đã chạy thành công bộ nhận diện lệnh giọng nói (TinyConv) trên ATmega328 8-bit (Arduino Uno).
  • Sức hấp dẫn của lĩnh vực TinyML

    • TinyML là một lĩnh vực rất thú vị, nơi có thể làm được nhiều điều trên phần cứng cực nhỏ.
    • Ví dụ, có thể xây dựng hệ thống computer vision thời gian thực bằng esp32-s3 (giá khoảng 2 USD).
    • Có thể dễ dàng tiếp cận TinyML thông qua các giải pháp như AutoML.
    • Các công ty phần cứng đã bắt đầu cung cấp MCU tích hợp NPU để giảm thiểu mức tiêu thụ điện năng.
    • TinyML có khả năng sẽ nhận được nhiều sự chú ý hơn trong tương lai.
  • Virus nhắm vào hạ tầng sử dụng LLM

    • Hình dung về loại virus nhắm vào hạ tầng bằng cách sử dụng LLM (Large Language Models).
    • Có thể giấu các thiết bị nhỏ trong lưới điện để thu thập lưu lượng mạng và cố gắng phá hoại hệ thống.
    • Những thiết bị này có thể được giấu trong thiết bị mạng và khó bị phát hiện vì không cần lưu lượng từ bên ngoài.
  • Giải thích về TinyML / Edge ML của Edge Impulse

    • Edge Impulse đã xây dựng một nền tảng cho phép tạo mô hình ML và triển khai lên các thiết bị edge.
    • Người dùng có thể tạo tài khoản, xây dựng mô hình keyword spotting rồi chạy trực tiếp trên WASM.
    • Sự xuất hiện của các bộ gia tốc nhúng ASIC/NPU đang thúc đẩy việc áp dụng Edge ML.
  • Ví dụ sử dụng ESP32, Tensor Flow Lite và Edge Impulse từ Hacker Box

    • Gần đây, Hacker Box đã cung cấp một ví dụ chi tiết sử dụng ESP32 cùng Tensor Flow Lite và Edge Impulse.
  • Hiện tại và tương lai của TinyML

    • TinyML có nghĩa là chạy machine learning trên các thiết bị nhúng công suất thấp.
    • Mọi điện thoại đều được trang bị chip DSP công suất thấp để phát hiện các từ khóa như "Hey Google" hoặc "Hey Siri".
    • TinyML là một tập con của edge AI, bao gồm mọi loại thiết bị nằm ở rìa mạng.
    • Đây là một lĩnh vực rất thú vị, giải quyết nhiều vấn đề khác nhau và là công nghệ có thể được áp dụng trong gần như mọi không gian.
  • Nhiều ý kiến khác nhau về TinyML

    • Có ý kiến cho rằng trong lĩnh vực TinyML, việc tạo ra các giải pháp trong điều kiện ràng buộc sẽ tạo ra tác động quan trọng.
    • TinyML, tương tự IoT, được xem là công nghệ quan trọng của tương lai nhưng trên thực tế đang phát triển chậm.
    • Với những ai đang tìm thêm nội dung về TinyML, các video từ hội nghị Asia 2023 đã được chia sẻ.