Predicting Performance of Symbolic and Prompt Programs with Examples
본 논문은 심볼릭 프로그램의 '전부 아니면 전무'적 특성과는 구별되는 LLM 프롬프팅의 확산된 성능 분포를 식별함으로써 LLM 프롬프팅의 불확실성을 효과적으로 해결하기 위해 검색된 유사 작업과 프롬프트 프로그램을 활용하여 근사 사전 분포를 구성하는 성능 예측 프레임워크인 RAP 를 제안합니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
새로운 직원이 큰 업무를 수행할 준비가 되었는지 결정하려는 채용 담당자라고 상상해 보세요. 당신은 두 가지 유형의 후보자를 가지고 있습니다: 로봇(Python 코드와 같은 상징적 프로그램)과 창의적인 프리랜서(AI 에게 작업을 수행하도록 지시하는 프롬프트 프로그램).
이 논문은 다음과 같은 간단한 질문을 던집니다: 두 후보자 모두 몇 가지 작은 연습 테스트를 통과한다면, 실제 업무를 수행할 수 있다고 신뢰할 수 있을까요?
저자들은 다음과 같이 답합니다: 로봇에게는 그렇지만, 프리랜서에게는 그렇지 않을 수 있습니다. 그 이유는 이 논문이 제시한 논리와 비유를 통해 설명해 보겠습니다.
1. 두 가지 유형의 "프로그램"
- 로봇 (상징적 프로그램): 이는 엄격한 계산기와 같습니다. "2 + 2"라고 지시하면 반드시 "4"라고 답해야 합니다. 이는 엄격한 규칙을 따릅니다. 만약 테스트를 통과했다면, 그것은 규칙을 완벽하게 준수했기 때문입니다.
- 프리랜서 (프롬프트 프로그램): 이는 약간 예측 불가능한 똑똑한 예술가에게 "고양이를 그려라"라고 요청하는 것과 같습니다. 당신은 예술가에게 프롬프트 (지시사항) 를 줍니다. 예술가는 훌륭한 고양이를 그리거나, 이상한 고양이를 그리거나, 개를 그릴 수도 있습니다. 몇 가지 연습 테스트를 통과했더라도, 그것은 단순히 운이 좋았거나 실제 세계에는 지시사항이 약간 부적합했을 수 있습니다.
2. "동전 던지기" 모델
저자들은 프로그램이 테스트를 실행할 때마다 동전을 던지는 것과 같다고 가정합니다.
- 앞면: 프로그램이 올바르게 수행합니다.
- 뒷면: 프로그램이 잘못 수행합니다.
목표는 동전의 "무게"를 추측하는 것입니다. 공정한 동전 (50/50) 일까요? 아니면 항상 앞면이 나오는 사기 동전 (100% 성공) 일까요?
3. 큰 발견: 과거의 "형태"
테스트 결과를 보기 전에, 저자들은 수천 개의 이러한 프로그램의 역사를 조사하여 그들의 "동전 무게"가 일반적으로 어떤 형태를 띠는지 확인했습니다. 그들은 두 가지 매우 다른 형태를 발견했습니다.
로봇의 역사 (전부 아니면 전무):
모든 로봇 프로그램의 히스토그램을 상상해 보세요. 그것은 양쪽 끝의 두 개의 높은 뾰족한 봉우리처럼 보입니다.- 뾰족한 봉우리 1: 대부분의 로봇은 완벽합니다 (100% 성공).
- 뾰족한 봉우리 2: 대부분의 로봇은 고장 났습니다 (0% 성공).
- 중간: 거의 없습니다. 로봇은 보통 "그럭저럭" 수행하지 않습니다. 그들은 완벽하거나 완전히 실패합니다.
- 비유: 이는 스위치와 같습니다. 켜져 있거나 꺼져 있을 뿐입니다.
프리랜서의 역사 (확산된 구름):
모든 프리랜서 프로그램의 히스토그램을 상상해 보세요. 그것은 중간에 넓고 평평한 구름처럼 보입니다.- "거의 정확하다"는 프로그램들 (70%, 80%, 90%) 이 많습니다.
- 완벽한 프로그램은 매우 드물고, 완전히 실패한 프로그램도 매우 드뭅니다.
- 비유: 이는 디머 스위치와 같습니다. 대부분의 프리랜서는 중간 어딘가에 위치하며 밝기가 다양합니다.
4. 왜 몇 가지 테스트가 당신을 속이는가
이 차이점이 몇 가지 통과 테스트가 로봇에게는 안심이지만 프리랜서에게는 오해의 소지가 있는 이유를 설명합니다.
- 로봇의 경우: 3 개의 테스트를 통과하는 것을 보게 되면, 그것은 아마도 그 "완벽한" 뾰족한 봉우리 중 하나일 것이라고 알 수 있습니다. "중간 지대"(그냥 그럭저럭일 수 있는 곳) 는 존재하지 않기 때문에, 몇 가지 테스트를 통과하는 것은 계속 작동할 것이라는 강력한 보장이 됩니다.
- 프리랜서의 경우: 3 개의 테스트를 통과하는 것을 보게 되면, 그것은 단순히 운이 좋았던 "거의 정확하다"는 프로그램 중 하나일 수 있습니다. "거의 정확하다"는 프로그램들의 거대한 구름이 존재하기 때문에, 몇 가지 테스트를 통과했다고 해서 나중에 완벽할 것이라고 증명하는 것은 아닙니다. 다음 테스트에서는 쉽게 실패할 수 있습니다.
5. 해결책: RAP(유사성 검색 도구)
프리랜서의 경우 몇 가지 테스트를 신뢰할 수 없기 때문에, 저자들은 RAP(Retrieved Approximate Prior, 검색된 근사 사전) 라는 도구를 개발했습니다.
RAP 를 똑똑한 사서라고 생각하세요.
- 문제: 당신은 새로운 프리랜서 프롬프트와 몇 가지 테스트 결과를 가지고 있습니다. 그것이 좋은지 알 수 없습니다.
- 도서관: RAP 는 이전에 시도된 다른 프롬프트와 작업들의 방대한 도서관을 가지고 있습니다.
- 검색: RAP 는 당신의 새로운 프롬프트를 보고 "도서관에서 당신과 가장 유사한 사람은 누구인가?"라고 묻습니다. 그것은 유사한 문제를 해결한 다른 프롬프트들을 찾아냅니다.
- 예측: RAP 는 일반적인 규칙에 기반하여 추측하는 대신, 과거에 그 유사한 프롬프트들이 어떻게 수행했는지 살펴봅니다. 그것은 당신의 프롬프트에 특화된 맞춤형 "추측 지도"(사전) 를 구축합니다.
- 업데이트: 더 많은 테스트를 실행함에 따라 RAP 는 그 추측을 업데이트합니다.
결과: RAP 는 단순히 추측하거나 도서관 전체를 한 번에 보는 것보다 프리랜서의 성공 여부를 예측하는 데 훨씬 더 뛰어납니다. 그것은 당신이 수행하는 특정 작업 유형에 적응합니다.
요약
- **로봇 (코드)**은 이진적입니다: 그들은 완벽하거나 고장 났습니다. 몇 가지 테스트는 그들이 완벽함을 증명합니다.
- **프리랜서 (프롬프트)**는 가변적입니다: 그들은 종종 "거의 좋다"는 상태입니다. 몇 가지 테스트는 그들이 신뢰할 수 있음을 증명하지 못합니다.
- RAP는 몇 가지 운 좋은 테스트 실행에만 의존하는 대신, 새로운 프롬프트가 얼마나 잘 작동할지에 대해 더 똑똑한 추측을 하기 위해 유사한 과거 사례들을 살펴봄으로써 이를 해결합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.