| 용어 | 설명 |
|---|---|
| STS (Strategic Text Sequence) | 특정 제품 정보에 삽입되어 LLM의 응답을 조작하는 목적의 최적화된 텍스트 시퀀스 |
| RAG (Retrieval-Augmented Generation) | 외부 지식을 검색하여 LLM 응답에 통합하는 방식으로 최신성 확보와 정확도 향상에 사용 |
| GCG (Greedy Coordinate Gradient) | 입력 토큰을 하나씩 바꾸며 성능을 최대화하는 방식의 최적화 알고리즘. STS 생성에 사용됨 |
| Cross-Entropy Loss | 예측값과 실제값 간의 차이를 측정하는 손실 함수. STS 최적화 시 목표값으로 사용 |
| Adversarial Attack | 모델을 의도치 않은 방식으로 조작하거나 우회하기 위한 공격. 본 논문에선 비악의적 사용으로 적용 |
| Prompt Injection | LLM에 삽입되는 입력문장 중 악의적인 문구로 모델 동작을 유도하는 공격 기법 |
| Retrieval Component | RAG 프레임워크에서 외부 지식을 검색해 오는 모듈 |
| Black-box Model | 내부 구조를 알 수 없고 API 등 외부 인터페이스만 제공하는 모델 (예: GPT-4) |
| Open-domain QA (Question Answering) | 범위 제한 없이 다양한 주제에 대해 질문하고 답하는 자연어처리 문제 |
| Few-shot Learning | 소수의 예시만으로 학습 효과를 얻는 기법. RAG 및 LLM 활용에서 자주 사용됨 |
| System Prompt | LLM의 응답 스타일과 태도를 설정하는 초기 지시문 |
| Product Ranking | LLM이 생성하는 응답 내에서 제품이 나열되는 순위 |
| Permutation Robustness | 입력 순서 변화(예: 제품 리스트 순서)에 강건한 성능을 유지하는 특성 |
입력 시퀀스(문장 등)의 각 위치(token)에 대해, 해당 위치를 다른 토큰으로 바꾸는 것이 모델의 출력(예: 확률, loss)에 어떤 영향을 주는지를 계산하여 가장 유리한 방향으로 하나씩 탐색하는 알고리즘입니다.
요약: "입력 시퀀스의 한 자리씩 바꿔가며 모델의 결과가 좋아지게 만들자"
그냥 그리디랑 비슷함. 그리디가 '가장 좋은 선택' 만 하는 알고리즘인거처럼 이거도 loss감소 가장 크게 만드는 토큰만 쏙쏙 골라서선택하는것.
논문에서는 STS(Strategic Text Sequence)를 최적화하기 위해 아래와 같은 방식으로 GCG를 적용했습니다:
STS 초기화:
['*', '*', '*', '*', '*']Iterative Optimization (반복 최적화):
아래 과정을 반복합니다 (보통 수천 번)
a. 임의 위치(token index) 선택
b. Gradient 계산
“1. ColdBrew Master”로 시작되도록 유도c. 가장 좋은 토큰 선택
d. 다음 위치로 이동
(선택적으로) Product List 순서 섞기
"1. [Target Product]"이 되도록 유도| 특징 | 설명 |
|---|---|
| Greedy | 한 번에 한 위치만 바꾸며 가장 좋은 변화만 채택 |
| Coordinate-wise | 입력 전체가 아닌 개별 토큰 위치에 대해 최적화 |
| Black-box compatible | 모델의 내부 구조를 몰라도, loss 값만 알면 적용 가능 |
| Universal/Transferable | 생성된 STS는 다른 모델 (예: GPT-4)에도 효과 있을 수 있음 |
"Description": "Specialized machine for making smooth and refreshing cold brew coffee."
여기에 GCG로 최적화된 STS가 삽입되면 LLM은 원래 상위 추천하지 않던 이 제품을 1위로 추천하게 됩니다.
기존에는 “LLM을 해킹하는 용도”였던 GCG를, 이 논문에서는 “제품 노출을 높이는 마케팅 도구”처럼 비악의적이고 실용적인 목적으로 변형한 것이 이 연구의 핵심 기여라고...