1 điểm bởi GN⁺ 2025-06-27 | 1 bình luận | Chia sẻ qua WhatsApp
  • Gemma 3n là mô hình AI đa phương thức on-device mới nhất dành cho môi trường di động và edge, có thể xử lý đầy đủ hình ảnh, âm thanh, video và văn bản
  • Với cấu trúc tối ưu hiệu quả và kiến trúc đột phá (Matformer, Per-Layer Embeddings, MobileNet-V5, v.v.), mô hình đạt hiệu năng ở mức các mô hình lớn trên đám mây trước đây nhưng chỉ cần 2~3GB bộ nhớ
  • Cung cấp hai kích thước mô hình E2B/E4B và hỗ trợ tinh chỉnh kích thước chi tiết theo phần cứng bằng cách Mix-n-Match
  • Có thể áp dụng ngay cho nhiều trường hợp sử dụng AI on-device như nhận dạng giọng nói và dịch, phân tích thị giác thời gian thực, xử lý đa ngôn ngữ cho 140 ngôn ngữ
  • Tích hợp rộng rãi với các hệ sinh thái AI mã nguồn mở lớn như Hugging Face, Ollama, llama.cpp, đồng thời có thể dùng ngay qua nhiều công cụ, API và SDK

Tổng quan và bối cảnh

  • Mô hình Gemma đầu tiên ra mắt đầu năm ngoái đã đạt hơn 160 triệu lượt tải xuống và phát triển thành một hệ sinh thái mang tên Gemmaverse
  • Hệ sinh thái này bao gồm nhiều mô hình chuyên biệt như bảo mật, y tế cùng nhiều trường hợp ứng dụng đổi mới được tạo nên nhờ đóng góp từ cộng đồng
  • Dựa trên thành công đó, Google đã công bố bản phát hành chính thức của Gemma 3n được thiết kế xoay quanh thiết bị di động
  • Cung cấp khả năng tích hợp rộng rãi với hệ sinh thái và công cụ thân thiện với nhà phát triển như Hugging Face Transformers, llama.cpp, Google AI Edge, Ollama
  • Bài viết giới thiệu chuyên sâu từ góc nhìn nhà phát triển về các đổi mới cốt lõi, benchmark và cách phát triển với Gemma 3n

What’s new in Gemma 3n?

  • Gemma 3n đánh dấu một bước nhảy mới của AI on-device
  • Cung cấp hỗ trợ đa phương thức native cho đầu vào văn bản, hình ảnh, âm thanh, video và đầu ra văn bản
  • Tối đa hóa hiệu quả với hai kích thước mô hình E2B (5B tham số), E4B (8B tham số), đồng thời có thể chạy ngay cả trên mức bộ nhớ thấp (2GB, 3GB)
  • Áp dụng các kiến trúc đột phá như MatFormer, Per Layer Embeddings, LAuReL, AltUp và tích hợp bộ mã hóa âm thanh, thị giác mới
  • Hỗ trợ 140 ngôn ngữ, hiểu đa phương thức cho 35 ngôn ngữ, tăng cường năng lực toán học, lập trình, suy luận, và với E4B đã vượt 1300 điểm trên LMArena

MatFormer: một mô hình, nhiều kích cỡ

  • Kiến trúc MatFormer (🪆Matryoshka Transformer) là một cấu trúc transformer mới được thiết kế cho khả năng mở rộng và tính linh hoạt
  • Mô hình tận dụng nguyên lý búp bê Matryoshka của Nga, trong đó các mô hình nhỏ được chứa độc lập bên trong mô hình lớn
  • Khi huấn luyện E4B, mô hình con E2B cũng được tối ưu đồng thời, cho phép không cần tải về mô hình đã trích xuất sẵn riêng biệt và suy luận nhanh hơn tới 2 lần
  • Bằng cách Mix-n-Match, có thể tạo ra các mô hình trung gian tùy biến phù hợp với giới hạn phần cứng, sử dụng mạng feedforward hoặc bỏ qua layer
  • Có thể kiểm tra cấu hình tối ưu dựa trên benchmark và tạo mô hình trong MatFormer Lab
  • Trong tương lai, dự kiến cũng sẽ hỗ trợ Elastic execution (chuyển đổi kích thước mô hình động theo thời gian thực)

Per-Layer Embeddings (PLE): tối đa hiệu quả bộ nhớ on-device

  • Per-Layer Embeddings (embedding theo từng layer) giúp cải thiện chất lượng khi triển khai on-device đồng thời giảm thiểu mức sử dụng bộ nhớ
  • Trong tổng số tham số (5B/8B), chỉ phần embedding được nạp và xử lý hiệu quả trên CPU, còn lõi transformer (2B/4B) mới thường trú trên VRAM
  • Nhờ vậy, mô hình có thể hoạt động mà không suy giảm chất lượng dù chỉ dùng bộ nhớ nhỏ hơn nhiều so với trước đây (trên accelerator chỉ khoảng 2B tham số)

KV Cache Sharing: tối ưu đầu vào ngữ cảnh dài

  • Gemma 3n bổ sung tính năng KV Cache Sharing để xử lý nhanh các đầu vào tuần tự dài như âm thanh hoặc video dài
  • Ở giai đoạn prefill (xử lý đầu vào ban đầu), KV cache của các layer trung gian được chia sẻ trực tiếp cho các layer phía trên, cải thiện hiệu năng hơn 2 lần
  • Nhờ nhận diện prompt chuỗi dài nhanh hơn trước, có thể nâng cao tính thời gian thực của các ứng dụng đa phương thức

Nhận diện âm thanh: hỗ trợ STT và dịch

  • Tích hợp bộ mã hóa âm thanh dựa trên Universal Speech Model (USM), sử dụng token âm thanh theo đơn vị 160ms làm đầu vào cho mô hình ngôn ngữ
  • Có thể triển khai on-device nhận dạng giọng nói chất lượng cao (ASR) và dịch tiếng nói (AST)
  • Hiệu năng cao đã được xác nhận trên các cặp ngôn ngữ chính như tiếng Anh ↔ tiếng Tây Ban Nha, tiếng Pháp, tiếng Ý, tiếng Bồ Đào Nha
  • Có thể cải thiện chất lượng dịch nếu sử dụng kỹ thuật prompt Chain-of-Thought
  • Bộ mã hóa âm thanh đầu tiên (thời điểm ra mắt) hỗ trợ clip dài đến 30 giây, và dự kiến sẽ mở rộng để xử lý streaming dài hơn trong tương lai

MobileNet-V5: bộ mã hóa thị giác mới nhất

  • MobileNet-V5-300M được tích hợp trong Gemma 3n là bộ mã hóa thị giác hiệu suất cao, cung cấp năng lực mạnh mẽ ngay cả trên thiết bị edge
  • Hỗ trợ nhiều độ phân giải đầu vào như 256x256, 512x512, 768x768 pixel, cho phép điều chỉnh hiệu năng và mức độ chi tiết theo nhu cầu
  • Nhờ huấn luyện chung trên bộ dữ liệu đa phương thức quy mô lớn, mô hình đạt khả năng hiểu hình ảnh và video trên phạm vi rộng, đồng thời xử lý tốt các tác vụ thị giác cụ thể
  • Có thể phân tích thời gian thực 60 khung hình/giây trên Google Pixel
  • Về mặt kiến trúc, mô hình áp dụng nhiều đổi mới như block dựa trên MobileNet-V4 (Universal Inverted Bottleneck, Mobile MQA), cấu trúc pyramid lai và bộ điều hợp Multi-Scale Fusion VLM
  • So với SoViT (baseline của Gemma 3), mô hình vượt trội với tốc độ nhanh hơn 13 lần, giảm 46% số tham số, bộ nhớ nhỏ hơn 4 lần và độ chính xác cao hơn
  • Dự kiến sẽ tiếp tục công bố thêm về kiến trúc trong báo cáo kỹ thuật, chiến lược mở rộng dữ liệu và kỹ thuật distillation deep learning

Ứng dụng thực tế và cách sử dụng

  • Dùng thử ngay trong AI Studio: https://aistudio.google.com/prompts/new_chat?model=gemma-3n-e4b-it
  • Tải xuống/triển khai mô hình: có thể dùng ngay trên Hugging Face, Kaggle, Ollama, llama.cpp
  • Tích hợp công cụ và framework: phần lớn đều hỗ trợ, gồm Hugging Face Transformers/TRL, MLX, Docker, LMStudio, NVIDIA NeMo, Unsloth
  • Triển khai API và đám mây: triển khai trong nhiều môi trường như Google GenAI API, Vertex AI, NVIDIA API

Các kịch bản sử dụng on-device tiêu biểu

  • Trợ lý AI thời gian thực, trình dịch giọng nói, chatbot đa phương thức, phân tích thị giác thời gian thực, IoT trên smartphone/thiết bị edge
  • Tích hợp AI vào dịch vụ trong môi trường hạn chế tài nguyên
  • Đổi mới AI trong môi trường offline hoặc bị giới hạn mạng

Tài nguyên cho nhà phát triển

Gemma 3n Impact Challenge

1 bình luận

 
GN⁺ 2025-06-27
Ý kiến trên Hacker News
  • Mô hình này cho thấy khả năng tương thích hoàn toàn với mọi tác vụ trước đây tôi chạy bằng gemma3; tôi thử nối thẳng vào script fine-tuning VLM của mình thì chạy ngon không vấn đề gì (dựa trên mã hf transformer). Chạy model E4B bằng Lora trên một GPU đơn cần 18Gb VRAM với batch size 1, còn gemma-4B cần 21Gb. DeepMind đã làm quá tốt, series gemma3 là VLLM có trọng số mở tốt nhất
    • Chỉnh sửa: model đang được nhắc tới hiện là E2B
  • Tôi đã thử prompt "tạo SVG một con bồ nông đang đạp xe" trên Gemma 3n 7.5GB (Ollama) và bản 15GB của mlx-vlm, và khá thú vị khi kết quả khác nhau theo từng mức lượng tử hóa. Tôi đăng kết quả ở đây: https://simonwillison.net/2025/Jun/26/gemma-3n/
    • Liệu đây có thật sự là một benchmark có ý nghĩa không, hay chỉ để vui thôi nhỉ. Thú thật là tôi không hiểu lắm
  • Tôi vẫn chưa thực sự hiểu GemmaGemini khác nhau thế nào trong môi trường on-device; cả hai đều có điểm chung là dùng được mà không cần kết nối mạng. Ví dụ câu mô tả chính thức: "Gemini Nano mang lại trải nghiệm AI tạo sinh phong phú ngay cả khi không có kết nối mạng" — thay Gemini bằng Gemma trong câu này vẫn hoàn toàn đúng
    • Khác biệt nằm ở giấy phép. Bạn không thể dùng trực tiếp trọng số của Gemini Nano (đặc biệt là cho mục đích thương mại), mà chỉ có thể truy cập thông qua Android MLKit hoặc runtime do Google phê duyệt. Trong khi đó, Gemma có thể dùng thương mại trên bất kỳ runtime hay framework nào bạn muốn
    • Nếu xem blog preview của Gemma 3n thì Gemma 3n và phiên bản Gemini Nano mới chia sẻ cùng kiến trúc. Tôi đoán chữ n ở đây là viết tắt của Nano. Nano là mô hình độc quyền được tích hợp vào Android, còn Gemma là mô hình mở nên có thể tự do áp dụng ở bất cứ đâu. Nguồn liên quan có trong blog và video chính thức của Google
    • Gemma là mã nguồn mở và dùng giấy phép apache 2.0. Nếu muốn nhúng vào ứng dụng thì bạn phải tự đóng gói. Còn Gemini Nano là một Android API mà bạn hoàn toàn không thể kiểm soát
    • Tôi đoán khác biệt giữa hai mô hình là dữ liệu huấn luyện. Phía Gemini có lẽ được kiểm soát chặt hơn nhiều, và nếu cố khiến nó lặp lại những gì có trong dữ liệu huấn luyện thì có thể gặp 'recitation error'
  • Cá nhân tôi không thích việc OpenAI khiến kiểu đặt tên lộn xộn như thế này thành chuẩn của ngành
    • Vậy thì bạn sẽ đặt tên thế nào?
  • Tôi đã tự làm bản GGUF, ai cần thì cứ dùng thử! Chạy kiểu như ./llama.cpp/llama-cli -hf unsloth/gemma-3n-E4B-it-GGUF:UD-Q4_K_XL -ngl 99 --jinja --temp 0.0. Tôi cũng đang làm demo Colab cho cả inference + finetuning. Gemma 3N hỗ trợ cả audio, text, vision nên thực sự rất ấn tượng. Xem chi tiết tại https://docs.unsloth.ai/basics/gemma-3n-how-to-run-and-fine-tune
    • Tôi đã thử model E4B trên Ollama nhưng phần phân tích ảnh hoạt động sai hoàn toàn. Đầu ra chỉ phụ thuộc vào văn bản, và lúc nào cũng sai theo cùng một cách; trong khi Gemma 3 4B chính thức thì làm tốt, nên tôi kết luận đây là vấn đề của Ollama. Tìm hiểu thêm thì hiện tại nó chỉ hỗ trợ text-only[1], tôi ước điều này được ghi rõ hơn. Tôi lười tự build llama.cpp, nên chắc sẽ chờ đến khi GGUF được hỗ trợ. [1]: https://github.com/ollama/ollama/issues/10792#issuecomment-3009619264
    • Tôi đang định gõ là muốn dùng bản Unsloth, nhưng nhìn thấy bạn đã làm và đăng lên rồi nên chỉ biết trầm trồ. Tuyệt vời!
    • Cảm ơn! Tôi đang tò mò là để chạy các mô hình kiểu này thì cần cấu hình PC như thế nào
    • Tôi tò mò jinja ở đây có nghĩa là gì
  • Thành thật mà nói tôi nghi ngờ mấy mô hình nhỏ như thế này hữu ích thế nào trong thực tế. Tôi đã thử nhiều thứ, nhưng mô hình nhỏ hơn 27B rất khó vượt quá mức đồ chơi, cùng lắm chỉ thỉnh thoảng cho câu trả lời hay. Tôi đã giải quyết bài toán lọc spam bằng gemma3:27b-it-qat, và benchmark của tôi cũng cho thấy từ mức đó trở lên mới bắt đầu dùng được
    • Ngay cả khi độ chính xác thấp, chúng vẫn có chỗ để dùng thật. Tôi không biết tương lai sẽ có sản phẩm gì, nhưng ngay hôm nay đã có những ví dụ như: mô hình ngôn ngữ nhỏ được dùng trong bàn phím iPhone để gợi ý từ tiếp theo (người dùng chỉ cần chọn từ được đề xuất). Và chúng cũng được dùng cho việc tăng tốc suy luận của mô hình lớn như speculative decoding. Trong tương lai sẽ còn có những cách dùng thông minh hơn
    • Nếu xem những mô hình nhỏ này là hạ tầng nền tảng thì chúng vẫn rất hữu dụng. Tôi rất mong một tương lai mà hầu hết điện thoại đều có LLM tích hợp sẵn, như một dạng hạ tầng cơ bản vậy
    • Cách dùng tốt nhất mà tôi tìm ra cho các mô hình nhỏ (<5bn params) là làm công cụ tham khảo ngoại tuyến. Khi code trên máy bay, tôi cài qwen trên MacBook Air để hỏi những câu cơ bản về cú pháp, tài liệu hóa, v.v. thay cho Google, và nó khá hữu ích
    • Các mô hình nhỏ từ 4b trở xuống rất phù hợp cho fine-tuning theo tác vụ cụ thể, có thể cho kết quả tốt hơn mô hình thương mại với chi phí rất rẻ. Chúng cũng tốt cho tự động hoàn thành mã. Các mô hình 7b~8b ổn cho những tác vụ code nhanh và đơn giản như refactor (ví dụ: "thêm tiền tố ST_ vào tên mọi hàm có tham số kiểu SomeType"). Từ 12b trở lên, các mô hình như Mistral Nemo hay Gemma 3 12b đã có thể tạo ra câu văn nhất quán
  • Kevin Kwok đã tổng hợp rất tốt phần reverse engineering cấu trúc mô hình, nên đáng để tham khảo: https://github.com/antimatter15/reverse-engineering-gemma-3n
  • Cần có một bảng ở đâu đó trên site của Google tổng hợp từng tên sản phẩm, mô tả, tính năng
  • Trục Y của biểu đồ vẽ buồn cười thật sự
  • Có ai biết dùng bản triển khai của gemma 3n ngoài thực tế thì tốn bao nhiêu không? Tài liệu nói có thể dùng gemma 3n qua gemini api, nhưng giá chỉ hiện là "unavailable"