본문 바로가기
IT/CHATGPT

[ChatGPT] Token (Tokenizer) 이란?

by Tony Jung 2023. 12. 18.
반응형

OpenAI의 API를 이용하여 ChatGPT를 구현할 때 가장 현실적으로 마주치는 짜증은 아마 토큰 관련 일것입니다. 

많은 질문을 ChatGPT에 전송을 하면 결국 돌아오는 전달 값은 " 토큰을 초과 하였습니다" .... 

이문제를 해결하기 위해서는 질문/답변의 토큰을 정확히 계산하여 전달하고, 장문의 텍스트 처럼 주어진 토큰의 범위를 초과 할때는 원문을 나누어서 요약하는 방식으로 처리를 해야합니다. 

토큰 (Token)이란?

토큰은 간단하게는 API가 입력된 문장을 처리하는데 사용되는 단어의 조각이라고  설명할 수 있습니다. GPT는 API로 전달된 프롬프트를 처리하기 전에 입력된 내용을 토큰으로 분리 합니다. 이때 단어의 시작과 끝나는 위치가 정확히 계산되지 않을 수 도 있으며, 문장의 뒤 공백도 토큰으로 포함될 수 있습니다.

토큰은 영어의 기준으로는 영어 4자 를  1개의 토큰으로 반환하고, <>/<>등의 문자열도 1개의 토큰, 그리고  영단어 기준 75단어는 평균 100토큰으로 계산이 됩니다. (미국의 독립 선언서의 사본에는 1, 695개의 토큰이 포함되어 있습니다.)

하지만 이 토큰의 계산은 언어마다 큰 차이를 가지고 있답니다. 한글의 경우 한 글자당 2~3토큰으로 계산이 되니 영어에 비해서 비용은 높고  질문/답변의 질이 훨씬 떨어질 수 밖에 없답니다. 

반응형

 

간단하게 토큰을 확인해 볼 수 있는 곳은 OpenAI에서 지원하는 Tokenizer를 이용해서 경험해 보시기 바랍니다. 

OpenAI Platform

 

OpenAI Platform

Explore developer resources, tutorials, API docs, and dynamic examples to get the most out of OpenAI's platform.

platform.openai.com

예를 들어 Carpe Diem의  토큰을 확인해볼까요 원문의 경운 4개의 Token으로 반환되지만 "현재를 즐겨라" 로 한글로 입력한다면? 아래와 같이 9개의 토큰으로 반환 된답니다. 

토큰의 중요성은 모델마다 질문/답변에 대한 토큰이 정해져서 일것입니다. 가장 손쉽게 접할 수 있는 GPT3.5 Turbo의 경우 한번에 4,096 토큰,  Text-davinci-003은 4,097 토큰으로 구성됩니다. 다만 GPT4의 경우 8,192 토큰부터  GPT-4-32K-0314는 32,768 토큰까지 많은 단어를 처리할 수 있도록 구성되었는데.. 돈이 문제이지요.. 

다음 시간에는 Python으로 ChatGPT API를 이용할 때 토큰을 계산하는 방법에 대해 알아볼게요. 

구독,좋아요, 광고클릭은 ...사랑입니다 ㅋㅋㅋ

 

 

반응형

댓글