17 điểm bởi GN⁺ 2024-12-20 | 1 bình luận | Chia sẻ qua WhatsApp
  • ModernBERT là một mô hình chỉ mã hóa mới áp dụng các kỹ thuật hiện đại, cải thiện cả tốc độ lẫn độ chính xác so với BERT và các mô hình kế nhiệm của nó
  • Hỗ trợ ngữ cảnh dài 8192 token và được huấn luyện cả với dữ liệu mã nguồn
  • Có thể được օգտագործում trong nhiều lĩnh vực ứng dụng khác nhau, đặc biệt phù hợp với tìm kiếm mã nguồn quy mô lớn và các tính năng IDE mới

Giới thiệu

  • BERT là mô hình ra mắt vào năm 2018 và vẫn được sử dụng rộng rãi đến nay, đặc biệt phù hợp cho tìm kiếm, phân loại và trích xuất thực thể.
  • ModernBERT là mô hình thay thế cho BERT, đạt cải thiện Pareto về tốc độ và độ chính xác.
  • Với ngữ cảnh dài và việc bao gồm dữ liệu mã nguồn, nó mở ra các lĩnh vực ứng dụng mới.

Mô hình chỉ giải mã

  • Các mô hình chỉ giải mã như GPT, Llama và Claude là mô hình sinh, có thể tạo ra nội dung giống con người.
  • Tuy nhiên, các mô hình này lớn, chậm và tốn nhiều chi phí.
  • Mô hình chỉ mã hóa thực dụng, hiệu quả và phù hợp với nhiều tác vụ.

Mô hình chỉ mã hóa

  • Mô hình chỉ mã hóa biểu diễn đầu vào bằng cách chuyển nó thành các vector số.
  • Mô hình chỉ giải mã không thể nhìn thấy các token tương lai, nhưng mô hình chỉ mã hóa có thể nhìn token theo cả hai chiều nên hiệu quả hơn.
  • Mô hình chỉ mã hóa được dùng trong nhiều lĩnh vực ứng dụng, đặc biệt quan trọng trong các pipeline RAG và hệ thống gợi ý.

Tổng quan hiệu năng

  • ModernBERT cho thấy độ chính xác cao trên nhiều tác vụ, nhanh hơn DeBERTaV3 và dùng ít bộ nhớ hơn.
  • Trong suy luận ngữ cảnh dài, nó nhanh hơn tới 3 lần so với các mô hình chất lượng cao khác.
  • Nó cho thấy hiệu năng vượt trội trong tìm kiếm mã nguồn, mở ra khả năng phát triển các ứng dụng mới.

Hiệu quả

  • ModernBERT chú trọng tính thực dụng và cho hiệu năng nhanh ở nhiều độ dài đầu vào khác nhau.
  • Với đầu vào ngữ cảnh dài, nó nhanh hơn các mô hình khác từ 2-3 lần.
  • Có thể dùng kích thước batch lớn hơn, nên vẫn sử dụng hiệu quả trên GPU nhỏ.

Tính hiện đại của ModernBERT

  • ModernBERT cải thiện mô hình mã hóa bằng cách áp dụng kỹ thuật hiện đại mới nhất.
  • Nó áp dụng kiến trúc Transformer++ để nâng cao hiệu năng.
  • Nó coi trọng hiệu quả cũng như quy mô và nguồn dữ liệu hiện đại.

Transformer mới

  • ModernBERT áp dụng kiến trúc Transformer++ để nâng cao hiệu năng.
  • Sử dụng RoPE để cải thiện mã hóa vị trí và dùng các lớp GeGLU để thay thế các lớp MLP.
  • Loại bỏ các hạng bias không cần thiết để tối ưu việc sử dụng tham số.

Nâng cấp Honda Civic cho đường đua

  • ModernBERT coi trọng tốc độ và có thể được dùng hiệu quả trong nhiều lĩnh vực ứng dụng khác nhau.
  • Tận dụng cải thiện tốc độ của Flash Attention 2 để tăng hiệu quả.
  • Giảm lãng phí tính toán thông qua Alternating Attention, Unpadding và Sequence Packing.

Lưu ý về phần cứng

  • ModernBERT chú trọng thiết kế phần cứng và được xây dựng để phát huy hiệu năng tối ưu trên nhiều loại GPU khác nhau.
  • Mô hình được thiết kế với kiến trúc sâu và hẹp, đồng thời cân nhắc đến hiệu quả phần cứng.

Huấn luyện

  • ModernBERT được huấn luyện bằng dữ liệu từ nhiều nguồn khác nhau, sử dụng 2 nghìn tỷ token.
  • Thông qua quy trình huấn luyện ba giai đoạn, nó cho thấy hiệu năng xuất sắc trên nhiều tác vụ.
  • Ở giai đoạn huấn luyện ban đầu, batch size warmup được sử dụng để tăng tốc.

Kết luận

  • ModernBERT cải thiện hiệu năng của mô hình chỉ mã hóa bằng cách áp dụng các kỹ thuật hiện đại mới nhất.
  • Nó mang lại hiệu năng mạnh trên nhiều tác vụ, với tỷ lệ kích thước/hiệu năng hấp dẫn.
  • Họ kỳ vọng vào các cách sử dụng sáng tạo từ cộng đồng và đang tổ chức một cuộc thi kêu gọi demo.

1 bình luận

 
GN⁺ 2024-12-20
Ý kiến trên Hacker News
  • Jeremy của Answer.AI kỳ vọng việc ra mắt mô hình mới có thể trở thành nền tảng cho nhiều startup và dự án khác nhau
    • Những gì được nhắc đến trong bài viết blog chỉ là phần nổi của tảng băng chìm, và còn rất nhiều cơ hội để tinh chỉnh mô hình theo nhiều cách khác nhau
  • Các mô hình chỉ dành cho encoder đang ghi nhận hơn 1 tỷ lượt tải mỗi tháng, gấp ba lần so với các mô hình chỉ dành cho decoder
    • Một phần là vì người dùng decoder không dùng Hugging Face mà gọi API, và cũng vì encoder là những anh hùng thầm lặng của phần lớn các ứng dụng ML nghiêm túc
    • Muốn thực hiện ranking, recommendation, RAG, v.v. thì cần encoder, và thông thường người ta dùng các dòng mô hình BERT, RoBERTa, ALBERT
  • Vài năm trước, khi dùng mô hình BERT cho các tác vụ như tóm tắt, nó tạo cảm giác như một điều kỳ diệu
    • Sẽ chờ đến khi Ollama thêm nó vào thư viện, và những cải thiện gần đây về tốc độ của LLM thực sự rất ấn tượng
    • Apple đã hỗ trợ mô hình BERT trong SDK dành cho nhà phát triển, và thật tò mò không biết họ sẽ cập nhật nhanh đến mức nào với công nghệ mới
  • Sau khi đọc bài báo, có người rất ấn tượng với việc bổ sung local attention layer
    • Đã thử nghiệm trong vài năm với kho lưu trữ của Lucidrains, và thấy ngạc nhiên vì nó chưa phát triển xa hơn
    • Tốc độ suy luận rất tuyệt vời, và đã có nhiều cải tiến như bỏ NSP, tăng masking, cùng với RoPE và ngữ cảnh dài
    • Muốn tạo ra "ModernTinyBERT", nhưng các layer đan xen quá phức tạp nên rất khó
  • Có người thắc mắc hiện nay mô hình BERT đang được dùng ở đâu
    • Họ hiểu rằng trong một số tác vụ cụ thể, đây là lựa chọn tốt hơn LLM và có thể hiểu ngữ cảnh tốt hơn theo hai chiều
    • Tuy nhiên LLM cũng rất mạnh, nên khác biệt có thể là không đáng kể
  • Có người thắc mắc liệu có thể tinh chỉnh mô hình bằng SentenceTransformers hay không
    • ColBERT có trong benchmark, và họ cũng tò mò liệu answerai-colbert-small-v2 có sắp được phát hành hay không
  • Có người hỏi liệu đã ai xem đánh giá RAG cho ModernBERT chưa
  • Nhóm Answer.ai đang đạt kết quả tốt hôm nay, và có lời khen Jeremy cùng cả nhóm đã làm rất tốt
  • Có người hỏi liệu mô hình chỉ hỗ trợ tiếng Anh hay không, và liệu có kế hoạch phát hành mô hình đa ngữ hoặc mô hình đơn ngữ cho các ngôn ngữ khác không
  • Thật đáng tiếc vì họ đã bỏ lỡ cơ hội đặt tên mô hình là ERNIE