대형 언어 모델은 메타힌트를 통해 자동 힌트 엔지니어링을 수행할 수 있지만, 대규모 언어 모델에서는 복잡한 추론 기능을 안내할 지침이 충분하지 않아 잠재력이 완전히 실현되지 않을 수 있습니다. 그렇다면 자동 프롬프트 프로젝트를 수행하기 위해 대규모 언어 모델을 안내하는 방법은 무엇입니까?
대형 언어 모델(LLM)은 자연어 처리 작업에 사용되는 강력한 도구이지만 최적의 단서를 찾는 데는 많은 수동 시행착오가 필요한 경우가 많습니다. 모델의 민감한 특성으로 인해 프로덕션에 배포한 후에도 프롬프트를 개선하기 위해 추가 수동 조정이 필요한 예상치 못한 극단적인 경우가 발생할 수 있습니다. 따라서 LLM은 큰 잠재력을 가지고 있지만 실제 응용 프로그램에서 성능을 최적화하려면 수동 개입이 여전히 필요합니다.
이러한 과제로 인해 자동 프롬프트 엔지니어링이라는 새로운 연구 분야가 탄생했습니다. 이 분야에서 주목할 만한 접근 방식 중 하나는 LLM의 자체 기능을 활용하는 것입니다. 특히 여기에는 "현재 프롬프트와 샘플 배치를 확인한 다음 새 프롬프트 생성"과 같은 LLM 메타 큐 지침을 사용하는 것이 포함됩니다.
이러한 방법이 인상적인 성능을 달성하는 동안 발생하는 질문은 자동 힌트 엔지니어링에 어떤 종류의 메타 힌트가 적합한가 하는 것입니다.
이 질문에 답하기 위해 University of Southern California와 Microsoft의 연구원들은 두 가지 중요한 관찰 결과를 발견했습니다. 첫째, 프롬프트 엔지니어링 자체는 깊은 추론이 필요한 복잡한 언어 작업입니다. 이는 모델의 오류를 주의 깊게 검사하고, 현재 프롬프트에서 일부 정보가 누락되었거나 오해의 소지가 있는지 확인하고, 작업을 보다 명확하게 전달하는 방법을 찾는 것을 의미합니다. 둘째, LLM에서는 모델이 단계별로 사고하도록 안내하여 복잡한 추론 능력을 자극할 수 있습니다. 모델에 출력을 반영하도록 지시하여 이 기능을 더욱 향상시킬 수 있습니다. 이러한 관찰은 이 문제를 해결하기 위한 귀중한 단서를 제공합니다.
논문 주소: https://arxiv.org/pdf/2311.05661.pdf
연구원은 앞선 관찰을 통해 대상에 대한 힌트 엔지니어링을 보다 효과적으로 수행하기 위해 메타힌트 구축을 목표로 미세 조정 프로젝트를 진행했습니다. LLM 지침을 제공합니다(아래 그림 2 참조). 기존 방법의 한계를 반영하고 복잡한 추론 프롬프트의 최근 발전을 통합함으로써 프롬프트 엔지니어링에서 LLM의 추론 프로세스를 명시적으로 안내하는 단계별 추론 템플릿 및 컨텍스트 사양과 같은 메타큐 구성 요소를 도입합니다.
또한 힌트 엔지니어링은 최적화 문제와 밀접한 관련이 있으므로 배치 크기, 단계 크기, 모멘텀과 같은 일반적인 최적화 개념에서 영감을 빌려 메타 힌트에 도입하여 개선할 수 있습니다. 우리는 두 가지 수학적 추론 데이터 세트인 MultiArith와 GSM8K에서 이러한 구성 요소와 변형을 실험한 결과 PE2라는 이름의 최고 성능 조합을 식별했습니다.
PE2는 실증적 성능에서 상당한 진전을 이루었습니다. TEXT-DAVINCI-003을 작업 모델로 사용할 때 PE2 생성 프롬프트는 제로샷 사고 체인의 단계별 사고 프롬프트에 비해 MultiArith에서 6.3%, GSM8K에서 3.1% 향상되었습니다. 또한 PE2는 두 가지 자동 프롬프트 엔지니어링 기준, 즉 반복 APE와 APO보다 성능이 뛰어납니다(그림 1 참조).
PE2가 반사실적 작업에서 가장 효과적으로 수행된다는 점은 주목할 가치가 있습니다. 또한 이 연구는 긴 실제 프롬프트를 최적화하기 위한 PE2의 광범위한 적용 가능성을 보여줍니다.
연구자들은 PE2의 프롬프트 편집 내역을 검토하면서 PE2가 지속적으로 의미 있는 프롬프트 편집을 제공한다는 사실을 발견했습니다. 부정확하거나 불완전한 힌트를 수정하고 세부 정보를 추가하여 힌트를 더욱 풍부하게 만들어 궁극적인 성능 향상을 가져올 수 있습니다(표 4 참조).
흥미롭게도 PE2가 8진수 덧셈을 모르면 예제에서 자체 산술 규칙을 만듭니다. "두 숫자가 모두 50보다 작으면 합계에 2를 더합니다. 두 숫자 중 하나라도 50 이상이면 22를 더합니다. 합계입니다." 이는 불완전하고 간단한 솔루션이지만, 반사실적 상황에서 추론하는 PE2의 놀라운 능력을 보여줍니다.
이러한 성과에도 불구하고 연구자들은 PE2의 한계와 실패도 인식했습니다. PE2에는 또한 주어진 지침을 무시하고 오류를 생성하는 타당성 등 LLM에 내재된 제한 사항이 적용됩니다(아래 표 5 참조).
배경 지식
팁 프로젝트
프롬프트 엔지니어링의 목표는 주어진 LLM M_task를 작업 모델로 사용할 때 주어진 데이터 세트 D에서 최상의 성능을 달성하는 텍스트 프롬프트 p*를 찾는 것입니다(다음 공식 참조). 보다 구체적으로, 모든 데이터 세트가 텍스트 입력-출력 쌍, 즉 D = {(x, y)}로 형식화될 수 있다고 가정합니다. 최적화 힌트를 위한 훈련 세트 D_train, 검증을 위한 D_dev, 최종 평가를 위한 D_test. 연구자가 제안한 기호 표현에 따르면 프롬프트 엔지니어링 문제는 다음과 같이 설명할 수 있습니다.
여기서 M_task(x; p)는 프롬프트 p가 주어진 모델에 의해 생성된 출력이고 f는 각 예에 대한 것입니다. 평가 기능. 예를 들어, 평가 지표가 정확히 일치하는 경우
자동 프롬프트 엔지니어링에 LLM을 사용하세요
초기 프롬프트 세트가 제공되면 자동 프롬프트 엔지니어는 새롭고 잠재적으로 더 나은 프롬프트를 지속적으로 제시합니다. 타임스탬프 t에서 프롬프트 엔지니어는 프롬프트 p^(t)를 받고 새 프롬프트 p^(t+1)를 작성할 것으로 예상합니다. 새로운 힌트를 생성하는 동안 선택적으로 예제 B = {(x, y, y′ )} 배치를 검사할 수 있습니다. 여기서 y' = M_task(x; p)는 모델에 의해 생성된 출력을 나타내고 y는 실제 레이블을 나타냅니다. p^meta를 사용하여 LLM의 M_proposal이 새로운 제안을 제안하도록 안내하는 메타 프롬프트를 나타냅니다. 따라서
제안된 힌트 p^(t+1)의 품질을 향상시키기 위해 더 나은 메타큐 p^meta를 구성하는 것이 이 연구의 주요 초점입니다.
Building better Meta-cues
큐가 최종 작업 수행에서 중요한 역할을 하는 것처럼, 방정식 2에 소개된 메타큐 p^meta는 새로 제안된 큐의 품질과 전반적인 작업 수행에 중요한 역할을 합니다. 자동 큐 엔지니어링의 품질이 중요한 역할을 합니다.
연구원들은 주로 메타큐 p^meta의 힌트 엔지니어링에 중점을 두고 LLM 힌트 엔지니어링의 품질을 향상시키는 데 도움이 될 수 있는 메타큐 구성 요소를 개발하고 이러한 구성 요소에 대한 체계적인 절제 연구를 수행했습니다.
연구원들은 다음 두 가지 동기를 기반으로 이러한 구성 요소의 기초를 설계했습니다. (1) 자세한 지침 및 배경 정보 제공 (2) 일반적인 최적화 개념 통합. 다음으로, 연구자들은 이러한 요소를 더 자세히 설명하고 기본 원리를 설명합니다. 아래 그림 2는 시각적 표현입니다.
자세한 지침과 상황을 제공합니다. 이전 연구에서 메타 큐는 제안된 모델에 프롬프트의 의역을 생성하도록 지시하거나 일련의 예제를 검사하는 것에 대한 최소한의 지침을 포함했습니다. 따라서 메타큐에 추가 지침과 컨텍스트를 추가하는 것이 도움이 될 수 있습니다.
(a) 신속한 엔지니어링 튜토리얼. LLM이 프롬프트 엔지니어링 작업을 더 잘 이해할 수 있도록 돕기 위해 연구원들은 메타큐의 프롬프트 엔지니어링에 대한 온라인 튜토리얼을 제공합니다.
(b) 2단계 작업 설명. 프롬프트 엔지니어링 작업은 Pryzant 외 연구진이 수행한 것처럼 두 단계로 나눌 수 있습니다. 첫 번째 단계에서 모델은 현재 프롬프트와 일련의 예제를 검사해야 합니다. 두 번째 단계에서 모델은 향상된 프롬프트를 구축해야 합니다. 그러나 Pryzant et al.의 접근 방식에서는 각 단계가 즉석에서 설명됩니다. 대신 연구자들은 메타큐에서 이 두 단계를 명확히 하고 기대치를 미리 전달하는 것을 고려했습니다.
(c) 단계별 추론 템플릿. 모델이 배치 B의 각 예를 주의 깊게 검토하고 현재 프롬프트의 한계를 반영하도록 장려하기 위해 프롬프트 제안 모델 M_proposal을 안내하여 일련의 질문에 답했습니다. 예: 출력이 정확합니까? 프롬프트가 작업을 올바르게 설명합니까? 프롬프트를 편집해야 합니까?
(d) 상황 사양. 실제로 입력 시퀀스 전체에 힌트를 삽입하는 위치는 유연합니다. "영어를 프랑스어로 번역"과 같이 텍스트를 입력하기 전에 작업을 설명할 수 있습니다. 추론 능력을 발동시키기 위해 "단계적으로 생각하라"와 같은 텍스트를 입력한 후에 나타날 수도 있습니다. 이러한 다양한 맥락을 인식하기 위해 연구자들은 단서와 입력 사이의 상호 작용을 명시적으로 지정합니다. 예: "Q: A: 단계별로 생각하세요."
일반적인 최적화 개념을 통합하세요. 앞서 수학식 1에서 설명한 큐 엔지니어링 문제는 본질적으로 최적화 문제인 반면, 수학식 2의 큐 제안은 최적화 단계를 거친 것으로 볼 수 있다. 따라서 연구자들은 그라디언트 기반 최적화에 일반적으로 사용되는 다음 개념을 고려하고 메타큐에 사용할 대응 개념을 개발합니다.
(e) 배치 크기. 배치 크기는 각 팁 제안 단계(수학식 2)에 사용된 (실패한) 예제의 수입니다. 저자는 분석에서 배치 크기 {1, 2, 4, 8}을 시도했습니다.
(f) 단계 크기. 그래디언트 기반 최적화에서는 단계 크기에 따라 모델 가중치가 업데이트되는 정도가 결정됩니다. 프롬프트 프로젝트에서 그에 상응하는 것은 수정될 수 있는 단어(토큰)의 수일 수 있습니다. 저자는 "원래 프롬프트에서 최대 s개의 단어를 변경할 수 있습니다"라고 직접 지정합니다. 여기서 s ∈ {5, 10, 15, None}입니다.
(g) 기록과 모멘텀을 최적화합니다. Momentum(Qian, 1999)은 과거 기울기의 이동 평균을 유지하여 최적화 속도를 높이고 진동을 방지하는 기술입니다. 모멘텀의 언어적 대응을 개발하기 위해 이 문서에는 모든 과거 프롬프트(타임 스탬프 0, 1, ..., t − 1)에 대한 요약, 개발 세트에서의 성능 및 프롬프트 편집이 포함되어 있습니다.
실험
저자는 PE2의 효과와 한계를 평가하기 위해 다음 네 가지 작업 세트를 사용했습니다.
1. 지침 유도; 3. 생산 프롬프트.
향상된 벤치마크 및 업데이트된 LLM. 표 2의 처음 두 부분에서 저자는 TEXT-DAVINCI-003을 사용하여 상당한 성능 향상을 관찰했는데, 이는 Zero-shot CoT의 수학적 추론 문제를 더 잘 해결할 수 있음을 나타냅니다. 또한 두 큐 사이의 간격이 감소하여(MultiArith: 3.3% → 1.0%, GSM8K: 2.3% → 0.6%), 이는 큐 해석에 대한 TEXT-DAVINCI-003의 민감도가 감소했음을 나타냅니다. 이러한 이유로 Iterative APE와 같이 간단한 설명에 의존하는 방법은 최종 결과를 개선하는 데 효과적이지 않을 수 있습니다. 성능을 향상하려면 보다 정확하고 타겟이 명확한 프롬프트 편집이 필요합니다.
PE2는 다양한 작업에서 Iterative APE 및 APO보다 성능이 뛰어납니다. PE2는 MultiArith에서 92.3%의 정확도(Zero-shot CoT보다 6.3% 우수), GSM8K에서 64.0%(+3.1%)의 정확도로 팁을 찾을 수 있습니다. 또한 PE2는 명령어 유도 벤치마크, 반사실적 평가 및 생산 단서에서 Iterative APE 및 APO를 능가하는 단서를 발견했습니다.
위의 그림 1에서 저자는 PE2가 수업 유도 벤치마크, 반사실적 평가 및 생산 프롬프트에서 달성한 성능 향상을 요약하여 PE2가 다양한 언어 작업에서 강력한 성능을 달성했음을 보여줍니다. 특히, 귀납적 초기화를 사용할 때 PE2는 12개의 반사실 작업 중 11개에서 APO를 능가하며(그림 6 참조), 역설적이고 반사실적인 상황에 대해 추론하는 PE2의 능력을 보여줍니다.
PE2는 타겟 프롬프트 편집 및 고품질 프롬프트를 생성합니다. 그림 4(a)에서 저자는 큐 최적화 프로세스 동안 큐 제안의 품질을 플롯합니다. 실험의 세 가지 큐 최적화 방법에서 매우 명확한 패턴이 관찰되었습니다. 반복적 APE는 패러프레이징을 기반으로 하므로 새로 생성된 큐의 분산이 더 작습니다. APO는 급격한 프롬프트 편집을 거치기 때문에 첫 번째 단계에서 성능이 저하됩니다. PE2는 세 가지 방법 중 가장 안정적입니다. 표 3에는 저자가 이러한 방법으로 찾은 최고의 팁을 나열합니다. APO와 PE2 모두 "모든 부품/세부 사항 고려" 지침을 제공할 수 있습니다. 또한 PE2는 배치를 다시 확인하도록 설계되어 단순한 해석 편집을 넘어 "필요에 따라 추가하거나 빼는 것을 기억하세요"와 같은 매우 구체적인 프롬프트 편집까지 가능합니다.
자세한 내용은 원문을 참고해주세요.
위 내용은 '단계적으로 생각하자'라는 진언보다 더 효과적이며 프로젝트가 개선되고 있음을 상기시켜줍니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!