개념 딥다이브: 프롬프트 최적화 개요

개념 딥다이브: 프롬프트 최적화 개요 (An Overview of Prompt Optimization)

프롬프트 최적화(prompt optimization)의 주요 접근 방식들과 그 특성을 분류 체계(taxonomy)와 함께 살펴보는 페이지예요.

출처: 문서

본문

프롬프트 기반 학습에서의 초기 성공은 작업의 표현 방식(phrasing)이 언어 모델(LLM)의 성능을 극적으로 바꿀 수 있음을 보여줬어요. Brown et al. (2020)의 기념비적인 연구는 신중하게 만들어진 텍스트 프롬프트가 파라미터 업데이트 없이도 LLM이 새 작업을 수행하도록 유도할 수 있다고 주장했어요. 이는 다양한 작업에서 LLM의 효과성에 대한 경험적 발견과 함께 프롬프트 엔지니어링에 대한 관심을 촉발했어요. 그런데 프롬프트를 손으로 설계하는 것은 번거롭고 오류가 쉬우며, 전문성과 광범위한 시행착오가 필요한 것으로 드러났어요 (Liu et al., 2023).

초기 연구 중 하나는 연속적(continuous) 설정에서 프롬프트를 자동으로 탐색하는 데 집중했어요. 특히 Shin et al. (2020)은 모델이 원하는 행동을 하도록 유도하는 입력 트리거 문구를 찾는 그레이디언트 유도 탐색 알고리즘인 AutoPrompt를 소개했어요.

이후 Ma et al. (2023)은 프롬프트 최적화에 대한 이산적(discrete) 접근을 이어서, 코퍼스를 마이닝하고 기존 프롬프트를 의역(paraphrase)해서 프롬프트를 자동으로 생성했어요.

이런 접근 방식들은 자동 프롬프트 발견이 실현 가능하고 효과적임을 보여줬어요. 그레이디언트 기반 프롬프트 튜닝 방법도 등장했는데, prefix-tuning (Li et al., 2021)과 prompt tuning (Lester et al., 2021) 같은 기법이 포함돼요. 두 접근 모두 입력 앞에 붙이는 연속 표현(프롬프트 임베딩)을 학습해서, 소수의 파라미터만 업데이트하고 추론 시에는 메인 모델을 변경하지 않아요.

모델 내부에 접근할 필요가 없는(입력 토큰에만 작동하는) 그레이디언트 프리 접근 방식은 RLPrompt (Deng et al., 2022)인데, 프롬프트 설계를 강화 학습(RL) 문제로 공식화했어요.

이런 기법들은 모델 내부에 접근할 수 없는 시나리오에 적합하며, 직관적이진 않지만 효과적인 프롬프트 문자열을 만들어냈어요.

프롬프트 최적화의 분류 체계 (A Taxonomy of Prompt Optimization)

검색 증강 프롬프팅 (Retrieval-Augmented Prompting)

검색 증강 프롬프팅은 외부 정보(예: 문서, 예시)를 프롬프트에 통합해요. 여기에는 검색된 컨텍스트를 프롬프트에 덧붙이는 Retrieval-Augmented Generation(RAG) (Lewis et al., 2020)과 데이터셋에서 데모를 선택하는 예시 기반 프롬프팅 (Rubin et al., 2021)이 포함돼요. 효과적이긴 하지만, 이런 방법들은 검색 인프라와 올바르게 라벨링된 데이터에 의존해서, 두 가정 중 하나라도 어긋나는 경우에는 도입이 어려워져요.

연속 프롬프트 튜닝 (Continuous Prompt Tuning)

연속 프롬프트 튜닝 방법은 프롬프트를 학습 가능한 벡터로 표현해요. 분명히 이것은 모델 내부에 접근할 수 있어야 한다는 걸 가정해요. 왜냐하면 이 학습 가능한 벡터들이 조건부 생성(conditional generation)을 위해 transformer 레이어에 주입되기 때문이에요. 학습 가능한 벡터는 부분적으로만 바꿀 수도 있고(prefix tuning) 완전히 바꿀 수도 있어요(prompt tuning).

Prefix-tuning (Li et al., 2021)과 prompt tuning (Lester et al., 2021)은 먼저 후보 프롬프트를 벡터로 임베딩한 다음 업데이트해서 효율적인 적응을 가능하게 함으로써 프롬프트 최적화를 수행해요. 이 방법들은 그레이디언트 기반이며 모델 내부 접근을 가정하기 때문에, API 전용 모델에는 적용할 수 없어요.

블랙박스 이산 최적화 (Black-Box Discrete Optimization)

수동 탐색, 진화 전략, 강화 학습 같은 블랙박스 기법들은 그레이디언트 접근 없이 동작하므로 오픈 가중치 모델과 클로즈드 가중치 모델 모두에 동일하게 사용할 수 있어요.

특히 RLPrompt (Deng et al., 2022)는 보상 신호에 기반해서 프롬프트를 생성하도록 강화 학습(RL)으로 학습된 정책 네트워크를 사용해요. 효과적이긴 하지만, 이런 방법은 종종 샘플 비효율적이고 계산 비용이 비싸요.

자기지도 프롬프트 최적화(SPO) 자세히 보기 (Diving into Self-Supervised Prompt Optimization)

Xiang et al. (2025)의 연구에서 Self-Supervised Prompt Optimization(SPO)을 제안했어요. 이는 (i) LLM이 자기 자신의 출력을 평가하게 해서 ground truth의 필요성을 없애고, (ii) 크고 작은 모델을 셀프 루프로 결합해서 샘플 효율과 속도를 높이며, 단 3개의 예시만으로도 프롬프트를 최적화해요.

SPO는 반복 루프를 돌리는데, 모델이 프롬프트 실행기(프롬프트 ( p_k, φ(p_k) ∈ T )가 주어졌을 때 작업을 수행), 평가기(모델 출력을 성능의 스칼라 메트릭으로 매핑 ( e: T ↦ ℝ, e(φ(p_k)) ∈ ℝ )), 그리고 최적화기(( e(p_{k+1}) ≥ e(p_k) )로 ( p_{k+1} )을 최적화)로 동작해요.

후속 프롬프트 간의 쌍별 비교와 개선을 통해, SPO는 외부 감독 없이 프롬프트(p_k)를 개선해요.

SPO는 매우 효율적임이 입증됐고, 오픈형 질문과 클로즈드형 작업 모두에 적용 가능해요. 그레이디언트 기반이나 RL 방법과 달리 라벨링된 데이터나 모델 내부가 필요 없어요. 자연어 공간에서 동작하므로 블랙박스 설정에 잘 맞고 해석 가능성도 유지돼요. 나아가 SPO는 블랙박스와 자기지도 학습의 강점을 결합하고 한계를 최소화하면서 PO(프롬프트 최적화) 지형에서 유망한 위치를 차지해요. 모델이 내부 피드백 루프를 사용해서 스스로 프롬프트를 자율적으로 최적화하도록 하는 유망한 방향을 가리켜요.

프롬프트 최적화에 대한 인사이트 (Insights on Prompt Optimization)

샘플 효율성 (Sample Efficiency) 그레이디언트 기반 방법은 블랙박스 최적화보다 샘플 효율적이어요. 다만 최근의 SPO (Xiang et al., 2025) 같은 연구는 반복당 몇 개의 샘플만으로도 효율적인 최적화를 보여줘요. 샘플 효율성은 특히 더 큰 모델/더 느린 추론 설정을 고려할 때 많은 애플리케이션에서 중요해요.

라벨링된 데이터 의존성 (Dependence on Labeled Data) 연속 튜닝과 RL은 종종 라벨링된 데이터가 필요하지만, SPO 같은 방법은 모델 자기 평가에 의존해서 이를 피해요. 이 점에서 SPO는 이전에 수집된 데이터에 의존하지 않고 프롬프트 최적화를 가능하게 하므로, 다른 방식으로 프롬프트를 최적화할 수 있는 정보가 제한적일 때 선호돼요.

일반화와 전이 (Generalization and Transfer) 대부분의 프롬프트 최적화 기법은 실제로 작업 특화적이에요. 일부 프롬프트(예: "Let's think step by step")는 더 잘 일반화해요. RL로 발견된 프롬프트는 때때로 모델 간에 전이되기도 해요 (Deng et al., 2022).

견고성 (Robustness) 프롬프트 성능은 표현 방식에 따라 부서지기 쉬울 수 있어요. 연속 프롬프트는 해석 가능성이 낮고, 이산 프롬프트는 작은 변화에 민감할 수 있어요. 프롬프트 앙상블 같은 방법이 이를 완화하는 데 도움을 줘요.

계산 비용 (Computational Cost) 수동 프롬프트 엔지니어링은 계산이 저렴하지만, 부서지기 쉬고 노동 집약적임이 입증됐어요. 그레이디언트 기반 튜닝은 더 계산 효율적이며, RL과 검색 기반 방법은 프롬프트를 반복하고 개선하기 위해 필요한 쿼리 수 때문에 비용이 비싸요. SPO 같은 접근 방식은 (i) 제한된 쿼리 수와 (ii) 테스트 시점에 모델 내부를 사용하지 않는다는 점 덕분에 유망해 보여요.

참고문헌 (References)

@article{brown2020language,
  title={Language models are few-shot learners},
  author={Brown, Tom and Mann, Benjamin and Ryder, Nick and Subbiah, Melanie and Kaplan, Jared D and Dhariwal, Prafulla and Neelakantan, Arvind and Shyam, Pranav and Sastry, Girish and Askell, Amanda and others},
  journal={Advances in neural information processing systems},
  volume={33},
  pages={1877--1901},
  year={2020}
}

@article{liu2023pre,
  title={Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing},
  author={Liu, Pengfei and Yuan, Weizhe and Fu, Jinlan and Jiang, Zhengbao and Hayashi, Hiroaki and Neubig, Graham},
  journal={ACM computing surveys},
  volume={55},
  number={9},
  pages={1--35},
  year={2023},
  publisher={ACM New York, NY}
}

@article{ma2023prompt,
  title={Is prompt-based finetuning always better than vanilla finetuning? insights from cross-lingual language understanding},
  author={Ma, Bolei and Nie, Ercong and Schmid, Helmut and Sch{\"u}tze, Hinrich},
  journal={arXiv preprint arXiv:2307.07880},
  year={2023}
}

@article{shin2020autoprompt,
  title={Autoprompt: Eliciting knowledge from language models with automatically generated prompts},
  author={Shin, Taylor and Razeghi, Yasaman and Logan IV, Robert L and Wallace, Eric and Singh, Sameer},
  journal={arXiv preprint arXiv:2010.15980},
  year={2020}
}

@article{li2021prefix,
  title={Prefix-tuning: Optimizing continuous prompts for generation},
  author={Li, Xiang Lisa and Liang, Percy},
  journal={arXiv preprint arXiv:2101.00190},
  year={2021}
}

@article{lester2021power,
  title={The power of scale for parameter-efficient prompt tuning},
  author={Lester, Brian and Al-Rfou, Rami and Constant, Noah},
  journal={arXiv preprint arXiv:2104.08691},
  year={2021}
}

@article{deng2022rlprompt,
  title={Rlprompt: Optimizing discrete text prompts with reinforcement learning},
  author={Deng, Mingkai and Wang, Jianyu and Hsieh, Cheng-Ping and Wang, Yihan and Guo, Han and Shu, Tianmin and Song, Meng and Xing, Eric P and Hu, Zhiting},
  journal={arXiv preprint arXiv:2205.12548},
  year={2022}
}

@article{rubin2021learning,
  title={Learning to retrieve prompts for in-context learning},
  author={Rubin, Ohad and Herzig, Jonathan and Berant, Jonathan},
  journal={arXiv preprint arXiv:2112.08633},
  year={2021}
}

@article{lewis2020retrieval,
  title={Retrieval-augmented generation for knowledge-intensive nlp tasks},
  author={Lewis, Patrick and Perez, Ethan and Piktus, Aleksandra and Petroni, Fabio and Karpukhin, Vladimir and Goyal, Naman and K{\"u}ttler, Heinrich and Lewis, Mike and Yih, Wen-tau and Rockt{\"a}schel, Tim and others},
  journal={Advances in neural information processing systems},
  volume={33},
  pages={9459--9474},
  year={2020}
}

@article{xiang2025self,
  title={Self-Supervised Prompt Optimization},
  author={Xiang, Jinyu and Zhang, Jiayi and Yu, Zhaoyang and Teng, Fengwei and Tu, Jinhao and Liang, Xinbing and Hong, Sirui and Wu, Chenglin and Luo, Yuyu},
  journal={arXiv preprint arXiv:2502.06855},
  year={2025}
}

더 알아보기 (Learn more)

  • 원문 (GitHub)
  • Self-Supervised Prompt Optimization (SPO): Xiang et al. (2025), arXiv:2502.06855