페이지 이동경로
  • 문서>
  • KoGPT>
  • 이해하기

KoGPT

이해하기

이 문서는 KoGPT API를 소개합니다.

기능 소개

KoGPT API는 다양한 한국어 과제를 수행할 수 있는 기능을 제공합니다. 카카오브레인의 KoGPT는 방대한 데이터로 훈련된 GPT-3 기반의 인공지능(Artifical Intelligence, AI) 한국어 언어 모델입니다. KoGPT API로 KoGPT가 제공하는 기능을 REST API 방식으로 손쉽게 사용할 수 있습니다.

KoGPT 소개 이미지

활용 방법

KoGPT API는 사람처럼 제시된 한국어를 사전적, 문맥적으로 이해하고 문제를 해결합니다. 기계 독해, 기계 번역, 작문, 감정 분석 등 높은 수준의 언어 과제를 해결할 수 있어 다양한 분야에서 활용 가능합니다. 다음을 포함한 여러 유형의 과제에 문장으로 답변할 수 있습니다.

  • 제시된 문장의 긍정, 부정 등 속성 판단 및 분류
  • 긴 문장의 주요 내용을 한 줄로 요약
  • 결론이 없는 문장을 추론하여 결론 예측
  • 질문에 맥락을 고려하여 답변
  • 주어진 문장의 다음 내용 생성

사용자는 과제 내용을 간단히 설명하고 질문하는 것만으로도 KoGPT API를 사용할 수 있습니다. 요청 시 파라미터 값을 조정해 요구사항에 더 잘 부합하는 결과를 유도할 수 있습니다.

수행할 과제의 답변 예시를 함께 전달하면 더 좋은 결과를 얻을 수 있습니다. KoGPT는 적은 양의 예시 데이터로도 사용자의 요구사항을 빠르게 학습(Few-shot Learning)하고 답변합니다. 예시를 많이 전달할수록 더 수준 높은 결과를 얻을 수 있습니다.

개념 및 용어

프롬프트

프롬프트(Prompt)는 KoGPT에게 전달할 제시어입니다. KoGPT API 요청 시 prompt 파라미터에 프롬프트를 필수로 전달해야 합니다.

프롬프트는 하나의 문자열로 작성해야 합니다. 다음 요소를 조합해 다양한 방식으로 구성할 수 있습니다.

  • 과제 설명: KoGPT가 수행해야 할 과제에 대한 설명
  • 예시: KoGPT가 과제 수행 시 참고할 입력과 결과 예시
  • 입력: KoGPT가 처리해야 할 과제

아래 예시를 참고합니다.

prompt 구성
토큰

토큰(Token)은 KoGPT가 의미를 이해할 수 있는 문자열의 최소 단위입니다. 한 토큰을 이루는 문자열의 길이는 일정하지 않습니다. KoGPT는 프롬프트와 결과를 합해 최대 2048토큰의 문자열을 다룰 수 있습니다. 예를 들어, 요청 프롬프트 문자열이 248토큰이라면 KoGPT는 응답에 최대 1800토큰에 해당하는 길이의 결과를 반환할 수 있습니다.

프롬프트와 결과의 토큰 수를 수행하려는 과제에 맞는 적절한 값으로 설정해야 합니다. 요청 토큰 수가 많아질수록 처리에 더 많은 지연 시간이 발생합니다.

사용자는 KoGPT API 요청 시 전달하는 프롬프트의 토큰 수를 미리 알 수 없습니다. 하지만 max_tokens 파라미터로 전체 토큰 수를 조정하여 응답 문자열 길이를 조절할 수 있습니다. 아래 예시를 참고합니다.

// 프롬프트
KoGPT는 방대한 한국어 데이터로 훈련된 인공지능(Artifical Intelligence, AI) 한국어 언어 모델입니다. 카카오브레인의 GPT-3 기반 언어 모델로써 한국어에 대해 다양한 과제를 수행할 수 있습니다. KoGPT API는 KoGPT가 제공하는 기능을 REST API 방식으로 손쉽게 사용할 수 있는 서비스입니다. KoGPT API는 사람처럼 맥락을 이해하고 문제를 해결합니다. 상품 소개글 작성, 감정 분석, 기계 독해, 기계 번역 등 높은 수준의 언어 과제를 해결할 수 있어 다양한 분야에서 활용 가능합니다.
한 줄 요약:

// 결과
// max_tokens을 24로 지정한 경우
KoGPT는 방대한 한국어 데이터로 훈련된 인공지능(Artifical Intelligence, AI) 한국어 언어 모델입니다.
// max_tokens을 12로 지정한 경우
KoGPT는 방대한 한국어 데이터로 훈련된 인공지능(
온도

온도(Temperature)는 후보 토큰의 선택 확률에 영향을 미치는 요소입니다. KoGPT API 호출 시 temperature 파라미터를 사용해 0 초과 1.0 이하의 실수로 조정 가능합니다.

후보 토큰은 KoGPT가 답변 구성에 사용할 토큰의 집합입니다. 후보 토큰마다 올바른 결과일 가능성(Probability)이 다릅니다. 온도는 KoGPT가 각 후보 토큰의 가능성을 얼마나 신뢰할지 결정합니다.

온도 값이 높을수록 가능성이 다른 후보 토큰간의 선택 확률 차이가 줄어듭니다. KoGPT가 더 다양한 후보 토큰을 선택 대상으로 고려하고 더 창의적이고 다양한 답변을 구성합니다. 반대로 온도 값이 낮을수록 가능성이 다른 후보 토큰간의 선택 확률 차이가 커집니다. 이 경우, KoGPT는 가능성이 높은 후보 토큰을 주로 선택해 고정적인 답변을 구성합니다.

아래는 가능성이 높은 순위로 나열된 후보 토큰들의 온도에 따른 선택 확률 변화를 나타냅니다.

temperature에 따른 토큰 선택 확률 변화

아래는 temperature 파라미터 값에 따른 결과 변화 예시입니다. temperature 파라미터 값이 높을수록 KoGPT가 더 색다른 주제로 문장을 만드는 것을 볼 수 있습니다.

// 프롬프트
어느덧 가을이 성큼 다가왔다. 구름 한 점 없이 새파랗고 드높은 하늘을 바라보고 있노라면 어디선가 선선한 바람이 불어온다.

// 결과
// temperature를 0.1로 지정한 경우
가을은 천고마비의 계절이다. 하늘은 높고 말은 살찐다는 뜻이다. 가을은 식욕의 계절이다. 가을에는 식욕이 ...
// temperature를 0.3으로 지정한 경우
가을은 여행하기 좋은 계절이다. 선선한 바람을 쐬며 걷다 보면 어디선가 알싸한 풀 향기가 풍겨온다. 가을에 ...
// temperature를 1.0으로 지정한 경우
이번 가을에는 무슨 옷을 입어야 할 지 고민을 날려버릴 가을 패션 아이템은 무엇이 있을까? 유행을 따르는 것도 좋지만 ...
상위 확률

상위 확률(Top Probability)은 KoGPT가 사용할 후보 토큰의 수에 영향 미치는 요소입니다. KoGPT API 호출 시 top_p 파라미터를 사용해 0 이상 1.0 이하의 실수로 조정 가능합니다.

KoGPT는 학습한 한국어 데이터에서 표본 추출KoGPT는 Nucleus Sampling(Top-p Sampling) 방식으로 표본 추출(Sampling)로 답변 구성에 사용할 토큰들을 추려냅니다. 이때 가장 가능성이 높은 토큰부터, 각 후보 토큰의 가능성을 합한 수치가 상위 확률을 넘지 않도록 수를 제한하여 선정합니다.

상위 확률이 높으면 후보 토큰의 수가 더 많아지고, KoGPT가 더 창의적인 답변을 구성합니다. 반대로 상위 확률이 낮으면 후보 토큰 토큰의 수가 적어져, KoGPT가 고정적인 답변을 구성합니다.

아래는 각 토큰의 가능성과 상위 확률에 따른 후보 토큰의 선택 여부를 나타냅니다. 상위 확률 제한에 따라 1번과 2번 토큰만 후보 토큰으로 사용하고 3번, 4번, 5번 토큰은 사용하지 않습니다.

top_p에 따른 후보 토큰 수 제한

아래는 top_p 파라미터 값에 따른 결과 변화 예시입니다. top_p 파라미터 값이 높을수록 KoGPT가 더 다양한 정보와 어휘로 문장을 만드는 것을 볼 수 있습니다.

// 프롬프트
홍차는 위조, 유념, 산화, 건조, 분류의 과정을 거쳐 만들어진다. 먼저 위조 단계에서는 유념 전 찻잎을 유연하게 만든다. 유념은 찻잎이 쉽게 산화 반응을 일으키도록 하는 과정이다. 약하게 유념하면 부드러운 차가 되고, 강하게 유념하면 향이 진한 차가 된다. 유념은 손이나 기계로 한다. 유념 후에는 환기가 잘 되고 외풍이 없는 산화실에서 1~3시간 산화 과정을 거친다. 산화실의 온도와 습도가 중요하다. 이어서 찻잎을 고온의 건조기에서 15~20분간 건조한다. 건조 시 4~5%의 수분은 남긴다. 부서진 찻잎, 온전한 찻잎으로 등급을 빠르게 분류하고 나면 포장한다.

// 결과
// top_p를 0.1로 지정한 경우
홍차는 찻잎의 크기에 따라 등급이 매겨진다. 홍차의 등급은 찻잎의 크기, 모양, 색깔, 표면, 그리고 발효 정도에 따라 구분 ...
// top_p를 0.7로 지정한 경우
홍차의 종류는 크게 스트레이트 티, 블렌디드 티, 플레이버 티, 플레이버 오브 티, 플레이버 오브 디퍼 등으로 나뉜다. ...
// top_p를 1.0으로 지정한 경우
좋은 홍차를 선택하려면? 좋은 홍차를 고르려면 차의 품질이 좋고 나쁨과 찻잎이 발효됐는지에 신경 써야 한다. 발효는 차가 ...
온도와 상위 확률

두 항목의 값을 동시에 변경하는 것은 권장하지 않습니다. 동시에 변경하면 결과에 영향을 주지 않는 항목이 발생해 사용자의 의도에 맞는 KoGPT의 답변을 유도하기 어려울 가능성이 있습니다.

이용 정책

쿼터

카카오 API는 원활한 서비스 제공을 위해 월간 및 일일 쿼터(Quota, 사용량 제한)를 적용합니다. 현재 적용 중인 쿼터 정보는 쿼터에서 확인할 수 있습니다. 적용된 쿼터 한도를 상향하기 위해서는 협의 및 제휴가 필요하므로 별도 문의합니다.

지원하는 기능

  • 각 API 및 기능의 Kakao SDK 지원 여부는 지원 범위에서 확인할 수 있습니다.
API 및 기능 설명 문서
KoGPT에게 요청하기 KoGPT에게 주어진 문장의 완성을 요청합니다. 문장의 긍정과 부정 판단, 내용 요약 또는 결론 예측, 질문에 대한 답변, 다음 문장 작성 등 다양한 과제를 수행할 수 있습니다. REST API