Task Arithmetic
태스크 산술(Task Arithmetic)이 가중치 업데이트를 사용하여 모델 동작을 편집하는 방법을 알아보세요. 완전한 재학습 없이 Ultralytics YOLO26에서 태스크를 병합하거나 특징을 지우는 방법을 배우세요.
Task arithmetic은 사전 학습된 신경망의 가중치 업데이트를 더하거나 빼서 모델의 동작을 수정하는 고급 machine learning 기법입니다. 처음부터 모델을 완전히 재학습하는 대신, 사용자는 베이스 모델과 파인 튜닝된 모델 간의 학습된 차이를 분리할 수 있습니다. 이러한 차이는 본질적으로 특정 기능이나 동작을 요약하는 방향성 업데이트입니다. 개발자는 이러한 업데이트에 덧셈이나 뺄셈과 같은 기본적인 수학 연산을 적용하여 deep learning 시스템을 동적으로 편집할 수 있습니다. 이 패러다임은 최근 arXiv research on task arithmetic에서 상당한 주목을 받고 있으며, 대규모 모델을 새로운 요구 사항에 맞게 조정할 수 있는 경량화되고 컴퓨팅 효율적인 방법을 제공합니다.
Link to this section개념 작동 원리#
The foundation of this technique relies on calculating the difference in model weights between a base pre-trained model and a version that has undergone fine-tuning on a specific dataset. This isolated difference becomes a localized representation of the new skill. By directly manipulating PyTorch state dictionaries or utilizing TensorFlow training methodologies, engineers can scale and combine these weight differences. For instance, subtracting a specific weight update can force a model to "forget" a learned behavior, a concept heavily explored in Anthropic research on model safety.
Link to this section실제 애플리케이션 사례#
Task arithmetic은 현대 computer vision 및 자연어 처리 파이프라인에서 매우 효율적인 여러 워크플로우를 실현합니다:
- Multi-Task Capability Merging: 엔지니어는 Ultralytics YOLO26 베이스 모델을 두 개의 별도 데이터셋으로 독립적으로 학습시킬 수 있습니다. 하나는 특수 object detection용이고 다른 하나는 image classification용입니다. 두 작업에 대한 가중치 차이를 계산하여 베이스 모델에 다시 더하면, 결과적으로 생성된 네트워크는 파괴적 망각(catastrophic forgetting) 현상 없이 두 작업을 동시에 수행할 수 있습니다.
- Targeted Unlearning for AI Safety: 비전 모델이 학습 데이터로부터 편향된 특징을 의도치 않게 학습한 경우, 연구자는 편향된 데이터로 사본을 파인 튜닝하고 특정 가중치 차이를 추출하여 원래 모델에서 이를 뺄 수 있습니다. 여러 Google DeepMind discoveries에서 언급된 바와 같이, 이는 모델의 일반적인 artificial intelligence capabilities를 유지하면서 원치 않는 동작을 효과적으로 제거합니다.
Link to this section관련 개념 구별하기#
IEEE Xplore archives 또는 ACM digital library를 탐색하다 보면 task arithmetic을 관련 방법론과 혼동하기 쉽습니다:
- Task Vectors: 이는 산술 프로세스 중에 사용되는 실제 수학적 텐서(계산된 가중치 차이)입니다. Task arithmetic은 이러한 벡터를 더하거나 빼는 상위 프레임워크입니다.
- Model Merging: 이는 여러 모델을 결합하기 위한 더 광범위한 용어입니다. 산술은 모델을 병합하는 한 가지 방법이지만, 병합에는 복잡한 라우팅 네트워크나 앙상블이 포함될 수도 있습니다.
- Transfer Learning: Wikipedia transfer learning concepts에 따르면, 이는 한 작업의 지식을 다른 작업의 출발점으로 사용하는 것을 의미하며, 일반적으로 추가적인 학습 루프가 필요합니다. Task arithmetic은 추가 학습 루프 없이 순수하게 직접적인 가중치 계산을 통해 동작을 수정합니다.
Link to this section산술 연산 구현하기#
이러한 model optimization strategies를 실제로 적용하려면 모델의 내부 상태를 신중하게 관리해야 합니다. 아래는 recent computer vision papers에서 자주 논의되는 기법인 PyTorch를 사용하여 업데이트를 계산하고 적용하는 예시입니다.
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vector복잡한 data annotation 파이프라인과 여러 파인 튜닝된 모델 버전을 관리하는 팀을 위해 Ultralytics Platform은 클라우드 학습 및 원활한 배포를 감독할 수 있는 효율적인 환경을 제공하여 반복적인 모델 개선 관리를 훨씬 더 효율적으로 만듭니다.






