Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Medusa Heads

Medusa 헤드는 여러 미래 토큰을 한 번에 추측하는 추가 LLM 디코딩 헤드이며, 트리 어텐션으로 추측을 검증해 초안 모델 없이 출력을 가속합니다.

Medusa 헤드는 대규모 언어 모델의 마지막 은닉 레이어에 추가하는 경량 디코딩 헤드로, 각 헤드는 모델 자체 출력 레이어보다 더 앞선 토큰을 예측하도록 학습됩니다. 한 번의 순전파에서 모델은 평소처럼 다음 토큰을 예측하는 동시에 그 이후 몇 개 위치의 토큰도 추측합니다. 다음 순전파에서 트리 어텐션 단계가 그 추측을 확인하고 모델이 동의하는 가장 긴 연속 구간을 유지합니다. Medusa는 별도의 초안 모델이 필요 없는 투기적 디코딩 방식이므로 학습하거나 호스팅하거나 동기화해야 하는 두 번째 네트워크가 없습니다. Tianle Cai, Tri Dao와 동료들은 2024년 1월 Medusa: 여러 디코딩 헤드를 사용한 간단한 LLM 추론 가속 프레임워크에서 이를 소개했습니다.

헤드가 앞선 토큰을 예측하는 방식#

일반적인 텍스트 생성 단계에서는 위치 t의 마지막 은닉 상태를 언어 모델 헤드에 입력해 t + 1의 토큰 점수를 계산합니다. Medusa 헤드 k는 같은 은닉 상태를 읽고 t + k + 1의 토큰 점수를 계산합니다. 각 헤드는 SiLU 활성화와 잔차 연결을 포함하는 단일 피드포워드 레이어 뒤에 어휘 투영을 적용합니다. 투영 레이어는 언어 모델 헤드의 복사본으로 초기화하고 피드포워드 레이어는 0으로 초기화하므로 학습 전에는 모든 헤드가 기본 모델의 다음 토큰 예측을 그대로 재현합니다. 논문에서는 헤드 5개면 충분하다고 설명합니다. 이 PyTorch 예시는 헤드 3개를 만들고 하나의 은닉 상태에 대한 출력을 기본 모델 헤드의 출력과 비교합니다:

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)  # 고정된 모델의 출력 레이어

# 각 Medusa 헤드: 0으로 초기화한 잔차 SiLU 레이어 하나와 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)

# 모든 헤드는 같은 마지막 은닉 상태를 읽으며, 헤드 k는 위치 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])

출력 [True, True, True]은 0으로 초기화한 잔차 레이어 덕분에 각 새 헤드가 기본 모델의 예측을 정확히 복사한 상태로 시작함을 보여줍니다. 이후 학습에서는 헤드 k가 자체적으로 더 앞선 위치를 예측하도록 조정되며, lm_head과 백본은 변경되지 않습니다.

트리 어텐션과 수락#

각 헤드의 최상위 추측을 조합해 후보 연속 토큰을 만듭니다. 헤드 1에서 상위 2개 토큰을, 헤드 2에서 상위 3개 토큰을 선택하면 데카르트 곱으로 접두부를 공유하는 후보 6개가 생성되어 트리를 이룹니다:

다음 순전파에서는 모든 후보 토큰을 입력에 한 번에 추가합니다. 어텐션 마스크는 각 토큰이 트리에서 자신의 조상만 참조하도록 하므로 모델이 모든 분기를 병렬로 점수화합니다. 모델이 수락하는 가장 긴 분기를 유지하고, 그 분기의 마지막 은닉 상태를 다음 단계의 헤드 입력으로 사용합니다. 모든 헤드가 같은 은닉 상태를 읽으므로 헤드 2는 각 헤드 1 분기 아래에서 동일한 토큰을 제안합니다. 저자들은 가장 정확한 조합으로 만든 64개 노드의 희소 트리가 256개 노드의 조밀한 트리보다 더 높은 가속률을 보인다고 밝혔습니다.

탐욕적 디코딩에서는 후보 토큰이 모델의 최상위 선택과 일치할 때 이를 수락합니다. 샘플링의 경우 Medusa는 전형적 수락 방식을 제공합니다. 이 방식은 기본 모델의 확률이 분포의 엔트로피에 따라 정해지는 임계값을 넘는 후보를 모두 유지하므로 정확한 분포 일치의 대가로 더 많은 토큰을 수락합니다.

Medusa-1 및 Medusa-2 학습#

Medusa-1은 고정된 백본을 그대로 둔 채 새 헤드만 학습하므로 모델 출력 품질을 유지하며, 논문은 생성 속도가 2.2배 이상 빨라졌다고 보고합니다. Vicuna-7B 헤드 학습에는 단일 A100 GPU와 ShareGPT 대화 60,000개를 사용해 약 5시간이 걸렸습니다. 이는 freeze=23이 Ultralytics YOLO26 파인튜닝에서 설정하는 분할 방식과 같습니다. 레이어 0~22는 고정하고 레이어 23의 탐지 헤드만 새 데이터로 학습합니다.

Medusa-2는 헤드와 백본을 함께 파인튜닝해 헤드 정확도를 높이고 속도 향상을 2.3~3.6배로 끌어올립니다. 이때 백본의 기존 능력을 보호하는 학습 레시피를 사용합니다. 기존 학습 데이터를 사용할 수 없는 경우에는 자기 증류를 통해 모델이 자체적으로 생성한 텍스트로 헤드를 학습합니다.

Medusa는 대상 모델 자체에서 토큰을 초안으로 생성하는 여러 방법 중 하나입니다. EAGLE은 작은 자기회귀 레이어를 사용해 모델의 내부 특징으로부터 초안을 만들며, DeepSeek-V3에서 사용된 다중 토큰 예측은 사전 학습 중 추가 예측 모듈을 학습하고 서빙 엔진이 이를 초안 생성기로 재사용합니다. 세 방법은 모두 상호작용형 챗봇의 작은 배치 크기에서 추론 지연 시간을 가장 크게 줄입니다. 각 순전파 중 GPU가 대부분 메모리 대기 상태에 있기 때문입니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요