🌍 Вітаю! 🇧🇾
TL;DR
- Токены — валюта LLM, платим за каждый вызов
- Размер vocabulary влияет на эффективность токенизации
- English токенизируется эффективнее, чем русский
- Output-токены дороже input-токенов в 2-3 раза
🌍 Вітаю! 🇧🇾
Идея поста возникла в тот момент, когда я думал, что мне выбрать подписку claude или просто взять торбочку токенов и отдельно их оплачивать 🤔
Но что есть токены? Токены — это валюта LLM 💰
Если нет понимания за токены, то есть вероятность переплатить 💵.
Нормальный тейк? Заинтриговал? 🍩
🤔 Что за рыба эта ваша колбаса?
Токены — это то, за что мы реально платим при вызове Anthropic, OpenAI, Google и тд.
👷♂️ Как работает токенизация
1️⃣ Encoding
Текст разбивается на куски, по принципу "найди самый длинный кусок текста, который есть в словаре"
2️⃣ Vocabulary
У каждой LLM свой словарь токенов 📚 (список всех слов, подслов и символов) которые она знает. Каждому токену присвоен номер:
💡 Размер vocabulary имеет значения, к примеру:
➡️ 1K токенов → "understanding" → [under, st, and, ing] = 5 токенов
➡️ 200K токенов → "understanding" → [understand, ing] = 2 токена
💡 Примерные размеры словарей:
➡️ OpenAI ~200K
➡️ Google ~256K
➡️ Anthropic ~65K
3️⃣ LLM работа
LLM не видит текст, работает только с массивом чисел
4️⃣ Decoding
Числа обратно в текст:
🔞 Вечный холивар
Если писать на русском языке, будет потребление токенов больше или меньше? 🤔
Если писать на JS или на Haskell, где будет потребление больше? 🤔
💡 Что мы поняли на данный момент:
Редкие слова = больше токенов
Разбираемся с языком 👅
💡 Модели обучаются на английском языке, а чем чаще язык/текст встречается в обучающих данных, тем эффективнее токенизация.
➡️ "Hello world, I love you" → 6 токенов 🇬🇧
➡️ "Привет мир, я люблю тебя" → 13 токенов 🇷🇺
❗️ Стоит отметить, что новые модели эту разницу сводят к минимуму.
Языки программирования 💻
Теперь по поводу языка программирования, реализовал последовательность Фибоначчи на нескольких языках программирования
Результаты можно посмотреть здесь, кратенько ситуация по токенам следующая:
➡️ Haskell → 39 токенов
➡️ Go → 34 токена
➡️ JS → 32 токена
➡️ Python → 30 токенов
✍️ Выводы?
Ну не нужно писать на Haskell, да и COBOL вам не нужен, хотя за те деньги которые они предлагают можно и пописать 😅
💰 Как считается стоимость?
Input: "Hello World" → 3 токена
Output: "Hi! How are you?" → 20 токенов
Цена токенов в Sonnet 4.6:
Input → $3/MTok
Output → $15/MTok
Расчет стоимости:
Input: (3 / 1e6) × 3 = $0.000009 💵
Output: (20 / 1e6) × 15 = $0.0003 💵
💡 Обычно output токены дороже в 2-3 раза
✍️ Полезности
➡️ Я для вас подготовил репозиторий с апкой — можете поиграться с токенизацией:
Вводите любой текст 📝
Смотрите, как Claude разбивает его на токены 🔍
Сколько каждый токен стоит 💰
Сколько запросов можно сделать на $1 💵
➡️ А вот тут прям наглядно — токенизатор от OpenAI, можно поиграться и посмотреть как работает
➡️ А еще есть Prompt Caching в Claude, в OpenAI такого нет, но зато у них есть Batch API
💬 Делитесь своим мнением в комментариях 👇! Если вам понравился пост, не забудьте поставить лайк! 👍
#AI
Идея поста возникла в тот момент, когда я думал, что мне выбрать подписку claude или просто взять торбочку токенов и отдельно их оплачивать 🤔
Но что есть токены? Токены — это валюта LLM 💰
Если нет понимания за токены, то есть вероятность переплатить 💵.
Нормальный тейк? Заинтриговал? 🍩
🤔 Что за рыба эта ваша колбаса?
Токены — это то, за что мы реально платим при вызове Anthropic, OpenAI, Google и тд.
👷♂️ Как работает токенизация
1️⃣ Encoding
Текст разбивается на куски, по принципу "найди самый длинный кусок текста, который есть в словаре"
"I am Ilya" -> ["I", "am", "Il", "ya"]2️⃣ Vocabulary
У каждой LLM свой словарь токенов 📚 (список всех слов, подслов и символов) которые она знает. Каждому токену присвоен номер:
"I" → 45
"am" → 1413
"Il" → 15760
"ya" → 189💡 Размер vocabulary имеет значения, к примеру:
➡️ 1K токенов → "understanding" → [under, st, and, ing] = 5 токенов
➡️ 200K токенов → "understanding" → [understand, ing] = 2 токена
💡 Примерные размеры словарей:
➡️ OpenAI ~200K
➡️ Google ~256K
➡️ Anthropic ~65K
3️⃣ LLM работа
LLM не видит текст, работает только с массивом чисел
4️⃣ Decoding
Числа обратно в текст:
[9876, 1234] → "Hi! How are you?"🔞 Вечный холивар
Если писать на русском языке, будет потребление токенов больше или меньше? 🤔
Если писать на JS или на Haskell, где будет потребление больше? 🤔
💡 Что мы поняли на данный момент:
Редкие слова = больше токенов
"hello" → 1 токен
"fsdfsdf" → 3 токена [fs, dfs, df]Разбираемся с языком 👅
💡 Модели обучаются на английском языке, а чем чаще язык/текст встречается в обучающих данных, тем эффективнее токенизация.
➡️ "Hello world, I love you" → 6 токенов 🇬🇧
➡️ "Привет мир, я люблю тебя" → 13 токенов 🇷🇺
❗️ Стоит отметить, что новые модели эту разницу сводят к минимуму.
Языки программирования 💻
Теперь по поводу языка программирования, реализовал последовательность Фибоначчи на нескольких языках программирования
Результаты можно посмотреть здесь, кратенько ситуация по токенам следующая:
➡️ Haskell → 39 токенов
➡️ Go → 34 токена
➡️ JS → 32 токена
➡️ Python → 30 токенов
✍️ Выводы?
Ну не нужно писать на Haskell, да и COBOL вам не нужен, хотя за те деньги которые они предлагают можно и пописать 😅
💰 Как считается стоимость?
Input: "Hello World" → 3 токена
Output: "Hi! How are you?" → 20 токенов
Цена токенов в Sonnet 4.6:
Input → $3/MTok
Output → $15/MTok
Расчет стоимости:
Input: (3 / 1e6) × 3 = $0.000009 💵
Output: (20 / 1e6) × 15 = $0.0003 💵
💡 Обычно output токены дороже в 2-3 раза
✍️ Полезности
➡️ Я для вас подготовил репозиторий с апкой — можете поиграться с токенизацией:
Вводите любой текст 📝
Смотрите, как Claude разбивает его на токены 🔍
Сколько каждый токен стоит 💰
Сколько запросов можно сделать на $1 💵
➡️ А вот тут прям наглядно — токенизатор от OpenAI, можно поиграться и посмотреть как работает
➡️ А еще есть Prompt Caching в Claude, в OpenAI такого нет, но зато у них есть Batch API
💬 Делитесь своим мнением в комментариях 👇! Если вам понравился пост, не забудьте поставить лайк! 👍
#AI

Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.