뒤로
김성령
김성령 ·

GPT를 활용해 하루 3분 일상 흔적 남기기 (1)

ToDa라는 서비스는, GPT를 활용하여 유저가 일기를 작성하는 시간(귀찮음)을 줄여주는 솔루션입니다. 저는 기획자이자, 팀의 프롬프트 엔지니어로서 어떻게하면 INPUT을 입력하는 노력 대비, 결과물이 가져다주는 효용을 높여줄 수 있을지에 대해 GPT 4를 활용하며 다양한 시도를 하고 있습니다.


▮ GPT에게 일기 작성 세팅하기

  • 우선 SYSTEM에 OUTPUT으로 전달 받고 싶은 값이 무엇인지 명령문을 입력하고,

  • GPT 4에서 제공하는 간단한 커스터마이징 요소 (Temperature,Top P, Frequency penalty, Presence penalty)를 조작하여

  • <키워드를 입력할 때, 일기를 작성해줘>라는 부탁을 할 수 있도록 세팅해두었습니다.
    (자세한 조건들은 앞으로 6주 동안, 일기 작성 전용 프롬프트와 요소값을 직접 실험해보면서 차차 공유드리도록 하겠습니다.)

Group 154.png

결과물을 읽어보셨나요?
평소 영화를 보거나, 드라마를 봐도 크게 주인공들의 감정 상태에 공감하지 못하는 성격인데, AI가 제 일상에 대해 이정도로 감정을 서술해준다는 것이, 저는 제 일상이 공감받는 듯한 느낌을 받았습니다.

물론 거짓말이 종종 섞여 있으며, 제가 실제 느낀 감정과 다르게 서술된 부분들이 많았지만, 그러한 서술들을 읽으며 제가 정말 느꼇던 감정은 무엇이었는지 되짚어 볼 수 있어 좋았습니다.

그렇다면, 지금까지 제가 일기 전용 프롬프트를 작성하면서, 또는 앞으로 프롬프트를 개선하면서 어떠한 실험들을 해볼 수 있을까요?

▮실험. GPT에게 일기 작성을 부탁할 때 Frequency penalty & Presence penalty 조건은 어떤 값을 입력하여야 할까?

상황 : Frequncy penalty의 최적값을 찾아보자

Group 150.png


위 일기는 Frequency penalty를 0이라는 수치로 극단적으로 낮추었을 때 전달 받은 output입니다. <마치 ~와 같다>라는 서술이 매우 반복적으로 서술되어 있는것을 확인할 수 있습니다.

정의
Frequency penalty란, 결과물이 작성되고 있는 상황에서, 앞서 작성한 내용에 포함된 (단어, 어휘, 문장 형식)이 얼마나 자주 반복될 수 있는가와 관련된 지표입니다.

적용
Frequence penalty가 0이라는 것은 이전에 작성된 (단어, 어휘, 문장 형식이)이 앞으로 작성되는 내용에 반복적으로 포함되어도 상관없다는 뜻으로 간단하게 이해하였습니다.

개선

  • GPT가 키워드와 관련된 상황&감정적 서술을 더욱 풍부히 할 수 있도록 프롬프트에 비유와 은유를 가끔 활용하라는 명령을 작성하였습니다.

  • 하지만 Frequency penalty가 너무 낮은 값으로 설정되어 있다면, 이미 서술한 (단어, 어휘, 문장형식)이 이후에도 반복되어 output을 읽는 사람에게 피로감을 줄 수 있다고 판단하였습니다.

  • 이를 개선하기 위해 적절한 수준의 Frequnce penalty 값을 찾아야 했습니다.

상황 : Presence penalty의 최적값을 찾아보자

Group 152.png

반대로 위 일기는 Presence penalty를 0으로 극단적으로 줄였을 때의 결과입니다. 확실히 앞서 소개드린 Frequncy penalty값을 1.11정도로 많이 높인 상황이라, <마치 ~하다>라는 형식의 문장 서술은 눈에 띄게 줄어든 것을 확인할 수 있습니다. 대신 Presence penalty를 줄여버리니, "인용문(속담, 격언)"의 빈도가 확 높아졌습니다.

정의
사실 Presence penalty는 gpt가 output을 작성하는 과정에서, 이전에 작성하고 있던 내용이 앞으로 작성할 내용의 (주제, 맥락)에 어떤 영향을 미치는가에 중요한 지표입니다. Presence penalty가 높으면 높을 수록, 이전에 이야기하던 (주제, 맥락)에서 벗어난 새로운 이야기를 할 가능성이 높아집니다.

적용
일기 작성을 요청하는 과정에서, input으로 이미 다양한 상황을 나타내는 키워드를 전달하였기 때문에, 해당 값은 output에 큰 영향을 주지 못할 것이라고 생각했었습니다. 하지만 생각보다 결과에서 큰 차이가 났습니다. 거의 매 문장마다 "인용문"이 포함되어있는것을 발견하였습니다.

의문
제가 이해를 잘못한것이 아니라면, "인용문" 역시 (단어, 어휘, 문장형식)에 관련이 있어 Frequncy penalty값을 높인에 따라 반복되지 않았어야 하는데, (주제, 맥락)을 조절하는 Presence penalty를 낮춤에 따라서 반복되는 현상이 발견되어, 제가 무언가 놓치고 있다는 생각이 들었습니다.
*이 부분에 대해 자세히 공부해봐야 할 것 같습니다. 혹은 관련 지식이 있으신 분 첨언 부탁드립니다!

개선

  • 해당 현상 역시, GPT가 키워드와 관련된 상황&감정적 서술을 더욱 풍부히 할 수 있도록 프롬프트에 속담이나 격언을 가끔 활용하라는 명령을 작성하여 나타나는 문제였습니다.

  • 이를 개선하기 위해, Frequncy penalty를 높였던 것인데, 의외로 Presence penalty를 낮추니 "인용문"이 너무 자주 서술되는 현상을 확인할 수 있었습니다.

  • 결과적으로 유사한 <단어, 어휘, 문장형식>의 빈번한 활용을 막을 수 있도록 최적화된 Presence penalty값을 찾아야 했습니다.

▮결과. Frequncy penalty값과 Precense penalty 값

Group 154.png

글을 시작하며, 처음 여러분께 소개해드린 일기입니다. Freqency penalty가 0이었던 일기, Presence penalty가 0이었던 일기와 비교하여 보면 어떠신가요?

제가 일기 output을 얻어내기 위해 여러가지 실험하면서 얻은 힌트를 공유드리자면 아래 두가지와 같아요. 관심있으신 분들은 직업 실험해보시면 재밌을거에요!

  • Freqency penalty는 평균 이상으로 높아야 한다.

  • Presence penalty는 평균과 근접한 값이어야 한다.

    앞으로 ToDa앱의 키워드 일기 솔루션이 어떠한 점을 더욱 개선하면 좋을까요? 프롬프트에 많은 관심이 있다면 함께 일기에 적합한 프롬프트를 만들어가봐도 좋을것 같습니다.

10X AI Club 그룹의 글
19

댓글

로그인 후 댓글을 남길 수 있습니다.

최현종
최현종

오 성령님 엄청 디테일하게 공유해주셔서 감사해요!! 진짜 하루를 기억하기 좋겠네요

김성령
김성령

감사합니다🫥🐶🙏 관련해서 계속 공부해서, 더 정확하고 유익한 내용 올려볼게요 ㅎㅎ