Привет Хабр! Меня зовут Кирилл Овчинников, я работаю в Сбере и по работе у меня есть доступ к различным большим языковым моделям, включая наш собственный GigaChat. Но речь сегодня пойдёт не столько о корпоративных возможностях, сколько о довольно неожиданной проблеме, с которой сталкиваются многие команды при работе с API токенами различных LLM-сервисов — они имеют срок годности и просто сгорают, если их не использовать вовремя.

История началась довольно прозаично: наша команда, как и многие другие, в своё время закупила токены для различных API — и зарубежных, и российских компаний, потратив на это несколько десятков тысяч рублей для экспериментального проекта. Проект, как это часто бывает со стартапами и экспериментами, не взлетел, и токены повисли где-то в недрах наших аккаунтов. Спустя год, когда появилась новая идея, мы с энтузиазмом зашли в личные кабинеты и обнаружили неприятное уведомление — через две недели все наши токены превратятся в тыкву. Десятки тысяч рублей просто испарятся, если мы их срочно не используем.

Нейросети повсюду, но не везде эффективны

Сейчас LLM внедряют буквально везде — от умных часов до корпоративных систем, и иногда кажется, что скоро даже чайник будет предлагать тебе оптимальную температуру воды на основе анализа твоего настроения. Каждый год появляются десятки новых моделей, компании вкладывают миллиарды в разработку, и множество стартапов строится вокруг простых обёрток над API существующих моделей. При этом возникает интересный выбор: запускать свою модель на 400 гигабайт, требующую пять видеокарт, или просто купить токены и использовать чужой API.

Классическое применение LLM хорошо известно — это работа с текстом: суммаризация, классификация, перевод, генерация контента, извлечение информации. По стандартным метрикам вроде BLEU Score, Perplexity или F1 Score современные языковые модели показывают впечатляющие результаты и часто превосходят классические методы. Но есть задачи, где LLM традиционно не используют — они плохо работают с числами и вычислениями, могут галлюцинировать, выдавая несуществующую информацию.

И вот мы решили пойти нестандартным путём и попробовать применить наши сгорающие токены там, где LLM обычно не применяют — для предсказания временных рядов и построения рекомендательных систем.

Временные ряды: когда LLM пытается стать предсказателем

Задача предсказания временных рядов — это классика машинного обучения: у вас есть последовательность чисел, и нужно предсказать, что будет дальше. Обычно для этого используют проверенные методы вроде ARIMA с автокорреляцией, дифференцированием и скользящим средним — они работают хорошо, эффективно и практически бесплатно после настройки.

Мы жерешили просто подать в LLM массив чисел с простым промптом: «Ты аналитическая система для предсказания временных рядов. Пожалуйста, сделай прогноз следующих значений на основе предоставленных исторических данных. Отвечай только числами, разделёнными запятыми». И знаете что? Это действительно работает, хотя и со своими особенностями.

Разные модели по‑разному токенизируют числа — GPT-3 с пробелами между числами работает иначе, чем без пробелов, LLaMA требует особого форматирования с подчёркиваниями вместо запятых в некоторых случаях. Результаты получились интересными: модель действительно находит тренды и даже некоторые колебания, хотя точность оставляет желать лучшего — иногда предсказания уходят совсем в другую сторону от реальных данных.

Оказалось, что мы не первые, кто экспериментирует в этом направлении — учёные активно исследуют применение LLM для временных рядов, есть целые конференции с отдельными секциями по этой теме. Существуют различные подходы: от хитрых промптов вроде «подыши глубоко каждые две цифры и предскажи следующую» (что удивительно, но улучшает результаты на десятки процентов), до использования только эмбеддингов из LLM или дообучения моделей с помощью LoRA.

Почему это вообще работает? По сути, LLM делает то, для чего и создавалась — находит закономерности в последовательности токенов и предсказывает следующий. Просто вместо слов мы подаём числа, и модель пытается найти в них паттерны, как она это делает с текстом при генерации «Once upon a time...».

Но почему это не используется в эксплуатации? Точность даже больших подготовленных моделей пока меньше классических алгоритмов, стоимость одного предсказания получается до ста раз выше, а особенности работы с числами создают целое поле для исследований — как правильно форматировать данные, какие разделители использовать, нужно ли нормализовать значения.

Рекомендательные системы: когда LLM знает всё обо всех

Вторая задача, на которую мы потратили токены — рекомендательные системы. Классическая задача, популяризированная Netflix: есть пользователи, есть предметы, есть история взаимодействий, нужно предсказать, что пользователю понравится дальше. Обычно используют коллаборативную фильтрацию, контентное ранжирование или гибридные подходы — всё это отлично работает и давно внедрено в большинстве компаний.

Мы начали с простого — просто попросили LLM порекомендовать что‑нибудь. Потом усложнили задачу, добавив историю пользователя и описания предметов. В итоге получился довольно сложный промпт с ролью («Ты продавец‑консультант»), задачей модели («предложить пользователю товары, которые могут ему понравиться»), описанием пользователя, его историей покупок, описанием доступных товаров и инструкциями по формату вывода.

Результаты оказались неожиданно хорошими, особенно для холодного старта — ситуации, когда у вас нет данных о пользователях, например, при открытии нового магазина. LLM может использовать свои знания о мире, полученные при обучении на огромном корпусе текстов, чтобы делать разумные предположения о предпочтениях среднего пользователя.

По некоторым метрикам результаты сравнимы с классическими методами — RMSE около 1.07, MAE 0.77, AUC 0.71 для zero‑shot подхода с ChatGPT. Это впечатляет, учитывая, что модель не обучалась специально для этой задачи. Google даже объявил, что будет использовать LLM в своих топовых рекомендательных системах для холодного старта.

Учёные тоже активно исследуют эту область — есть подходы с использованием эмбеддингов LLM в качестве дополнительных признаков для классических рекомендательных систем, генерация объяснений для рекомендаций через LLM, использование моделей как агентов для персонализации.

Почему это работает? LLM обучались на огромном количестве текстов из интернета, включая отзывы о товарах, описания магазинов, обсуждения предпочтений — они буквально знают всё о среднестатистических пользователях и их вкусах. Проблема в том, что эти знания могут устареть — модель, обученная в 2023 году, не знает о трендах 2025 года.

И главная проблема — стоимость. Для эксперимента с датасетами MovieLens и Amazon Books на 500 пользователях нужно было обработать около 78 миллионов входных токенов, что при цене 0.5-1.5 доллара за миллион токенов выливается в 40–160 долларов за один тест. А если вы захотите прогнать несколько вариантов промптов для оптимизации, умножайте эту сумму на количество экспериментов.

Итоги экспериментов и полезные выводы

Токены мы успешно сожгли — буквально в первые дни экспериментов, особенно при тестировании рекомендательных систем. На один прогон теста легко уходило десять тысяч рублей, а мы хотели попробовать разные форматирования промптов, разные модели, разные подходы.

Какие задачи ещё можно исследовать, если у вас вдруг окажется избыток токенов? Нахождение аномалий — LLM не самым очевидным образом работают с выбросами в данных. Кластеризация — модели иногда группируют данные по одним признакам, иногда по другим, нет самосогласованности, и это создаёт интересное поле для исследований.

Главные выводы из нашего опыта довольно практичные. Во‑первых, следите за сроком годности токенов — если у вас нет собственной инфраструктуры для запуска больших моделей, вы скорее всего покупаете токены, и они могут сгореть. Особенно внимательно читайте «выгодные предложения» с большими пакетами токенов со скидкой — десять миллионов токенов за полцены звучит заманчиво, пока вы не поймёте, что не сможете их потратить за отведённое время.

Во‑вторых, LLM действительно могут решать задачи, для которых изначально не предназначались. Если у вас появляется новая, нестандартная задача на работе, можно попробовать закинуть её в LLM просто чтобы посмотреть, что получится — иногда результаты удивляют. Скорее всего, бюджет на продакшен‑решение на основе LLM вам не согласуют, но как минимум будет интересно увидеть возможности технологии.

В‑третьих, ограничения LLM напрямую связаны с их стоимостью. Модель размером 400 гигабайт может решать почти любые задачи, но для её запуска нужны дорогие видеокарты, а использование через API стоит существенных денег. Эти 400 гигабайт знаний оказываются очень дорогими в эксплуатации.

И последнее — задачи можно решать эффектно и эффективно. Эффектно — это когда вы в два запроса к LLM получаете предсказание временного ряда, и все вокруг удивляются, как это вообще возможно. Эффективно — это когда вы используете классический ARIMA, который работает быстро, точно и практически бесплатно. Для продакшена выбор очевиден, но для экспериментов и понимания возможностей технологии эффектный подход тоже имеет право на жизнь.

В Сбере мы продолжаем экспериментировать с применением LLM в различных задачах, хотя для продакшен‑решений всё равно приходится финансово обосновывать каждое использование токенов. Технология развивается стремительно — модели становятся эффективнее, появляются специализированные решения для конкретных задач, снижается стоимость инференса. Возможно, через несколько лет то, что сейчас кажется дорогим экспериментом, станет стандартным подходом. А пока — следите за своими токенами и не давайте им сгореть просто так.

Комментарии (1)


  1. pol_pot
    08.09.2025 07:34

    Год назад закинул на опенроутер 20 баксов, и до сих пор не потратил. Там они не сгорают. Но тупо не нужны, потому что куча моделей доступны бесплатно напрямую без посредников.