프롬프트 엔지니어링 방법 4가지
간략하고 쉽게 정리한 프롬프트 엔지니어링 방법
프롬프트 엔지니어링은 이렇게!
1. 심플하고 명확하게
2. 예시와 함께
3. step-by-step으로 절차를 가지고
4. 구체적으로
프롬프트 엔지니어링을 할 때에는 AI의 추가적인 학습이 아닌 추론하는 과정이기 때문에 GPU가 적어도 됩니다.
과거에는 우리가 원하고자 하는 AI 모델을 만들기 위해 큰 GPU와 많은 데이터를 통해 파인튜닝을 했지만 지금의 LLM은 이미 세상에 있는 많은 데이터와 지식을 학습해 둔 상태이기 때문이지요.
이제는 AI모델로부터 원하는 응답을 얻기 위해 어떻게 프롬프트를 만들지 고민이 필요합니다.
그리고 좋은 프롬프트를 만들기 위해서는 아래 4가지 프롬트프 최적화 방법이 있습니다.
1. Zero shot prompt
- 예시 없는 프롬프트
- 기본 사전지식 없이 질문
예시)
Q. What is the main ingredient of bread?
A. Bread.
⚠️ 이때 main ingredient를 이해하지 못하고 있기 때문에 예시를 들어주어야 합니다.
2. Few shot prompt
- 몇 개의 예시를 보여주며 질문
예시)
Q. What is the main ingredient of rice cake?
A. Rice.
Q. What is the main indredient of meatballs?
A. Meat.
⚠️ Few shot prompt의 단점은 입력길이가 길어지면서 AI가 처리해야 하는 토큰 길이가 많기 때문에 더 많은 GPU를 필요로 하고 레이터시가 오래 걸린다는 것입니다.
3. COT(Chain-of-thought prompt)
- 생각을 연결해서 보여줌
- step-by-step으로 입력
- 입력 길이가 길어져서 시간과 비용이 많이 듦
4. Self-consistency technique
- 같은 프롬프트로 여러 결과를 만들고 좋은 결과를 선택
- 좋은 결과를 낼 확률이 높아지지만 마찬가지로 시간과 비용이 많이 듦
그 외에도
내부 데이터베이스를 이용해 학습시키는 방식(vector database 활용)도 있습니다.