brunch

You can make anything
by writing

C.S.Lewis

by 최영석 Mar 22. 2023

프롬프트 엔지니어링의 장단점

검색으로는 찾아보기 어려운, 직접 제품을 만들어본 관점에서 작성했어요.

최근 눈부신 발전을 이룬 생성형 인공지능 기술은 많은 분야에서 인간의 수준을 따라잡거나 뛰어넘었고, 사람들이 인공지능의 사용성에 대해 좀 더 깊이 생각하게 되는 계기가 되었어요. 특히 chatGPT의 성능을 확인한 많은 기업들이 각자의 제품에 chatGPT를 통합하기를 원하며, 새로운 기회를 포착한 많은 스타트업 그리고 예비 창업자들이 기술을 검증해보고 사용해보는 과정에 있죠.


생성형 인공지능 기술을 사용한 제품 아이디어는 정말 무궁무진하기 때문에 앞으로 우리의 생각보다 더 많은 제품, 팀, 기업이 이 기술시장으로 뛰어들거라 생각해요. Coxwave도 마찬가지였어요. 작년 CLIP-VQGAN이라는 이미지 생성 인공지능 모델이 처음 세상에 나왔을 때, 저희는 그것의 성능에 꽤나 충격받으며 “인공지능이 미래다”라는 슬로건을 내걸고 hama와 enterpix라는 생성형 인공지능 기반 제품을 만들어 출시했어요.  

https://www.hama.app


제품을 출시하고 운영하는 과정에서 제품을 어떻게 개선할 수 있는지에 대한 다양한 고민들을 했고, 특히 핵심 요소인 생성형 인공지능 자체의 성능을 끌어올리는 것에 많은 투자를 했죠. 이런 과정에서 얻은 생성형 인공지능으로 제품을 만들어감에 있어 필요한 노하우들을 이번 시리즈를 통해 알려드리려고 해요.

이 시리즈는 관련 지식이나 용어 정의를 아시는 분들을 대상으로 하는 글이기 때문에 세세한 개념까지는 다루지 않으니 헷갈리는 용어가 있다면 검색을 통해 정리가 잘 된 글을 보시는 것을 추천해요.


텍스트 기반 생성형 인공지능에서 가장 큰 점유율을 갖는 GPT-3 계열 모델들을 제어할 수 있는 방법은 Prompt와 Parameter 두가지가 있는데, 그 중에서도 Prompt를 통해 모델을 컨트롤하는 것이 가장 직접적이고 직관적이고 강력한 방법이라 개선하기 시리즈의 첫번째 주제로 Prompt-Engineering를 선택하게 되었어요.


이 기술은 Prompt를 몇 가지 기법을 적용하여 섬세하게 구성함으로써 모델이 생성한 텍스트가 정확하고 일관적이며 제품팀의 목표 또는 의도와 부합하도록 하는 것에 초점을 두고 있어요. Prompt 는 크게 세가지로 나눠볼 수 있어요. 앞으로의 prompt 관련 단어는 지침, 예시, 질의로 세분화하여 작성하도록 할게요.


지침: 수행하려는 작업에 대한 가이드라인
예시: 수행하려는 작업에 대한 예시(생략 가능)
질의: 수행하려는 작업에 대한 사용자의 질의


이번 글에서 안내할 Prompt-Engineering의 다양한 방법들은 지침을 섬세하게 설계하는데 중점을 두고 있어요. 지침을 구체화함으로써 제품 팀은 모델이 위에서 언급했던대로, 정확하고 일관적이며 의도된대로 작동하도록 제어할 수 있고, 심지어 생성된 텍스트의 구조 제한이나 문체와 같은 부분의 제약 사항도 포함시킬 수 있죠.


Prompt-Engineering 기술은 여러분이 보거나 써봤을 모든 텍스트 기반 생성형 인공지능 제품에서 사용되고 있어요. 몇가지 예시를 들자면 chatGPT, Notion, Jasper, CopyAI 등등.. 수없이 많은 제품이 있고, 한국에서는 뤼튼이 있어요.


이 기술은 도입해보기 쉬운것에 비해 효과가 뛰어나서 필요에 따라 반드시 시도해봐야 하는 기술이에요. 특히 제품을 검증하거나 출시하는 단계에 있는 팀에게 투자 대비 가성비가 아주 좋으니 반드시 시도해보시길 권해요.


Benefits


이 글을 쓰면서 Prompt-Engineering 기술의 장점에 대한 글을 꽤 많이 찾아 봤는데, “효율이 좋다. 생산성이 좋다. 정확도를 올려준다…” 대부분 비슷한 말만 하고 있어서 아쉬웠어요.


제가 생각하는 가장 큰 장점은 인공지능 영역에서 협업의 가능성과 팀의 잠재력을 끌어올렸다는 것이에요.

 

- 진입 장벽이 매우 낮아요.

번역기가 워낙 잘 되어있기 때문에 사실상 모국어 하나만 잘해도 누구나 도전해 볼 수 있어요. 방법이 어렵지도 않아요. 그냥 원하는 것을 명령만 하면 되거든요. 물론 고수가 되기 위해서는 많은 기법들을 공부해야하고 번뜩이는 창의력과 디테일을 놓치지 않는 꼼꼼함 등 많은 요소가 필요하지만, 인공지능을 직접 다루기 위해 공부하는 양을 생각하면 훨씬 쉬운 것이 사실이에요. 약간의 의지만 있으면 어떤 기능을 위한 Prompt가 어떻게 구성되는 지 파악할 수 있기에 팀 또는 부서의 의사결정 과정에서 일어나는 기술 관련 소통의 문제가 상당부분 줄어들어요. 특히 직접 인공지능을 다뤄보고 싶어하던 많은 사람들에게 좋은 기회가 될 것이고, 생성형 인공지능 기반 제품을 만드는 PO(Product Owner), PM(Product manager) 직군에 계신 분들은 꼭 한번 공부해보시는 것을 추천해요.


전문 도메인 지식을 효율적으로 녹여낼 수 있어요.

인공지능 모델링 과정에서 섬세한 단어 또는 전문 용어의 적절한 사용이 모델 생성물의 품질을 끌어올릴 수 있기 때문에, 도메인 지식이 풍부한 전문가가 인공지능 분야의 핵심 인재가 될 수 있어요. 과거 인공지능 모델링 과정에서 도메인 전문가들은 결과값에 대한 검토만 수행하거나 방법론에 대한 조언자 정도의 포지션에 있었다면, 이제는 적극적으로 참여가 가능해요. 인공지능 업무에 대한 도움이 거의 없이도 Prompt를 만들고 수정하는 것에 어려움이 없기 때문에 직접 개발에 참여함으로써 불필요한 의사소통과 학습과정, 개발 프로세스를 줄이고 팀 전체가 제품의 분석과 개선에 오롯이 집중할 수 있어요.


팀원들의 인공지능 업무에 대한 이해도가 깊어져요.

Prompt-Engineering이 잘 적용된 Prompt는 이해하기 쉽고 명확한 기능 문서가 되기 때문에, 제품에 대한 이해가 어느정도 있는 사람이라면 해당 Prompt를 읽는 것만으로도 생성형 인공지능이 어떤 업무를 맡아서 어떤 결과물을 낼 것인지에 대해 꽤 많은 추론이 가능해요. 통계 또는 인공지능 모델에 대한 길고 복잡한 설명보다는 사람들에게 잘 정리된 프롬프트를 보여주기만 해도 된다는 뜻이죠. 데이터 거버넌스가 적당히 지켜져야 하겠지만, 제품을 만들어가는 팀원들과 Prompt 를 공유함으로써 제품팀이 어떤 생성형 인공지능 제품을 만들고 있고, 그 과정에서 인공지능이 무엇을 하고 있는지 더 깊은 이해가 가능해지며 훨씬 좋은 제품이 만들어질 수 있어요.


3) Limitations

Prompt-Engineering 의 장점을 살펴보았으니, 한계점도 알고 있어야겠죠.  


운영 측면에서, 악의적인 공격에 대비하지 않는다면 정말 많이 취약해요

공격자는 악의적인 Prompt를 모델에 질의함으로써 제품에 적용된 Prompt의 일부 혹은 전체를 탈취할 수 있어요. 팀원들의 노력과 시간이 담긴 소중한 노하우가 고스란히 유출되기 때문에 복제품이 등장할 가능성이 아주 높아요. 이러한 공격을 방어하기 위해서는 Prompt를 인공지능 모델에 질의하기 전에 검사하거나, 생성물에 Prompt가 포함되어있는지 검사하거나, Fine-Tuning을 통해 prompt의 Task 가이드라인 자체를 줄여나가야 해요. 이에 대한 더 자세한 내용은 notionAI의 Prompt를 추출하는 과정을 보여주는 링크에서 확인해주세요.


운영 측면에서, 실행당 비용이 비싸요

더 많은 지침과 예제가 추가될수록 한번의 생성 당 비용이 증가하는데요, 특히 한글의 경우 글자당 토큰을 많이 소모하기 때문에 주의해야해요. chatbot의 예시를 그대로 실행한다면 한 요청당 대략 31원($0.02 * 1200 / 1000 * 1300) 정도를 소모해요. 비용 절약을 위해서는 Prompt 의 핵심만 남기는 과정이 필요하고, 한글보다는 영어를, 비싼 모델(Davinci)보다는 더 저렴한 모델(Ada)을, 고객의 사용 데이터가 쌓인다면 Fine-Tuning을 시도해봐야 해요.


모델 측면에서, Prompt-Engineering을 위한 표준화된 방법이 없어요.

Case Study에서 소개드린 기법들을 잘 체화하고 목적에 따라 창의적으로 활용해 보는 것이 필요해요. 제품의 기능과 의도에 맞게 다양하게 시도해 보시길 바래요.


모델 측면에서, Prompt-Engineering의 영향력을 조절할 수 있는 방법이 없어요.

이미지 계열 인공지능 모델은 cfg-scale과 같은 종류의 파라미터를 통해 Prompt가 결과물에 미치는 영향력을 조절할 수 있지만, GPT 계열의 텍스트 모델 API들은 해당 기능을 제공하고 있지 않아요. 따라서 Prompt를 변경한 후에는 모델의 생성물을 주의 깊게 모니터링하고 필요에 따라 Prompt를 원본으로 되돌리거나 수정해야하기 때문에, Prompt의 버전 관리도 하는 것이 좋아요.


모델 측면에서, 모든 지침이 지켜지는 것은 아니에요.

Prompt가 길어질수록 몇가지 지침들은 누락될 수 있고, 특히 먼저 쓰여진 지침들이 무시될 가능성이 높아요. 때문에 지침에 어떤 변경이 생겼다면 반드시 이전과 같이 제품팀 의도대로 작동하는지에 대한 validation이 꼭 필요해요.



콕스웨이브의 공동창업진 JooWon Kim님과 함께 작성 했습니다.


원글

회사 블로그

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari