15 điểm bởi GN⁺ 2025-05-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • Repo chính thức của "FastVLM: Efficient Vision Encoding for Vision Language Models" mà Apple công bố tại CVPR 2025
  • FastViTHD cho thấy hiệu năng giảm số lượng token và rút ngắn thời gian mã hóa ảnh độ phân giải cao
  • Mô hình nhỏ nhất đạt kết quả nhanh hơn 85 lần so với LLaVA-OneVision-0.5B và có kích thước bộ mã hóa nhỏ hơn 3,4 lần
  • Mô hình lớn cho thấy hiệu năng vượt trội và tốc độ nhanh hơn 7,9 lần so với Cambrian-1-8B
  • Có cung cấp ứng dụng demo chạy trên thiết bị di động như iPhone

Ý nghĩa và ưu điểm của dự án FastVLM

  • FastVLM là bản triển khai mã nguồn mở chính thức cho mô hình ngôn ngữ-thị giác (Vision Language Model, VLM)
  • So với các bộ mã hóa thị giác hiện có, nó mang lại lợi thế nổi bật về tốc độ và hiệu quả
  • Có tính ứng dụng cao trên nhiều loại phần cứng, đặc biệt là Apple Silicon và môi trường di động
  • Có thể trực tiếp chọn và sử dụng các mô hình pretrain với nhiều kích thước và mức hiệu năng khác nhau
  • Với kích thước mô hình nhỏ hơn so với các dự án khác, nó đảm bảo phản hồi thời gian thực được tối ưu và yêu cầu ít tài nguyên phần cứng hơn

Tính năng chính

  • FastViTHD là một bộ mã hóa thị giác đột phá với kiến trúc lai, giúp giảm số lượng token đầu ra và rút ngắn đáng kể thời gian mã hóa ảnh độ phân giải cao
  • Mô hình nhỏ nhất FastVLM-0.5B có TTFT (thời gian tạo token đầu tiên) nhanh hơn 85 lần so với LLaVA-OneVision-0.5B và kích thước bộ mã hóa nhỏ hơn 3,4 lần
  • Mô hình lớn FastVLM-7B kết hợp với Qwen2-7B LLM cho TTFT nhanh hơn 7,9 lần và hiệu năng vượt trội với một bộ mã hóa ảnh đơn khi so sánh với các SOTA gần đây như Cambrian-1-8B
  • Thậm chí còn đi kèm ứng dụng demo chạy trong môi trường di động thực tế (iOS), cho phép kiểm chứng ngay khả năng ứng dụng của công nghệ

Thông tin mô hình (Model Zoo)

  • Các mô hình FastVLM với nhiều kích thước khác nhau (FastVLM-0.5B, FastVLM-1.5B, FastVLM-7B) được cung cấp ở phiên bản giai đoạn 2 và giai đoạn 3
  • Mỗi mô hình đều được cung cấp chính thức dưới dạng tệp checkpoint PyTorch
  • Người dùng có thể dùng các lệnh được cung cấp chính thức để tải hàng loạt nhiều mô hình vào thư mục checkpoints

Ví dụ sử dụng (Usage Example)

  • Có thể dễ dàng và nhanh chóng thử suy luận với checkpoint PyTorch đã được huấn luyện sẵn bằng script predict.py
  • Thông qua lệnh ví dụ, khi nhập ảnh và đưa ra prompt (câu hỏi), có thể nhận được phần mô tả về ảnh hoặc câu trả lời cho câu hỏi đó

Hỗ trợ Apple Silicon và thiết bị di động

  • Có hướng dẫn giải thích quy trình xuất mô hình và lượng tử hóa riêng để suy luận trên Apple Silicon
  • Các tệp checkpoint phiên bản được tối ưu trực tiếp cho Apple Silicon cũng được phát hành chính thức
  • Hướng dẫn phát triển ứng dụng và mã nguồn có thể dùng ngay trên iPhone, iPad, Mac... được giới thiệu trong thư mục /app

Thông tin thêm và hướng dẫn mã nguồn mở

  • Có cung cấp liên kết arXiv chính thức của bài báo FastVLM và định dạng trích dẫn cho bài báo hội nghị CVPR 2025
  • Codebase được xây dựng dựa trên nhiều dự án mã nguồn mở, đồng thời có hướng dẫn riêng về phần đóng góp và thông tin giấy phép
  • Trước khi sử dụng mô hình và mã nguồn, cần обязательно kiểm tra giấy phép (tệp giấy phép và giấy phép mô hình)

1 bình luận

 
GN⁺ 2025-05-14
Ý kiến trên Hacker News
  • Mô hình đầu bảng 0.5B mà dung lượng tới 2GB, để mỗi ứng dụng tự tải riêng cái này thì có vẻ không hợp lý. Có lẽ Apple đang lên kế hoạch nạp sẵn các mô hình này ở cấp độ OS và cung cấp SDK để mọi ứng dụng có thể gọi chúng cục bộ. Đây thực sự là một giai đoạn rất đáng mong đợi. Tôi thậm chí đã mở issue để xác nhận chuyện này
    • Nếu có một foundation model được chuẩn hóa ở cấp OS dựa trên trọng số công khai thì mình nghĩ tiềm năng sẽ rất lớn. Nếu API cho phép nhà phát triển ứng dụng nạp LoRA fine-tune tùy biến theo thời gian chạy lên mô hình chuẩn của OS, thì lý tưởng nhất là vừa có được lợi ích của mô hình chuyên biệt cho ứng dụng mà vẫn giữ kích thước như các app phổ biến, đồng thời tận dụng được lợi thế của foundation model
    • Có thể làm mô hình nhỏ hơn nữa nếu quantize sang f16 hoặc thậm chí int8, nhưng ý chính vẫn đúng như bạn nói. Từ góc nhìn người dùng, việc phải tải một file 500MB chỉ cho một ứng dụng cũng không phải trải nghiệm dễ chịu
    • Tôi nhớ là tại WWDC năm ngoái cũng đã nói điều tương tự liên quan đến LLM. OS sẽ cung cấp mô hình nền tảng, còn mỗi ứng dụng có thể fine-tune nó bằng LoRA hoặc gắn các custom head lên trên
    • Chuyện này có lẽ sẽ không được nhắc công khai nếu không phải trong một buổi trình bày lớn. Đoán là phải đợi đến một sự kiện như WWDC mới có thể xác nhận được
  • Tôi thấy việc kéo time-to-first-token đủ thấp là điều bắt buộc cho những ứng dụng kiểu trợ lý on-device dựa trên continuous vision, tức là nhìn màn hình và hành động ngay lập tức. Xem ứng dụng thực tế chạy ngay trong repo thấy khá ấn tượng, và tôi rất háo hức tối nay sẽ tự build để thử
  • Tôi mong họ đóng góp tích cực hơn cho cộng đồng AI/ML và đưa cả trọng số lẫn kiến trúc mô hình lên HuggingFace. Buồn cười là hôm nay tôi vừa thấy một demo VLM tương tự dùng VLM miễn phí. Link tham khảo: https://github.com/ngxson/smolvlm-realtime-webcam
  • Tôi đang tự làm một ứng dụng giọng nói + thị giác thời gian thực tên là Sen. Hiện đã phát hành beta và stream frame theo thời gian thực bằng webrtc. Bây giờ nó đã cho cảm giác nhanh và thông minh rồi, nên tôi rất tò mò xem sẽ còn tốt đến mức nào khi các mô hình kiểu này tiến gần hơn tới phần cứng. Trong tương lai, có lẽ những mô hình này sẽ chạy tự nhiên trên thiết bị với TTFB nhanh và mượt
    • Nếu có bài viết nào tổng hợp tech stack và cách thiết lập thì bạn có thể chia sẻ không, hoặc tóm tắt sơ qua cũng được. Tôi muốn làm kiểu một Qwen cá nhân cho trẻ em, tương tác bằng nút bấm và giọng nói để gửi prompt qua lại, hiện tại chưa cần đến thị giác lắm đâu (dù sau này có thêm thì sẽ rất hay). Siri thật sự gây thất vọng. Nó vẫn chưa đạt đến mức tôi mong muốn
  • Thật sự rất hào hứng khi thấy nỗ lực cắt giảm tài nguyên và thu nhỏ mô hình để chạy hiệu quả, thay vì cứ đổ tài nguyên vô hạn vào đó
  • Tôi ngày càng cảm nhận rõ rằng tương lai của robotics sẽ là các mô hình VLA (vision-language-action). Tesla FSD cũng là một mô hình VLA end-to-end, và mã hóa thị giác hiệu quả có lẽ sẽ mang tính quyết định đối với độ an toàn và khả năng phản hồi của robot
  • Là cha của một đứa trẻ nhỏ bị tổn thương thần kinh thị giác nghiêm trọng, từng ở trong tình huống không biết khi nào con sẽ mất thị lực hoàn toàn, nhưng nhờ điều trị thử nghiệm trong chương trình lâm sàng của NIH mà cháu đã giữ lại được một phần thị lực (tôi nghĩ việc tiếp tục hỗ trợ khoa học là rất quan trọng). Nhờ sự tiến bộ của Vision-Language Model, tôi có hy vọng rằng nếu con tôi bị mù, cháu vẫn có thể giao tiếp với thế giới, học đại học, và theo đuổi những lĩnh vực cháu yêu thích như khoa học hay kỹ thuật. Cháu rất có năng khiếu so với bạn bè cùng tuổi và tôi rất kỳ vọng vào tương lai của cháu
    • Tôi muốn chia sẻ trải nghiệm của mình khi lớn lên với tình trạng mù hoàn toàn vào những năm 80. Khi đó công nghệ chưa phát triển như bây giờ, mãi đến khoảng 12 tuổi máy tính mới xuất hiện, và tôi đã học gõ bằng máy đánh chữ đời cũ, học viết chữ nổi bằng một chiếc máy chữ nổi bằng kim loại rất nặng. Hồi đó công nghệ OCR cũng khá tệ, và chỉ đến khi học trung học tôi mới có thể theo học bằng một chiếc laptop có màn hình chữ nổi. Tôi dùng DOS và ghi chép bằng Word 5.5. Ngoài PC Lingua để học tiếng Latin thì gần như chẳng có công cụ học tập chuyên biệt nào. Cuối cùng tôi chỉ có sổ tay điện tử và bộ não của mình, nhưng vẫn học xong, giờ có một công việc thực sự khiến tôi hài lòng, sống trong ngôi nhà của riêng mình, có một người bạn gái tuyệt vời, và hoàn toàn sống độc lập. Thậm chí tôi còn phải cố tình tách khỏi mẹ mình vì bà luôn cố giúp đỡ quá nhiều. Trong cộng đồng người khuyết tật, việc cha mẹ bao bọc quá mức đôi khi được gọi là "khuyết tật phát sinh thêm do cha mẹ gây ra". Xin đừng tiếp nhận câu này theo cảm xúc mà hãy suy nghĩ nghiêm túc về ý nghĩa của nó. Con bạn hoàn toàn có thể độc lập khi 18 tuổi. Càng cố trì hoãn thời điểm đó thì việc độc lập thật sự càng khó hơn, và đứa trẻ càng mất cơ hội xây dựng nội lực. Tôi hiểu vì sao bạn thấy hy vọng trước sự phát triển công nghệ hiện nay, nhưng tôi tin rằng tiềm năng của con bạn còn lớn hơn nhiều so với bạn nghĩ. Nếu giúp cháu tự khám phá khả năng của mình, sẽ có những điều thật sự đáng kinh ngạc xảy ra. Và tôi cũng mong bạn đừng phụ thuộc quá nhiều vào thiết bị đắt tiền hay công cụ mới nhất. Tôi cũng rất thích các vision model, nhưng đến giờ mỗi khi ra khỏi nhà tôi vẫn chỉ mang theo gậy và điện thoại. Đôi khi tôi có hỏi Siri kiểu "tôi đang ở đâu", nhưng cuối cùng thứ giúp tôi tìm đường vẫn là cây gậy của mình. Thực tế, phần lớn công nghệ mới đều bị thổi phồng quá mức, và tôi muốn nhấn mạnh rằng chỉ với thính giác và xúc giác bình thường, con người cũng có thể làm được nhiều hơn rất nhiều. Chúc gia đình bạn và con bạn mọi điều tốt đẹp nhất trên chặng đường trưởng thành sắp tới
  • Tôi nghĩ với công nghệ như thế này, chỉ cần một chiếc điện thoại và một camera gắn trên kính là có thể tạo ra một trợ lý thực sự hữu ích cho người khiếm thị. Những người trước đây không thể di chuyển nếu không có người hỗ trợ có lẽ sẽ có cơ hội sống độc lập hơn trong sinh hoạt hằng ngày
    • Có thể nó hữu ích để phân biệt gà sốt kem với súp nấm kem, nhưng xét về khả năng di chuyển thì tôi không nghĩ nó giúp được nhiều hơn các chiến lược mà người khiếm thị vốn đã sử dụng. Kiểu phản hồi như "có cây ở đây, lại có cây nữa, có người đi bộ, lại có cây, có biển báo" thực tế không giúp ích mấy cho việc di chuyển
  • Không biết liệu có thể chuyển đổi/chạy cái này trong llama.cpp hay không. Việc nó dựa trên LLaVA khiến tôi khá kỳ vọng