[논문 리뷰] Structured Prompting: Scaling In-Context Learning to 1,000 Examples
이 논문은 구조화된 프롬프팅을 소개한다. 이 방법은 예시를 그룹화하고, 오른쪽 정렬된 위치 임베딩을 사용해 각 그룹을 별도로 인코딩하며, 재스케일링된 어텐션을 통해 모든 예시에 효율적으로 주목할 수 있도록 한다. 이로 인해 계산 복잡도가 이차에서 선형으로 감소하여, 기존의 인코어드 컨텍스트 학습보다 성능과 안정성이 크게 향상된다.
Large language models have exhibited intriguing in-context learning capability, achieving promising zero- and few-shot performance without updating the parameters. However, conventional in-context learning is usually restricted by length constraints, rendering it ineffective to absorb supervision from a large number of examples. In order to go beyond few shots, we introduce structured prompting that breaks the length limit and scales in-context learning to thousands of examples. Specifically, demonstration examples are separately encoded with well-designed position embeddings, and then they are jointly attended by the test example using a rescaled attention mechanism. So we can scale the number of exemplars with linear complexity instead of quadratic complexity with respect to length. Experimental results on a diverse set of tasks show that our approach improves end-task performance and reduces evaluation variance over conventional in-context learning as the number of demonstration examples increases. Code has been released at https://aka.ms/structured-prompting.
연구 동기 및 목표
- 기존의 인코어드 컨텍스트 학습은 컨텍스트 창 크기와 이차 어텐션 복잡도로 인해 일반적으로 5~100개의 예시로 제한되므로, 이를 극복하고자 한다.
- 소수 샘플 범위를 초월해 예시 수를 늘림으로써 인코어드 컨텍스트 학습의 안정성과 성능을 향상시키고자 한다.
- 파라미터 업데이트나 파인튜닝 없이도 대규모 예시 수에 대해 효율적인 선형 복잡도 어텐션을 구현하고자 한다.
- 소수 샘플 인코어드 컨텍스트 학습에서 예시 순서와 순열에 의해 발생하는 성능 변동을 줄이고자 한다.
제안 방법
- N개의 예시를 M개의 그룹으로 나누고, 각 그룹을 오른쪽 정렬된 위치 임베딩을 사용한 디코더 전용 트랜스포머로 별도로 인코딩하여 테스트 입력과의 상대적 거리가 일관되게 유지되도록 한다.
- 각 그룹의 스케일링된 어텐션 키 및 밸류 벡터만 캐시하여 추론 시 효율적인 검색을 가능하게 한다.
- 테스트 입력과 그룹화된 예시 간의 어텐션 점수를 정규화하는 재스케일링된 어텐션 메커니즘을 사용하여 컨텍스트와 입력 기여도를 균형 있게 조절한다.
- 인코딩된 그룹 표현을 테스트 입력과 연결하여 디코더 트랜스포머를 통해 자동회귀 생성을 수행한다.
- 예시 순서에 따라 성능이 변동하는 문제를 해결하기 위해, 자르기, 어텐션 마스킹, 패딩 공간 등의 다양한 정렬 전략을 적용하며, BLOOM에서 자르기 전략이 가장 우수한 성능을 보였다.
- 예시-출력 쌍을 사전에 의미 있는 예시로 변환하기 위해 고정 템플릿을 사용한다.
실험 결과
연구 질문
- RQ1파라미터 업데이트나 파인튜닝 없이도 인코어드 컨텍스트 학습을 수천 개의 예시로 효과적으로 확장할 수 있는가?
- RQ2대규모 예시 수를 처리할 때 어텐션 복잡도를 이차에서 선형으로 줄일 수 있는가?
- RQ3예시 수를 늘림으로써 인코어드 컨텍스트 학습의 성능과 안정성이 향상되는가?
- RQ4자르기, 어텐션 마스킹 등의 정렬 전략 중 어느 것이 다수의 예시를 그룹화할 때 모델 성능을 가장 잘 유지하는가?
- RQ5다양한 NLP 작업에서 구조화된 프롬프팅은 기존의 인코어드 컨텍스트 학습과 비교해 성능 변동과 정확도 측면에서 어떻게 다른가?
주요 결과
- 구조화된 프롬프팅은 텍스트 분류, 다중 선택, 개방형 생성 등 다양한 NLP 작업에서 최신 기준 성능을 달성하며, 기존의 인코어드 컨텍스트 학습을 능가한다.
- BLOOM-7B 모델에서 '자르기' 전략을 사용한 구조화된 프롬프팅은 평균 정확도 72.5%를 기록했으며, 오른쪽 정렬이 없을 경우 70.9%보다 높았다.
- 예시 순서에 따른 성능 변동이 감소하였고, 예시 수가 증가함에 따라 일관된 성능 향상이 관찰되었다.
- FairseqLM-6.7B 모델에서 구조화된 프롬프팅은 평균 정확도 75.6%를 달성하여 다양한 모델 크기에서의 강건성을 입증했다.
- '자르기' 전략은 다른 정렬 방법보다 항상 뛰어난 성능을 보였으며, 특히 BLOOM에서 어텐션 균형을 가장 잘 유지하는 것으로 나타났다.
- 이 방법을 통해 최대 1,000개의 예시를 컨텍스트에 효과적으로 활용할 수 있었으며, 기존의 표준 인코어드 컨텍스트 학습의 일반적인 5~100개 제한을 크게 초월했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.