- BrainTools - https://www.braintools.ru -

Полтора года и 100 миллиардов токенов спустя

Всем привет! Меня зовут Евгений, я работаю разработчиком в Университете Кембриджа.

Почти полтора года назад я запустил llm7.io [1] — изначально полностью бесплатный сервис инференса LLM. В первую очередь мне хотелось проверить собственные инженерные навыки и поэкспериментировать с инфраструктурой.

За это время через сервис прошло более 100 миллиардов токенов. С чем я только не столкнулся: спам, абьюз, массовые регистрации, попытки обойти ограничения и весьма специфические пользовательские запросы. И поверьте, это лишь вершина айсберга.

Как бесплатный сервис перестал быть бесплатным

Изначально всё было довольно просто: единый rate limiter, который одинаково ограничивал и тех, кто использовал сервис осмысленно, и тех, кто пытался отправить всякие гадости.

Довольно быстро стало понятно, что бороться с такими пользователями исключительно по IP — идея так себе. Поэтому одним из первых изменений стала бесплатная регистрация с выдачей токенов доступа. Это хотя бы позволило блокировать конкретные аккаунты.

Правда, массовые регистрации никуда не делись. CAPTCHA, проверка репутации почтовых доменов, автоматические блокировки мультиаккаунтов — всё это помогало, но проблему не решало.

Примерно год назад я ввёл первые платные подписки за $5 и $12. Не столько ради заработка, сколько ради дополнительного барьера для тех, кто явно злоупотреблял.

Подписка за $5 довольно быстро отмерла, а вторая продержалась около десяти месяцев.

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

В итоге примерно в июне я окончательно перешёл на PAYG (pay-as-you-go).

Бесплатные лимиты тоже пришлось постепенно сокращать. Особенно после распространения инструментов вроде OpenClaw, Hermes и подобных. Количество автоматизированных запросов и попыток выжать максимум из бесплатного доступа стало расти совершенно неприличными темпами.

16 уровней защиты и немного безумия

К этому моменту в сервисе уже появилось около 16 уровней защиты.

От сравнительно банальных ограничений частоты запросов до анализа энтропии входящих текстов, выявления подозрительных паттернов и фильтрации запрещённого контента.

Последнее, кстати, отдельная история. Особенно когда приходится разбираться с детектированием сексуального контента с участием, например, несовершеннолетних. Это из серии – никогда не спрашивайте дата сайнтистов, с какими данными и задачами им приходится работать, чтобы обучить подобные классификаторы.

В общем, инженерно это оказалось куда сложнее, чем я предполагал.

Но постепенно защитный барьер стал более-менее работать.

А потом пришли те, кто обучает собственные модели

В этом году обнаружился ещё один интересный класс пользователей.

Десятки тысяч аккаунтов, в том числе с заметной концентрацией в отдельных азиатских странах, систематически отправляли запросы, поведение [2] которых было очень похоже на сбор данных для дистилляции и обучения [3] собственных моделей.

И вот здесь начинается действительно интересная инженерная задача.

Как отличить обычного пользователя, который активно работает с LLM, вайб кодит, например, от автоматизированной системы, собирающей обучающие данные?

По отдельному запросу — практически никак. Приходится анализировать поведение [4] в совокупности, последовательности запросов, распределения, повторяемость и множество косвенных признаков.

Думаю, это одна из последних крупных защит, которыми я занимаюсь в этом году.

И, кстати, после такого опыта [5] начинаешь гораздо лучше понимать масштаб работы исследователей OpenAI и Anthropic. Надёжно выявлять подобную активность — совсем не тривиальная задача.

По моим наблюдениям, в этом году (а возможно и раньше) защитные механизмы некоторых проприетарных моделей всё заметнее смещаются именно в сторону противодействия сбору данных для обучения конкурирующих моделей.

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

И судя по всему, эта гонка только начинается.

450 тысяч зарегистрированных аккаунтов и желание всё бросить

В какой-то момент в этом году я всерьёз задумался о закрытии проекта.

Я занимаюсь им один. Всего зарегистрировано уже где-то в районе 450 тысяч пользователей, а нагрузка на пиках временами превышала 4 миллиона токенов в минуту.

Поддерживать такую систему, одновременно развивать её и постоянно придумывать новые способы борьбы с абьюзом оказалось довольно утомительно.

Особенно когда понимаешь, что значительная часть времени уходит не на развитие продукта, а на противостояние людям, которые пытаются использовать его недобросовестно.

В какой-то момент я просто выдохнул и решил пересмотреть подход.

Вместо бесконечной борьбы со всеми проблемами сразу я разделил их на две категории.

Первая — проблемы, которые создают бесплатные пользователи и которые требуют непропорционально много времени и ресурсов. Самые болезненные сценарии я просто ограничил или отключил.

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

Звучит очевидно, но мне потребовалось довольно много времени, чтобы к этому прийти.

Что в итоге?

Сервис пережил полтора года, перешагнул отметку в 100 миллиардов токенов и продолжает работать.

А я получил гораздо больше инженерного опыта, чем ожидал, когда запускал небольшой бесплатный эксперимент.

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

Пока продолжаю развивать llm7.io [1]. Посмотрим, какие ещё сюрпризы приготовит следующий год.

Who knows? :)

Автор: evgeniievstafev

Источник [6]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/36973

URLs in this post:

[1] llm7.io: https://llm7.io

[2] поведение: http://www.braintools.ru/article/9372

[3] обучения: http://www.braintools.ru/article/5125

[4] поведение: http://www.braintools.ru/article/5593

[5] опыта: http://www.braintools.ru/article/6952

[6] Источник: https://habr.com/ru/articles/1094420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1094420

www.BrainTools.ru

Rambler's Top100