위키득계정 ↗
기술

프롬프트 튜닝

프롬프트 튜닝기술
영문
Prompt Tuning
학습 대상
입력 소프트 프롬프트
기반 모형
고정
구분
자연어 지시문 편집과 다름
프롬프트 튜닝은 고정된 언어 모형의 입력에 학습 가능한 소프트 프롬프트를 붙여 작업에 적응시키는 방법이다. 사람이 읽는 지시문을 탐색하는 것과 달리 연속 벡터를 역전파로 조절한다.

입력 벡터를 학습하기

입력 임베딩 앞에 추가한 벡터들이 작업별 조건을 제공하도록 학습한다. 특정 단어의 임베딩으로만 선택을 제한하지 않으므로 학습 결과가 읽을 수 있는 문장으로 변환되지 않을 수 있다. 기반 모형을 공유하고 작업별 프롬프트를 바꿔 사용할 수 있다.

원소 수의 독립 예제

프롬프트 길이가 12이고 임베딩 차원이 64라면 추가 벡터의 원소는 768개다. 길이를 24로 늘리면 1,536개가 된다. 학습하는 값의 수를 계산한 예이며 활성값과 옵티마이저를 포함한 전체 메모리나 품질을 바로 예측하지는 못한다.

일반적인 프롬프트와 구분

예시 문장을 몇 개 붙이거나 표현을 바꾸는 작업은 별도의 벡터 학습 없이도 가능하다. 프롬프트 튜닝에는 작업 데이터와 최적화 과정이 필요하다. 접두어 튜닝과 관련되지만 입력 수준의 소프트 프롬프트와 더 깊은 내부 상태에 조건을 주는 구성을 구분해야 한다.

모형 규모와 적용성

기반 모형의 규모에 따라 소프트 프롬프트의 성능이 달라질 수 있다. 큰 모형에서 얻은 결과를 작은 모형에 그대로 적용할 수는 없다. 같은 기반 모형과 학습 자료에서 전체 미세 조정, 저랭크 적응과 품질 및 비용을 비교한다.

관련 문서

접두어 튜닝 / LoRA / AdaLoRA / QLoRA / 언어 모형 / 트랜스포머