https://arxiv.org/pdf/2302.04813
Abstract:
- CoT 프롬프팅은 추론 과정 설명을 통해서 추론 작업에서 높은 성능을 보여주는게 특징임. 하지만 이런 추론 과정 설명이 부족하면 정확도가 떨어지는 문제가 생김.
- 즉 전문가가 아닌 사람들이 작성한 "off-the-shelf" 설명은 성능이 좋지 않을 수 있다고 함.
- 이 논문에서는 이러한 CoT 추론 과정을 최적화 할 수 있도록 하는 방법을 다룸.
- 간단한 방법론은 다음과 같다:
- Leave-one-out 방식을 사용해서 각 예시마다 추론 과정 설명을 생성함:
- Leave-one-out 방식은 ML 에서 사용하는 개념으로 N 개의 데이터가 있다면 한 개씩 제외시키고, 제외된 한개로 테스트를 해보는 방법임.
- 여기서는 예시 한개를 제외시키고, 나머지 예시들로 해당 예시의 추론 과정을 생성하도록 만드는 방법임.
- 여기서는 다양한 후보 예시를 생성하는 걸 목적으로 이렇게 함.
- 이렇게 생성된 후보 설명은 log likelihood와 새로운 예제에 대한 정확도라는 프록시 메트릭을 통해 평가함:
- log likelihood 는 토큰이 출력되는 확률로, 모델이 얼마나 확신을 가지고 토큰을 출력하는지를 나타내는 지표임.
- 그리고 새로운 예제에 대한 정확도는 후보 추론 과정을 생성할 때 사용하지 않은 새로운 예시를 말함. 새로운 예시에서 얼마나 먹히는지 평가하는 것. (이것도 silver-labeled) 데이터에 대해서 수행)
- 이렇게 제안된 프록시 메트릭이 실제 정확도와 상관관계가 있다고 함.
- 이렇게 좋게 평가된 후보 설명은 silver-labeled 개발 세트에 대해 높은 성능을 내는 조합을 검색한다:
- silver-labeled 개발 세트 는 Gold-labeled 개발 세트와 비교하면 이해할 수 있음.
- Gold-labeled 개발 세트는 전문가가 생성한 답변 (레이블) 이 있는 데이터로 고품질의 데이터를 말함.
- silver-labeled 개발 세트는 이보다 준전문가가 생성한 레이블이 있는 데이터로 대량의 중품질의 데이터를 말한다.
- Leave-one-out 방식을 사용해서 각 예시마다 추론 과정 설명을 생성함:
- 즉 다양한 설명 예시 조합을 찾아내기 위한 것.
Introduction:
- 추론 과정 설명을 포함하는 프롬프팅은 복잡한 추론 작업에서 성능을 향상시킬 수 있음.
- 그러나 이 설명들은 수작업으로 작성되거나 특정 작업에 맞게 조정이 필요하며, 적절한 설명의 조합에 따라 성능이 크게 달라질 수 있다고 함. 이로 인해, 전문가들조차도 최적의 설명을 쉽게 찾기 어렵다고 한다. 또한, 데이터셋에 포함된 설명은 주로 크라우드 워커에 의해 작성되며, 이는 최적화되지 않은 설명일 수 있다고 함.
- 크라우드 워커는 온라인 플랫폼을 통해 여러 사람이 참여하는 작업을 수행하는 사람을 말함.
- 크라우드 워커는 이를 통해 데이터 레이블링, 설명 작성, 이미지 분류, 텍스트 작성 등 다양한 작업을 수행한다.
- 이 논문은 이러한 문제를 해결하고, 텍스트 추론 작업에서 더 나은 성능을 낼 수 있는 설명을 최적화하는 방법을 제안.
- 기존 추론 설명은 부트스트래핑하는 접근 방식을 채택하는 것.
- 부트스트래핑 접근 방법은 기존 데이터를 활용해 새로운 데이터를 생성하거나 성능을 향상시키는 방법으로 사용하는 것.
- 부트스트랩은 스스로 일으켜 새우다라는 뜻으로, 스스로 문제를 해결하거나 발전하는 상황을 말하며, 컴퓨터 개념에서는 자체적으로 실행을 하거나 초기화 하는 걸 말하며, ML 에서는 기존 데이터를 바탕으로 새로운 데이터를 생성하거나 성능을 발전시키닌 방법을 말함.
- 레이블이 없는 개발 데이터셋을 이용하여 시작 설명(예: 크라우드 워커가 작성한 설명)으로부터 후보 설명을 생성한 후, 후보 설명들의 조합을 탐색하여 성능이 높은 조합을 찾는 방법을 제안하는 것.
- 조합을 찾아낼 때는 모든 조합을 평가하지 않고, 생성된 후보 설명들의 점수를 합쳐서 대략적으로 평가를 함. 평가를 silvered-labeled 개발 세트에 대해서 함.
'Generative AI > Prompt Engineering' 카테고리의 다른 글
Learning To Retrieve Prompts for In-Context Learning (0) | 2024.10.02 |
---|---|
Reordering Examples Helps during Priming-based Few-Shot Learning (0) | 2024.10.02 |
Calibrate Before Use: Improving Few-shot Performance of Language Models (0) | 2024.10.01 |
A Survey on In-context Learning (0) | 2024.09.30 |
Fantastically Ordered Prompts and Where to Find Them:Overcoming Few-Shot Prompt Order Sensitivity (0) | 2024.09.30 |