본문 바로가기
생활/꿀팁

ChatGPT 프롬프트 엔지니어링, 명령어 작성 팁과 사용법 예시

by 개성공장 2023. 4. 12.
반응형

챗GPT는 내가 하는 질문에 대해 가장 적절할 것으로 판단되는 문장을 생성합니다. 그래서 좋은 답변을 얻기 위해서는 반드시 좋은 질문이 필요합니다. 내가 원하는 답변의 형식이 있다면 그 형식을 지정하여 질문을 해야 합니다. 그래서 구체적인 답변을 얻고 싶다면 세부적인 내용들을 지시하는 것이 좋습니다. IT업계의 유명한 격언인 GIGO(Garbage in, garbage out)를 기억해 봅시다.

 

챗GPT에게 입력하는 질문을 프롬프트(Prompt)라고 부릅니다. 인공지능에게 입력되는 인풋이 프롬프트이고, 대규모 언어모델(LLM)은 이를 처리하여 결과물을 출력합니다. 이때, AI로부터 높은 품질의 답변을 얻을 수 있도록 구체적이고 적합한 질문을 하는 방법론을 프롬프트 엔지니어링이라고 합니다.

 

목차

     

    1. 프롬프트 엔지니어링

    우리가 챗GPT에 입력하는 모든 명령어는 곧 프롬프트입니다. 그리고 우리가 사용하는 대화형 AI에게 의도에 맞는 답변을 얻기 위해 프롬프트를 최적화하는 것을 프롬프트 엔지니어링이라고 합니다. 프롬프트 엔지니어링을 통해 명확한 답변을 얻고, 더 적은 질문과 컴퓨팅 파워로 정확하고 의도에 맞는 결과를 얻을 수 있습니다.

     

    왜 프롬프트 엔지니어링을 해야 하는지는 챗GPT는 사용해 보면 알 수 있습니다. 짧고 두리뭉실한 질문에는 챗GPT는 개론적인 이야기만 합니다. 보다 구체적으로 지시해야 그 조건에 맞는 답변을 하는 것을 볼 수 있습니다. 간단하게 예시를 들어서 보겠습니다.

     

    1번 질문 : 커피를 내리는 방법
    2번 질문 : 커피를 내리는 구체적인 방법

     

    이렇게 2개의 질문을 ChatGPT에게 해봤습니다.

     

    1번 질문

     

    1번 질문입니다. 커피를 내리는 방법을 설명해주고 있습니다. 그런데 설명이 뭔가 부실한 느낌입니다.

     

    2번 질문

     

    커피를 내리는 '구체적인' 방법이라고 단어를 하나 추가했을 뿐인데 답변의 완성도가 올라갔습니다. 무작정 커피를 내리는 방법을 설명하는 것이 아니라 '가정용 커피 메이커를 사용하는 경우'로 스스로 상황을 한정시켜서 해당 조건에 맞는 커피 내리는 방법을 설명했습니다. 애초에 질문을 할 때도 커피를 내리는 방식을 명시했다면 의도에 맞는 답변을 얻었겠죠?

     

    이처럼 ChatGPT라는 언어 모델은 동일하지만 이렇게 입력하는 질문의 디테일을 통해 더 높은 품질의 답변을 얻을 수 있습니다. 그런데 이런 프롬프트 엔지니어링 스킬은 AI 서비스를 많이 사용하면서 얻을 수밖에 없습니다. 대규모 언어모델을 비롯한 AI는 워낙 거대하여 전문가도 내부구조를 완벽히 파악할 수 없기 때문입니다. 즉, AI라는 블랙박스를 두고 입력을 넣어보며 어떤 출력이 나오는지 수많은 실험을 통해 그 맥락을 파악해서 활용하는 것이 프롬프트 엔지니어링입니다.

     

     

     

    2. 명령어 작성 팁

    그렇다면 어떻게 프롬프트를 작성하면 좋은지 명령어 작성 팁들을 살펴보겠습니다. 앞서 설명드린 대로 이런 스킬들은 수차례 실험과 연습을 통해 얻어지는 것들이기 때문에 스스로 호기심을 가지고 시도해봐야 합니다. 그리고 질문의 내용, 분야에 따라 스킬이 달라질 수도 있습니다.

     

    2-1. 영어로 질문하기

    아쉽게도 ChatGPT가 학습한 한국어 데이터는 한정적입니다. 영어가 가장 많은 양을 차지하고 있기 때문에 사용하는 언어에 따라 답변의 정확도가 달라집니다. 차라리 영어로 질문하고, 이후에 한국어로 번역해 달라고 요청하는 것이 답변의 품질이 더 우수합니다. 

     

    커피를 내리는 방법

     

    동일하게 커피를 내리는 방법(how to brew coffee)을 질문하자 이렇게 답변했습니다. 커피메이커를 이용하여 커피를 내리는 방법을 구체적으로 설명해 줬네요. 커피 원두를 중간 굵기로 갈아야 하고, 1~2 테이블스푼의 원두 당 6온스의 물을 사용하는 등 수치가 매우 구체적입니다. 단순히 영어로 질문을 했을 뿐인데 답변의 디테일이 달라집니다.

     

     

     

    2-2. 역할을 부여하기

    처음 들으면 이게 효과가 있나 싶지만 분명한 효과가 있습니다. 위에서 영어로 "how to brew coffee"라고 질문하고 받은 답변을 ChatGPT에게 번역해 달라고 했습니다.

     

    1번질문 : translate Korean above article
    2번질문 : You have become a Korean language expert. translate Korean above article

     

    좌 : 1번질문, 우 : 2번질문

     

    챗GPT에게 한국어 전문가라는 역할을 부여했습니다. 똑같은 영어 원문을 두고 번역을 했는데 역할을 부여한 쪽의 성능이 약간 더 우세합니다. GPT-3.5라서 그런지 둘 다 살짝 아쉽기는 합니다.

     

    coffee beans를 커피콩, 커피 원두로 각각 번역했는데 후자가 더 어울립니다. Add coffee는 커피 내리기, 커피 추가로 각각 번역했는데 한국어 전문가가 아니라서 그런지 커피 내리기라고 오역을 했네요.

     

     

     

    2-3. 양식 제시하기

    챗GPT가 답변을 할 때 어떤 양식에 맞춰서 할지 제시하는 것입니다.

     

    답변을 표로 요청한 경우

     

    커피 내리는 방식을 비교하는 를 만들어달라고 요청했습니다. 커피 추출방식을 드립, 프렌치 프레스, 에스프레소, 오토드립, 에어프레스, 모카포트로 나누어서 비교표를 만들어주었네요. 이런 식으로 사용목적이나 양식을 정확하게 표현해서 요청하면 더 좋은 답변을 받을 수 있습니다.

     

     

     

    2-4. 하이퍼 파라미터

    ChatGPT에는 인공지능 모델의 세팅값인 하이퍼 파라미터(hyper parameter)라는 것이 있습니다. 하이퍼 파라미터를 이용하면 인공지능의 답변 내용을 직접적으로 조절할 수 있습니다. 과거에는 ChatGPT에게 직접 물어보면 파라미터 종류를 알려주었으나 지금은 OpenAI 사에서 비공개 처리하였습니다.

     

    ※ 하이퍼 파라미터 종류
     - ton : 답변 문장의 톤을 조정
     - writing style : 답변 문체를 조정
     - max_length : 0~2,048, 모델의 토큰 수로 실제 텍스트 길이와는 다름
     - Length penalty : 0.5~2.0, 생성된 문장의 길이를 조정. 값이 높으면 길이가 긴 문장이 우선
     - Repetition penalty : 0~1, 값이 높을수록 중복되지 않는 단어를 사용함
     - Beam width : 0~10, 값이 높을수록 문장의 표현방식이 다양화됨
     - top-p : 0~1, 단어 생성 시 특정 확률분포에 해당되는 단어를 선택. 값이 크면 단어가 다양해짐
     - temparature : 0~1, 단어 생성 시의 확률분포를 조정. 값이 높으면 단어가 다양해짐

     

    하이퍼 파라미터 사용 예시입니다.

     

    하이퍼파리미터(ton) 사용예시

     

    ton을 sarcastic으로 지정하니 이런 식으로 답변합니다. ton은 형용사 단어를 넣어주면 됩니다.

     

    과거에는 직접적으로 ChatGPT에 하이퍼파라미터가 작동을 하였으나 지금은 오픈AI 사가 수정한 것으로 보입니다. 이제는 직접 확률분포 값을 지정하면서 출력값을 조정하기는 어렵습니다. 하지만 이런 파라미터 값이 존재한다는 것을 알고 있다면 간접적인 질문을 통해 어느 정도는 ChatGPT를 제어할 수 있겠습니다.

     

     

    2-5. GPT-4 활용하기

    유료 모델인 GPT-4를 이용하면 기존의 GPT-3.5보다 훨씬 정확하고 뛰어난 답변을 받을 수 있습니다. 질문을 잘하는 능력도 중요하지만 애초에 언어모델이 뛰어나면 개떡같이 이야기해도 찰떡같이 알아듣습니다. 따라서, 무료모델이 답답하다면 GPT-4를 한 번은 사용해 보시기를 권합니다.

     

    ※ 참고 : 챗GPT 유료버전 ChatGPT Plus 가입방법 및 사용후기

     

    챗GPT 유료버전 ChatGPT Plus 가입방법 및 사용후기

    가장 빠른 속도로 가입자 수를 늘리고 있는 IT서비스, 바로 챗GPT입니다. 대화형 챗봇에 AI 딥러닝 알고리즘을 더해서 엄청난 규모의 데이터를 학습시키면 어떤 일이 발생하는지 실시간으로 보여

    gaesung.tistory.com

     

     

    3. 결론

     

    이렇게 챗GPT를 활용한 프롬프트 엔지니어링에 대해 살펴봤습니다. 지금까지는 구글, 네이버와 같은 검색엔진을 잘 활용하여 정보를 찾아내는 능력이 주요했습니다. 어떻게 구글링을 하는지만 보더라도 그 사람의 업무능력을 파악할 수 있다는 말까지 있었죠. 하지만 앞으로는 GPT의 프롬프트 작성능력을 보는 시대가 올 지도 모르겠습니다.

     

    그림생성 AI를 비롯해서 원하는 결과물을 얻기 위한 프롬프트를 작성하는 능력의 중요성이 점점 커지고 있습니다. ChatGPT를 사용하다 보면 특허검색을 할 때 조건식을 만드는 것이 떠오릅니다. 내가 원하는 결괏값을 얻기 위해 조건식과 단어를 여러 가지 대입해 보면서 검색하듯이 챗GPT도 직접 다양한 시도를 하면서 겪어봐야 능력이 느는 것 같습니다. 이미 프롬프트 엔지니어라는 직업이 생겨났고, AI를 활용한 사업들도 빠른 속도로 생기고 있습니다. 열심히 배워서 적응해야겠습니다.

     

     

     

    반응형

    댓글