soowanlog

Chat GPT 본문

AI

Chat GPT

개발자솬
AI

Chat GPT

개발자솬 2024. 3. 31. 01:43
728x90
반응형
  • GPT란?

Generative Pre-trained Transformer의 약자로 Chat GPT의 본체라고 생각할 수 있습니다.

Pre-trained(미리 학습됨)는 사용자의 질문에 답변하거나 번역해 주는 등의 행동을 학습하기 전에 미리 지식만 학습시키는 과정을 거쳤다는 뜻입니다.

  • GPT가 학습하는 방법

GPT는 인간처럼 단어의 의미를 알고 있는 것이 아니라 수많은 단어들을 기반으로 단어 사이의 관련성을 학습합니다.

 

예를 들어 인간 은 "코드를 작성했다."라는 문장에서 '코드'가 무엇인지 알기 때문에 '코드를' 다음에 '먹었다.'와 같은 단어가 나오면 어색함을 느낄 것입니다.

 

그러나 GPT는 과학자들이 만들어서 학습시켜 준 수많은 문장들에서 '코드를' 다음에는 '작성했다.'가 가장 많이 등장했기 때문에 "코드를 작성했다."라는 말을 할 수 있게 됩니다. 가령 과학자들이 "코드를 고양이"라는 문장을 가장 많이 학습시켰다면 GPT에게 코드에 관해 물어볼 때 흔히 "코드를 고양이"와 같이 대답할 것입니다.

 

이 과정을 조금 더 구체적으로 설명하면 각 단어들을 임베딩하여 저장하고, 이 벡터들을 활용하여 문맥 정보를 추출합니다.

GPT는 이 추출된 문맥 정보를 활용하여 다음 단어를 예측하는 일을 반복하여 문장을 생성합니다.

※ 임베딩


해당 단어를 고정된 길이의 벡터로 표현하는 과정.
'개'와 '강아지' 같이 비슷한 의미를 가진 단어의 경우 해당 단어들의 벡터도 비슷한 방향으로 위치함.
  • Chat GPT

이제 GPT가 문장을 만들 수 있게 학습됐다는 건 알았습니다. 그럼 어떻게 사람의 질문에 답을 할 수 있게 됐는가에 대해 알아보겠습니다.

 

GPT는 결국 인간이 학습시킨 지식을 토대로 문장을 만들고 있습니다. 만약 자유게시판에 올라온 글들을 학습시켰다면 비교적 자유로운 말투를 사용했을 것입니다. 이처럼 GPT는 어떠한 문장을 학습했는지가 곧 어떠한 문장을 생성하는가와 같다고 생각할 수 있습니다. GPT의 제조사인 Open AI는 GPT에게 '질문-답' 형식의 문장을 학습시켰고 GPT에게 질문이 주어졌을 때 나머지 부분을 작성하게 만들었습니다.

 

이렇게 질문이 주어졌을 때 답을 완성시키도록 학습된 모델이 Chat GPT입니다.

  • Chat GPT의 한계

Chat GPT는 현재 인간과 대화한다고 느껴질 정도로 자연스러운 대화를 구현하고 있습니다.

 

그러나 GPT의 답변은 단순히 학습된 패턴에 따른 답변이기 때문에 종종 예상치 못 한 답변을 생성할 수도 있습니다.

 

그렇기 때문에 우리는 Chat GPT를 사용할 때 보다 정확하고 구체적인 답변을 생성해 내기 위해 노력해야 합니다.

  • Prompt.

- Task(작업) :

Chat GPT를 잘 활용하기 위해 가장 중요한 요소로 어떠한 목적을 갖고 있는지 GPT에게 알려줘야 합니다.

 

위의 예시처럼 '백엔드 언어 추천'이라는 목적을 제시한다면 문제없이 동작하지만,

 

목적을 제시하지 않는다면 동작하지 않는 모습을 볼 수 있습니다.

 

이처럼 Task는 Chat GPT를 사용하는 데 있어 가장 중요한 요소이고 앞으로 소개할 요소들은 답변을 보완하기 위한 요소들이라고 생각하면 됩니다.

 

Task를 작성할 때는 최대한 명료하고 분명하게 작성하고 여러 작업을 동시에 요구할 수도 있습니다.

예를 들어 "나는 신입 개발자인데 백엔드 언어 추천해 주고, 노트북 추천해 주고, 각 노트북 사양 비교해 줘"와 같이 여러 작업을 요구할 수 있습니다.

 

- Context(맥락) :

'맥락'이라는 단어에서 느껴지듯이 굉장히 주관적인 생각이 담긴 요소입니다.

단순히 "나는 신입 개발자인데 백엔드 언어 추천해 줘"와 같은 질문으로도 원하는 답변을 얻을 수 있지만, "나는 Java를 공부한 신입 개발자인데 다른 언어도 공부해 보고 싶어. 공부할 수 있는 시간이 많지 않은데 공부할만한 백엔드 언어 추천해 줘"와 같이 질문한다면 보다 구체적인 답변을 생성할 수 있습니다.

 

즉, 내가 처한 상황을 설명하거나 구체적인 목표를 담은 질문을 하는 것입니다.

 

그러나 너무 많은 정보를 담고 있다면 오히려 답변의 정확도가 떨어질 수도 있습니다.

 

- Example(예시) :

원하는 답변을 생성하기 위한 필수 요소는 아니지만 보다 좋은 질의 답변을 생성할 수 있습니다.

 

"내 자소서 보기 좋게 고쳐줘"보다는 실제로 보기 좋은 자소서를 예시로 들고 "위 자소서처럼 내 자소서를 보기 좋게 고쳐줘"와 같이 질문하는 것이 좋습니다.

 

GPT는 임베딩 벡터를 통해 문맥 정보를 추출하여 활용하기 때문에 예시와 비슷한 문장을 만들어 낼 수 있는 것입니다.

 

- Persona(페르소나) :

Chat GPT에게 역할을 부여한다고 생각하면 좋습니다.

 

자소서를 보기 좋게 고치기 위한 prompt를 만든다면 먼저 "너는 기업의 인사 담당자야."와 같이 Chat GPT에게 인사 담당자의 역할을 부여한 뒤 "너의 입장에서 내 자소서를 보기 좋게 만들어줘"라고 요구하는 것이 좋습니다.

 

- Format(형식) :

답변의 형식을 지정할 수 있습니다.

 

긴 글을 요약하여 표를 생성할 수도 있고, 블로그에 올리기 위한 마크다운 언어를 생성할 수도 있습니다.

 

- Tone(어조) :

상황에 맞는 어조로 답변을 생성할 수 있습니다.

"자소서를 공손한 톤으로 고쳐줘"와 같이 요구할 수 있지만, 특정 어조를 표현하는 단어를 모두 알고 있는 것은 불가능 합니다.

 

이럴때도 Chat GPT를 활용할 수 있습니다.

 

이렇게 Chat GPT에게 질문한 뒤 "자소서를 형식적인 어조로 고쳐주고 객체 주어 구조를 사용해줘"와 같이 요구하면 됩니다.

참    고    자    료

- 프롬프트사용법: 가장 완벽한 GPT 프롬프트 만드는법 | 머니플로우 MoneyFlow(Youtube)

 

- 챗GPT란 무엇인가 : 가장 쉽게 설명해드립니다[서영빈의 데이터경제] | 서영빈 기자

 

- Chat GPT 란? 정의 및 작동 원리 | 소개봇

728x90
반응형