프롬프트는 사용자가 원하는 출력을 생성하고자 할 때 LLM을 안내하기 위해 특정 입력 텍스트 및 질문 텍스트, 긴 기사를 요약하고 싶다면 LLM(Large Language Model)에 “Summarize the above in one sentence”와 같은 프롬프트와 기사 텍스트를 입력할 수 있다.
Prompt Engineering의 주요 목표는 사용자의 의도와 원하는 결과를 전달하는 프롬프트를 만들어 모델의 성능, 정확성, 유용성을 극대화하는 것이다.
프롬프트 엔지니어링이 필요한 이유는 현재 LLM의 동작 방식의 한계와 인간과 컴퓨터의 상호작용을 위해 자연어를 사용하고 있기 때문이다.
LLM은 단어의 순서, 작은 변화에도 응답의 품질이 상당히 달라질 수 있다. 대표적인 LLM인 GPT 모델도 Auto-Regression 모델이다. uto-Regression LLM은 이전 단어를 보고 가장 높은 확률의 단어를 다음 단어로 예측하므로 단어의 순서에 따라 얼마든지 다른 답변을 출력할 수 있는 것이다.
자연어는 인간에게는 편리하지만, 컴퓨터에게는 불친절하다. 자연어는 매우 모호하고, 부정확하고, Context에 매우 의존적이며, 사람마다 해석이 다를 수 있다.
현재의 LLM은 장기 기억을 갖지 못하고, 자기 주위의 컨텍스트를 이해할 수 없다.
프롬프트 엔지니어링은 Pre-training된 LLM을 별도의 학습없이 사용자가 원하는 답변을 생성하도록 입력 프롬프트를 효과적으로 설계하는 기술
LLM을 fine-tuning하는 기술로, 주어진 입력 프롬프트에 대해 원하는 답변을 생성하는 LLM을 만들기 위함이다. 프롬프트 튜닝을 통해 LLM은 내부 표현에 대한 미묘한 조정을 배우며 LLM을 광범위하게 재학습하거나 수정하지 않고도 특정 작업이나 프롬프트을 더 잘 수행할 수 있다.
👎 혹시 가능하다면 인공지능 분야에서 트랜스포머가 어떤 개념인지 파이썬이나 C++ 같은 프로그래밍 언어들을 한 번도 활용해본적 없는 모든 사람들을 대상으로 알아듣기 쉽게 글로 설명해 줄 수 있어?
👍 비개발자들을 대상으로 트랜스포머의 개념을 이해하기 쉽게 설명해줘.
👎 프롬프트 엔지니어라는 직업이 미래에도 지속될 수 있을까?
👍 프롬프트 엔지니어가 미래에도 지속될 수 직업인지에 대한 보고서를 써줘.
올바른 질문과 답변 예제를 한 개 또는 다수 제공하는 기법을 활용
하나의 예제 또는 템플릿를 기반으로 답변을 생성하게 하는 기법, Dialogue management, 또는 context modeling과 같은 기타 NLP 기법들과 조합되어 보다 정확한 답변을 유도할 수 있음
두개에서 다섯개의 예제를 바탕으로 답변을 생성하게 하는 기법으로, 프롬프트 앞단에 One-Shot Prompting 기법 보다 조금 더 AI에게 직접적으로 원하는 답변에 도달할 수 있도록 유도할 수 있음
단지 답변을 내놓기 위한 것이 아닌, 답변에 도달하는 과정을 학습시키는 것을 목적으로 본 질문 전에 미리 태스크와 추론 과정을 포함한 답변 예제를 AI에게 제공하는 프레임워크
조금 더 최근에 등장한 트리거 문장 "Let's think step by step (단계별로 생각해보자)"을 프롬프트에 추가하여 거대 언어 모델이 단계에 따라 결과에 도달하게 하는 프레임워크