SWUFORCE/기술 스터디

[기술스터디] 생성형 AI 모델과 대화하는 프롬프트 엔지니어링(Prompt Engineering) - 삼성SDS

예빈이 2023. 11. 21. 22:13

https://www.samsungsds.com/kr/insights/prompt-engineering.html

 

생성형 AI 모델과 대화하는 프롬프트 엔지니어링(Prompt Engineering) | 인사이트리포트 | 삼성SDS

최근 생성형 AI 모델이 발전하면서 컴퓨터가 인간의 언어를 그대로 입력받아 명령을 수행할 수 있게 됐지만, 인간의 생각을 그대로 구현하기란 아직은 쉽지 않다는 이야기입니다. 입력이 항상

www.samsungsds.com

 


 

프롬프트 엔지니어링

 

프롬프트 엔지니어링 : 대규모 언어 모델(Large Language Model, LLM)에서 원하는 결과를 얻기 위해 프롬프트를 공들여 만들고 최적화하는 과정이다.

프롬프트 : AI 모델에서 출력을 생성하기 위해 입력하는 텍스트를 말한다. 프롬프트는 AI 모델이 학습한 내용 가운데 특정 내용을 탐색하도록 안내해 목표에 맞는 결과를 생성한다.

 

프롬프트의 구성 요소 :

▲ 모델이 수행하기를 원하는 특정 작업 또는 지침을 말하는 ‘명령(Instruction)’

▲ 모델을 조정할 수 있는 외부 정보 또는 추가 맥락을 일컫는 ‘맥락 정보(Context)’

▲ 답변을 찾고자 하는 입력 또는 질문을 말하는 ‘입력 데이터(Input Data)’

▲ 출력의 유형 또는 형식을 의미하는 ‘출력 데이터(Output Data)’다.
프롬프트에 모든 구성 요소가 포함돼야 하는 것은 아니고 AI 모델에 전달할 지시 사항이나 질문 같은 정보가 포함될 수 있으며, 입력이나 예제 같은 기타 세부 정보도 포함될 수 있다. 결과의 품질은 프롬프트가 얼마나 많은 정보를 제공하고, 프롬프트가 얼마나 잘 구성돼 있는지에 따라 달려있다. 아주 간단한 프롬프트의 예는 다음과 같다.

   프롬프트
   The sky is

   출력
   Blue
   The sky is blue on a clear day. On a cloudy day, the sky may be gray or white.

 

 

여기서 AI 모델은 ‘The sky is~’라는 프롬프트의 맥락에 부합하긴 하지만, 이렇게 너무 단순한 프롬프트는 사용자가 예상하지 못했거나 원하는 것과는 거리가 먼 답을 제공할 수 있다. 이 예시는 사용자가 원하는 바를 구체적으로 설명해야 할 필요성을 강조한다. 따라서 프롬프트를 다음과 같이 추가할 수 있다.



   프롬프트
   Complete is sentence:
   The sky is blue

   출력
   So beautiful today.
 

 

AI 모델에 문장을 완성하라고 지시했기 때문에, 즉 지시를 정확하게 따르기 때문에 결과가 더 적절해진다. 이렇게 ‘원하는’ 작업을 수행하도록 지시하는 최적의 프롬프트를 설계하는 접근 방식을 프롬프트 엔지니어링이라고 한다. 프롬프트 엔지니어링을 통해 텍스트 요약, 정보 추출, 질의응답, 텍스트 분류, 코드 생성, 추론 등의 작업에서 언어 모델의 성능을 향상할 수 있다.

간략한 프롬프트 엔지니어링 가이드라인

프롬프트 엔지니어링 기법 :

‘제로샷(zero-shot)’

‘퓨샷(few-shot)’ 

 

제로샷 프롬프팅 - 예시를 제공하지 않고 간단한 명령어만 입력해 예상되는 결과를 생성하는 방식이다. 특정 작업과 관련된 데이터를 사용하지 않고도 새로운 작업을 수행하도록 LLM을 학습시키는 것이 목적이다.
예를 들면 ‘다음의 기사를 3줄의 문장으로 요약하라’ 같은 간결한 지침과 기사 텍스트를 제공하는 식이다. 그다음 AI 모델은 기사 요약 작업에 대해 학습되지 않은 상태에서 입력 텍스트를 처리하고, 가장 중요한 내용을 추출하며, 요약을 생성한다.

 

원샷 프롬프팅 - 추가적으로 작업에 관한 설명과 단일 예시를 제공하는 방식. 여기서 AI 모델은 해당 작업 설명과 예시를 참조해 작업을 이해하고 적절한 출력을 내놓는다. 퓨샷 프롬프팅은 원하는 결과를 얻기 위해 소량의 샘플 정보나 데이터를 사용해 LLM을 학습시키는 방식이다.

퓨샷 프롬프팅 구성요소 : 

• 작업 설명(Task Description): 모델이 수행할 작업에 관해 간단한 설명을 해준다.
• 예시(Examples): 모델이 수행할 작업을 몇 가지 예시로 보여준다.
• 프롬프트(Prompt): 새로운 예시의 시작 부분. 모델은 누락된 텍스트를 생성하여 예시를 완성해야 한다.

 

대부분 API에서는 사용자가 자체적인 프롬프트 엔지니어링 기법을 적용할 수 있다. 하지만 이런 유연성은 프롬프트 인젝션 등 악의적인 사용례의 가능성을 열기도 한다. 실제로 악의적인 프롬프트를 입력해 회사 내부 기밀인 코드명 시드니(Sydney)를 말하도록 한 빙(Bing)의 사례는 사람들이 의도치 않은 목적으로 프롬프트 엔지니어링을 악용할 수 있다는 사실을 증명했다. 프롬프트 인젝션은 성장하고 있는 연구 분야다. 다양한 애플리케이션에 걸쳐 LLM이 책임 있고 안전하게 사용될 수 있도록, 악성 사용례는 물론 프롬프트 인젝션 문제를 해결하는 일이 향후 매우 중요해질 전망이다.

혜성처럼 등장한 프롬프트 엔지니어링, 전망은?

프롬프트 엔지니어링이 떠오르면서 ‘프롬프트 엔지니어’라는 새로운 직업도 생겨났으며, 그 수요가 급증하고 있다.

프롬프트 엔지니어는

▲뤼튼 서비스에 사용되는 다양한 목적의 프롬프트 제공, 테스트, 문서화

▲다양한 생성형 AI 모델을 프롬프트 관점에서 분석 및 정리

▲프롬프트 모범 사례 구축

등의 업무를 하게 된다.

이렇게 프롬프트 엔지니어 수요가 증가하면서 자신만의 프롬프트를 무료로 공유하거나 사고파는 마켓플레이스의 수와 규모도 증가하는 추세다.

프롬프트베이스(PromptBase) : 달리(DALL-E), 챗GPT(ChatGPT), 스테이블 디퓨전(Stable Diffustion), 미드저니(Midjourney) 등의 프롬프트를 사고파는 곳이다. 1.99달러에서 9.99달러 사이의 가격으로 프롬프트를 올리거나 구매할 수 있으며, 판매 수익의 20%가 프롬프트베이스의 수수료로 부과된다.

AI 생성 예술 작품을 전문으로 공유하는 무료 플랫폼도 있다.

프롬프트히어로(PromptHero), 아트허브닷에이아이(Arthub.ai) : AI 생성 이미지나 AI 생성 이미지의 프롬프트를 검색할 수 있는 사이트다. 무료로 이용할 수 있다.

프롬프트씨(PromptSea) : 블록체인 기반의 프롬프트 마켓플레이스다. 이미지는 프롬프트와 함께 NFT로 토큰화되며, 프롬프트는 암호화돼 NFT 소유자에게만 공개된다.

플로우GPT(FlowGPT), 프롬프트플랫(Promptflat) : 챗GPT 명령 전용 프롬프트 마켓플레이스다.

이처럼 많은 기업에서 프롬프트 엔지니어를 채용하고 있고, 관련 마켓플레이스가 성장 중이지만, 일부 업계 전문가들은 프롬프트 엔지니어링의 필요성 자체에 의문을 제기하기도 한다.

프롬프트 엔지니어링은 비교적 새로운 분야다. 앞으로 지속 가능할지, 반짝 유행에 그치고 말지 판단하기에는 아직 섣부르다. 다만 중요한 건 AI를 다루는 방법을 배워야 한다는 것이고, 프롬프트 엔지니어링은 필요한 스킬이라는 점이다. AI가 모두의 일상에 기반 기술로 자리 잡고 있기 때문이다.

사람들은 이제 더 이상 날씨나 물어보고 음악이나 재생해 주는 장난감 같은 AI를 경험하지 않는다. AI는 갑자기 진지해졌다. 사람들은 이제 어떤 식으로든 AI를 다루게 될 것이다. 따라서 AI를 잘 알아야 한다. 그리고 최소한 지금까지 AI는 입력을 통해 만들어졌다. 올바른 프롬프트를 확보하는 것은 앞으로 중요한 문화적 기술적 과제가 될 것이다.