입력 및 출력 토큰 수와 모델의 100만 토큰당 가격으로부터 단일 대규모 언어 모델(LLM) API 호출의 비용을 계산한다. 입력과 출력은 별도로 과금된다.
입력
토큰
한 번의 호출에서 모델에 전송되는 토큰으로, 시스템 프롬프트와 대화 이력, 현재 사용자 메시지를 합한 값이다. 영어 기준으로 토큰 하나는 대략 네 글자에 해당한다.
모델이 응답에서 생성하는 토큰이다. 출력은 일반적으로 입력보다 높은 단가로 과금되므로, 긴 응답은 짧은 프롬프트의 비용을 압도한다.
가격
$
제공업체가 입력 토큰 100만 개당 부과하는 금액이다. 토큰 단위 금액은 1센트의 극히 작은 일부에 불과하므로 가격은 100만 토큰 단위로 공시된다.
$
제공업체가 출력 토큰 100만 개당 부과하는 금액이다. 생성은 프롬프트를 읽는 것보다 연산 부담이 크기 때문에 일반적으로 입력 단가의 세 배에서 다섯 배에 이른다.
결과
값을 입력하면 계산 결과가 표시됩니다.
$
한 번의 호출에 대한 입력과 출력 비용의 합계: ... + ... = ....
세부 정보
$
입력 토큰 1,500개를 100만 토큰당 3 $로 계산한 비용으로, 이 호출에서 프롬프트가 차지하는 부분이다.
$
출력 토큰 500개를 100만 토큰당 15 $로 계산한 비용으로, 이 호출에서 응답이 차지하는 부분이다.
토큰 비용이란
대규모 언어 모델(LLM)에 대한 API 호출의 토큰 비용은 한 번의 요청에 부과되는
금액으로, 모델에 보낸 토큰 수와 모델로부터 받은 토큰 수, 그리고 모델이
공시한 토큰당 단가로부터 산출한다. 제공업체는 사용량을 토큰 단위로 계측한다.
토큰은 영어 기준으로 대략 네 글자에 해당하는 짧은 텍스트 조각이다.
프롬프트(입력)와 응답(출력)은 단가가 다르기 때문에 별도로 과금된다.
단가를 표시하는 방식
토큰 하나의 금액은 통화 단위의 극히 작은 일부에 불과하므로, 제공업체는
대표 수치를 읽기 쉽게 유지하기 위해 단가를 100만 토큰 단위로 공시한다.
입력 100만 토큰당 $3이라는 단가는 입력 토큰 하나가 100만분의 3달러임을
뜻하며, 출력 100만 토큰당 $15은 그 다섯 배다. 출력이 더 비싼 이유는 생성이
한 번에 한 토큰씩 이루어지며 각 토큰마다 모델 전체를 거치는 연산이 필요한
반면, 입력은 한 번의 병렬 처리로 한꺼번에 다루어지기 때문이다.
계산식
입력 토큰 수를 , 출력 토큰 수를
, 그 단가를 이라 하면, 과금되는 두 구성 요소는 다음과 같다.
Cin=106ninpin,Cout=106noutpout
호출 비용은 이 둘의 합이다.
C=Cin+Cout
으로 나누는 것은 100만 토큰 단위의 단가를 토큰당 단가로 환산한 뒤
토큰 수를 곱하기 위함이다.
계산 예시
입력 토큰 개, 출력 토큰 개의 요청을, 입력
100만 토큰당 $3, 출력 100만 토큰당 $15의 중위 프런티어 모델로 처리하는
경우를 생각한다. 입력 부분은 다음과 같다.
Cin=1061500×3=$0.0045
출력 부분은 다음과 같다.
Cout=106500×15=$0.0075
따라서 호출의 총비용은 C = 0.0045 + 0.0075 = \0.012$이다. 프롬프트가
응답보다 세 배 길지만, 출력 단가가 입력 단가의 다섯 배이므로 양쪽은 청구액에
거의 같은 정도로 기여한다. 이것이 토큰 과금의 특징이다. 높은 단가의 짧은
응답은 낮은 단가의 긴 프롬프트만큼의 비용이 될 수 있다.
보충과 변동 요인
이 계산은 일률적인 토큰 단가를 전제로 한다. 실제로는 실효 단가가 공시값을
밑돌 수 있다. 프롬프트 캐시는 반복되는 문맥을 할인된 단가로 재사용하며,
비동기 일괄 처리는 지연 시간을 대가로 단가를 낮춘다. 토큰 수 또한
토크나이저와 내용에 따라 달라지며, 코드와 비영어권 문자는 평이한 영어보다
토큰화 효율이 낮아 글자당 토큰 수가 많아진다.
활용
호출당 비용은 더 큰 추정을 쌓아 올리는 최소 단위다. 여기에 요청량을 곱하면
반복 지출이 되며, 이를 다루는 것이 LLM 월간 비용 계산기이다.
하나의 과제에서 여러 호출을 수행하는 에이전트형 작업은
에이전트 비용 계산기에서 다룬다. 반대 방향으로, 즉 일정 예산으로
살 수 있는 토큰 수를 구하려면 달러당 토큰 계산기를 참조한다.
자주 묻는 질문 (FAQ)
입력 토큰과 출력 토큰의 가격이 다른 이유는 무엇인가
프롬프트를 읽는 작업과 응답을 생성하는 작업은 성격이 다르다. 입력 토큰은 한 번의 병렬 순방향 연산으로 처리되는 반면, 출력 토큰은 한 번에 하나씩 생성되며 각 토큰마다 모델 전체를 거치는 연산이 필요하다. 따라서 생성은 연산 부담이 크며, 제공업체는 이를 반영해 출력 토큰을 더 높게 책정한다. 일반적으로 입력 단가의 세 배에서 다섯 배 수준이다.
내 텍스트는 몇 토큰인가
토큰은 텍스트의 한 조각으로, 영어에서는 흔히 세 글자에서 네 글자 길이의 단어 일부에 해당한다. 대략적인 기준으로 토큰 하나는 영어 단어 약 0.75개에 해당하므로 1,000 토큰은 대략 750 단어다. 코드와 문장 부호, 비영어권 문자는 토큰화 효율이 낮아 글자당 토큰 수가 더 많아진다. 정확한 값은 제공업체의 토크나이저로 확인해야 한다.
가격을 100만 토큰 단위로 표시하는 이유는 무엇인가
토큰 하나의 비용은 1센트의 극히 작은 일부여서 토큰 단위 가격은 읽기 어려운 0의 나열이 된다. 100만 토큰 단위로 표시하면 대표 수치가 읽기 쉬워진다. 100만 토큰당 3이라는 단가는 토큰 하나가 통화 단위의 300만분의 3에 해당함을 뜻한다.
면책조항
토큰 수는 모델의 토크나이저에 따라 달라지며 언어와 내용에 따라 변동한다. 공시된 가격은 시간이 지나면서 변하며 캐시나 일괄 처리에 대한 할인을 포함하지 않을 수 있다. 과금 목적으로 수치를 사용하기 전에 제공업체를 통해 현재 단가와 정확한 토큰 수를 확인해야 한다.