최상의 대답 >는 LLM이 출력을 생성하는 방법을 이해하고 그에 따라 입력 프롬프트를 공식화하는 것입니다. 모델의 최대 잠재력을 활용하기 위해 사용자 입력에 적용되는 일련의 기술은 프롬프트 엔지니어링이라고합니다.
이 기사에서는 가장 강력한 신속한 엔지니어링 기술 중 하나 인 COT (Chain of-Thought) 프롬프트를 탐구 할 것입니다. 이 기술은 모델이 추론 또는 문제 해결이 필요한 복잡한 작업을보다 쉽게 완료 할 수 있도록 프롬프트를 구성하는 것이 포함됩니다. COT가 없으면 동일한 모델이 정답을 제공하지 못하는 것으로 나타났습니다. 모델 기본 기능
LLM은 일반화하는 능력으로 알려져 있지만 모델 기능은 에 따라 다릅니다. LLM을 사용할 때는 각 모델이 거대하지만 제한된 데이터베이스에서 교육을 받았으며 특정 작업에 대해 최적화되었음을 고려하는 것이 중요합니다. 따라서 모델은 특정 도메인에서 고도로 성능을 발휘할 수 있지만 다른 도메인에서는 실패 할 수 있습니다.
모델 기능은 또한 타이밍에 따라 다릅니다. 인간과 마찬가지로 5 자리의 합을 주면 정답으로 생각하고 대답하는 데 약간의 시간이 필요합니다. 서두르면 쉽게 계산하고 응답에 실패 할 수 있습니다.
마찬가지로, 우리가 언어 모델에 다음 토큰을 계산하는 데 걸리는 시간에 너무 복잡한 작업을 제공하면 정답을 제공하지 못할 수 있습니다. .
그러나 인간과 유사하지만 반드시 모델이 작업을 수행 할 수 없다는 것을 의미하지는 않습니다. 사물을 추론하기위한 시간이나 지침으로 모델은 여전히 안정적으로 대답 할 수 있습니다.
모델의 반응과 생성하는 데 필요한 시간은 질문의 특정 문구와 같은 다양한 요인에 의해 영향을받을 수 있습니다.
프롬프트가
짧고 단순한 인 경우, 모델이 다음 토큰을 생성하는 데 많은 시간이 걸리지 않을 수 있습니다. .
프롬프트가 길고 복잡한 인 경우, 다음 토큰을 생성하기 전에 더 많은 정보를 처리해야 할 수도 있습니다.
추정 가이드 가이드 LLM은 프롬프트를 공식화하는 방법을 선택하고 정답을 생성하는 데 필요한 시간 또는 단계를 모델에 제공함으로써 복잡한 작업을 해결하는 데 성공하도록 가이드입니다.
생각의 사슬이란 무엇입니까?
중심의 프롬프트는 최종 답변에 도달하기 전에 단계별 설명 또는 추론 프로세스를 생성하도록 모델이 명시 적으로 프롬프트하여 언어 모델의 성능을 향상시키는 기술입니다. 이 방법은 모델이 문제를 분류하고 추론 실패를 피하기 위해 중간 작업을 건너 뛰지 않도록 도와줍니다.
코트는 LLM의주의 메커니즘에 집중하는 데 도움이되기 때문에 효과적입니다. 추론 프로세스의 분해는 모델이 한 번에 문제의 한 부분에주의를 집중시켜 너무 많은 정보를 동시에 처리함으로써 발생할 수있는 오류의 위험을 최소화하게합니다.
COT의 기원
Google의 연구원들은 2022 년에“큰 언어 모델에서 추론을 유발하는 사고의 사고 체인”이라는 제목의 논문에 소개되었습니다.이 연구는 일련의 중간 추론 단계를 통해 모델을 어떻게 안내하는 방법을 강조했는지, 수학적 문제 해결, 논리적 추론, 그리고 멀티-홀의 질문에 대한 작업에 대한 작업에 대한 성과가 크게 향상되었는지.
제안 된 예 중 하나를 보자
표준 프롬프트와 COT 프롬프트 간의 비교
왼쪽 에서이 모델은 최종 답변 (표준 프롬프트)을 직접 제공하도록 지시받습니다. 오른쪽에서,이 모델은 최종 답변 (COT 프롬프트)에 도달하기위한 추론 과정을 보여 주도록 지시받습니다.
우리가 관찰 할 수 있듯이, 일련의 중간 추론 단계 인 일련의 사고 체인을 생성하는 것은 모델이 정답을 제공하는 데 도움이됩니다.
원래의 저자는 사고의 사슬을 최종 출력으로 이어지는 일련의 중간 자연 언어 추론 단계라고하며,이 접근법을 사슬의 사슬 프롬프트라고합니다.
사슬의 사슬은 어떻게 일을 하는가?
프로세스는 모델이 문제를 단계별로 생각하도록 장려하는 제작 프롬프트로 시작하여 최종 답변으로 바로 점프하지 않고 중간 단계를 생성합니다. 이것은 다른 전략을 사용하여 수행 할 수 있습니다 :
#1. 명시 적 지침 명시 적 지침을 제공한다는 것은 사용자 프롬프트 자체의 문제를 분해하는 것을 의미합니다. 예를 들어,“첫 번째, 우리는 고려해야합니다…”와 같은 문장을 사용하여 모델에 사고 과정을 자세히 설명하도록 자극합니다.
실제로 그것을 보자!
내 스페인 엄마가 콜드 맥주를 준비하기위한 가족 레시피를 보냈다고 상상해보십시오.
우리는 커피 관련 단어를 영어로 번역하는 데 관심이 있다고 가정 해 봅시다.
이 프롬프트에 대한 응답은 다음과 같습니다
우리가 모델 에이 작업을 곧바로 수행하도록 요청하면 작업이 잘못 수행된다는 것을 알 수 있습니다. 관련없는 커피 단어를 출력 할뿐만 아니라 영어가 아닌 스페인어로 출력합니다.
우리는이 작업이 두 단계가 필요하므로 복잡하다고 생각할 수 있습니다.
텍스트를 스페인어에서 영어로 번역합니다
커피 관련 단어 식별
대신, 모델은 커피 관련 단어를 식별하는 최종 작업으로 바로 이동하여 번역 단계가 누락됩니다. 번역을 중간 작업으로 지정하거나 메인 두 단계에서 작업을 분해함으로써 모델을 올바른 출력으로 안내 할 수 있습니다.
위에 생각한 체인을 포함하여 정답으로 이어집니다
input_text = """
¡Preparar café Cold Brew es un proceso sencillo y refrescante!
Todo lo que necesitas son granos de café molido grueso y agua fría.
Comienza añadiendo el café molido a un recipiente o jarra grande.
Luego, vierte agua fría, asegurándote de que todos los granos de café
estén completamente sumergidos.
Remueve la mezcla suavemente para garantizar una saturación uniforme.
Cubre el recipiente y déjalo en remojo en el refrigerador durante al
menos 12 a 24 horas, dependiendo de la fuerza deseada.
"""
로그인 후 복사
이 기사에서와 같이 chatgpt 나 OpenAi API가 아닌 다른 LLMS 에서이 기술을 시험해 보는 데 관심이 있다면“큰 언어 모델 개발”과정은 당신을위한 것입니다!
.
#2. 암시 적 지침
때때로, 프롬프트에서 문제를 스스로 분해 할 필요가 없습니다. 도쿄 대학 (University of Tokyo)은 Google Research와 함께 원래 프롬프트가 끝날 때 단순히 "단계별로 생각하자"를 추가하는 LLM 응답을 개선하는 좋은 방법을 제안했습니다.
이 간단한 문장은 모델이 크게 추론하고 작업을 수행하기 위해 필요한 모든 단계를 거치도록 촉구합니다.
저자가 원래 논문에서 제안한 예제 중 하나를 분석 해 보겠습니다.
prompt = f"""
Give me a numbered list of all coffee-related words in English from the text below:
Text: <{input_text}>
"""
response = chatgpt_call(prompt)
print(response)
로그인 후 복사
표준 프롬프트와 암시 적 COT 지침의 사용 간의 비교. 왼쪽 에서이 모델은 문제에 대한 최종 답변을 바로 (제로 샷 프롬프트) 제공하고 실패합니다. 오른쪽에, 모델은 암시 적 COT 명령 (COT 프롬프트)이 올바른 응답을받는 지시를받습니다.
[a] 첫 번째 예에서 저자는 모델에 산술 문제를 해결하도록 요청하지만이 작업에서는 실패합니다.
.
[b] 그런 다음 원래 질문에“단계별로 생각하자”를 추가하여 모델은 대답을 크게하고 성공합니다. .
이 간단한 트릭을 다중 시리어 수학 데이터 세트에 적용하면서 저자는이 암시 적 명령이 정확도를 18%에서 79%로 4 배로 늘 렸음을 발견했습니다!
관심이 있으시면“이 짧은 프롬프트를 사용하여 Chatgpt의 결과를 향상 시키십시오.”에서이 기술에 대한 자세한 내용을 읽을 수 있습니다.
#3. 실증 예
우리는 위의 섹션에서“제로 샷”이라는 용어를 여러 번 사용했습니다. Zero-Shot은 해당 특정 작업의 예에 대해 명시 적으로 교육을받지 않고 작업을 수행 할 수있는 모델의 능력을 나타냅니다. 는 모델의 새로운 및 이전에 보이지 않는 작업에 대한 적절한 응답을 일반화하고 생성하는 능력에 의존합니다. 즉, Chatgpt의 사용자 인터페이스를 열고 질문을 똑바로 요청하면 제로 샷 프롬프트를하고 있습니다.
그럼에도 불구하고, 우리가 해결하고자하는 유사한 작업의 몇 가지 예를 모델에 보여주는 방법이 있습니다. 일련의 시연 예를 제공하는 것은 제공된 예제의 수에 따라 원샷 및 소수의 프롬프트로 알려져 있습니다.
원샷 프롬프트
원샷 프롬프트는 가이드를위한 대상 작업과 유사한 한 예를 표시하는 것과 관련이 있습니다.
예를 들어, 기사의 첫 번째 그림을 다시 참조하면 프롬프트에 제공된 실증 예제 덕분에 모델이 생각한 체인을 생성한다는 것을 알 수 있습니다.
소수의 샷 프롬프트
소수의 샷 학습은 원샷과 동일하지만
> 주어진 예제의 수는 일반적으로 약 100 명 정도 높습니다. 모델의 성능은 예제 수에 따라 선형으로 증가합니다.
Jason Wei와 Denny Zhou et al. Google에서. 이 접근법은보다 전문적이거나 도메인 별 지식이 필요한 작업에 특히 유용하며, 모델이 제로 샷 또는 원샷 프롬프트를 사용하여 작업을 수행하기에 충분한 배경 지식이 없을 수 있습니다. 소수의 프롬프트는 때때로 새로운 또는 특수 데이터 모음에 대한 모델의 작은 미세 조정으로 간주됩니다.
“신속한 엔지니어링을 통해 Chatgpt 성능 향상”에서 원샷 및 소수의 프롬프트의 더 많은 예를보십시오.
소수의 간이 침대 프롬프트
원샷과 소수의 프롬프트는 침대가 아닙니다. 그러나 연구원들은“소수의 COT 프롬프트”로 알려진 COT 프롬프트와 얼마나 적은 샷 학습을 결합 할 수 있는지 탐구했습니다. 소수의 간이 침대에서
는이 모델에는 추론 프로세스를 안내하기위한 단계별 솔루션과 함께 몇 가지 문제의 예가 제공됩니다. 리스트 리브 션 생성 또는 대화식 쿼리와 같은 다른 기술과 소수의 샷 COT를 결합하면 모델의 성능과 신뢰성을 더욱 향상시킬 수 있습니다. 외부 지식 기반, 데이터베이스 또는 정보 검색 시스템을 통합하면 모델이 사실 및 최신 정보로 추론을 향상시킬 수 있습니다.
실습에서 생각한 프롬프트 구현
수학적 문제의 미로 COT가 모델이 지식 공간을 탐색하고 복잡한 작업을 해결하는 데 어떻게 도움이되는지 설명합니다. 다음 프롬프트와 함께 ChatGpt 4O 이미지 생성을 사용하여 자체 생성 된 이미지“수학적 문제의 미로를 통해 언어 모델 에이전트를 상상해보십시오”.
우리의 프롬프트에 COT를 포함시키는 방법에는 여러 가지가 있습니다.
구조화 된 템플릿 : 커피 예제에서 볼 수 있듯이 모델이 취해야 할 단계를 명시 적으로 설명하는 템플릿을 사용합니다. 프롬프트 가이드 라인 기사에서 프롬프트 템플릿 및 조건부 프롬프트의 더 많은 예를 참조하십시오.
대화식 프롬프트 : 각 단계에서 각 단계를 설명하거나 각 단계에서 피드백 또는 수정을 제공하여 모델의 추론 프로세스를 안내하라는 메시지가 표시되는 대화에서 모델을 참여시킵니다. 이것을 인간의 루프 접근법이라고도합니다.
피드백 루프
: 필요한 경우 모델의 중간 단계가 평가되고 개선되는 피드백 메커니즘 통합. 이것은 다단계 프롬프트라고도합니다
여러 프레임 워크는 COT 및 기타 신속한 엔지니어링 기술을 구현하는 데 도움이 될 수 있지만 Langchain은 제가 가장 좋아하는 것입니다. LLM 구동 프로젝트의 일부로 Langchain을 사용하는 데 관심이 있다면“Langchain을 사용하여 LLM 응용 프로그램 개발”과정은 이상적인 출발점입니다. .
사슬의 사슬 프롬프트의 이점
추정 상인 프롬프트는 특히 복잡한 작업에서 언어 모델의 성능과 신뢰성을 향상시키는 데 몇 가지 이점을 제공합니다.
#1. 정확도가 향상 문제를 더 작고 관리하기 쉬운 단계로 분류 함으로써이 모델은 복잡한 작업을보다 정확하게 처리 할 수 있습니다. 중간 단계는 잠재적 오류가 잡히고 수정 될 수있는 체크 포인트를 제공하여보다 정확한 최종 답변으로 이어집니다.
수학적 문제, 논리 퍼즐 또는 멀티 홉 질문 응답과 같은 작업 이이 접근법의 혜택을받는 이유는 이미 자연스럽게 자연스럽게 추론
.
#2. 향상된 해석 가능성
단계별 추론 프로세스는 투명하여 사용자는 모델이 어떻게 결론에 도달했는지 이해할 수 있습니다. 이 투명성은 모델의 출력에 대한 신뢰를 구축합니다 디버깅에 도움이 될 수 있습니다.
사용자는 추론에서 모델이 잘못되었을 수있는 위치를 더 쉽게 발견 할 수 있기 때문에. .
제한 및 고려 사항
물론, 어떤 기술도 마찬가지로 항상 고려할 가치가있는 특정 단점이 있습니다.
모델 의존성
간이 침대는 모델 의존 기술 라는 것을 고려하는 것이 중요합니다. 따라서 COT 프롬프트의 효과는 크게 기본 언어 모델의 기능에 달려 있습니다.
프롬프트 생성
효과적인 침대 프롬프트 제작도 어려울 수 있습니다. 프롬프트가 추론 프로세스를 통해 모델을 올바르게 안내 할 수 있도록 신중한 설계가 필요합니다. 다른 유형의 작업 및 도메인에 대한 프롬프트 업데이트 및 유지 관리
는 시간이 걸릴 수 있으며 지속적인 개선이 필요할 수 있습니다.
성능
COT 프롬프트는 명확한 순차적 추론 프로세스가없는 작업에 효과적이지 않을 수 있습니다. 더욱이, 나는 추가 교육이나 적응없이 완전히 새롭거나 예상치 못한 유형의 문제
에 잘 맞지 않을 수 있으므로 최신 지식 기반과 적절한 프롬프트를 유지하는 것이 중요합니다.
.
트레이드 오프
COT가 단계별 설명을 제공함으로써 해석 가능성을 증가시키는 반면, 는 또한 모든 응용 프로그램에 항상 바람직하지 않을 수있는 더 길고 더 많은 장황한 출력으로 이어질 수 있습니다.
.
결론
이 기사에서, 우리는 어떻게 사슬의 프롬프트가 대형 언어 모델의 추론 능력을 향상시키는 데 중요한 발전과 그 구현의 실질적인 예를 보았는가를 보았다. 프롬프트 템플릿, 대화식 프롬프트 또는 피드백 루프를 사용하든, 이러한 접근법의 배후에 대한 아이디어는 추론 프로세스를 통해 모델을 안내하고 그 기능을 활용하는 것입니다.
또한, 우리는 모델의 성능을 더욱 향상시키고 COT와 결합 할 수있는 원샷 및 소수의 프롬프트와 같은 강력한 기술을 탐색했습니다.
이 기사에서 논의 된 기술을 시도하여보다 신뢰할 수 있고 고성능 프롬프트를 구축하고 명심하십시오.
DataCamp 코스를 통해 신속한 엔지니어링에 대해 자세히 알아볼 수 있으며, 개발자를위한 신속한 엔지니어링 및 ChatGpt 프롬프트 엔지니어링을 이해합니다. 또한 프롬프트 엔지니어링 인증을위한 별도의 가이드를 확인하고 최고의 학습 경로가 무엇인지 확인할 수 있습니다.
사슬의 사슬 프롬프트 FAQS
모든 유형의 질문에 사용될 수 있습니까?
복잡한 추론에 특히 효과적이지만, 다중 단계의 과제에 특히 효과적이지 않을 수도 있습니다. 상세하고 단계별 프로세스가 자연스럽게 정답에 도달 해야하는 문제에 가장 유익합니다.
AI 모델과 함께 사용될 수 있습니까?
> 예, 예를 들어 보조 로봇을 훈련시킬 수 있습니다. 현재 위치 식별, 가능한 경로 평가 및 장애물로 경로를 선택하는 것과 같은 단계.
는 AI 설명에 기여하는 사슬의 홍보입니까?
예, 사용자가 더 많은 전표 및 해석을 수행하는 모델을 따르는 데 도움이됩니다. 이것은 AI 결정의 이론적 근거를 이해하는 것이 중요합니다.
일련의 로그인의 이유를 뒷받침하는 체인의 체계를 포함하는 것은 특히 건강 관리 및 금융과 같은 분야에서 중요합니다. 문제를 해결합니다. 대조적으로, 다중 단계의 프롬프트는 문제의 각 단계에서 추가 프롬프트 또는 힌트를 순차적으로 제공하고, 솔루션을 향해 모델을 점차적으로 안내합니다.
모델은 동일한 질문에 대해 여러 체인을 생성하며 각 체인은 다른 추론 경로를 나타냅니다. 최종 답변은 이러한 다른 추론 경로 중에서 가장 자주 발생하는 결과를 기반으로 결정됩니다. 이것은 단일 추론 체인에서 발생할 수있는 오류를 완화하는 데 도움이됩니다.
위 내용은 생각의 사슬 프롬프트 : LLMS를 통한 단계별 추론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!