작성자: 크리쉬 마니아르, 윌리엄 푸-힌손
큐를 작성할 때는 복잡한 데이터에 이러한 지침을 적용할 수 있도록 대규모 언어 모델(LLM)에 의도를 전달하려고 노력합니다. 하지만 모든 뉘앙스를 한 번에 명확하게 표현하는 것은 쉽지 않습니다. 프롬프트 엔지니어링은 수동 시행착오, 테스트 및 튜닝을 통해 최적화되는 경우가 많지만, DSPy와 프롬프팀과 같은 도구는 '프롬프트 프로그래밍'과 체계적인 프롬프트 최적화의 가치를 입증합니다. 이러한 도구는 실제 데이터를 측정하고 테스트하여 의도와 지침 사이의 간극을 메웁니다. 이 백서에서는
- 벤치마킹을 위해 검증 가능한 결과를 가진 5개의 데이터 세트가 최적화 촉진을 위해 선택되었습니다.
- 프롬프트를 체계적으로 개선하는 다섯 가지 방법을 실현하고 비교했습니다.
- 세 가지 모델을 평가했습니다(
gpt-4o
및claude-sonnet
및o1
) 큐 최적화
결론은 이렇습니다:
- 큐 최적화를 위해 권장하는 모델은 다음과 같습니다.
claude-sonnet
(다음보다 낫습니다.o1
) - 큐 최적화는 모델에 도메인 지식이 부족한 작업에서 가장 효과적입니다.
- 이러한 경우 큐 최적화를 통해 기본 큐보다 약 200%의 정확도를 향상시킬 수 있습니다.
- 큐 최적화는 데이터에서 직접 학습하고 다음에 적응하는 장기 기억의 한 형태로도 볼 수 있습니다.
테스트 내용.
저희는 널리 사용되는 5가지 큐 최적화 방법을 벤치마킹했습니다(나중에 자세히 설명합니다):
- 단발성 프롬프트: 원하는 행동의 데모로 교육 예시 사용
- 메타 프롬프트: LLM으로 프롬프트 분석 및 개선하기
- 반영을 통한 메타 프롬프트: LLM이 업데이트된 프롬프트를 제출하기 전에 제안한 변경 사항을 반영하고 비판적으로 분석할 수 있습니다.
- 프롬프트 그라데이션: 각 예제에 대한 '텍스트 그라데이션'을 개선 제안으로 생성한 다음 다른 LLM 호출에서 해당 제안을 적용합니다.
- 진화적 최적화: 제어된 돌연변이를 통한 큐 공간 탐색
세 가지 모델(O1, GPT-4o, Claude-3.5-Sonnet)에서 이러한 방법을 실행하고 일반적인 작업을 나타내는 다섯 가지 데이터 세트에서 테스트하여 다음과 같은 핵심 질문에 대한 답을 얻었습니다:
- 최적화를 위한 팁은 언제 가장 효과적일까요?
- 큐 최적화에 적합한 프론티어 모델은 무엇인가요?
- 어떤 알고리즘이 가장 신뢰할 수 있나요?
산술
각각 고유한 최적화 이론을 가진 5가지 큐 최적화 방법을 테스트했습니다:
몇 번 촬영한 프롬프트
이 접근 방식은 가장 간단한 방법으로, 훈련 세트에서 최대 50개의 예시(여러 훈련 주기에 걸쳐 샘플링)를 선택하여 원하는 동작의 데모로 큐에 포함시킵니다. 이 접근 방식은 학습 비용이 낮지만(변경 사항을 제안하는 데 LLM 호출이 필요하지 않음), 테스트 시에는 토큰 더 높은 비용 (데모 예시에는 일반적으로 직접적인 지침보다 더 많은 콘텐츠가 포함되어 있기 때문에).
메타 프롬프트(메타 프롬프트)
이것은 가장 기본적인 인스트럭션 튜닝 방법 중 하나입니다. 먼저 타겟 LLM이 예제를 실행한 다음 출력의 등급을 계산합니다(참고: 평가기를 설정해야 함). 그런 다음 메타 큐 LLM에 입력, 출력, 참조 출력(있는 경우), 해당 출력에 대한 현재 큐의 점수를 제공하고 더 나은 큐를 작성하도록 요청합니다. 이 프로세스는 소량의 데이터 배치에 대해 반복되며, 유지된 개발 세트(개발 세트)에서 주기적으로 평가하여 가장 높은 점수를 받은 큐를 유지합니다.
반성을 통한 메타 프롬프트(반성을 통한 메타 프롬프트)
메타 프롬프트 위에 '생각하기' 및 '비평하기' 도구를 제공하세요. 이러한 도구를 사용하면 LLM이 큐 업데이트를 제출하기 전에 초안 영역에만 반영 사항을 기록할 수 있으므로 최종 버전을 제출하기 전에 이전 큐를 분석하고 데이터에서 숨겨진 패턴을 발견하는 데 더 많은 컴퓨팅 성능을 사용할 수 있습니다.
프롬프트 그라데이션(프롬프트 그라데이션)
Pryzant 외의 논문은 다음과 같습니다.자동 프롬프트 최적화'최적화 프로세스'에서 영감을 얻은 이 접근 방식은 최적화 프로세스를 여러 단계로 나눕니다:
- 현재 프롬프트의 출력 점수 매기기
- 실패한 예제에 대한 구체적인 피드백(예: "그라데이션")을 LLM이 생성하도록 합니다.
- 이러한 "그라데이션"을 기반으로 한 신속한 업데이트
이 방법의 핵심 아이디어는 변경하기 전에 세분화된 피드백을 수집하면 메타 프롬프트 방식보다 더 목표에 맞는 개선 제안을 할 수 있다는 것입니다.
진화적 최적화(EO)
알고리즘은 '세대'로 실행되며, 각 세대는 여러 단계를 거쳐 최적화됩니다. 각 세대마다 알고리즘은 큐에 반무작위적인 '돌연변이'를 적용한 다음(이 실험에서는 다양한 유형의 큐 업데이트를 통해 LLM에서 이러한 돌연변이를 생성함) 가장 성능이 좋은 큐를 유지합니다.
이 실험에서는 Cui 등이 제안한 최첨단 기법을 사용했습니다. PhaseEvo'텍스트 그라데이션' 접근 방식과 보다 글로벌한 변형 전략을 결합하여 더 큰 규모의 큐 공간을 탐색함으로써 로컬 최적성 문제를 극복합니다.
데이터 집합
벤치마킹을 위해 5개의 데이터 세트를 만들었습니다:
- 메일 배포 지원 3수신되는 각 이메일이 분류되어 3개의 프로세서 중 하나에 할당됩니다.
- 메일 배포 지원 10(1)과 비슷하지만 프로세서가 10개로 늘어나면 각 프로세서의 '도메인 전문성'이 충분히 명확하지 않기 때문에 작업이 더 어려워집니다.
- 다국어 수학LLM은 수학 응용 문제를 풀고 5개 언어 중 한 가지 언어로 답안을 작성하는 시험입니다. 대상 언어는 문제 주제에 따라 결정됩니다(스포츠 → 한국어, 우주 → 아랍어, 요리 → 독일어, 음악 → 영어, 야생동물 → 러시아어). 옵티마이저는 데이터에서 이 숨겨진 패턴을 발견해야 합니다.
- 메일 어시스턴트(간편)LLM이 이미 도메인 지식을 가지고 있는 작업에 큐 최적화가 유용한지 테스트하기 위한 합성 데이터 집합으로, LLM은 이메일을 무시할지, 회신할지, 사용자에게 알려서 처리할지 판단해야 합니다.
- 메일 도우미(환경설정)이 작업은 이전 데이터 세트와 비슷하지만 작업 규칙은 더 미묘합니다. 우리는 바쁘고 '괴짜'인 기술 전문가를 이메일 선호도 규칙을 만드는 사람으로 설정하여 근거가 되는 레이블을 제공했습니다.
결국
우리는 5개의 데이터 세트에 OpenAI의 GPT-4o와 O1을 사용하며, 그 외에도 인류학 를 메타 큐 LLM으로 최적화했습니다. 타깃 LLM은 GPT-4o-mini였습니다(즉, 다른 모델을 사용하여 GPT-4o-mini 큐를 최적화했습니다).
다음 그림은 다양한 데이터 세트와 알고리즘에 대한 최적화 결과를 보여줍니다:
모든 테스트 데이터 세트의 평균 상대적 개선 값인 100%는 정확도가 두 배로, 200%는 정확도가 원래의 3배로 증가했음을 나타냅니다.
결과에서Claude는 보다 안정적인 옵티마이저 모델입니다.O1보다 안정성이 더 높습니다. 또한 O1은 처리 시간, 비용, API 안정성 측면에서 단점이 있습니다(OpenAI 엔드포인트가 요청을 ToS 위반으로 잘못 표시하는 경우가 있음). 따라서 현재 힌트 최적화를 위한 기본 모델로 Claude-3.5-Sonnet을 권장하고 있습니다. O3 및 기타 새로운 모델이 출시되면 이 권장 사항을 업데이트할 예정입니다.
발견한 내용
위의 결과는 일반적으로 대규모 언어 모델(LLM)이 입력 단서 엔지니어링에서 우수한 성능을 보인다는 기존 문헌을 뒷받침합니다. 또한 이러한 실험을 통해 LLM이 효과적일 때(또는 그렇지 않을 때)도 밝혀졌습니다.
- 메타 프롬프트(메타 프롬프트) 존재검색 규칙 또는 환경설정 및 기타 명확한 패턴은 특히 이러한 정보가 LLM의 원래 지식 영역을 벗어난 경우 특히 유용합니다. 즉, 예제를 통해 원하는 동작을 정의하고 이러한 동작을 다른 LLM이 합리적인 지침을 따를 수 있는 한 최적화 도구에 의존할 수 있습니다. 이를 통해 선언적 입력 힌트 프로그래밍 모델이 가능합니다.
- 메타 힌트(명령어로 미세 조정) 에서 환경 설정을 전달할 때뉘앙스 측면은 덜 유용합니다. 예를 들어, 간단한 이메일 분류 데이터 세트에서는 모든 입력 단서 미세 조정 방법이 소수 샷(소수 샷) 입력 단서 방법보다 성능이 떨어집니다. 이 데이터 세트에서 분류는 주로 명시적 규칙보다는 퍼지 규칙과 조건부 판단을 기반으로 이루어졌습니다.
- 결합샘플 입력 프롬프트 및 명령 미세 조정 감소 는 보완적인 개선 사항을 가져올 수 있습니다. 이는 옵살 옹 외 노래로 응답 Wan et al. 연구 결과는 일관성이 있습니다. 샘플이 적은 예시는 단순한 지침보다 더 많은 정보를 전달할 수 있지만, 다음을 포괄할 수는 없습니다.복잡한 조건 및 규칙 이는 엔터프라이즈 에이전트에게 필요한 중요한 부분일 수 있습니다. 반면에 반영, '텍스트 그라데이션' 또는 진화 알고리즘을 통한 입력 단서 최적화는 기존 성능 및 데이터 세트 특성을 기반으로 보다 목표에 맞게 개선하는 동시에 토큰 효율성을 개선할 수 있습니다. 토큰 효율성도 개선됩니다.
- 메타 프롬프트는 모델에 새로운 기능을 제공하지 않습니다. . 예를 들어, 다국어 수학 데이터 세트에서 GPT-4o-mini는 주로 추론 오류로 인해 최적화된 구성에서도 65% 합격률을 돌파하지 못했습니다. 최적화 도구는 모델에 다음과 같은 방법을 안내할 수 있습니다. 발현 (때로는 예제를 통해 추론 경로를 유도하면 더 나은사고 방식 ), 하지만 더 강력한 추론 능력이나 더 복잡한 도메인별 지식을 얻을 수 있는 것은 아닙니다.
평가 그 이상
저희는 팀이 LLM 애플리케이션을 체계적으로 평가할 수 있도록 LangSmith를 구축해 왔습니다. 좋은 평가를 통해 문제를 파악하고 시스템의 동작을 이해할 수 있습니다. 하지만 평가 과정에서 구축된 데이터 세트와 메트릭은 최적화를 통해 모델 성능을 체계적으로 개선하는 훨씬 더 중요한 가치도 제공합니다.
실험의 데이터 세트는 명확하기 때문에 최적화 프로세스에서 좋은 성능을 발휘합니다,검증 가능한 결과 ::
- 실제 레이블로 라우팅 결정
- 검증 가능한 수학적 답변
- 프로그램에서 확인할 수 있는 언어 제약 조건
모호하거나 신뢰할 수 없는 지표에 최적화하면 입력 단서가 개선되기보다는 악화되는 경향이 있기 때문에 이 점이 중요합니다. LLM이 퍼지 기준만으로 출력을 판단하면 실제 요구 사항을 충족하기보다는 자체적인 편견에 따라 최적화하는 경향이 있습니다.
LangSmith에서 애플리케이션 성능을 추적하고 있다면 이미 효과적인 입력 프롬프트 최적화를 위한 토대를 마련하고 있는 것입니다. 동일한 데이터 세트는 실패 원인을 이해하는 데 도움이 될 뿐만 아니라 체계적인 개선을 유도합니다. 데이터, 메트릭, 학습은 폐쇄형 루프를 형성합니다.
입력 프롬프트, 즉 장기기억의 최적화
최적화는 학습이므로 입력 단서 최적화는 '항상 켜져 있는' 행동 패턴을 포착하는 특별한 형태의 장기 기억으로 생각할 수 있습니다.
기존 메모리 시스템은 정보를 데이터베이스(벡터, 그래프 또는 기타 형식)에 저장하는 반면, 입력 단서 최적화는 정보를 지능의 입력 단서에 직접 저장하여 항상 사용할 수 있고 모든 의사 결정에 영향을 미칩니다. 이 접근 방식은 행동 규칙, 스타일 선호도, 주요 성격 특성과 같은 핵심 패턴을 저장하는 데 특히 적합합니다.
'학습 및 개선' 프로세스는 기존의 입력 단서 최적화와 매우 유사하지만 업데이트가 예약되는 방식과 저장되는 위치에서 약간의 차이가 있습니다. 입력 단서 최적화와 학습 알고리즘에 사용되는 기술은 메모리 시스템에도 적용될 수 있습니다. 이는 저희가 적극적으로 연구하고 있는 방향입니다.
중요성
이러한 결과는 LLM 기반 입력 프롬프트 최적화가 입력 프롬프트를 체계적으로 개선하고 현재의 수동 시행착오 위주의 입력 프롬프트 엔지니어링 프로세스를 자동화할 수 있다는 저희(및 DSPy와 같은 연구자)의 관찰을 뒷받침합니다. 모든 이해관계자가 이 접근 방식에 더 쉽게 접근할 수 있도록 하면 더 좋고 강력한 시스템을 구축하는 데 도움이 될 수 있습니다.
하지만 이는 모든 작업에 적용되는 만능 솔루션이 아닙니다. 최적화된 입력 프롬프트는 테스트 세트에서 최적이 아니며 개선 정도는 작업마다 다릅니다. 이는 입력 힌트 최적화가 유일한 접근 방식이 아니라 LLM 애플리케이션 최적화 툴박스에서 하나의 도구로 고려되어야 함을 시사합니다.
이러한 인사이트를 LangSmith에 직접 통합하여 팀이 수동 입력 프롬프트 엔지니어링을 넘어설 수 있도록 지원할 계획입니다. 우리의 목표는 인간의 판단을 없애는 것이 아니라 보다 체계적이고 데이터에 기반한 의사 결정을 내리는 것입니다.
재발 실험
실행할 수 있습니다. GitHub 리포지토리 정곡을 찌르세요 all_sweeps.sh
스크립트를 사용하여 이러한 실험을 재현할 수 있습니다.
부록
교육 역학
이전 섹션에서는 다음 사항에 중점을 두었습니다.최종 테스트 세트에 대한 입력 단서의 성능. 아래에는 개발 세트에서 각 데이터 세트의 학습 역학 그래프가 나와 있습니다. 이 그래프는 다양한 알고리즘이 데이터 세트에 얼마나 잘 맞는지 보여주며, 최종 점수를 비교하여 알고리즘이 데이터 세트에 불안정한 방식으로 잘 맞는지 여부를 파악하는 데 사용할 수 있습니다.오버피팅 데이터에 대한 일관된 상승을 제공하지 못했습니다.
메일 라우팅 지원(3개 클래스)
대부분의 옵티마이저는 기준 입력 단서에서 개선되었으며, 그라데이션 및 진화 방법도 비슷한 성능을 보였습니다. 특히 Claude는 모든 방법에서 GPT-4o보다 성능이 뛰어나지만, 개발 세트에서는 메타 큐잉 방법을 사용할 때 Claude와 GPT-4o가 크게 개선되지 못했습니다.

메일 라우팅 지원(10개 클래스)
GPT-4o를 사용한 메타 큐 및 메타 큐+반사 설정은 데이터 세트의 분류 규칙을 학습하는 데 실패했습니다. 일반적인 패턴이 나타나기 시작합니다. 곡선이 평평하게 유지되면 알고리즘이 학습에 실패한 것입니다. 곡선이 만점에 빠르게 가까워지면 과적합이 있을 수 있습니다. 최고의 테스트 세트 성능은 개발 세트에서 꾸준한 개선을 보이는 알고리즘에서 나오는 경향이 있습니다.

다국어 수학 데이터 세트
이 데이터 세트의 학습 성능불연속 일부 설정은 2라운드 또는 3라운드(또는 그 이후)가 되어서야 큰 효과를 볼 수 있기 때문입니다. 이는 트래킹이편집 역사 최근 한두 번의 시도에만 집중하는 것이 아니라, LLM은 메타 옵티마이저 역할을 하며 편집 기록을 기반으로 보다 효과적인 업데이트 전략을 수립할 수 있습니다.

입력 프롬프트 비교
궁극적으로는 입력 프롬프트의 세부 사항보다 다운스트림 지표에 더 신경을 쓰지만, 옵티마이저가 수정 사항에 대해 무엇을 학습했는지, 어떤 변경 사항으로 인해 개선이 이루어졌는지 분석하는 것은 여전히 가치가 있습니다.
이메일을 지원하는 10등급으로 분류된 데이터 세트의 예를 사용하여 네 가지 최적화 알고리즘을 비교합니다:

네 가지 알고리즘 모두 주요 분류 규칙을 학습했습니다. 그러나 그라데이션 방식은 퍼지 경계를 찾는 데 약하고 다른 방식은 '우선 순위 규칙'을 공식화하거나 의사 결정 트리를 구성하여 분류 기준을 지정하는 것을 선호합니다.
동일한 알고리즘 하에서 서로 다른 최적화 모델을 비교할 때도 동작의 차이를 볼 수 있습니다. 예를 들어, O1은 서로 다른 기법(예: 샘플이 적은 예제와 단계별 지침 합성)을 결합하고 특징적인 구분 기호("-")를 사용하여 규칙 집합을 구별하는 것을 선호하는 것으로 보입니다. 반면 Claude 보다 간결하고 직접적일 뿐만 아니라 우선순위 규칙과 도메인 매핑도 학습합니다. 이와 대조적으로 GPT-4o는 가장 낮은 정보 밀도를 생성합니다.

© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...