GPT-4 Turbo의 토큰제한과 토큰 사용량 확인하는 방법(tokenizer)

GPT-4 Turbo의 토큰제한과 토큰 사용량 확인하는 방법(tokenizer)

부루퉁의AI

안녕하세요. 부루퉁의AI입니다.

OpenAI의 챗GPT 모델이 GPT-4에서 GPT-4 Turbo로 업그레이드되면서, 토큰 사용량에 대해 많이 헷갈려 하시는 분들이 계신것 같아, 이번 기회에 한 번 정리해보려 합니다.

GPT-4 Turbo는 입력 토큰 128K(단일 프롬프트 300페이지 분량), 출력 토큰 4,096개를 지원하고 있습니다. 거기에 최신 정보는 23년 4월로 업그레이드 되었습니다. 사실 이번 업그레이드로 프롬프트 사용에 대한 제한이 사라졌습니다. 대신 결과물은 아직도 4,096개 토큰 제한이 걸려있어, 입력만큼의 힘을 낼 수 없습니다.

챗GPT에 토큰이 도대체 무엇이길래? 입력과 출력에 모든 영향을 끼치는 것일까요? GPT-4는 얼마나 적은 양의 토큰을 가졌었기에 이번 업데이트의 의미가 남다른 것일까요? 하나씩 천천히 살펴보겠습니다.

챗GPT의 토큰이란 무엇인가?

토큰이란 챗GPT와 같은 언어 모델에서 사용되는 데이터 처리의 기본 단위를 말합니다. 우리가 평소 사용하는 언어에서 '단어'가 의사소통의 기본 단위라고 생각할 수 있듯이, 언어 모델에서는 '토큰'이 이 역할을 합니다.

하지만 토큰은 단어, 문장부호, 또는 더 작은 단위까지 포함할 수 있습니다. 예를 들어, 문장 "Hellow, world!"를 토큰화 한다고 생각해 보겠습니다. 이 문장은 "Hellow", ",", "world", "!"와 같이 4개의 토큰으로 나눌 수 있습니다. 각각의 토큰은 모델이 처리하는 개별적인 단위가 됩니다.

토큰이 중요한 이유

개발자가 아닌 일반인은 토큰이 늘어나는 것이 왜 중요한지, 뭐가 좋은것인지 잘 모릅니다. 그저 입력량 또는 출력량이 늘어나니깐 좋은가? 라고 생각합니다.

사실 모델이 처리할 수 있는 최대 토큰의 수는 그 모델이 한 번에 다룰 수 있는 정보의 양을 결정하는 것입니다. 예를 들어, 어떤 모델이 한 번에 최대 1000개의 토큰을 처리할 수 있다면, 이 모델이 최대 1000개 토큰으로 이뤄진 텍스트를 이해하고, 대응하는 텍스트를 생성할 수 있다는 의미입니다.

간단히 말해서, 토큰은 언어 모델이 언어를 '읽고' 그 의미를 '파악'하는 데 사용하는 기본적인 구성요소입니다. 모델의 토큰 처리 능력이 높을수록, 더 긴 텍스트를 이해하고 생성할 수 있습니다.

GPT-4의 토큰 제한과 프롬프트

OpenAI Dev Day가 진행되기 이전의 챗GPT(GPT-4)는 4,096개 ~ 최대 8,192개의 토큰 사용 제한이 있었습니다. 프롬프트를 너무 길게 입력하면 답변 출력이 너무 짧거나, 답변이 끊기고, 자연스럽게 이어지지않는 경험을 해보셨을 겁니다.

(출처) OpenAI

챗GPT가 제 성능을 발휘 못했던 이유가 바로 입력 토큰과 출력 토큰을 함께 소모하기 때문입니다. OpenAI가 제공하는 가이드에서 Token과 Token limits를 확인해 보면, 프롬프트와 생성된 출력을 합친 것이 모델의 최대 컨텍스트 길이보다 길면 안된다고 합니다.

즉, GPT-4를 기준으로 입력 프롬프트와 출력 답변의 내용을 합쳐 4,096 토큰을 넘으면 안된다는 것입니다. 그래서 해외 프롬프트 엔지니어들은 Tokenizer를 활용해 프롬프트의 토큰 사용 개수를 파악하고 프롬프트를 제작했었습니다.

Tokenizer는 입력한 텍스트에 대해 사용된 토큰의 개수를 알려주는 OpenAI가 제공하는 서비스입니다. 여러분이 사용한 프롬프트 또는 챗GPT가 생성한 답변을 입력하면, 몇 개의 토큰이 사용되었는지 알 수 있습니다.

GPT-4 Turbo 덕분에 이제 토큰제한을 크게 신경쓰지 않아도 됩니다. 입력 프롬프트에 128k의 토큰이 지원되기 때문입니다. 다만, 출력 토큰은 아직도 4,096개라는 점을 기억하시고, 답변 생성 길이를 조절해 주세요.

챗GPT에서 언급되는 토큰에 대해 궁금하셨던 분들께 이 글이 도움되면 좋겠습니다.

감사합니다.

부루퉁의AI 네이버 블로그: https://blog.naver.com/ldlquddnr

Comments