AI Fees Up to 15x Cheaper for English Than Other Lang
OpenAI GPT-3.5 Turbo와 GPT-4 비용 및 출력 결과 비교
대규모 언어 모델(Large Language Model, LLM)에 사용하는 언어는 그 비용에 큰 영향을 미치며, 영어 사용자와 e다른 언어 사용자 사이에 AI 격차를 만들 수 있습니다. 최근의 연구에 따르면, OpenAI와 같은 서비스가 서버 비용을 측정하고 청구하는 방식 때문에, 영어로 된 입력과 출력은 다른 언어보다 훨씬 저렴합니다. 간체 중국어는 대략 두 배 비용이 들고, 스페인어는 1.5배의 가격이 들며, 샨 언어는 15배나 더 비용이 듭니다.
애널리스트 딜런 파텔(@dylan522p)은 옥스퍼드 대학에서 수행한 연구로 이어지는 사진을 공유했습니다. 이 연구에 따르면, 대규모 언어 모델(Large Language Model, LLM)에 버마어로 쓰인 문장을 처리하라고 요청하면 198개의 토큰이 소모되는 반면, 같은 문장을 영어로 처리하면 단지 17개의 토큰만 소모됩니다. 토큰은 API(예: OpenAI’s ChatGPT 또는 Anthropic의 Claude 2)를 통해 LLM에 접근하는 데 드는 컴퓨팅 파워 비용을 나타냅니다. 이는 버마어로 쓰인 문장이 영어로 쓰인 문장보다 서비스를 통해 11배 더 비용이 든다는 것을 의미합니다.
어떠한 생성 AI 모델에도 항상 계산 부하와 성능 사이에는 트레이드오프가 존재합니다. GPT-4와 같은 최고 수준의 모델들은 매우 강력하지만, 단순한 모델보다 훨씬 더 많은 계산을 필요로 합니다. 이는 부분적으로 다른 토큰화 체계 때문입니다.
생성 AI 모델(Generative AI Model) 같은 GPT-4와 같은 최고 수준의 모델에서는 계산 부하와 성능 사이에 항상 트레이드오프가 존재합니다. 이러한 트레이드오프에 기여하는 몇 가지 요인이 있습니다:
- 모델 크기: GPT-4와 같은 더 큰 모델은 더 많은 매개변수를 가지고 있으며, 이는 기본적으로 훈련과 추론(예측) 모두에 더 많은 계산 능력을 필요로 합니다.
- 토큰화: 다른 토큰화 체계는 주어진 입력에 대해 생성되는 토큰 수에 영향을 미칩니다. 더 많은 토큰은 더 많은 계산 작업을 의미합니다.
- 작업의 복잡성: 번역이나 요약과 같은 더 복잡한 작업은 텍스트 분류와 같은 더 단순한 작업보다 더 많은 계산 자원을 필요로 할 수 있습니다.
- 최적화: 잘 최적화된 모델은 더 효율적이지만, 그러한 최적화를 달성하는 것 자체가 계산적으로 집중적인 작업입니다.
- 상호작용성: 상호작용을 위한 애플리케이션에서는 낮은 지연 시간의 응답이 필요로 하며, 이는 추가적인 계산 제약을 가져옵니다.
- 데이터 처리량: 데이터를 모델에 투입하고 출력을 추출하는 속도도 전체 계산 부하에 역할을 합니다.
트레이드오프:
- 비용: 더 많은 계산은 더 높은 비용을 의미합니다. 이것은 경제적 비용뿐만 아니라 에너지 사용 면에서의 환경적 비용도 포함합니다.
- 접근성: 높은 계산 요구 사항은 상당한 자원을 가진 이들에게만 최고 수준의 모델의 접근성을 제한할 수 있어, 기존의 불평등을 더욱 악화시킬 수 있습니다.
- 품질: 계산 부하를 줄이는 것은 대게 출력의 품질을 타협하는 것을 의미합니다. 품질이 중요한 작업에서는 이것이 받아들일 수 없을 수 있습니다.
- 속도: 더 높은 성능은 일반적으로 더 많은 계산 시간을 필요로 합니다. 실시간이나 거의 실시간의 애플리케이션에서는 이것이 중대한 단점이 될 수 있습니다.
이러한 트레이드오프는 개발자와 연구자뿐만 아니라 AI 서비스를 사용하거나 투자하려는 최종 사용자들이 충분히 고려해야 할 중요한 문제입니다. 분야가 발전함에 따라, 이러한 트레이드오프를 최소화하는 방법을 찾는 것이 중요한 도전이 될 것입니다.
토큰화 체계는 언어 모델을 실행하는 데 드는 계산 비용을 결정하는 데 중요한 역할을 합니다, 특히 영어와 근본적으로 다른 문법 구조나 문자 세트를 가진 언어를 고려할 때입니다. 다음은 이를 더 자세히 설명하는 몇 가지 포인트입니다:
- 문법적 복잡성: 독일어나 러시아어와 같이 더 복잡한 문법을 가진 언어들은 같은 개념을 표현하기 위해 더 많은 토큰이 필요할 수 있어, 계산 비용이 늘어납니다.
- 문자 수: 한 문자가 하나의 단어나 심지어 개념까지 나타낼 수 있는 중국어와 같은 언어들은 같은 문장에 대해 영어보다 더 많은 토큰이 필요할 가능성이 있습니다.
- 문자와 철자법: 다른 스크립트, 알파벳, 또는 쓰기 체계를 사용하는 언어들도 비슷한 길이의 문장에 더 많은 토큰이 필요할 수 있어 비용이 더 들 수 있습니다. 예를 들어, 라틴 문자가 아닌 스크립트로 쓰여진 언어들은 종종 더 많은 토큰을 필요로 합니다.
- 언어의 희소성: 덜 일반적으로 사용되는 언어들은 영어만큼 최적화되지 않을 수 있어 토큰 수가 늘어나고 따라서 계산 비용이 증가할 수 있습니다.
이러한 토큰 기반의 가격 구조는 따라서 AI 서비스의 접근성과 가용성에 본질적인 불평등을 가져옵니다. 영어를 사용하는 사용자나 조직들은 이러한 모델을 실행하고 훈련시키는 것이 더 저렴할 것이지만, 다른 언어의 사용자들은 더 높은 비용을 부담해야 할 것입니다. 이것은 영어를 사용하는 공동체와 세계 나머지 부분 사이의 기술 격차를 확대시키거나 디지털 분리를 초래할 수 있습니다.
예를 들어, OpenAI’s GPT3 tokenizer에 따르면 “your affection”이라는 표현은 영어에서는 단지 두 개의 토큰만 차지하지만, 간체 중국어에서는 8개의 토큰을 차지합니다. 이는 간체 중국어 텍스트가 단지 4개의 문자(你的爱意)이고 영어 텍스트가 14개의 문자임에도 불구하고 사실입니다. 한글의 경우 “당신의 애정”은 13개 토큰.
언어 모델의 토큰화 방식은 언어들 사이에 불공정성을 불러일으킵니다.
Aleksandar Petrov 등의 ‘토큰화 공정성(Tokenization Fairness)’ 페이지에는 언어 간의 불균형을 확인할 수 있는 다수의 차트와 도구가 있습니다.
토큰화 단계에서부터 일부 언어는 영어보다 15배 이상 긴 토큰화 길이를 가질 수 있습니다. 이로 인해 일부 언어 커뮤니티는 API 기반 서비스에 접근하는 비용(토큰당 요금을 부과하는 경우가 많습니다), 처리 시간과 지연 시간이 훨씬 더 크게 될 수 있습니다. 또한 제공할 수 있는 콘텍스트의 양도 작아집니다.
이러한 차이는 언어 모델을 사용하는데 있어서 불공정성을 초래할 수 있으며, 특히 비용, 처리 시간, 그리고 지연 시간 등 여러 요소에서 언어 커뮤니티 간에 불균형을 만들어낼 수 있습니다. 따라서 이러한 문제를 해결하기 위한 다양한 접근법과 전략이 필요합니다.
Aleksandar Petrov, Emanuele La Malfa, Philip H.S. Torr Adel Bibi가 작성한 논문에서는 최근의 언어 모델이 여러 언어에 대한 뛰어난 성능을 보이고 있지만, 다양한 언어에 대한 출력 품질에 대한 우려가 있음을 지적합니다. 이 논문에서는 모델이 작동하기도 전에 토큰화 단계에서 다양한 언어에 대한 불평등한 처리가 일어나는 것을 보여줍니다. 같은 텍스트가 다른 언어로 번역될 경우 토큰화 길이가 최대 15배나 차이날 수 있습니다. 이러한 차이는 의도적으로 다양한 언어를 지원하기 위해 훈련된 17개의 토큰화기를 평가해도 지속됩니다. 글자 수준과 바이트 수준의 모델도 일부 언어 쌍에 대해 인코딩 길이에서 4배 이상의 차이를 보입니다. 이로 인해 일부 언어 커뮤니티가 상업적 언어 서비스에 접근하는 비용, 처리 시간과 대기 시간, 모델에게 제공할 수 있는 내용의 양 등에서 불공정한 대우를 받게 됩니다. 따라서 우리는 향후 언어 모델을 다언어에 공정한 토큰화기를 사용해 훈련해야 한다는 주장을 합니다.
OpenAI 자체는 API 접근과 ChatGPT 모델 사용에 대한 비용을 어떻게 책정하는지 설명하는 상당히 유용한 페이지를 제공합니다. 그 페이지에는 프롬프트당 토큰 비용을 테스트할 수 있는 토큰화 도구까지 포함되어 있습니다. 그곳에서 우리는 1개의 토큰이 영어로는 대략 4개의 문자 정도이고, 100개의 토큰은 대략 75개의 영어 단어 정도라는 것을 알 수 있습니다. 그러나 OpenAI가 명확히 지적하는 것처럼, 이러한 수학적 계산은 다른 언어에는 적용할 수 없습니다. What are tokens and how to count them?
tiktoken은 OpenAI의 모델들과 호환되는 빠른 BPE(Byte Pair Encoding) 토큰화를 위해 개발된 파이썬 라이브러리입니다. Byte Pair Encoding은 데이터 압축 기술의 하나이면서, 자연어 처리(NLP)에서 부분 단어 토큰화의 형태로도 사용됩니다.
tiktoken을 사용하면 특정 텍스트 입력이 OpenAI 언어 모델에 전달될 때 얼마나 많은 토큰을 사용할지 쉽게 알 수 있습니다. 이는 토큰 단위로 청구되는 OpenAI의 언어 모델 API 호출 비용을 관리하고, 텍스트가 어떻게 처리될지 이해하는 데 유용합니다.
이 라이브러리를 사용하면 API 호출을 하지 않고도 토큰 수를 쉽게 측정할 수 있어 비용을 관리하는 데 도움이 됩니다.