Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Longformer

Longformer kết hợp attention cửa sổ trượt với một số token toàn cục, giúp chi phí tăng tuyến tính theo độ dài và có thể xử lý tài liệu dài 4.096 token.

Longformer là một transformer dành cho tài liệu dài, thay cơ chế self-attention toàn phần bằng attention cửa sổ trượt quanh mỗi token, kết hợp attention toàn cục trên một số token được chọn theo tác vụ; nhờ vậy, chi phí tăng tuyến tính theo độ dài đầu vào thay vì tăng theo bình phương. Iz Beltagy, Matthew Peters và Arman Cohan tại Allen Institute for AI giới thiệu model này trong bài báo năm 2020 Longformer: Transformer cho tài liệu dài. Các encoder như BERT và RoBERTa chỉ đọc tối đa 512 token, nên văn bản dài hơn phải được chia thành các đoạn, làm mất liên kết giữa chúng. Các model Longformer được phát hành có thể đọc 4.096 token trong một lượt, với cửa sổ ngữ cảnh dài gấp tám lần.

Cơ chế attention của Longformer hoạt động ra sao#

Mỗi lớp kết hợp các mẫu cục bộ và toàn cục trong cùng một cơ chế attention:

  • Attention cửa sổ trượt: Mỗi token chú ý đến một cửa sổ cố định gồm các token lân cận, mỗi bên 256 token trong các model được phát hành.
  • Cửa sổ trượt giãn: Khoảng cách giữa các vị trí được attention đến giúp một head nhìn xa hơn với cùng chi phí. Các tác giả dùng độ giãn trên một số head ở các lớp trên của model ngôn ngữ cấp ký tự.
  • Attention toàn cục: Các token được chọn chú ý đến mọi vị trí và mọi vị trí chú ý đến chúng, thông qua các phép chiếu query, key và value riêng biệt. Tác vụ quyết định token nào được chọn: token [CLS] cho phân loại và các token câu hỏi cho tác vụ trả lời câu hỏi.

Xếp chồng các lớp làm tăng phạm vi của cửa sổ, tương tự cách các lớp tích chập xếp chồng mở rộng trường tiếp nhận của một mạng nơ-ron tích chập (CNN): l lớp với cửa sổ w bao phủ l × w token. Mỗi lớp tính khoảng n × w điểm attention thay vì n × n. Đếm các cặp trong mask Longformer sẽ cho thấy rõ sự khác biệt:

import torch

window = 512  # Longformer-base: 256 tokens on each side of every token

for n in (1024, 2048, 4096):
    pos = torch.arange(n)
    # Sliding window: each token attends to neighbors within window / 2 positions
    mask = (pos[:, None] - pos[None, :]).abs() <= window // 2
    # Global attention on token 0 ([CLS]): it sees every token and every token sees it
    mask[0, :] = True
    mask[:, 0] = True
    print(f"{n} tokens: full attention {n * n / 1e6:.1f}M scores, Longformer {mask.sum().item() / 1e6:.1f}M")

Lệnh này in ra 0.5M, 1.0M và 2.0M điểm Longformer, so với 1.0M, 4.2M và 16.8M của attention toàn phần: mỗi lần tăng gấp đôi đầu vào, lượng tính toán attention của Longformer tăng gấp đôi, còn attention toàn phần tăng gấp bốn. Các triển khai thực tế chỉ tính dải điểm, nhờ đó tiết kiệm bộ nhớ.

Huấn luyện và kết quả#

Longformer bắt đầu từ checkpoint RoBERTa. Các tác giả sao chép tám lần 512 embedding vị trí đã học để bao phủ 4.096 vị trí, rồi tiếp tục pretraining model ngôn ngữ được che trên các tài liệu dài. Sau khi fine-tune, Longformer luôn vượt RoBERTa trên các tác vụ tài liệu dài và đạt kết quả tiên tiến nhất vào thời điểm đó trên các benchmark hỏi đáp WikiHop và TriviaQA; trong khi đó, model ngôn ngữ cấp ký tự language model lập kết quả mới trên text8 và enwik8.

Longformer-Encoder-Decoder (LED) bổ sung decoder cho các tác vụ tóm tắt văn bản và sinh văn bản khác, được minh họa bằng việc tóm tắt toàn bộ bài báo khoa học từ arXiv. Hugging Face Transformers triển khai cả hai model và nhận các token toàn cục dưới dạng global_attention_mask. Tiếp đó là các phiên bản theo miền, chẳng hạn Clinical-Longformer, được tiền huấn luyện trên các kho ngữ liệu lâm sàng lớn và đánh giá trên 10 tác vụ, trong đó có nhận dạng thực thể có tên, trả lời câu hỏi và phân loại tài liệu.

  • Transformer-XL: Đọc văn bản dài theo từng đoạn và cho phép mỗi đoạn attention đến các trạng thái ẩn đã lưu trong bộ nhớ đệm của đoạn trước, mở rộng ngữ cảnh thông qua hồi quy để sinh văn bản từ trái sang phải.
  • BigBird: Model của Google ra mắt cùng năm, bổ sung các liên kết attention ngẫu nhiên bên cạnh attention cửa sổ và toàn cục, đồng thời cũng đọc được 4.096 token.
  • Attention thưa: Họ mô hình rộng hơn gồm các mẫu attention cố định mà Longformer thuộc về.
  • Flash attention: Tính attention toàn phần chính xác bằng các tile bộ nhớ trên chip, nhờ đó bộ nhớ tăng tuyến tính theo độ dài trong khi số lượng điểm vẫn tăng theo bình phương.

Attention cục bộ và toàn cục trong thị giác#

Ảnh độ phân giải cao cũng gặp vấn đề tương tự, vì một transformer thị giác (ViT) chuyển ảnh thành hàng nghìn token patch. Swin Transformer giải quyết vấn đề bằng các cửa sổ cục bộ dịch chuyển; Segment Anything Model (SAM) của Meta, chạy trong package Ultralytics, kết hợp attention cửa sổ và toàn cục qua từng block để phân đoạn ảnh: encoder ảnh ViT-B attention trong các cửa sổ không chồng lấp kích thước 14 × 14 trên lưới patch 64 × 64 ở 8 trong 12 block, đồng thời attention toàn cục trên cả 4.096 patch ở các block 2, 5, 8 và 11.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning