IT/AI

OpenAI API의 가격 정책 알아보기

yeTi 2024. 5. 15. 22:45

안녕하세요. yeTi입니다.

오늘은 OpenAI API를 활용하여 다양한 인공지능 모델에 접근기 위해서 OpenAI API의 가격 정책에 대해 알아보고자 합니다. 주로 GPT-4 모델과 그 변형인 GPT-4 Turbo 모델의 차이점, 그리고 토큰 기반 가격 책정 방식에 대해 알아봤습니다.

OpenAI API 가격 개요

OpenAI의 주요 모델들은 사용량에 따라 가격이 다릅니다. 여기서는 GPT-4GPT-3.5 모델을 중심으로 알아봅니다.

GPT-4

  • GPT-4-8K:
    • Prompt Tokens: $0.03 per 1,000 tokens
    • Completion Tokens: $0.06 per 1,000 tokens
  • GPT-4-32K:
    • Prompt Tokens: $0.06 per 1,000 tokens
    • Completion Tokens: $0.12 per 1,000 tokens

GPT-3.5

  • GPT-3.5 Turbo:
    • Prompt Tokens: $0.0015 per 1,000 tokens
    • Completion Tokens: $0.002 per 1,000 tokens

토큰(Tokens)이란?

토큰은 텍스트의 기본 단위로, 일반적으로 단어의 일부, 하나의 단어, 또는 여러 단어로 구성될 수 있습니다. 예를 들어, 영어 텍스트의 경우, 하나의 토큰은 평균적으로 약 4자에 해당합니다. 토큰은 텍스트 길이를 측정하고 비용을 계산하는 데 중요한 역할을 합니다.

예시

문장: "OpenAI는 인공지능을 개발합니다."

  • 토큰: ["Open", "AI", "는", "인", "공", "지", "능", "을", "개", "발", "합니다", "."]

Prompt TokensCompletion Tokens의 차이

  • Prompt Tokens: 사용자가 모델에 입력한 텍스트의 토큰 수입니다. 예를 들어, 질문이나 명령 등이 포함됩니다.
  • Completion Tokens: 모델이 프롬프트에 따라 생성한 응답 텍스트의 토큰 수입니다.

따라서 가격이 정해질 때는 Prompt TokensCompletion Tokens 의 총 합인 Total Tokens 로 정해집니다.

예시

import openai

openai.api_key = 'your-api-key'

response = openai.Completion.create(
  engine="text-davinci-003",
  prompt="Tell me a joke about cats.",
  max_tokens=50
)

print("Response text:", response.choices[0].text.strip())
print("Total tokens used:", response.usage['total_tokens'])
print("Prompt tokens:", response.usage['prompt_tokens'])
print("Completion tokens:", response.usage['completion_tokens'])

위 코드에서 Prompt Tokens는 입력 텍스트의 토큰 수, Completion Tokens는 모델의 응답 텍스트의 토큰 수입니다.

GPT-4-8KGPT-4-32K의 차이

  • GPT-4-8K:

    • 컨텍스트 길이: 최대 8,000 토큰
    • 사용 예: 짧은 문서 생성, 간단한 질의응답 등
  • GPT-4-32K:

    • 컨텍스트 길이: 최대 32,000 토큰
    • 사용 예: 긴 문서 생성, 복잡한 질의응답 등

GPT-4 TurboGPT-4보다 저렴한 이유

GPT-4 Turbo (또는 GPT-4o)는 더 효율적으로 최적화된 모델로, 비용이 저렴합니다. 주요 이유는 다음과 같습니다:

  1. 인프라 최적화: 더 적은 계산 자원을 사용하여 효율성을 극대화합니다.
  2. 응답 시간: 더 빠른 응답 시간을 제공합니다.
  3. 비용 절감: 대량의 API 사용 시 비용 효율성이 높습니다.

가격 비교

  • GPT-4:

    • Prompt Tokens: $0.03 per 1,000 tokens
    • Completion Tokens: $0.06 per 1,000 tokens
  • GPT-4 Turbo:

    • Prompt Tokens: $0.015 per 1,000 tokens
    • Completion Tokens: $0.03 per 1,000 tokens

Python 코드 예시

GPT-4 호출:

import openai

openai.api_key = 'your-api-key'

response = openai.Completion.create(
  engine="gpt-4",
  prompt="What are the benefits of using GPT-4 Turbo?",
  max_tokens=100
)

print("GPT-4 response:", response.choices[0].text.strip())

GPT-4 Turbo 호출:

import openai

openai.api_key = 'your-api-key'

response = openai.Completion.create(
  engine="gpt-4-turbo",
  prompt="What are the benefits of using GPT-4 Turbo?",
  max_tokens=100
)

print("GPT-4 Turbo response:", response.choices[0].text.strip())

결론

이번에 알아보면서 재미있었던 점은 token 이라는 단어 단위로 가격이 정해진다는 것이고, 요청 token 수 뿐만아니라 응답 token 수도 가격에 영향을 준다는 것입니다.

또한 GPT-4 모델보다 후에 나온 GPT-4 Turbo (또는 GPT-4o)이 더 저렴하다는 것이 재밌었는데요.
이후에 나온 모델이지만 GTP-4 와 성능을 동일하게 유지하면서 인프라 및 성능적으로 효율을 높였기 때문에 가격은 더 저렴해졌다는 것입니다.

보다 최신 정보와 실제 가격은 OpenAI의 가격 페이지를 참고해주세요.