- Google AI Edge hỗ trợ đơn giản hóa việc triển khai mô hình AI trên thiết bị di động, web và thiết bị nhúng
- Với framework đa nền tảng được tích hợp, có thể chạy cùng một mô hình trên Android, iOS, web và môi trường nhúng
- Cung cấp khả năng tương thích với nhiều framework machine learning (JAX, Keras, PyTorch, TensorFlow)
- Cung cấp các công cụ phát triển nâng cao như trực quan hóa/gỡ lỗi chuyển đổi mô hình và xây dựng pipeline tùy chỉnh
- Có thể tận dụng môi trường AI tạo sinh trên thiết bị như Gemini Nano trên nền tảng Android và Chrome
Giới thiệu Google AI Edge
- Google AI Edge là giải pháp dành cho triển khai AI trên thiết bị và đa nền tảng
- Đây là nền tảng cho phép triển khai và chạy mô hình AI hiệu quả trên nhiều môi trường như ứng dụng di động, web và hệ thống nhúng.
Tính năng chính
- Lưu trữ trong thiết bị: Dữ liệu được giữ riêng tư cục bộ, giúp giảm độ trễ và hỗ trợ hoạt động ngoại tuyến
- Hỗ trợ đa nền tảng: Có thể chạy cùng một mô hình trên Android, iOS, web và môi trường nhúng
- Tương thích đa framework: Hỗ trợ khả năng tương thích với nhiều framework machine learning như JAX, Keras, PyTorch, TensorFlow
- Toàn bộ AI edge stack: Hỗ trợ tích hợp từ framework linh hoạt, giải pháp turnkey đến bộ tăng tốc phần cứng
Giải pháp dựng sẵn và framework linh hoạt
API low-code cho các tác vụ AI phổ biến
- Cung cấp API đa nền tảng low-code giúp dễ dàng xử lý các tác vụ AI phổ biến như AI tạo sinh, thị giác, văn bản và âm thanh
- Là giải pháp dựa trên MediaPipe, cho phép bắt đầu nhanh và áp dụng nhanh
Triển khai đa nền tảng cho mô hình tùy chỉnh
- Các mô hình AI hiện có đã được huấn luyện bằng JAX, Keras, PyTorch, TensorFlow có thể chạy hiệu năng cao trên Android, iOS, web và thiết bị nhúng
- Hỗ trợ LiteRT giúp đảm bảo hiệu quả vận hành và sự thuận tiện trong triển khai
Công cụ chuyển đổi và trực quan hóa mô hình
- Cung cấp tính năng trực quan hóa quá trình chuyển đổi và lượng tử hóa của mô hình
- Có thể gỡ lỗi các điểm nóng của dự án AI bằng performance benchmark overlay
Xây dựng pipeline ML tùy chỉnh
- Có thể xây dựng pipeline tính năng phức tạp bằng cách xâu chuỗi nhiều mô hình ML cùng với logic tiền xử lý và hậu xử lý
- Có thể chạy pipeline tăng tốc dựa trên GPU và NPU mà không chặn CPU
Gemini Nano trên Android và Chrome
- Với Gemini Nano, mô hình AI tạo sinh trên thiết bị mới nhất của Google, có thể tích hợp các tính năng AI tạo sinh vào nhiều môi trường như Android và Chrome
Kết luận
- Google AI Edge là một lựa chọn mạnh mẽ cho triển khai công nghệ AI phân tán, trên thiết bị.
- Với khả năng tương thích đa nền tảng, hỗ trợ nhiều framework, công cụ nâng cao năng suất phát triển và môi trường AI tạo sinh mới nhất, nền tảng này mang lại trải nghiệm áp dụng AI hiệu quả và mạnh mẽ cho startup và cộng đồng nhà phát triển CNTT.
1 bình luận
Ý kiến trên Hacker News
Nói thật thì, tổ hợp tensorflow lite và mediapipe từng rất tuyệt, nhưng 3 năm gần đây có cảm giác gần như bị Google bỏ mặc. Mediapipe hầu như không có cập nhật đáng kể, và nhiều model dùng phổ biến thì đã cũ hoặc chậm. TF Lite có hỗ trợ NPU như Apple ANU, nhưng trong mediapipe thì hoàn toàn không hỗ trợ. Ngoài ra, các thương hiệu như MLKit, Firebase ML, TF lite, LiteRT cũng bị trộn lẫn quá nhiều. Giờ tôi nghĩ lựa chọn tốt hơn là dùng onnxruntime cùng thư viện hugging face transformers hoặc transformers.js, hoặc chờ đến khi executorch trưởng thành hơn. Tôi gần như chưa thấy các model SOTA mới nhất được port chính thức sang tensorflow lite / liteRT (SAM2, EfficientSAM, EdgeSAM, DFINE, DEIM, Whisper, Lite-Whisper, Kokoro, DepthAnythingV2, v.v.); về cơ bản tất cả đều xoay quanh pytorch, nhưng cộng đồng ONNX và MLX vẫn rất lớn
Có thể xem thư viện trưng bày các trường hợp sử dụng ML/GenAI chạy trực tiếp trên thiết bị tại https://github.com/google-ai-edge/gallery. Ở đó có thể thử hoặc dùng model ngay trên máy cục bộ
Việc có thêm các giải pháp cho ML on-device tự nó là điều tốt. Tuy vậy, tôi vẫn nghi ngờ liệu mình có sẵn sàng dùng nếu đó không phải đúng trường hợp sử dụng cụ thể của mình. Cũng khó đánh giá mức độ khó khi thêm một model mới nhận đầu vào và đầu ra tùy ý. Tôi đã dùng Onnx cho suy luận model giữa nhiều thiết bị, và Onnx thực sự ở mức rất thấp nên có thể áp bất kỳ trọng số nào mình muốn. Trong nhiều công việc, có thể bọc Onnx bằng transformers.js để bỏ qua các việc lặp đi lặp lại như giải mã (không cần tự cài beam search). Một tài liệu toàn diện hơn, tương tự hướng dẫn được nhắc ở trên, là https://github.com/huggingface/transformers.js-examples. Các giải pháp khác nhau tôi nhắc tới có thể xem tại https://ai.google.dev/edge/mediapipe/solutions/guide
Đây là TensorFlow Lite + MediaPipe được đóng gói lại thành một “thương hiệu” mới
Có ai từng dùng giải pháp này chưa? Tôi đã mất khá nhiều thời gian vật lộn để xuất model pytorch tùy chỉnh sang coreml, với đủ thứ không được hỗ trợ, segfault liên tục làm gián đoạn, và nhiều lỗi ngớ ngẩn khác. Giá mà có ai khẳng định cho tôi rằng giải pháp này không gian nan đến mức đó
Tôi đã trực tiếp thử việc này, và theo tôi thấy thì nó thuần túy là để tái cấu trúc model pytorch thành model
.tflite. Trong trường hợp của tôi, tôi áp dụng cho một model finbert tùy chỉnh, và kích thước model hầu như giữ nguyên. Tôi đã chuyển một phiên bản được lượng tử hóa, nhưng đầu ra lại khác biệt đáng kể. Theo tài liệu thì hình như nó được tối ưu cho các model pytorch chuẩn, chẳng hạn dòngtorchvision.models. Vậy nên nếu là model thuộc nhóm đó thì có thể sẽ tốt hơn. Lưu ý là tôi thử cách đây khoảng 1 năm, nên biết đâu nhờ vậy mà vô tình tránh được trước một bản vá lỗi lớnCó thêm thông tin chi tiết ở đây https://ai.google.dev/edge/mediapipe/solutions/guide, và link mã nguồn mở là https://github.com/google-ai-edge/mediapipe. Theo tôi hiểu thì đây thực sự là một cách thống nhất để triển khai các model AI chạy trên thiết bị (edge). Có thể đoán vị trí của nó giống kiểu “JavaScript trong AI stack”. Tôi tò mò người dùng mục tiêu của công nghệ này là ai
Một số model của mediapipe khá dùng được, nhưng bản thân mediapipe là công nghệ cũ đã tồn tại từ khoảng năm 2019. Nó luôn tập trung vào việc chạy AI ở edge, đặc biệt là vision AI (ví dụ: theo dõi khuôn mặt). Những thứ như theo dõi khuôn mặt vẫn còn hữu ích, nhưng với nhận diện hình ảnh v.v. thì thế giới đã thay đổi rất nhiều
Nếu nói về đối tượng mục tiêu, tôi nghĩ đó là những người muốn triển khai model ML theo kiểu cross-platform. Đặc biệt là khi cần hỗ trợ phần mã bổ sung mà chỉ runtime TFLite thôi không giải quyết được. Các trường hợp như LLM hay computer vision là phù hợp. Ví dụ, nếu triển khai một bộ nhận diện cử chỉ tay, bạn sẽ phải qua một quy trình phức tạp như: tiền xử lý ảnh đầu vào sang đúng color space và kích thước, copy ảnh lên GPU, chạy model TFLite để phát hiện tay, resize đầu ra, chạy model TFLite để nhận diện cử chỉ, rồi hậu xử lý thành kết quả hợp lệ. Để triển khai việc này trên cả iOS và Android thì ngoài việc chỉ chạy TFLite, lượng mã phụ trợ là cực lớn. Cách Google chọn với Mediapipe là gói chuỗi pipeline này và các node xử lý chung thành thư viện C++, rồi chỉ việc chọn và dùng các mảnh cần thiết. Thư viện này có thể biên dịch theo kiểu cross-platform và cũng cung cấp tùy chọn tăng tốc GPU. Tôi nghĩ nội bộ Google hẳn từng cân nhắc liệu nên mở rộng các chức năng này ngay trong runtime TFLite hay làm một thư viện tách biệt như Mediapipe. Cuối cùng có vẻ định hướng là để TFLite tập trung vào chính phần “tính toán tensor”, còn các tác vụ rộng hơn như LLM hay xử lý ảnh thì đẩy sang một thư viện riêng
Tôi tò mò không biết đây là sản phẩm mới hay chỉ là một trang marketing gom các công nghệ MediaPipe hiện có vào cùng một câu chuyện. Ban đầu tôi khá hào hứng, nhưng rồi lại thấy mơ hồ không biết “Google AI Edge” rốt cuộc là gì. Tìm thêm thì có vẻ đây là bản đổi thương hiệu của thứ đã được công bố khoảng 2 năm trước tại https://developers.googleblog.com/en/introducing-mediapipe-solutions-for-on-device-machine-learning/
Đây là một giải pháp chậm hơn vài năm so với những gì đã được cung cấp bởi các framework như CoreML hay TimyML. Và trước hết Google cần cho thấy họ sẽ không vứt bỏ sản phẩm ngay chỉ vì báo cáo lợi nhuận quý sau
Thực ra không đúng vậy. Hai sản phẩm này hoàn toàn khác nhau. CoreML nếu giới hạn trong hệ sinh thái Apple thì có thể chuyển model PyTorch sang CoreML (
.mlmodel) để chạy cùng các bộ tăng tốc trên iOS/Mac. Google Mediapipe là một thư viện C++ khổng lồ để chạy các luồng ML theo kiểu cross-platform (ios/android/web). Nó còn bao gồm cả Tensorflow Lite (giờ là LiteRT), và đóng vai trò như một graph processor cho các tác vụ tiền xử lý phổ biến như resize ảnh. Dù có meme rằng Google hay khai tử sản phẩm sớm, nhưng Mediapipe là mã nguồn mở nên ít nhất cũng phải công nhận điểm đó. Tôi từng dùng một bản fork của Mediapipe để làm sản phẩm computer vision cho iOS/Android; rất phức tạp nhưng chạy tốt. Đây là một giải pháp cross-platform mà CoreML tuyệt đối không thể làm đượcTensorFlow Lite đã được kiểm chứng trên hàng tỷ thiết bị trong nhiều năm qua. Theo tôi, giải pháp này là Mediapipe cộng với việc gom và đổi thương hiệu cho nó. Google đã đầu tư nghiêm túc vào ML on-device hơn 5 năm rồi, nên có vẻ không phải thứ sẽ bị khai tử đột ngột. Dù vậy, đúng là họ đổi tên quá thường xuyên nên gây nhầm lẫn
Phần AI tạo sinh chẳng phải là thứ hệ sinh thái Apple không có sao. Nếu Apple làm được như Google thì đó sẽ là thay đổi cực lớn. Cá nhân tôi thấy các tính năng liên quan đến chat rất hữu ích. Và tôi vẫn tự hỏi Swift Assist rốt cuộc bao giờ mới ra
Đây đơn giản là tensorflow lite được đổi thương hiệu. Tôi đã dùng nó trên edge device từ năm 2019. CoreML cũng rất tốt
CoreML xuất hiện vì Apple thấy TensorFlow rồi tự làm một thứ có chức năng tương tự thay vì cộng tác. TF đã tồn tại từ 2 năm trước thời điểm CoreML được công bố và khi đó đã là một framework thành công. Cho đến nay CoreML về cơ bản vẫn chỉ là một giao diện BLAS độc quyền, và không được dùng rộng rãi trong ngành. Góc nhìn của lập trình viên iOS thật đáng sợ
Việc này cũng có thể làm bằng WebLLM