- BrainTools - https://www.braintools.ru -
Всем привет! Меня зовут Евгений, я работаю разработчиком в Университете Кембриджа.
Почти полтора года назад я запустил llm7.io [1] — изначально полностью бесплатный сервис инференса LLM. В первую очередь мне хотелось проверить собственные инженерные навыки и поэкспериментировать с инфраструктурой.
За это время через сервис прошло более 100 миллиардов токенов. С чем я только не столкнулся: спам, абьюз, массовые регистрации, попытки обойти ограничения и весьма специфические пользовательские запросы. И поверьте, это лишь вершина айсберга.
Изначально всё было довольно просто: единый rate limiter, который одинаково ограничивал и тех, кто использовал сервис осмысленно, и тех, кто пытался отправить всякие гадости.
Довольно быстро стало понятно, что бороться с такими пользователями исключительно по IP — идея так себе. Поэтому одним из первых изменений стала бесплатная регистрация с выдачей токенов доступа. Это хотя бы позволило блокировать конкретные аккаунты.
Правда, массовые регистрации никуда не делись. CAPTCHA, проверка репутации почтовых доменов, автоматические блокировки мультиаккаунтов — всё это помогало, но проблему не решало.
Примерно год назад я ввёл первые платные подписки за $5 и $12. Не столько ради заработка, сколько ради дополнительного барьера для тех, кто явно злоупотреблял.
Подписка за $5 довольно быстро отмерла, а вторая продержалась около десяти месяцев.
Отдельным инженерным развлечением оказался расчёт лимитов для подписчиков. Но постепенно выяснилось, что большинству платящих пользователей нужны не фиксированные квоты, а возможность потреблять больше и платить за фактическое использование.
В итоге примерно в июне я окончательно перешёл на PAYG (pay-as-you-go).
Бесплатные лимиты тоже пришлось постепенно сокращать. Особенно после распространения инструментов вроде OpenClaw, Hermes и подобных. Количество автоматизированных запросов и попыток выжать максимум из бесплатного доступа стало расти совершенно неприличными темпами.
К этому моменту в сервисе уже появилось около 16 уровней защиты.
От сравнительно банальных ограничений частоты запросов до анализа энтропии входящих текстов, выявления подозрительных паттернов и фильтрации запрещённого контента.
Последнее, кстати, отдельная история. Особенно когда приходится разбираться с детектированием сексуального контента с участием, например, несовершеннолетних. Это из серии – никогда не спрашивайте дата сайнтистов, с какими данными и задачами им приходится работать, чтобы обучить подобные классификаторы.
В общем, инженерно это оказалось куда сложнее, чем я предполагал.
Но постепенно защитный барьер стал более-менее работать.
В этом году обнаружился ещё один интересный класс пользователей.
Десятки тысяч аккаунтов, в том числе с заметной концентрацией в отдельных азиатских странах, систематически отправляли запросы, поведение [2] которых было очень похоже на сбор данных для дистилляции и обучения [3] собственных моделей.
И вот здесь начинается действительно интересная инженерная задача.
Как отличить обычного пользователя, который активно работает с LLM, вайб кодит, например, от автоматизированной системы, собирающей обучающие данные?
По отдельному запросу — практически никак. Приходится анализировать поведение [4] в совокупности, последовательности запросов, распределения, повторяемость и множество косвенных признаков.
Думаю, это одна из последних крупных защит, которыми я занимаюсь в этом году.
И, кстати, после такого опыта [5] начинаешь гораздо лучше понимать масштаб работы исследователей OpenAI и Anthropic. Надёжно выявлять подобную активность — совсем не тривиальная задача.
По моим наблюдениям, в этом году (а возможно и раньше) защитные механизмы некоторых проприетарных моделей всё заметнее смещаются именно в сторону противодействия сбору данных для обучения конкурирующих моделей.
Получается довольно любопытное противостояние: владельцы передовых моделей стремятся защитить результаты своих исследований, а другие компании и даже государства заинтересованы в получении данных о том, как эти модели рассуждают, чтобы использовать их для создания собственных систем.
И судя по всему, эта гонка только начинается.
В какой-то момент в этом году я всерьёз задумался о закрытии проекта.
Я занимаюсь им один. Всего зарегистрировано уже где-то в районе 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
Нажмите здесь для печати.