Task Vectors
태스크 벡터는 미세 조정 모델과 기본 모델의 가중치 차이로, 하나의 기능을 나타내며 이를 더하거나 제거하거나 결합할 수 있습니다. 활용 사례를 다룹니다.
태스크 벡터는 새로운 역량을 얻기 위해 신경망을 파인튜닝하는 동안 가중치에 적용된 구체적인 변화를 나타냅니다. 사전 학습 모델의 매개변수에서 기반 모델의 매개변수를 빼면, 연구자는 해당 태스크에 대해 학습된 동작을 담은 가중치 공간의 방향 벡터를 분리할 수 있습니다. 이 접근법을 통해 개발자는 추가 학습 연산 없이 간단한 모델 매개변수 산술 연산으로 모델 동작을 조정, 수정 또는 병합할 수 있습니다.
태스크 벡터와 전이 학습의 차이점#
전이 학습은 기존 지식을 조정하기 위해 새 데이터셋으로 모델을 순차적으로 학습하는 방식인 반면, 태스크 벡터는 학습 후 모델의 구조적 가중치에 직접 작용합니다. 새로운 도메인을 학습하기 위해 그래디언트를 다시 학습시키는 대신, 태스크 벡터를 사용하는 가중치 공간 보간을 통해 여러 개별 학습 모델의 가중치 차이를 선형 결합할 수 있습니다. 이를 통해 제로샷 모델 병합이 가능해져 일반적인 학습 중 컴퓨팅 오버헤드 없이 하나의 모델이 여러 역량을 동시에 갖출 수 있습니다.
실제 적용 사례#
딥러닝 모델을 대수적으로 조작하는 능력은 최신 AI 파이프라인에서 여러 중요한 애플리케이션을 이끌었습니다.
- 다중 태스크 모델 병합: 엔지니어는 동일한 기본 모델을 파인튜닝한 모델의 태스크 벡터를 결합할 수 있습니다. 예를 들어 서로 다른 데이터셋으로 학습한 두 객체 탐지 모델의 태스크 벡터는 동일한 아키텍처끼리만 결합할 수 있으므로, 객체 탐지 파인튜닝 모델을 이미지 분할 모델과 병합할 수는 없습니다. 이를 Ultralytics YOLO26 기본 모델에 적용하면 각 파인튜닝 모델의 강점을 물려받는 단일 모델을 만들 수 있습니다.
- 머신 언러닝 및 AI 안전: 모델이 편향되거나 위험한 출력을 보이면 연구자는 원치 않는 특정 동작을 나타내는 태스크 벡터를 계산할 수 있습니다. 이 벡터를 모델 가중치에서 빼면 해당 동작을 효과적으로 "지워" AI 안전과 견고한 AI 윤리 표준을 크게 개선할 수 있습니다.
- 컴퓨터 비전의 도메인 적응: 주간에서 야간 실시간 추론으로 전환하는 경우처럼 특정 환경에 맞게 모델을 조정할 때 태스크 벡터를 사용하면 사용자가 적응 정도를 조절할 수 있습니다. 벡터의 일부(예: 0.5의 스케일링 계수)를 적용하면 두 도메인 모두에서 우수한 성능을 내는 균형 잡힌 모델을 얻을 수 있습니다.
PyTorch에서 태스크 벡터 활용하기#
태스크 벡터를 만들고 적용하려면 PyTorch 상태 사전에 접근해 조작해야 합니다. 다음 예제에서는 파인튜닝된 Ultralytics YOLO26 모델에서 태스크 벡터를 추출하고 특정 스케일링 계수를 적용해 베이스 모델에 다시 적용하는 방법을 보여줍니다.
from ultralytics import YOLO
# 베이스 모델과 파인튜닝된 모델의 상태 사전을 로드합니다
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# 태스크 벡터(파인튜닝된 가중치에서 기본 가중치를 뺀 값)를 계산하고 정수 버퍼는 건너뜁니다
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights if base_weights[k].is_floating_point()}
# 0.5 스케일링 계수를 사용해 태스크 벡터를 베이스 모델에 적용합니다
for k, delta in task_vector.items():
base_weights[k] += 0.5 * delta가중치 조작의 미래#
대규모 언어 모델이나 대규모 비전 트랜스포머와 같은 아키텍처의 파라미터 수가 증가함에 따라 사소한 조정에도 매번 모델을 재학습하는 것은 경제적으로 실현하기 어려워지고 있습니다. 태스크 벡터는 학습 후 모델 최적화를 위한 수학적으로 우아한 대안을 제공합니다. 수 기가바이트에 달하는 전체 모델 대신 경량 태스크 벡터를 공유하면 AI 커뮤니티의 AI 오픈소스 협업을 가속할 수 있습니다. 사용자 지정 태스크 벡터를 개선한 후 Ultralytics Platform을 활용하면 이후의 모델 배포 및 모니터링 프로세스가 간소화되어 최적화된 가중치를 프로덕션 준비가 완료된 엔드포인트에 직접 적용할 수 있습니다.










