Tìm hiểu cách Token Merging (ToMe) tối ưu hóa các mô hình Transformer và ViT. Khám phá cách giảm FLOPs, tăng tốc suy luận thời gian thực và nâng cao tốc độ Trí tuệ nhân tạo tạo sinh.
Ghép Token (ToMe) là một kỹ thuật tiên tiến được thiết kế để tối ưu hóa hiệu suất và hiệu quả của kiến trúc Transformer bằng cách giảm số lượng token được xử lý trong các lượt truyền tiến. Ban đầu được phát triển để tăng tốc các mô hình Vision Transformer (ViT) , ToMe hoạt động bằng cách xác định và kết hợp một cách có hệ thống các token dư thừa trong mạng mà không cần bất kỳ quá trình huấn luyện bổ sung nào. Bởi vì độ phức tạp tính toán của cơ chế tự chú ý tăng theo bình phương số lượng token, việc ghép các token tương tự làm giảm đáng kể tổng số phép toán dấu phẩy động (FLOP), cho phép suy luận thời gian thực nhanh hơn đáng kể.
ToMe về cơ bản khác với tokenization , vốn là bước tiền xử lý ban đầu bằng cách chia nhỏ hình ảnh hoặc văn bản thành các token riêng lẻ. Trong khi tokenization tạo ra các phần tử rời rạc, Token Merging hoạt động như một cơ chế giảm mẫu động trong quá trình thực thi mô hình.
Thuật toán này thường sử dụng phương pháp so khớp hai phía để đánh giá độ tương đồng của các token, thường tính toán độ tương đồng cosine giữa các khóa của token trong các lớp chú ý. Các token có thông tin hình ảnh hoặc ngữ nghĩa rất giống nhau sẽ được hợp nhất với nhau—thường bằng cách lấy trung bình các đặc trưng của chúng. Điều này đảm bảo rằng thông tin không gian hoặc ngữ cảnh thiết yếu được bảo toàn trong khi giảm tải tính toán không cần thiết, cho phép các framework như PyTorch xử lý các mô hình thị giác phức tạp nhanh hơn nhiều.
Ghép token đã trở thành một chiến lược tối ưu hóa quan trọng để triển khai các kiến trúc dựa trên cơ chế chú ý phức tạp trong môi trường có hạn chế về khả năng tính toán.
Mặc dù việc tích hợp ToMe vào một kiến trúc hoàn chỉnh đòi hỏi phải sửa đổi các khối chú ý, nhưng khái niệm cốt lõi dựa trên việc tìm kiếm các token tương tự. Tiếp theo là... PyTorch Đoạn mã này minh họa cách tính độ tương đồng cosine giữa một tập hợp các token để xác định những token nào là ứng cử viên để hợp nhất.
import torch
import torch.nn.functional as F
# Simulate a batch of 4 image patches (tokens) with 64-dimensional features
tokens = torch.randn(1, 4, 64)
# Normalize the tokens to easily compute cosine similarity via dot product
normalized_tokens = F.normalize(tokens, p=2, dim=-1)
# Compute the similarity matrix between all tokens (1 x 4 x 4)
similarity_matrix = torch.matmul(normalized_tokens, normalized_tokens.transpose(1, 2))
# Tokens with high similarity scores (close to 1.0) off the diagonal
# are prime candidates for Token Merging.
print("Similarity Matrix:", similarity_matrix)
Các quy trình học máy hiện đại đòi hỏi sự cân bằng cẩn thận giữa độ chính xác và tốc độ. Cho dù bạn đang sử dụng Token Merging để tối ưu hóa ViT tùy chỉnh hay dựa vào hiệu quả tiên tiến của YOLO26, việc quản lý các quy trình dữ liệu phức tạp này được đơn giản hóa đáng kể nhờ Nền tảng Ultralytics . Nền tảng này cung cấp một hệ sinh thái trực quan cho việc chú thích dữ liệu tự động, huấn luyện đám mây liền mạch và triển khai mô hình mạnh mẽ trên nhiều môi trường phần cứng điện toán biên khác nhau. Các tổ chức đang mở rộng các sáng kiến về thị giác máy tính của họ dựa vào các công cụ này để đưa các mô hình tiên tiến vào sản xuất một cách đáng tin cậy và hiệu quả.
Bắt đầu hành trình của bạn với tương lai của học máy