Làm thế nào để giảm chi phí tính toán của Visual Transformer? Cách tiếp cận dự phòng theo thời gian thật đáng ngạc nhiên

Sau khi mang đến những thay đổi trong lĩnh vực ngôn ngữ, Transformer đang tiến vào lĩnh vực hình ảnh, nhưng nó cũng gặp phải vấn đề về chi phí tính toán cao. Gần đây, một nhóm nghiên cứu tại Đại học Wisconsin-Madison đã đề xuất Máy biến áp sự kiện, có thể tiết kiệm chi phí bằng cách tận dụng thời gian dự phòng trong Máy biến áp trực quan.

Nguồn hình ảnh: Được tạo bởi AI không giới hạn

Transformer ban đầu được thiết kế cho các tác vụ xử lý ngôn ngữ tự nhiên nhưng hiện được sử dụng rộng rãi cho các tác vụ thị giác. Vision Transformer đạt được độ chính xác vượt trội trong một loạt nhiệm vụ nhận dạng hình ảnh và đạt được hiệu suất tiên tiến trong các nhiệm vụ như phân loại hình ảnh, phân loại video và phát hiện đối tượng.

Nhược điểm chính của Visual Transformer là chi phí tính toán cao. Mạng tích chập (CNN) điển hình yêu cầu hàng chục GFlop trên mỗi hình ảnh để xử lý, trong khi Máy biến áp trực quan thường yêu cầu cường độ lớn hơn, đạt tới hàng trăm GFlop trên mỗi hình ảnh. Khi xử lý video, vấn đề này càng nghiêm trọng hơn do lượng dữ liệu khổng lồ. Chi phí tính toán cao khiến Visual Transformer khó triển khai trên các thiết bị có nguồn lực hạn chế hoặc yêu cầu độ trễ nghiêm ngặt, điều này hạn chế các kịch bản ứng dụng của công nghệ này, nếu không chúng ta đã có một số ứng dụng thú vị.

Trong một bài báo gần đây, ba nhà nghiên cứu từ Đại học Wisconsin-Madison, Matthew Dutson, Yin Li và Mohit Gupta, lần đầu tiên đề xuất rằng sự dư thừa tạm thời giữa các đầu vào tiếp theo có thể được sử dụng để giảm chi phí của Máy biến áp trực quan trong các ứng dụng video. Họ cũng phát hành mã mô hình, bao gồm mô-đun PyTorch được sử dụng để xây dựng Máy biến áp sự kiện.

* Địa chỉ giấy tờ: *địa chỉ dự án:

Dự phòng tạm thời: Trước tiên, giả sử có một Transformer trực quan có thể xử lý chuỗi video theo từng khung hình hoặc video clip theo video clip. Transformer này có thể là mô hình xử lý từng khung hình đơn giản (chẳng hạn như máy dò đối tượng) hoặc bước trung gian của mô hình không gian thời gian (chẳng hạn như bước đầu tiên của mô hình phân rã ViViT). Không giống như Transformer xử lý ngôn ngữ, trong đó một đầu vào là một chuỗi hoàn chỉnh, các nhà nghiên cứu ở đây cung cấp nhiều đầu vào khác nhau (khung hình hoặc video clip) cho Transformer theo thời gian.

Các video tự nhiên có độ dư thừa đáng kể về mặt thời gian, tức là sự khác biệt giữa các khung hình tiếp theo là nhỏ. Tuy nhiên, các mạng sâu, bao gồm cả Transformers, thường tính toán từng khung hình “từ đầu”. Phương pháp này loại bỏ những thông tin có khả năng liên quan thu được thông qua lý luận trước đó, điều này cực kỳ lãng phí. Vì vậy, ba nhà nghiên cứu này băn khoăn: Liệu kết quả tính toán trung gian của các bước tính toán trước đó có thể được sử dụng lại để nâng cao hiệu quả xử lý chuỗi dư thừa hay không?

Suy luận thích ứng: Đối với Máy biến áp trực quan và mạng sâu nói chung, chi phí suy luận thường do kiến trúc quyết định. Tuy nhiên, trong các ứng dụng thực tế, tài nguyên sẵn có có thể thay đổi theo thời gian, ví dụ do các quy trình cạnh tranh hoặc thay đổi nguồn điện. Kết quả là có thể cần phải sửa đổi chi phí tính toán mô hình trong thời gian chạy. Một trong những mục tiêu thiết kế chính được các nhà nghiên cứu đặt ra trong nỗ lực mới này là khả năng thích ứng—cách tiếp cận của họ cho phép kiểm soát chi phí tính toán theo thời gian thực. Hình 1 bên dưới (phía dưới) đưa ra ví dụ về sửa đổi ngân sách tính toán trong quá trình xử lý video.

Eventful Transformer: Bài viết này đề xuất Eventful Transformer, có thể khai thác sự dư thừa tạm thời giữa các đầu vào để đạt được khả năng suy luận hiệu quả và thích ứng. Thuật ngữ sự kiện được lấy cảm hứng từ máy ảnh sự kiện, cảm biến ghi lại hình ảnh một cách riêng biệt khi cảnh thay đổi. Eventful Transformer theo dõi các thay đổi ở cấp độ mã thông báo theo thời gian và cập nhật có chọn lọc các biểu diễn mã thông báo và bản đồ tự chú ý ở mỗi bước thời gian. Mô-đun của Eventful Transformer chứa mô-đun gating được sử dụng để kiểm soát số lượng mã thông báo được cập nhật trong thời gian chạy.

Phương pháp này có thể được sử dụng với các mô hình có sẵn (thường không cần đào tạo lại) và tương thích với nhiều tác vụ xử lý video. Các nhà nghiên cứu cũng đã tiến hành các cuộc trình diễn thử nghiệm và kết quả cho thấy rằng Eventful Transformer có thể được sử dụng trên các mô hình tốt nhất hiện có, giúp giảm đáng kể chi phí tính toán trong khi vẫn duy trì độ chính xác ban đầu.

Người biến hình đầy sự kiện

Mục tiêu của nghiên cứu này là tăng tốc Vision Transformer để nhận dạng video. Trong trường hợp này, Visual Transformer cần xử lý liên tục các khung hình video hoặc video clip. Các nhiệm vụ cụ thể bao gồm phát hiện mục tiêu video và nhận dạng hành động video. Ý tưởng chính được đề xuất ở đây là khai thác sự dư thừa về thời gian, tức là sử dụng lại kết quả tính toán của các bước thời gian trước đó. Phần sau đây sẽ mô tả chi tiết cách sửa đổi mô-đun Máy biến áp để làm cho nó có khả năng cảm nhận được sự dư thừa về thời gian.

kiểm soát mã thông báo: phát hiện sự dư thừa

Phần này sẽ giới thiệu hai mô-đun mới được các nhà nghiên cứu đề xuất: cổng mã thông báo và bộ đệm mã thông báo. Các mô-đun này cho phép mô hình xác định và cập nhật các mã thông báo đã thay đổi đáng kể kể từ lần cập nhật cuối cùng.

Mô-đun cổng: Cổng này sẽ chọn một phần M từ mã thông báo đầu vào N và gửi nó đến lớp hạ lưu để tính toán. Nó duy trì một mã thông báo tham chiếu được đặt trong bộ nhớ của nó, ký hiệu là u. Vectơ tham chiếu này chứa giá trị của từng mã thông báo tại thời điểm cập nhật gần đây nhất. Tại mỗi bước thời gian, mỗi mã thông báo được so sánh với giá trị tham chiếu tương ứng và mã thông báo khác biệt đáng kể so với giá trị tham chiếu sẽ được cập nhật.

Bây giờ đặt đầu vào hiện tại vào cổng là c. Tại mỗi bước thời gian, quy trình sau được thực hiện để cập nhật trạng thái của cổng và xác định đầu ra của nó (xem Hình 2 bên dưới):

1. Tính tổng sai số e = u − c.

  1. Sử dụng chiến lược lựa chọn lỗi e. Chiến lược lựa chọn trả về mặt nạ nhị phân m (tương đương với danh sách chỉ mục mã thông báo), cho biết mã thông báo M nào sẽ được cập nhật.

  2. Trích xuất mã thông báo được chọn theo chiến lược trên. Điều này được mô tả trong Hình 2 là tích c × m; trong thực tế, nó đạt được bằng cách thực hiện thao tác "tập hợp" dọc theo trục đầu tiên của c. Các mã thông báo đã thu thập được ghi lại ở đây dưới dạng

, đó là đầu ra của cổng.

  1. Cập nhật mã thông báo tham chiếu thành mã thông báo đã chọn. Hình 2 mô tả quá trình này như

;Hoạt động được sử dụng trong thực tế là "phân tán". Trong bước thời gian đầu tiên, cổng cập nhật tất cả các mã thông báo (khởi tạo u ← c và trả về c˜ = c).

Mô-đun bộ đệm: Mô-đun bộ đệm duy trì một tenxơ trạng thái

, theo dõi từng mã thông báo đầu vào

Khi , bộ đệm phân tán các mã thông báo từ f (c˜) đến vị trí tương ứng của chúng trong b. Sau đó nó trả về b đã cập nhật làm đầu ra của nó, xem Hình 3 bên dưới.

Các nhà nghiên cứu ghép mỗi cánh cửa với một tấm đệm phía sau nó. Đây là một mẫu sử dụng đơn giản: đầu ra của cổng

được chuyển đến một loạt các phép toán f (c˜) trên mỗi mã thông báo; sau đó kết quả là tenxơ

Được chuyển đến bộ đệm, bộ đệm này sẽ khôi phục lại hình dạng đầy đủ.

Xây dựng Máy biến áp nhận biết dự phòng

Để tận dụng thời gian dư thừa trên, các nhà nghiên cứu đã đề xuất phương án sửa đổi mô-đun Transformer. Hình 4 bên dưới thể hiện thiết kế của mô-đun Eventful Transformer. Phương pháp này có thể tăng tốc hoạt động trên các mã thông báo riêng lẻ (chẳng hạn như MLP) cũng như nhân giá trị khóa truy vấn và nhân giá trị chú ý.

Trong mô-đun Operation Transformer cho mỗi mã thông báo, nhiều thao tác được thực hiện cho từng mã thông báo, nghĩa là chúng không liên quan đến việc trao đổi thông tin giữa các mã thông báo, bao gồm cả các phép biến đổi tuyến tính trong MLP và MSA. Để tiết kiệm chi phí tính toán, các nhà nghiên cứu tuyên bố rằng các hoạt động hướng đến mã thông báo của các mã thông báo không được cổng chọn có thể bị bỏ qua. Do tính độc lập giữa các mã thông báo, điều này không làm thay đổi kết quả của thao tác trên mã thông báo đã chọn. Xem Hình 3.

Cụ thể, các nhà nghiên cứu đã sử dụng một cặp bộ đệm cổng cho chuỗi hoạt động liên tục trên mỗi mã thông báo (bao gồm chuyển đổi W_qkv, chuyển đổi W_p và MLP). Lưu ý rằng họ cũng đã thêm bộ đệm trước khi bỏ qua kết nối để đảm bảo rằng mã thông báo của hai toán hạng bổ sung được căn chỉnh chính xác.

Chi phí hoạt động cho mỗi mã thông báo tỷ lệ thuận với số lượng mã thông báo. Cổng có thể giảm con số này từ N xuống M, điều này cũng làm giảm chi phí tính toán của các hoạt động xuôi dòng cho mỗi mã thông báo N/M lần.

Sản phẩm khóa-giá trị truy vấn: Bây giờ chúng ta hãy xem sản phẩm khóa-giá trị truy vấn B = qk^T.

Hình 5 bên dưới cho thấy phương pháp cập nhật thưa thớt một tập hợp con các phần tử trong sản phẩm khóa-giá trị truy vấn B.

Tổng chi phí của các bản cập nhật này là 2NMD, so với chi phí tính toán B từ đầu, là N^2D. Lưu ý rằng chi phí của phương pháp mới tỷ lệ thuận với M, số lượng token được cổng chọn. Khi M < N/2 (số mã thông báo được cập nhật tại thời điểm này nhỏ hơn một nửa tổng số), số tiền tính toán có thể được lưu lại.

Sản phẩm có giá trị chú ý: Nhà nghiên cứu đề xuất chiến lược cập nhật dựa trên mức tăng Δ.

Hình 6 dưới đây cho thấy phương pháp mới được đề xuất để tính toán hiệu quả ba số hạng lũy tiến.

Tương tự, khi M < N/2, số lượng tính toán có thể được lưu lại.

chiến lược lựa chọn mã thông báo

Một thiết kế quan trọng của Eventful Transformer là chiến lược lựa chọn mã thông báo của nó. Với một tenxơ lỗi cổng e, mục tiêu của chính sách như vậy là tạo ra mặt nạ m cho biết các mã thông báo cần được cập nhật. Các chiến lược cụ thể bao gồm:

Chiến lược Top-r: Chiến lược này chọn r mã thông báo có lỗi e lớn nhất (chuẩn L2 được sử dụng ở đây).

Chiến lược ngưỡng: Chiến lược này chọn tất cả các mã thông báo có định mức lỗi e vượt quá ngưỡng h.

Các chiến lược khác: Các chiến lược lựa chọn mã thông báo phức tạp và phức tạp hơn có thể đạt được sự cân bằng giữa độ chính xác và chi phí tốt hơn. Ví dụ: mạng chính sách nhẹ có thể được sử dụng để tìm hiểu một chiến lược. Tuy nhiên, việc huấn luyện cơ chế ra quyết định của chính sách có thể gặp khó khăn vì mặt nạ nhị phân m nhìn chung là không thể phân biệt được. Một ý tưởng khác là sử dụng điểm quan trọng làm thông tin tham khảo để lựa chọn. Nhưng những ý tưởng này vẫn đang chờ nghiên cứu trong tương lai.

Cuộc thí nghiệm

Các nhà nghiên cứu đã đánh giá thực nghiệm phương pháp mới được đề xuất về nhiệm vụ phát hiện đối tượng video và nhận dạng hành động video.

Hình 7 dưới đây cho thấy kết quả thử nghiệm phát hiện mục tiêu video. Trục dương là tốc độ tiết kiệm tính toán và trục âm là mức giảm tương đối về điểm mAP50 của phương pháp mới. Có thể thấy rằng phương pháp mới đạt được mức tiết kiệm tính toán đáng kể với sự hy sinh nhỏ về độ chính xác.

Hình 8 bên dưới cho thấy kết quả thử nghiệm so sánh và cắt bỏ phương pháp trong nhiệm vụ phát hiện mục tiêu video.

Hình 9 bên dưới cho thấy kết quả thử nghiệm về nhận dạng hành động video.

Bảng 2 dưới đây cho thấy kết quả về thời gian chạy (mili giây) trên CPU (Xeon Silver 4214, 2,2 GHz) và GPU (NVIDIA RTX3090), có thể thấy tốc độ tăng do thời gian dư thừa trên GPU mang lại có thể lên tới 1,74 lần và mức cải thiện trên CPU có thể đạt tới 2,47 lần.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)