ChatGPT는 무료, 유료 가격 정책을 사용하고 있다. 각각 정책에 따른 차이점을 자세히 살펴보고, 어떤 정책이 나에게 맞을 지 한번 알아보자. 또한 유료 정책은 Chat과 API를 사용할 때 얼마나 비용이 발생하는지, 그리고 어떻게 최적의 비용 효율을 낼 수 있는지도 확인해보자.
특히, GPT-4 버전과 Advanced Data Analysis 기능의 도입, API 활용 등으로 유료 버전을 사용해야 할지에 대한 고민이 많을 것이다. 자세히 알아보자.
ChatGPT의 무료 vs 유료 정책
무료 정책
- OpenAI ChatGPT 웹사이트에서 제공하는 Chat은 일반 사용자들이 모델을 사용하거나 테스트 할 수 있는 환경을 제공한다.
- GPT-3.5 모델(파라미터 1750억 개)을 무료로 사용할 수 있다.
- 피크시간대에는 지연이 발생할 수 있다.
- 한국어 응답은 영어보다 약간 더 시간이 걸릴 수 있다.
유료 정책
- ChatGPT Plus 구독(월 $20, 부가세 포함 $22, 환율 1354원 기준 29,692원)을 해야 사용할 수 있다.
- 성능이 더 우수한 GPT-4 모델을 사용할 수 있다.(단 3시간 동안 50개의 질문만 할 수 있다.)
- 피크시간대에 우선 접속이 가능하며, 더 빠른 응답시간을 갖는다.
- 새로운 기능(Advanced Data Analysis, Plugins)을 사용할 수 있다.
- API(Application Programming Interface)를 활용하여 소프트웨어에서 ChatGPT를 사용할 수 있다.
(API는 ChatGPT Plus와 달리 요금이 적용 적용된다.)
ChatGPT API Pricing(가격) 정책
언어 모델 가격
GPT-3.5-Turbo
- 4K context: 입력 $0.0015 / 1K tokens, 출력 $0.002 / 1K tokens
- 16K context: 입력 $0.003 / 1K tokens, 출력 $0.004 / 1K tokens
GPT-4
- 8K context: 입력 $0.03 / 1K tokens, 출력 $0.06 / 1K tokens
- 32K context: 입력 $0.06 / 1K tokens, 출력 $0.12 / 1K tokens
토큰(Token) 이란?
토큰은 자연어 처리에서 사용되는 단어의 조각을 의미한다.
영어 텍스트에서 1 토큰은 대략 4 문자 또는 0.75 단어에 해당하며, 셰익스피어의 모든 작품은 약 900,000 단어 또는 1.2M 토큰에 해당한다.
한글 텍스트는 대략 1문자당 2~3개의 토큰에 해당된다.
“ChatGPT” 와 “챗지피티”를 비교해보면
“ChatGPT”는 7글자, 3개의 토큰에 해당하며
“챗지피티”는 4글자, 12개 토큰에 해당한다.
이번에는 GPT-4의 한글과 영문의 입력, 출력의 토큰을 비교해보자
“세계에서 제일 높은 산은 어디야?” 라는 한글 질문에 GPT-4 답변은
“세계에서 가장 높은 산은 에베레스트 산 (Mount Everest)입니다. 그 높이는 약 8,848.86미터 (2019년에 측정된 기록 기준)로, 네팔과 중국 (티베트)의 국경에 위치하고 있습니다. “이다.
질문은 18개 글자, 36개 토큰으로 구성되고
답변은 110개 글자, 180개 토큰으로 구성된다.
“Where is the highest mountain in the world?”라는 영문 질문에 GPT-4답변은
“The highest mountain in the world is Mount Everest, located on the border between Nepal and the Tibet Autonomous Region of China. Its official elevation is 8,848.86 meters (29,031.7 feet) above sea level, as determined by a 2019 survey.” 이다.
질문은 43개 글자, 9개 토큰으로 구성되고
답변 236개 글자, 55개 토큰으로 구성된다.
이렇듯 한글과 영문의 토큰수 차이가 생각보다 크게 나타난다.
토큰수 계산은 OpenAI – Tokenizer에서 확인 해 볼 수 있다.
토큰에 따른 비용을 계산해보면(GPT-4 8K context기준)
한글 – 입력: 36개 토큰, 출력: 180개 토큰(가격: ($0.03*36 + $0.06*180)/1000 = $0.01188, 16.0원)
영문 – 입력: 9개 토큰, 출력: 55개 토큰(가격: ($0.03*9 + $0.06*55)/1000 = $0.00357, 4.8원)
계산 된 금액을 보면 한글이 영문보다 3.33배 정도 비싸다는 것을 확인할 수 있다.
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: 더욱 복잡한 작업과 광범위한 지식을 위한 모델
개발자는 GPT-4 또는 GPT-3.5-Turbo 중에서 작업의 복잡성에 따라 선택하는 것이 좋다.
아래 포스팅에 사용 가능한 GPT 모델들을 정리해 놓았다
팁(최대한 경비를 줄이는 방법)
- ChatGPT Plus를 사용하는 경우, API보다 Chat을 통해 GPT-3.5-Turbo와 GPT-4의 선평가를 진행한다.
- GPT-4 모델보다는 GPT-3.5-Turbo 모델을 우선 사용하도록 한다.
- 한글보다는 영문으로 작동할 수 있도록 구현한다.(성능도 좋고 토큰도 적게 들어간다.)
- 한글로 답변이 필요한 경우
GPT-3.5-Turbo 모델 사용 시: 바로 한글 답변을 요청한다.
GPT-4 모델 사용 시: GPT-4모델로 영문으로 답변을 요청하고, GPT-3.5-Turbo 모델로 한글 번역을 요청한다. - Stop Sequence를 잘 활용한다.
위와 같은 방법으로 비용은 최소화하면서 ChatGPT 서비스를 생성해 보도록 하자.