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

Medusa Heads

Các head Medusa là những head giải mã bổ sung cho LLM, dự đoán đồng thời nhiều token tiếp theo và được xác minh bằng tree attention, giúp tạo đầu ra nhanh hơn mà không cần model nháp.

Các head Medusa là những head giải mã nhẹ được bổ sung trên lớp ẩn cuối cùng của model ngôn ngữ lớn, mỗi head được huấn luyện để dự đoán một token xa hơn so với lớp đầu ra của chính model. Trong một lượt forward, model tạo ra dự đoán token tiếp theo như thường lệ cùng các dự đoán cho vài vị trí kế tiếp; ở lượt tiếp theo, một bước attention dạng cây kiểm tra các dự đoán đó và giữ lại chuỗi dài nhất mà model đồng ý. Medusa là một dạng giải mã suy đoán không cần model nháp riêng, nên không phải huấn luyện, lưu trữ hay đồng bộ thêm mạng thứ hai. Tianle Cai, Tri Dao và các cộng sự giới thiệu phương pháp này trong Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads vào tháng 1 năm 2024.

Cách các head dự đoán trước#

Một bước tạo văn bản tiêu chuẩn đưa trạng thái ẩn cuối cùng tại vị trí t vào head của model ngôn ngữ, nơi tính điểm token ở t + 1. Head Medusa k đọc cùng trạng thái ẩn đó và tính điểm token ở t + k + 1. Mỗi head là một lớp truyền thẳng duy nhất với activation SiLU và kết nối dư, sau đó là phép chiếu lên từ vựng. Phép chiếu khởi tạo bằng một bản sao của head model ngôn ngữ, còn lớp truyền thẳng khởi tạo bằng 0, nên trước khi huấn luyện, mọi head đều tái tạo dự đoán token tiếp theo của model cơ sở. Bài báo cho thấy năm head là đủ. Ví dụ phác thảo bằng PyTorch này tạo ba head và so sánh đầu ra của chúng với head của model cơ sở trên một trạng thái ẩn:

import torch
import torch.nn.functional as F

hidden_size, vocab_size, num_heads = 256, 1000, 3
lm_head = torch.nn.Linear(hidden_size, vocab_size, bias=False)  # lớp đầu ra của model đã đóng băng

# Mỗi head Medusa: một lớp dư SiLU (khởi tạo bằng 0) và một bản sao của head LM
w1 = [torch.nn.Linear(hidden_size, hidden_size) for _ in range(num_heads)]
w2 = [torch.nn.Linear(hidden_size, vocab_size, bias=False) for _ in range(num_heads)]
for layer, out in zip(w1, w2):
    torch.nn.init.zeros_(layer.weight)
    torch.nn.init.zeros_(layer.bias)
    out.weight.data.copy_(lm_head.weight.data)

# Mọi head đều đọc cùng trạng thái ẩn cuối cùng; head k nhắm đến vị trí t + k + 1
h = torch.randn(1, hidden_size)
head_logits = [out(h + F.silu(layer(h))) for layer, out in zip(w1, w2)]
print([torch.equal(logits, lm_head(h)) for logits in head_logits])

Đầu ra [True, True, True] cho thấy lớp dư khởi tạo bằng 0 giúp mỗi head mới bắt đầu giống hệt dự đoán của model cơ sở. Sau đó, quá trình huấn luyện điều chỉnh head k để hướng đến vị trí tương lai tương ứng, còn lm_head và backbone không thay đổi.

Attention dạng cây và cơ chế chấp nhận#

Các dự đoán đứng đầu của các head được kết hợp thành những chuỗi tiếp nối tiềm năng. Lấy hai token đứng đầu từ head 1 và ba token đứng đầu từ head 2, tích Descartes tạo ra sáu ứng viên có chung tiền tố, hình thành một cây:

Trong lượt forward tiếp theo, mọi token ứng viên được nối vào đầu vào cùng lúc; một mask attention cho phép mỗi token chỉ nhìn thấy các nút tổ tiên của nó trong cây, nhờ đó model chấm điểm song song mọi nhánh. Nhánh dài nhất được model chấp nhận sẽ được giữ lại, và trạng thái ẩn cuối cùng của nhánh đó được đưa vào các head cho vòng tiếp theo. Vì mọi head đều đọc cùng trạng thái ẩn, head 2 đề xuất cùng một token trên mọi nhánh của head 1. Các tác giả nhận thấy cây thưa 64 nút, được tạo từ những tổ hợp chính xác nhất, cho tốc độ tăng tốc cao hơn cây dày đặc 256 nút.

Khi giải mã tham lam, token ứng viên được chấp nhận nếu trùng với lựa chọn hàng đầu của model. Với lấy mẫu, Medusa cung cấp cơ chế chấp nhận điển hình, giữ lại mọi ứng viên có xác suất theo model cơ sở vượt ngưỡng gắn với entropy của phân phối; phương pháp này chấp nhận nhiều token hơn nhưng đánh đổi độ khớp chính xác với phân phối.

Huấn luyện Medusa-1 và Medusa-2#

Medusa-1 chỉ huấn luyện các head mới trên backbone đã đóng băng, nhờ đó chất lượng đầu ra của model được giữ nguyên; bài báo báo cáo tốc độ tạo sinh nhanh hơn hơn 2.2 lần. Việc huấn luyện các head cho Vicuna-7B mất khoảng năm giờ trên một GPU A100 duy nhất với 60,000 cuộc hội thoại ShareGPT. Đây cũng là cách chia lớp mà freeze=23 thiết lập khi fine-tuning Ultralytics YOLO26: các lớp 0-22 được giữ cố định, chỉ head phát hiện lớp 23 học từ dữ liệu mới.

Medusa-2 fine-tune đồng thời các head và backbone, giúp các head chính xác hơn và tăng tốc độ lên 2.3-3.6 lần nhờ công thức huấn luyện bảo vệ các khả năng ban đầu của backbone. Khi không có dữ liệu huấn luyện ban đầu, tự chưng cất huấn luyện các head trên văn bản do chính model tạo ra.

Medusa nằm trong số nhiều phương pháp tạo token nháp từ chính model đích. EAGLE tạo bản nháp từ đặc trưng nội bộ của model bằng một lớp tự hồi quy nhỏ; còn dự đoán nhiều token, được sử dụng trong DeepSeek-V3, huấn luyện thêm các module dự đoán trong quá trình tiền huấn luyện để các engine phục vụ sau này dùng làm bộ tạo bản nháp. Cả ba phương pháp giảm độ trễ suy luận nhiều nhất ở kích thước batch nhỏ của các chatbot tương tác, nơi mỗi lượt forward khiến GPU chủ yếu phải chờ bộ nhớ.

Explore solutions

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