Yolo 비전 선전
선전
지금 참여하기
용어집

프롬프트 튜닝

프롬프트 튜닝을 활용하여 재훈련 없이도 파운데이션 모델을 효율적으로 조정하는 방법을 알아보세요. YOLO26과 같은 AI 작업에서 소프트 프롬프트가 어떻게 지연 시간과 저장 공간을 줄이는지 확인해 보세요.

프롬프트 튜닝은 사전 훈련된 기초 모델을 특정 하위 작업에 적용하기 위해 사용되는 자원 효율적인 기법으로, 전체 네트워크를 재훈련하는 데 드는 계산 비용 없이 수행됩니다. 기존의 파인 튜닝이 모델의 모든 또는 대부분의 매개변수를 업데이트하는 것과 달리, 프롬프트 튜닝은 사전 훈련된 모델 가중치를 고정하고 입력 데이터 앞에 추가되는 소수의 학습 가능한 벡터 세트(소프트 프롬프트)만을 최적화합니다. 이 접근법은 단일 대규모 백본이 여러 특수화된 애플리케이션을 동시에 지원할 수 있게 하여 저장 공간 요구사항과 추론 지연 전환 비용을 크게 줄입니다.

프롬프트 튜닝의 메커니즘

표준 머신러닝(ML) 워크플로우에서는 텍스트나 이미지 같은 입력 데이터가 임베딩이라 불리는 수치적 표현으로 변환됩니다. 프롬프트 튜닝은 이 입력 시퀀스에 추가적인 학습 가능한 임베딩 벡터를 삽입합니다. 훈련 단계에서 시스템은 역전파를 이용해 기울기를 계산하지만, 최적화 알고리즘은 소프트 프롬프트의 값만 업데이트할 뿐 방대한 모델 구조 자체는 건드리지 않습니다.

이 방법은 매개변수 효율적 미세 조정(PEFT)의 한 형태입니다. 이러한 연속 벡터를 학습함으로써 모델은 원하는 출력 방향으로 "조절"됩니다. 이 개념은 자연어 처리(NLP)에서 비롯되었으나, 컴퓨터 비전(CV) 작업에 성공적으로 적용되어 시각적 프롬프트 조정(VPT)으로 불리기도 합니다.

관련 개념 구분하기

프롬프트 튜닝의 유용성을 이해하려면 AI 분야에서 유사한 용어들과 구분하는 것이 필수적입니다:

  • 프롬프트 엔지니어링: 이는 생성형 AI 모델을 안내하기 위해 사람이 읽을 수 있는 텍스트 지시문(하드 프롬프트)을 수동으로 제작하는 것을 포함합니다. 코딩이나 훈련이 필요하지 않습니다. 반면 프롬프트 튜닝은 자연어 단어와 일치하지 않을 수 있는 최적의 수치 임베딩을 찾기 위해 자동화된 감독 학습을 사용합니다.
  • 전체 미세 조정: 기존 방식은 신경망 전체를 업데이트하므로 종종 초기 학습 내용을 "재앙적 망각"하게 만듭니다. 프롬프트 조정은 모델의 기존 능력을 보존하여 서로 다른 작업 간 전이 학습을 활용하기 쉽게 합니다.
  • 소량 데이터 학습: 일반적으로 LLM의 컨텍스트 창에 소량의 예시를 제공하는 것을 의미합니다. 프롬프트 튜닝은 일시적인 컨텍스트를 제공하는 것과는 달리, 저장 및 재사용되는 매개변수를 영구적으로 학습한다는 점에서 구별됩니다.

실제 애플리케이션

프롬프트 튜닝은 자원 제약 환경에서 AI의 확장 가능한 배포를 가능하게 하며, 이는 모델 관리를 위한 Ultralytics 공유하는 핵심 철학입니다.

  1. 다국어 고객 지원: 글로벌 기업은 하나의 중앙 집중식 고정 언어 모델을 사용할 수 있습니다. 스페인어, 일본어, 독일어를 위한 경량 소프트 프롬프트를 훈련함으로써 시스템은 즉시 언어를 전환할 수 있습니다. 이는 3개의 별도 기가바이트 규모 모델을 호스팅하는 막대한 비용을 피하고, 대신 킬로바이트 규모의 프롬프트 파일에 의존합니다.
  2. 의료 분야 AI: 의료 영상은 종종 데이터 부족 문제에 직면합니다. 연구자들은 범용 비전 백본(예: 비전 트랜스포머)을 활용하여 프롬프트 튜닝을 통해 망막 질환이나 종양과 같은 특정 이상 징후를 탐지하도록 적응시킬 수 있습니다. 이는 환자 데이터 프라이버시를 유지하면서 모델 전체를 재훈련하지 않고도 새로운 의료 장비에 신속하게 적용할 수 있게 합니다.

구현 예시

다음 PyTorch 예제는 핵심 기계적 개념을 보여줍니다: 모델의 주요 레이어를 고정하고 출력에 영향을 미치도록 최적화된 별도의 훈련 가능한 매개변수(‘소프트 프롬프트’)를 생성하는 것입니다.

import torch
import torch.nn as nn

# 1. Define a dummy backbone (e.g., a pre-trained layer)
backbone = nn.Linear(10, 5)

# 2. Freeze the backbone weights (crucial for prompt tuning)
for param in backbone.parameters():
    param.requires_grad = False

# 3. Create a 'soft prompt' vector that IS trainable
# This represents the learnable embeddings prepended to inputs
soft_prompt = nn.Parameter(torch.randn(1, 10), requires_grad=True)

# 4. Initialize an optimizer that targets ONLY the soft prompt
optimizer = torch.optim.SGD([soft_prompt], lr=0.1)

# Verify that only the prompt is being trained
trainable_params = sum(p.numel() for p in [soft_prompt] if p.requires_grad)
print(f"Optimizing {trainable_params} parameters (Soft Prompt only)")

현대 엣지 AI와의 관련성

모델이 커질수록 이를 저렴하게 적응시키는 능력이 중요해집니다. YOLO26과 같은 아키텍처는 이미 효율성을 위해 고도로 최적화되었지만, 백본 고정 및 효율적 적응의 원칙은 엣지 AI의 미래에 근본적입니다. 프롬프트 튜닝과 유사한 기법은 제한된 메모리를 가진 장치들이 거대한 신경망을 재로드하지 않고도 작은 구성 파일을 교체하는 것만으로 물체 탐지에서 분할에 이르기까지 다양한 작업을 수행할 수 있게 합니다.

개발자가 효율적으로 모델을 훈련하고 배포하고자 할 때, Ultralytics 같은 도구를 활용하면 모델이 특정 하드웨어 대상에 최적화되도록 보장하며, 현대적인 MLOps의 모범 사례를 활용할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기