Bởi Kunal Kejriwal
Trong vài năm gần đây, Trí tuệ Nhân tạo (AI) và Học máy (ML) đã chứng kiến một sự tăng trưởng nhanh chóng về sự phổ biến và ứng dụng, không chỉ trong ngành công nghiệp mà còn trong giới học thuật. Tuy nhiên, các mô hình ML và AI hiện nay có một giới hạn chính: họ yêu cầu một lượng lớn công suất tính toán và xử lý để đạt được kết quả và độ chính xác mong muốn. Điều này thường hạn chế việc sử dụng chúng trên các thiết bị có khả năng tính toán lớn.
Nhưng với sự tiến bộ trong công nghệ hệ thống nhúng và sự phát triển đáng kể trong ngành Công nghiệp Internet của Vạn vật (IoT), việc tích hợp việc sử dụng các kỹ thuật và khái niệm ML vào hệ thống nhúng có tài nguyên hạn chế để đạt được tính thông minh phổ quát là một điều đáng mong muốn. Sự mong muốn này là yếu tố chính động viên cho sự phát triển của TinyML, một kỹ thuật ML nhúng cho phép sử dụng mô hình ML và ứng dụng ML trên nhiều thiết bị có tài nguyên hạn chế, hạn chế năng lượng và giá rẻ.
Tuy nhiên, việc triển khai ML trên các thiết bị có tài nguyên hạn chế không đơn giản vì triển khai mô hình ML trên các thiết bị có khả năng tính toán thấp mang lại những thách thức riêng về tối ưu hóa, khả năng xử lý, đáng tin cậy, bảo trì các mô hình và nhiều vấn đề khác.
Trong bài viết này, chúng ta sẽ đi sâu hơn vào mô hình TinyML và tìm hiểu thêm về lịch sử của nó, các công cụ hỗ trợ TinyML và các ứng dụng của TinyML sử dụng các công nghệ tiên tiến. Vậy, bắt đầu thôi.
Giới thiệu về TinyML: Tại sao thế giới cần TinyML
Thiết bị Internet of Things hoặc IoT nhằm tận dụng tính toán tại điểm biên, một mô hình tính toán mà đề cập đến một loạt các thiết bị và mạng gần người dùng để cho phép xử lý dữ liệu một cách mượt mà và thời gian thực từ hàng triệu cảm biến và thiết bị kết nối với nhau. Một trong những ưu điểm lớn của các thiết bị IoT là họ yêu cầu ít công suất tính toán và xử lý vì chúng có thể triển khai tại biên mạng, và do đó chúng có một dấu vết bộ nhớ thấp.
Hơn nữa, các thiết bị IoT phụ thuộc nặng vào các nền tảng biên để thu thập và sau đó truyền dữ liệu, vì các thiết bị biên này thu thập dữ liệu cảm giác và sau đó truyền chúng đến một vị trí gần đó hoặc các nền tảng đám mây để xử lý. Công nghệ tính toán tại điểm biên lưu trữ và thực hiện tính toán trên dữ liệu, và cung cấp cơ sở hạ tầng cần thiết để hỗ trợ tính toán phân tán.
Việc triển khai tính toán tại điểm biên trong các thiết bị IoT cung cấp:
- Bảo mật, quyền riêng tư và đáng tin cậy hiệu quả cho người dùng cuối.
- Độ trễ thấp hơn.
- Khả năng sẵn có và hiệu suất cao hơn, đáp ứng cho ứng dụng và dịch vụ.
Hơn nữa, vì các thiết bị biên có thể triển khai một kỹ thuật cộng tác giữa các cảm biến và đám mây, việc xử lý dữ liệu có thể được thực hiện tại biên mạng thay vì tại nền tảng đám mây. Điều này có thể dẫn đến quản lý dữ liệu hiệu quả, lưu trữ dữ liệu hiệu quả, giao hàng hiệu quả và lưu trữ nội dung. Ngoài ra, để triển khai IoT trong các ứng dụng liên quan đến tương tác giữa con người và máy (H2M) hoặc trong lĩnh vực chăm sóc sức khỏe hiện đại, tính toán tại điểm biên cung cấp một cách để cải thiện đáng kể các dịch vụ mạng.
Nghiên cứu gần đây trong lĩnh vực tính toán tại điểm biên của IoT đã chỉ ra tiềm năng triển khai các kỹ thuật Học máy trong nhiều trường hợp sử dụng IoT. Tuy nhiên, vấn đề chính là các mô hình Học máy truyền thống thường đòi hỏi công suất tính toán và xử lý mạnh mẽ, cùng với dung lượng bộ nhớ lớn, điều này hạn chế khả năng triển khai các mô hình Học máy trong các thiết bị và ứng dụng IoT.
Hơn nữa, công nghệ tính toán tại điểm biên hiện nay thiếu khả năng truyền tải cao và tiết kiệm năng lượng hiệu quả, dẫn đến hệ thống đa dạng, đây chính là lý do chính đằng sau nhu cầu về cơ sở hạ tầng hài hòa và toàn diện, chủ yếu để cập nhật, đào tạo và triển khai các mô hình Học máy. Kiến trúc được thiết kế cho các thiết bị nhúng đặt ra thách thức khác vì các kiến trúc này phụ thuộc vào yêu cầu về phần cứng và phần mềm có sự biến đổi từ thiết bị này sang thiết bị khác. Điều này là nguyên nhân chính tại sao khó khăn trong việc xây dựng một kiến trúc Học máy tiêu chuẩn cho các mạng IoT.
Trong tình huống hiện tại, dữ liệu được tạo ra bởi các thiết bị khác nhau được gửi đến các nền tảng đám mây để xử lý do tính phức tạp của các triển khai mạng. Hơn nữa, các mô hình Học máy thường phụ thuộc vào Học sâu, Mạng thần kinh sâu, Mạch tích hợp Cụ thể cho Ứng dụng (ASIC) và Đơn vị xử lý đồ họa (GPU) để xử lý dữ liệu và thường có nhu cầu về năng lượng và bộ nhớ cao hơn. Triển khai các mô hình Học máy đầy đủ trên các thiết bị IoT không phải là một giải pháp khả thi do sự thiếu hụt rõ ràng về khả năng tính toán và xử lý, và giải pháp lưu trữ hạn chế.
Yêu cầu thu nhỏ các thiết bị nhúng tiết kiệm năng lượng kết hợp với việc tối ưu hóa các mô hình Học máy để làm cho chúng hiệu quả về năng lượng và bộ nhớ hơn đã mở đường cho TinyML, mục tiêu triển khai các mô hình và thực hành Học máy trên các thiết bị và cơ sở hạ tầng IoT tại điểm biên. TinyML cho phép xử lý tín hiệu trên các thiết bị IoT và cung cấp trí tuệ nhúng, từ đó loại bỏ nhu cầu truyền dữ liệu đến các nền tảng đám mây để xử lý. Triển khai thành công của TinyML trên các thiết bị IoT có thể cuối cùng dẫn đến tăng cường quyền riêng tư và hiệu suất đồng thời giảm thiểu chi phí hoạt động. Hơn nữa, điều làm cho TinyML hấp dẫn hơn là trong trường hợp kết nối không đủ, nó có thể cung cấp phân tích tại chỗ.
TinyML: Giới thiệu và Tổng quan
TinyML là một công cụ học máy có khả năng thực hiện phân tích trên thiết bị cho các chế độ cảm nhận khác nhau như âm thanh, thị giác và giọng nói. Các mô hình Học máy được xây dựng trên công cụ TinyML có yêu cầu năng lượng, bộ nhớ và tính toán thấp, điều này làm cho chúng phù hợp cho các mạng nhúng và các thiết bị hoạt động dựa trên nguồn năng lượng pin. Hơn nữa, yêu cầu thấp của TinyML làm cho nó phù hợp để triển khai các mô hình Học máy trên cơ sở hạ tầng IoT.
Trong tình huống hiện tại, các hệ thống ML dựa trên đám mây đối mặt với một số khó khăn bao gồm vấn đề về bảo mật và quyền riêng tư, tiêu thụ năng lượng cao, tính đáng tin cậy và vấn đề trễ. Đó là lý do tại sao các mô hình trên các nền tảng phần cứng-phan mềm được cài đặt trước. Các cảm biến thu thập dữ liệu mô phỏng thế giới vật lý và sau đó được xử lý bằng CPU hoặc MPU (Đơn vị Microprocessing). MPU phục vụ cho nhu cầu hỗ trợ phân tích Học máy được bật bởi các mạng và kiến trúc Học máy nhận biết biên. Kiến trúc Học máy tại điểm biên giao tiếp với đám mây Học máy để truyền dữ liệu và triển khai TinyML có thể dẫn đến sự tiến bộ đáng kể trong công nghệ.
Có thể nói rằng TinyML là sự kết hợp của phần mềm, phần cứng và thuật toán hoạt động cùng nhau để cung cấp hiệu suất mong muốn. Tính toán tương tự hoặc tính toán trên bộ nhớ có thể cần thiết để cung cấp trải nghiệm học tốt hơn và hiệu quả hơn cho các thiết bị phần cứng và IoT không hỗ trợ các bộ gia tốc phần cứng. Đối với phần mềm, các ứng dụng được xây dựng bằng cách sử dụng TinyML có thể triển khai và thực hiện trên các nền tảng như Linux hoặc Linux nhúng, và trên phần mềm có hỗ trợ đám mây. Cuối cùng, các ứng dụng và hệ thống được xây dựng trên thuật toán TinyML phải được hỗ trợ bởi các thuật toán mới cần mô hình có kích thước bộ nhớ thấp để tránh tiêu thụ bộ nhớ cao.
Tóm lại, các ứng dụng được xây dựng bằng công cụ TinyML phải tối ưu hóa nguyên tắc và phương pháp Học máy cùng với thiết kế phần mềm gọn gàng, trong bối cảnh dữ liệu chất lượng cao. Sau đó, dữ liệu này phải được nạp thông qua các tệp nhị phân được tạo ra bằng các mô hình được đào tạo trên các máy có khả năng và công suất tính toán lớn hơn.
Hơn nữa, các hệ thống và ứng dụng chạy trên công cụ TinyML phải cung cấp độ chính xác cao khi hoạt động trong điều kiện hạn chế hơn, vì cần phải có phần mềm gọn gàng để tiết kiệm năng lượng hỗ trợ các ứng dụng TinyML. Hơn nữa, các ứng dụng hoặc mô-đun TinyML có thể phụ thuộc vào nguồn năng lượng pin để hỗ trợ hoạt động trên các hệ thống nhúng tại điểm biên.
Nói như vậy, các ứng dụng TinyML có hai yêu cầu cơ bản:
- Khả năng mở rộng cho hàng tỷ hệ thống nhúng giá rẻ.
- Lưu trữ mã trên bộ nhớ RAM của thiết bị với dung lượng dưới vài KB.
Các ứng dụng của TinyML sử dụng các công nghệ tiên tiến
Một trong những lý do quan trọng tại sao TinyML là một chủ đề nóng trong ngành AI & ML là do tiềm năng ứng dụng của nó, bao gồm các ứng dụng liên quan đến thị giác và giọng nói, chẩn đoán sức khỏe, nén và phân loại mẫu dữ liệu, giao diện điều khiển bằng não, tính toán tại điểm biên, hiện tượng học, ô tô tự lái và nhiều ứng dụng khác.
Ứng dụng Dựa trên Giọng nói
Giao tiếp bằng Giọng nói
Thường, các ứng dụng dựa trên giọng nói phụ thuộc vào các phương pháp giao tiếp truyền thống trong đó tất cả dữ liệu đều quan trọng và được truyền đi. Tuy nhiên, trong những năm gần đây, giao tiếp ngữ nghĩa đã nổi lên như một phương thức thay thế cho giao tiếp truyền thống, trong đó chỉ có nghĩa hoặc ngữ cảnh của dữ liệu được truyền đi. Giao tiếp ngữ nghĩa có thể được triển khai trong các ứng dụng dựa trên giọng nói bằng cách sử dụng các phương pháp TinyML.
Một số ứng dụng phổ biến nhất trong ngành giao tiếp bằng giọng nói hiện nay là phát hiện giọng nói, nhận dạng giọng nói, học trực tuyến, giảng dạy trực tuyến và giao tiếp có mục tiêu. Những ứng dụng này thường có tiêu thụ năng lượng cao và đòi hỏi lưu lượng dữ liệu lớn trên thiết bị chủ. Để vượt qua các yêu cầu này, một thư viện TinySpeech mới đã được giới thiệu cho phép các nhà phát triển xây dựng một kiến trúc tính toán thấp sử dụng các mạng tích chập sâu để xây dựng một cơ sở lưu trữ nhỏ hơn.
Để sử dụng TinyML cho việc cải thiện giọng nói, các nhà phát triển đã đặt vấn đề về kích thước của mô hình cải thiện giọng nói do nó chịu ảnh hưởng của các hạn chế về phần cứng. Để giải quyết vấn đề này, đã triển khai kỹ thuật cắt tỉa cấu trúc và lượng tử hóa số nguyên cho mô hình cải thiện giọng nói sử dụng Mạng Neural Hồi quy (RNN) hoặc Mạng Neural Hồi quy Tái lặp. Kết quả cho thấy kích thước của mô hình đã giảm đi gần 12 lần trong khi số lượng phép toán giảm đi gần 3 lần. Hơn nữa, quan trọng là tài nguyên phải được sử dụng một cách hiệu quả đặc biệt khi triển khai trên các ứng dụng có tài nguyên hạn chế thực hiện các ứng dụng nhận dạng giọng nói.
Kết quả là, để phân chia quá trình, một phương pháp thiết kế cùng nhau đã được đề xuất cho các ứng dụng nhận dạng giọng và lời nói dựa trên TinyML. Các nhà phát triển đã sử dụng phép toán cửa sổ để phân chia phần mềm và phần cứng một cách sao cho tiền xử lý dữ liệu giọng thô. Phương pháp này có vẻ hoạt động vì kết quả cho thấy sự giảm tiêu thụ năng lượng trên phần cứng. Cuối cùng, còn tiềm năng để triển khai phân chia tối ưu giữa thiết kế cùng nhau của phần mềm và phần cứng để đạt được hiệu suất tốt hơn trong tương lai gần.
Hơn nữa, các nghiên cứu gần đây đã đề xuất việc sử dụng bộ chuyển đổi dựa trên điện thoại cho các hệ thống nhận dạng giọng nói, và đề xuất này nhằm thay thế bộ dự đoán LSTM bằng lớp Conv1D để giảm nhu cầu tính toán trên các thiết bị tại điểm biên. Khi triển khai, đề xuất đã mang lại kết quả tích cực khi SVD hoặc Sự phân rã Giá trị Đơn đã nén mô hình thành công trong khi việc sử dụng giải mã dựa trên WFST hoặc Trạng thái hữu hạn có trọng số dựa trên đường dẫn giới hạn đã dẫn đến tính linh hoạt cao hơn trong sự thiên vị cải thiện mô hình.
Nhiều ứng dụng nổi bật của nhận dạng giọng nói như trợ lý ảo hoặc giọng nói, chú thích trực tiếp và lệnh giọng nói sử dụng các kỹ thuật Học máy để hoạt động. Các trợ lý giọng nói phổ biến hiện nay như Siri và Google Assistant thường liên hệ với nền tảng đám mây mỗi khi họ nhận dữ liệu, và điều này tạo ra những lo ngại lớn liên quan đến quyền riêng tư và bảo mật dữ liệu. TinyML là một giải pháp khả thi cho vấn đề này vì nó nhằm thực hiện nhận dạng giọng nói trên các thiết bị và loại bỏ nhu cầu chuyển dữ liệu đến các nền tảng đám mây. Một trong những cách để đạt được nhận dạng giọng nói trên thiết bị là sử dụng Tiny Transducer, một mô hình nhận dạng giọng nói sử dụng lớp DFSMN hoặc Khối Nhớ Tuần tự Tiến Sâu Kết hợp với một lớp Conv1D thay vì các lớp LSTM để giảm yêu cầu tính toán và tham số mạng.
Ứng dụng trong Tai nghe
Mất thính lực là một vấn đề sức khỏe lớn trên toàn cầu, và khả năng nghe của con người thường suy yếu theo thời gian khi họ già đi, và đây là một vấn đề lớn ở các quốc gia đối mặt với sự già đi dân số như Trung Quốc, Nhật Bản và Hàn Quốc. Các thiết bị trợ thính hiện tại hoạt động dựa trên nguyên tắc đơn giản của việc tăng âm lượng của tất cả các âm thanh đầu vào từ môi trường xung quanh, điều này làm cho việc phân biệt hoặc phân biệt giữa âm thanh mong muốn trở nên khó khăn đặc biệt trong môi trường ồn ào.
TinyML có thể là giải pháp khả thi cho vấn đề này, vì sử dụng một mô hình TinyLSTM sử dụng thuật toán nhận dạng giọng nói cho các thiết bị trợ thính có thể giúp người dùng phân biệt giữa các âm thanh khác nhau.
Ứng dụng Dựa trên Thị giác
TinyML có tiềm năng đóng một vai trò quan trọng trong việc xử lý các bộ dữ liệu dựa trên thị giác máy tính vì để đạt được kết quả nhanh hơn, các bộ dữ liệu này cần được xử lý trên nền tảng tại điểm biên. Để đạt được điều này, mô hình TinyML phải đối mặt với các thách thức thực tế khi đào tạo mô hình bằng bảng điều khiển vi điều khiển OpenMV H7. Các nhà phát triển cũng đã đề xuất một kiến trúc để phát hiện Ngôn ngữ Ký hiệu Mỹ bằng sự hỗ trợ của vi điều khiển ARM Cortex M7 chỉ hoạt động với 496KB RAM bộ nhớ đệm khung.
Việc triển khai TinyML cho các ứng dụng dựa trên thị giác máy tính trên nền tảng tại điểm biên đòi hỏi các nhà phát triển vượt qua thách thức chính của CNN hoặc Mạng Neural tích chập với lỗi tổng quát cao và độ chính xác trong quá trình đào tạo và kiểm tra. Tuy nhiên, việc triển khai không tổng quát một cách hiệu quả đối với các hình ảnh trong các trường hợp sử dụng mới cũng như nền với nhiễu. Khi các nhà phát triển sử dụng phương pháp tăng cường nội suy, mô hình trả về điểm chính xác trên 98% trên dữ liệu kiểm tra và khoảng 75% trong việc tổng quát hóa.
Hơn nữa, đã quan sát thấy rằng khi các nhà phát triển sử dụng phương pháp tăng cường nội suy, có sự giảm đáng kể về độ chính xác của mô hình trong quá trình lượng tử hóa, nhưng đồng thời cũng có sự tăng về tốc độ suy luận và tính tổng quát trong phân loại của mô hình. Các nhà phát triển cũng đã đề xuất một phương pháp để tăng cường thêm độ chính xác của mô hình tổng quát hóa đào tạo trên dữ liệu thu thập từ nhiều nguồn khác nhau và kiểm tra hiệu suất để khám phá khả năng triển khai nó trên các nền tảng tại điểm biên như đồng hồ thông minh cầm tay.
Hơn nữa, các nghiên cứu bổ sung về CNN đã chỉ ra rằng có khả năng triển khai và đạt được kết quả mong muốn với kiến trúc CNN trên các thiết bị có tài nguyên hạn chế. Gần đây, các nhà phát triển đã phát triển một khung công cụ để phát hiện khẩu trang y tế trên một vi điều khiển ARM Cortex M7 với tài nguyên hạn chế bằng cách sử dụng TensorFlow Lite với đặc điểm bộ nhớ tối thiểu. Kích thước mô hình sau khi lượng tử hóa khoảng 138 KB trong khi tốc độ suy luận trên bo mạch mục tiêu khoảng 30 FPS.
Một ứng dụng khác của TinyML cho các ứng dụng dựa trên thị giác máy tính là triển khai một thiết bị nhận dạng cử chỉ có thể kẹp vào gậy để giúp người mù dễ dàng di chuyển trong cuộc sống hàng ngày của họ. Để thiết kế nó, các nhà phát triển đã sử dụng bộ dữ liệu về các cử chỉ và sử dụng bộ dữ liệu này để đào tạo mô hình ProtoNN với thuật toán phân loại. Kết quả thu được từ thiết lập này là chính xác, thiết kế giá thấp và mang lại kết quả đáng như mong muốn.
Một ứng dụng quan trọng khác của TinyML nằm trong ngành xe tự lái và xe tự hành do thiếu tài nguyên và khả năng tính toán trên xe. Để giải quyết vấn đề này, các nhà phát triển đã giới thiệu một phương pháp học đóng vòng kín dựa trên mô hình TinyCNN đã đề xuất một mô hình dự đoán trực tuyến mà chụp hình ảnh trong thời gian chạy. Vấn đề chính mà các nhà phát triển gặp phải khi triển khai TinyML cho xe tự động lái là mô hình quyết định đã được đào tạo để làm việc trên dữ liệu ngoại tuyến có thể không hoạt động tốt như nhau khi xử lý dữ liệu trực tuyến. Để tối đa hóa hoàn toàn ứng dụng của xe tự động và xe tự lái, mô hình nên ideally có khả năng thích nghi với dữ liệu thời gian thực.
Phân loại và Nén Mẫu Dữ liệu
Một trong những thách thức lớn nhất của khung làm việc TinyML hiện tại là khả năng làm cho nó thích nghi với dữ liệu đào tạo trực tuyến. Để giải quyết vấn đề này, các nhà phát triển đã đề xuất một phương pháp được biết đến là TinyOL hoặc TinyML Online Learning để cho phép đào tạo với việc học trực tuyến tăng dần trên các đơn vị điều khiển vi mạch, từ đó cho phép mô hình cập nhật trên các thiết bị tại điểm biên IoT. Triển khai được thực hiện bằng ngôn ngữ lập trình C++ và đã thêm một lớp bổ sung vào kiến trúc TinyOL.
Hơn nữa, các nhà phát triển cũng đã thực hiện việc mã hóa tự động của bảng cảm biến Arduino Nano 33 BLE và mô hình được đào tạo đã có khả năng phân loại các mẫu dữ liệu mới. Hơn nữa, công việc phát triển bao gồm thiết kế các thuật toán hiệu quả và tối ưu hơn cho các mạng nơ-ron để hỗ trợ việc đào tạo mẫu thiết bị trực tuyến.
Nghiên cứu về TinyOL và TinyML đã chỉ ra rằng số lớp kích hoạt đã là một vấn đề lớn đối với các thiết bị tại điểm biên IoT có tài nguyên hạn chế. Để giải quyết vấn đề này, các nhà phát triển đã giới thiệu mô hình mới là TinyTL hoặc Tiny Transfer Learning để làm cho việc sử dụng bộ nhớ trên các thiết bị tại điểm biên IoT hiệu quả hơn và tránh việc sử dụng các lớp trung gian cho mục đích kích hoạt. Hơn nữa, các nhà phát triển cũng giới thiệu một mô-đun bias hoàn toàn mới được gọi là “lite-residual module” để tối đa hóa khả năng thích nghi và cho phép bộ trích xuất đặc trưng khám phá các bản đồ đặc trưng dư.
Khi so sánh với việc điều chỉnh toàn bộ mạng, kết quả ủng hộ kiến trúc TinyTL, vì kết quả đã cho thấy rằng TinyTL giảm thiểu nguy cơ tiêu thụ bộ nhớ khoảng 6,5 lần với mất mát độ chính xác trung bình. Khi lớp cuối cùng được điều chỉnh, TinyML đã cải thiện độ chính xác lên đến 34% với mất mát độ chính xác trung bình.
Hơn nữa, nghiên cứu về nén dữ liệu đã chỉ ra rằng các thuật toán nén dữ liệu phải quản lý dữ liệu thu thập trên thiết bị di động và để đạt được điều này, các nhà phát triển đã đề xuất TAC hoặc Tiny Anomaly Compressor. TAC đã vượt trội so với các thuật toán SDT hoặc Swing Door Trending và DCT hoặc Discrete Cosine Transform. Ngoài ra, thuật toán TAC đã vượt qua cả hai thuật toán SDT và DCT bằng cách đạt được tỷ lệ nén tối đa trên 98% và có tỷ lệ tín hiệu-độ nhiễu tối ưu hơn trong ba thuật toán.
Chẩn đoán Sức khỏe
Đại dịch toàn cầu Covid-19 đã mở ra cơ hội mới cho việc triển khai TinyML vì hiện nay đây là một thực hành cần thiết để liên tục phát hiện các triệu chứng hô hấp liên quan đến ho, và cảm lạnh. Để đảm bảo giám sát liên tục, các nhà phát triển đã đề xuất một mô hình CNN có tên Tiny RespNet hoạt động trên một cài đặt đa mô hình và mô hình được triển khai trên một FPGA Xilinx Artix-7 100t, cho phép thiết bị xử lý thông tin song song, có hiệu suất cao và tiêu thụ năng lượng thấp. Ngoài ra, mô hình TinyResp cũng lấy giọng của bệnh nhân, ghi âm và thông tin về dân số làm đầu vào để phân loại, và các triệu chứng liên quan đến ho của bệnh nhân được phân loại bằng ba tập dữ liệu phân biệt.
Hơn nữa, các nhà phát triển cũng đã đề xuất một mô hình có khả năng thực hiện tính toán học sâu trên các thiết bị tại điểm biên, một mô hình TinyML có tên là TinyDL. Mô hình TinyDL có thể triển khai trên các thiết bị tại điểm biên như đồng hồ thông minh và thiết bị đeo để chẩn đoán sức khỏe và cũng có khả năng thực hiện phân tích hiệu suất để giảm băng thông, độ trễ và tiêu thụ năng lượng. Để triển khai TinyDL trên các thiết bị cầm tay, một mô hình LSTM đã được thiết kế và đào tạo cụ thể cho thiết bị đeo và đã được cung cấp dữ liệu thu thập làm đầu vào. Mô hình có điểm chính xác khoảng 75 đến 80%, và nó có khả năng làm việc với dữ liệu ngoại tuyến cũng. Những mô hình này chạy trên các thiết bị tại điểm biên đã cho thấy tiềm năng giải quyết các thách thức hiện tại mà các thiết bị IoT đang gặp phải.
Cuối cùng, các nhà phát triển cũng đã đề xuất một ứng dụng khác để theo dõi sức khỏe của người cao tuổi bằng cách ước tính và phân tích tư thế cơ thể của họ. Mô hình sử dụng khung agnostic trên thiết bị cho phép mô hình kích hoạt kiểm tra và sự phát triển nhanh chóng để thực hiện các điều chỉnh. Mô hình đã triển khai các thuật toán phát hiện tư thế cơ thể kết hợp với các điểm đánh dấu trên khuôn mặt để phát hiện tư thế cơ thể không gian thời gian trong thời gian thực.
Edge Computing
Một trong những ứng dụng chính của TinyML nằm trong lĩnh vực edge computing, vì với sự tăng của việc sử dụng các thiết bị IoT để kết nối các thiết bị trên khắp thế giới, việc thiết lập các thiết bị edge là cần thiết để giúp giảm tải trên kiến trúc đám mây. Các thiết bị edge này sẽ có các trung tâm dữ liệu riêng lẻ cho phép chúng thực hiện tính toán cấp cao trên thiết bị chính nó, thay vì phải phụ thuộc vào kiến trúc đám mây. Như kết quả, điều này sẽ giúp giảm sự phụ thuộc vào đám mây, giảm độ trễ, nâng cao bảo mật và quyền riêng tư cho người dùng, và cũng giảm băng thông.
Các thiết bị edge sử dụng các thuật toán TinyML sẽ giúp giải quyết các hạn chế hiện tại liên quan đến nhu cầu về điện năng, tính toán và bộ nhớ, và nó được thảo luận trong hình ảnh dưới đây.
Hơn nữa, TinyML cũng có thể nâng cao việc sử dụng và ứng dụng của các phương tiện không người lái hoặc UAV bằng cách giải quyết các hạn chế hiện tại mà những máy móc này đang gặp phải. Việc sử dụng TinyML có thể cho phép các nhà phát triển triển khai một thiết bị tiết kiệm năng lượng với độ trễ thấp và sức mạnh tính toán cao có thể hoạt động như một bộ điều khiển cho các UAV này.
Giao tiếp sóng Não-Máy tính hoặc BCI
TinyML có các ứng dụng quan trọng trong ngành chăm sóc sức khỏe và nó có thể hữu ích đáng kể trong các lĩnh vực khác nhau bao gồm phát hiện ung thư và khối u, dự đoán sức khỏe bằng tín hiệu ECG và EEG, và trí tuệ cảm xúc. Việc sử dụng TinyML có thể cho phép Adaptive Deep Brain Stimulation hoặc aDBS thích nghi thành công với các sự thích nghi lâm sàng. Việc sử dụng TinyML cũng có thể cho phép aDBS xác định các chỉ số sinh học liên quan đến bệnh và các triệu chứng của chúng bằng cách sử dụng các ghi âm xâm nhập của tín hiệu não.
Hơn nữa, ngành công nghiệp chăm sóc sức khỏe thường bao gồm việc thu thập một lượng lớn dữ liệu của bệnh nhân, và sau đó dữ liệu này cần được xử lý để đạt được các giải pháp cụ thể cho việc điều trị bệnh nhân trong giai đoạn sớm của một căn bệnh. Do đó, quan trọng để xây dựng một hệ thống không chỉ hiệu quả mà còn an toàn. Khi kết hợp ứng dụng IoT với mô hình TinyML, một lĩnh vực mới ra đời với tên gọi là H-IoT hoặc Healthcare Internet of Things, và các ứng dụng chính của H-IoT bao gồm chẩn đoán, giám sát, logistics, kiểm soát sự lây lan và các hệ thống hỗ trợ. Nếu chúng ta muốn phát triển các thiết bị có khả năng phát hiện và phân tích sức khỏe của bệnh nhân từ xa, thì quan trọng phải phát triển một hệ thống có tính toàn cầu và độ trễ thấp.
Xe tự lái
Cuối cùng, TinyML có thể có các ứng dụng phổ biến trong ngành công nghiệp xe tự hành vì những chiếc xe này có thể được sử dụng trong nhiều cách khác nhau bao gồm theo dõi con người, mục đích quân sự và các ứng dụng công nghiệp. Những phương tiện này có yêu cầu chính là có khả năng xác định các đối tượng một cách hiệu quả khi đối tượng đang được tìm kiếm.
Hiện tại, xe tự hành và lái tự động là một nhiệm vụ khá phức tạp, đặc biệt là khi phát triển các phương tiện mini hoặc nhỏ. Các phát triển gần đây đã thể hiện tiềm năng để cải thiện việc áp dụng lái xe tự động cho các phương tiện mini bằng cách sử dụng kiến trúc CNN và triển khai mô hình trên GAP8 MCI.
Thách thức
TinyML là một khái niệm tương đối mới trong ngành công nghiệp AI & ML, và mặc dù đã có sự tiến bộ, nhưng nó vẫn chưa hiệu quả như chúng ta cần cho việc triển khai hàng loạt cho các thiết bị tại điểm biên và IoT.
Thách thức lớn nhất hiện nay đối mặt bởi các thiết bị TinyML là tiêu thụ năng lượng của các thiết bị này. Lý tưởng, các thiết bị nhúng tại điểm biên và IoT được kỳ vọng có tuổi thọ pin kéo dài hơn 10 năm. Ví dụ, trong điều kiện lý tưởng, một thiết bị IoT chạy trên pin 2Ah được kỳ vọng có tuổi thọ pin trên 10 năm, với tiêu thụ điện của thiết bị khoảng 12 ua. Tuy nhiên, trong trạng thái cụ thể, một kiến trúc IoT với cảm biến nhiệt độ, một đơn vị MCU và một mô-đun WiFi, tiêu thụ dòng hiện tại là khoảng 176.4 mA, và với tiêu thụ điện này, pin sẽ chỉ đủ cho khoảng 11 giờ, thay vì yêu cầu 10 năm tuổi thọ của pin.
Ràng buộc về tài nguyên
Để duy trì tính nhất quán của một thuật toán, việc duy trì khả năng cung cấp năng lượng là rất quan trọng, và trong tình hình hiện tại, sự giới hạn về nguồn năng lượng đối với các thiết bị TinyML là một thách thức quan trọng. Hơn nữa, các ràng buộc về bộ nhớ cũng là một thách thức đáng kể vì triển khai các mô hình thường đòi hỏi một lượng lớn bộ nhớ để hoạt động hiệu quả và chính xác.
Ràng buộc về phần cứng
Ràng buộc về phần cứng làm cho việc triển khai các thuật toán TinyML trên quy mô rộng trở nên khó khăn do sự đa dạng về phần cứng của các thiết bị. Có hàng nghìn thiết bị, mỗi thiết bị có cấu hình phần cứng và yêu cầu riêng, và kết quả là, một thuật toán TinyML hiện tại cần phải được điều chỉnh cho từng thiết bị cụ thể, điều này làm cho việc triển khai hàng loạt trở thành một vấn đề lớn.
Ràng buộc về tập dữ liệu
Một trong những vấn đề lớn với các mô hình TinyML là chúng không hỗ trợ các tập dữ liệu hiện có. Điều này là một thách thức cho tất cả các thiết bị tại điểm biên khi chúng thu thập dữ liệu bằng cách sử dụng các cảm biến bên ngoài, và những thiết bị này thường có ràng buộc về năng lượng và điện. Do đó, các tập dữ liệu hiện có không thể được sử dụng để huấn luyện các mô hình TinyML một cách hiệu quả.
Kết luận
Sự phát triển của các kỹ thuật học máy đã gây ra một cuộc cách mạng và thay đổi quan điểm trong hệ sinh thái IoT. Việc tích hợp các mô hình học máy vào các thiết bị IoT sẽ cho phép các thiết bị tại điểm biên này đưa ra các quyết định thông minh mà không cần sự can thiệp từ con người bên ngoài. Tuy nhiên, theo cách truyền thống, các mô hình học máy thường có yêu cầu về năng lượng, bộ nhớ và tính toán cao đó làm cho chúng không phù hợp để triển khai trên các thiết bị tại điểm biên thường bị ràng buộc về tài nguyên.
Kết quả là, một nhánh mới trong lĩnh vực trí tuệ nhân tạo đã được tạo ra để sử dụng học máy cho các thiết bị IoT, và nó được gọi là TinyML. TinyML là một framework học máy cho phép các thiết bị bị ràng buộc về tài nguyên cũng có thể tận dụng sức mạnh của trí tuệ nhân tạo và học máy để đảm bảo độ chính xác, thông minh và hiệu quả cao hơn.
Trong bài viết này, chúng ta đã nói về việc triển khai các mô hình TinyML trên các thiết bị IoT bị ràng buộc về tài nguyên, và việc triển khai này đòi hỏi việc huấn luyện các mô hình, triển khai các mô hình trên phần cứng và thực hiện các kỹ thuật quantization. Tuy nhiên, trong phạm vi hiện tại, các mô hình học máy sẵn sàng để triển khai trên các thiết bị IoT và điểm biên có nhiều khó khăn và ràng buộc bao gồm vấn đề tương thích về phần cứng và framework.