간단하게 알아보는 프롬프트 엔지니어링

JSK·5일 전
0

LLM

목록 보기
1/1
post-thumbnail

프롬프트란?

  • 프롬프트는 모델에 입력되는 명령문
  • 사용자가 모델에게 주는 지시 사항
  • 프롬프트에는 사용자가 원하는 요청 사항이 들어가야 함

프롬프트 엔지니어링이란?

  • 프롬프트 엔지니어링은 모델에 입력하는 프롬프트를 설계하고 개발하는 행위
  • 프롬프트 엔지니어링을 통해 모델의 성능, 정확성, 유용성을 높이는 것이 목표
  • 단순히 프롬프트를 바꾸는 것만으로도 더 좋은 결과물을 얻을 수 있음

프롬프트 엔지니어링 예시

  • 위처럼 질문 프롬프트에 따라 다르게 답변이 출력
  • 프롬프트 활용에 따라 본인이 필요한 내용, 형태의 정보를 얻는 것이 가능

프롬프트 작성 시 주의 사항

명확하고 구체적인 지시를 작성

  • 추상적이고 애매한 명령보다 명확하고 구체적인 지시가 효과적
  • 마크다운이나 XML을 활용해 강조하고 싶은 부분을 강조하면 AI 모델이 해당 부분이 중요 요소라는 것을 알 수 있음

복잡한 작업은 단계별로 지시

  • 한 번에 해결하기 어려운 작업은 여러 차례에 걸쳐 처리
  • 체이닝을 이용해 단순한 문제를 해결하는 프롬프트를 여러 개 결합

부정형보다는 긍정형 지시어 사용

  • 하지 않아야 할 것을 지정하기보다는 해야 할 것을 지정해 주는 것이 효과적
  • ex. “어려운 단어를 사용하지 말아줘” → “쉬운 단어로 설명해 줘”

구조화된 프롬프트 사용

  • 프롬프트를 작성할 때 모든 요소를 줄글로 작성하기보다는 구조화하는 것이 효과적
  • ex. 넌 인공지능 박사 학위를 가진 대학교 교수야. Attention is all you need 논문을 개요, 기능별 설명, 성능 평가, 추가 실험의 부분으로 요약해 주고 그걸 JSON 형태로 출력해 줘 대신 아래와 같이 작성
 ### Role
 - 당신은 인공지능 박사 학위를 가진 대학교 교수입니다.
 
 ### Objective
 - Attention is all you need 논문 요약
 - 논문을 개요, 기능별 설명, 성능 평가, 추가 실험으로 나눠서 요약
 
 ### OutputFormat
 - 개요, 기능 별 설명, 성능 평가, 추가 실험을 각각 key로 사용하는 JSON 형태로 출력

충분한 배경 정보 제공

  • LLM이 질문을 잘 이해할 수 있도록 충분한 배경 정보를 제공하는 것이 효과적

참고 사항을 지시 사항보다 먼저 배치

  • LLM 모델은 글을 앞에서부터 해석하는 경향이 강함
  • 따라서 모델이 참고 사항을 바탕으로 지시 사항을 수행할 수 있도록 참고 사항을 지시 사항보다 먼저 배치
  • ex. “논문을 추천해 줘. LLM 관련 리서치를 진행할 예정이야” → “LLM 관련 리서치를 진행할 예정이야. 논문을 추천해 줘”

프롬프트 엔지니어링의 주요 요소

요청 사항

  • 모델에게 요청할 사항
  • 요청은 명확하고 상세해야 함
  • ex. "논문을 요약해 줘"

정보 입력

  • 모델에게 전달할 정보
  • 요청할 사항과 관련된 정보를 전달하여 원하는 결과물에 가까운 답을 얻을 수 있음
  • ex."요약할 논문은 Attention Is All You Need야"

역할 지정

  • 모델에게 가상의 역할을 지정하는 것
  • 특정 업무를 수행할 때 그에 맞는 역할을 지정해 주면 더 좋은 결과를 얻을 확률이 높아짐
  • 해당 문제를 해결할 수 있을 만한 역량이나 그런 역량을 가지고 있을 만한 직업을 언급
  • ex."당신은 인공지능 학과 교수입니다"

어조 지정

  • 원하는 말투나 어휘 수준 지정 가능
  • ex. “전문 용어를 사용하지 않고 비전공자도 이해할 수 있을 만한 단어들로 설명해줘”

형식 지정

  • 프롬프트에 원하는 템플릿의 형태를 입력해 그에 맞는 출력물을 얻을 수 있음
  • ex. "개요, 본문, 요약 형태로 출력"

출력 포맷 지정

  • 프롬프트에 원하는 출력 포맷을 지정하고 원하는 형태로 답변을 받을 수 있음
  • ex. "JSON 포맷으로 출력"

예시 추가

  • 모델에게 질문과 응답의 예시를 제시하면 원하는 결과에 더 가까운 답을 얻을 수 있음
  • 이렇게 예시를 통해 LLM을 간단하게 학습 시키는 것을 few-shot learning이라고 함
  • 단, 예시도 토큰 수에 포함이 되므로 성능과 비용의 trade-off가 발생
profile
학사지만 AI하고 싶어요...

0개의 댓글