최근 몇 년간 인공지능 분야에서 가장 주목받는 기술 중 하나는 자연어 처리(NLP)를 기반으로 한 챗봇, 특히 OpenAI의 ChatGPT이다. 이번 포스트에서는 GPT4 출시 이후 변화된 ChatGPT의 가격정책, API 사용 비용을 확인하고 비용을 최소화하여 효율적으로 사용하는 방법에 대해 알아볼 예정이다.
유료 정책은 브라우저 Chat을 이용한 경우와 API를 사용하는 경우에 각각 비용이 다르다. 얼마나 비용이 발생하는지, 그리고 어떻게 최적의 비용 효율을 낼 수 있는지도 같이 확인해보자.
ChatGPT의 가격 정책
무료 정책
- OpenAI ChatGPT 웹사이트에서 제공하는 Chat은 일반 사용자들이 모델을 사용하거나 테스트 할 수 있는 환경을 제공한다.
- GPT-3.5 모델(파라미터 1750억 개)을 무료로 사용할 수 있다.
- 피크시간대에는 지연이 발생할 수 있다.
- 한국어 응답은 영어보다 약간 더 시간이 걸릴 수 있다.
유료 정책
- ChatGPT Plus를 구독(월 $20, 부가세 포함 $22) 해야 사용할 수 있다.
- 성능이 더 우수한 GPT-4 모델을 사용할 수 있다.
(단 브라우저 Chat에서는 3시간 동안 40개의 질문만 할 수 있다.) - 피크시간대에 우선 접속이 가능하며, 더 빠른 응답시간을 갖는다.
- 이미지를 생성하거나, 웹검색을 하는 등 새로운 기능(DALL-E, Browsing, Advanced Data Analysis, Plugins, Vision, Voice)을 사용할 수 있다.
- API(Application Programming Interface)를 활용하여 소프트웨어에서 ChatGPT를 사용할 수 있다.
(API는 ChatGPT Plus와 달리 요금이 적용 적용된다.)
ChatGPT API Pricing(가격) 정책
언어 모델 가격
GPT-3.5-Turbo
- gpt-3.5-turbo-0125 Model: 입력 $0.5 / 1M tokens, 출력 $1.5 / 1M tokens
- gpt-3.5-turbo-instruct Model: 입력 $1.5 / 1M tokens, 출력 $2.0 / 1M tokens
GPT-4-Turbo
- gpt-4-turbo All Models: 입력 $10.0 / 1M tokens, 출력 $30.0 / 1M tokens
(gpt-4-0125-preview, gpt-4-1106-preview, gpt-4-1106-vision-preview) - Vision pricing(1024 px x 1024 px 기준): $0.00765
GPT-4
- gpt-4 Model: 입력 $30.0 / 1M tokens, 출력 $60.0 / 1M tokens
- gpt-4-32k Model: 입력 $60.0 / 1M tokens, 출력 $120.0 / 1M tokens
Assistants API
- Code interpreter: $0.03 / session
- Retrieval: $0.20 / GB / assistant / day (free until 04/01/2024)
토큰(Token) 이란?
토큰은 자연어 처리에서 사용되는 단어의 조각을 의미한다.
영어 텍스트에서 1 토큰은 대략 4 문자 또는 0.75 단어에 해당하며, 셰익스피어의 모든 작품은 약 900,000 단어 또는 1.2M 토큰에 해당한다.
한글 텍스트는 대략 1문자당 2~3개의 토큰에 해당된다.
“ChatGPT” 와 “챗지피티”를 비교해보면
“ChatGPT”는 7글자, 3개의 토큰에 해당하며
“챗지피티”는 4글자, 10개 토큰에 해당한다.
이번에는 GPT-4에서 동일한 한글과 영문 질문에 대한 입력, 출력의 토큰을 비교해보자
“세계에서 제일 넓은 호수는 어디야?” 라는 한글 질문에 GPT-4 답변은
“세계에서 가장 넓은 호수는 카스피해(Caspian Sea)입니다. 이 호수는 약 371,000 제곱킬로미터(143,000 제곱마일)의 면적을 가지고 있으며, 중앙아시아와 동유럽 사이에 위치하고 있습니다. 비록 ‘해’라는 이름이 붙어 있지만, 카스피해는 실제로는 염수를 함유한 큰 호수입니다.“이다.
질문은 19개 글자, 17개 토큰으로 구성되고
답변은 162개 글자, 133개 토큰으로 구성된다.
“Where is the largest lake in the world?”라는 영문 질문에 GPT-4답변은
“The largest lake in the world by surface area is the Caspian Sea. It is located between Europe and Asia, bordered by Russia, Kazakhstan, Turkmenistan, Iran, and Azerbaijan. Despite its name, the Caspian Sea is actually a lake, not a sea, and covers an area of approximately 371,000 square kilometers (143,000 square miles).” 이다.
질문은 39개 글자, 9개 토큰으로 구성되고
답변 323개 글자, 76개 토큰으로 구성된다.
이렇듯 한글과 영문의 토큰수 차이가 생각보다 크게 나타난다.
토큰수 계산은 OpenAI – Tokenizer에서 확인 해 볼 수 있다.
토큰에 따른 비용을 계산해보면(GPT-4 32K context기준)
한글 – 입력: 17개 토큰, 출력: 133개 토큰(가격: ($60.0*36 + $120.0*133)/1M = $0.01812, 24.2원)
영문 – 입력: 9개 토큰, 출력: 76개 토큰(가격: ($60.0*9 + $120.0*76)/1M = $0.00966, 12.9원)
계산 된 금액을 보면 한글이 영문보다 1.88배 정도 비싸다는 것을 확인할 수 있다.
Context 크기의 차이점
4K, 8K, 16K, 32K context는 모델의 “Context 크기” 즉, 모델이 한번에 처리할 수 있는 토큰(Tokens)의 수를 나타낸다.
4K는 한번의 요청에서 최대 4,000개의 토큰까지 처리할 수 있으며, 32K는 최대 32,000개의 토큰까지 처리할 수 있다.
- 처리 능력: 32K context 모델은 8K context 모델보다 한 번에 더 많은 데이터를 처리할 수 있다. 따라서 더 긴 텍스트나 대화를 처리해야 할 때 유용하다.
- 비용: 일반적으로 context 크기가 큰 모델은 더 많은 비용이 든다. 위의 가격 정보를 기반으로, 32K context는 8K context보다 비용이 더 높은 것을 확인 할 수 있다.
- 응답 시간: 32K context 모델은 처리할 데이터가 더 많기 때문에, 상대적으로 응답 시간이 길어질 수 있다.
- 정확도 및 성능: 큰 context 크기를 가진 모델은 더 복잡한 문맥을 이해하는 데 유리할 수 있다. 따라서 긴 텍스트나 대화의 문맥을 유지하면서 더 정확한 응답을 제공할 수 있다.
토큰과 비용 절감 전략
- 쿼리 최적화: 간결하고 명확한 쿼리를 사용하여 필요한 토큰 수를 최소화할 수 있다.
- 언어 선택: 한글보다는 영문으로 요청하는 것이 사용 토큰 수를 최소화할 수 있다.
- 모델 선택: 작업의 복잡성에 따라 적절한 모델을 선택한다.(모델 및 Context 크기 선택)
- 토큰 제한: API 요청 시 최대 토큰 수를 제한하여 비용을 관리한다.
(max_tokens, n, best_of 파라미터를 최적화 한다.)
생성되는 최대 토큰 수는 [ max_tokens * max (n, best_of) ]로 계산되며, n, best_of가 1인 경우(Default) max_tokens 수의 답변을 생성한다.
(n: 반환된 답변의 수, best_of: 고려를 위해 생성하는 답변의 수) - 모니터링: 자주 사용량을 확인하고, 필요에 따라 예산을 조절한다.
- stop sequences 포함: 불필요한 토큰을 생성하지 않도록 stop sequence를 추가한다.
예를 들면, 목록을 생성할 때 stop sequences를 사용할 수 있다.
[11]을 stop sequence로 사용하면, [11]이 도달할 때 완료가 중단되므로 목록에 오직 [10]개의 항목만 생성된다.
어떤 모델을 사용해야 할까?
- GPT-3.5-Turbo: 대화에 최적화된 모델
- GPT-4: 더욱 복잡한 작업과 광범위한 지식을 위한 모델
팁(최대한 경비를 줄이는 방법)
- ChatGPT Plus를 사용하는 경우, API보다 Chat을 통해 GPT-3.5와 GPT-4의 선평가를 진행한다.
- GPT-4 모델보다는 GPT-3.5-Turbo 모델을 우선 사용하도록 한다.
- 한글보다는 영문으로 작동할 수 있도록 구현한다.(토큰이 적게 들어간다.)
- 한글로 답변이 필요한 경우
GPT-3.5-Turbo 모델 사용 시: 바로 한글 답변을 요청한다.
GPT-4 모델 사용 시: GPT-4모델로 영문으로 답변을 요청하고, GPT-3.5-Turbo 모델로 한글 번역을 요청한다. - Stop Sequence를 잘 활용한다.
위와 같은 방법으로 비용은 최소화하면서 ChatGPT 서비스를 생성해 보도록 하자.