Локальный хостинг ИИ-модели: аккаунты, которые всё равно просят номер телефона
Открытые веса модели скачиваются одной командой, а GPU арендуется посекундно — вычисления перестали быть сложной частью. Сложность — во всём остальном: платформа для бота, реестр контейнеров, хаб моделей — каждый в какой-то момент просит номер телефона, и почти всегда не вовремя. Какие из них действительно этого требуют и где одноразовый код — правильное решение.
Запустить языковую модель на арендованном железе, используя веса, которые вы сами скачали, — та часть, что незаметно стала простой. Одна команда скачивает модель, вторая запускает сервер, и всё это тарифицируется посекундно. Сложно — всё, что вокруг: хаб, который закрывает доступ к скачиванию, платформа, на которой модель должна отвечать, реестр, где хранится ваш контейнер, панель, которая показывает, жив ли ещё GPU. Некоторые из них в какой-то момент останавливаются и просят номер телефона — и делают это в самый неподходящий момент.
Это руководство — про этот разрыв. Сколько на самом деле стоит содержать локальную установку, какие из сопутствующих аккаунтов действительно требуют номер, а какие только делают вид, и где одноразовый код — правильный инструмент, а где нет.
Из чего на самом деле состоит локальный хостинг #
Локально размещённая модель — это четыре компонента, и лишь один из них — собственно модель.
- Вычисления — GPU с памятью, достаточной для весов модели, аренда по часам или посекундно. Это единственная часть, за которую платят непрерывно.
- Веса — скачиваются один раз с хаба моделей. Для большинства открытых моделей достаточно просто войти в аккаунт; у некоторых доступ выдаётся по запросу.
- Поверхность — то, с чем люди действительно общаются: бот в Telegram, бот в Discord, веб-эндпоинт, внутренний API.
- Обвязка — реестр контейнеров, место для хранения секретов и что-то, что следит за состоянием сервера.
Запрос номера телефона никогда не исходит от модели. Он исходит от поверхности и обвязки — обычных пользовательских аккаунтов и аккаунтов для разработчиков, с обычными правилами защиты от злоупотреблений.
Вычисления арендуются, и это дешёвая часть #
Держать собственную карту для большинства давно перестало иметь смысл. Железо, способное вместить модель 70B без квантования, стоит дороже подержанной машины и простаивает большую часть недели; та же карта в посекундной аренде на вечер работы обойдётся дешевле, чем еда на вынос. Посекундная тарификация — вот что здесь важно: если задача занимает четыре минуты, платить нужно за четыре минуты, а не за округлённый до часа отрезок.
| GPU | Что комфортно тянет | По запросу, за час |
|---|---|---|
| RTX 2070, 8 GB | Распознавание речи, эмбеддинги, небольшие классификаторы | $0.032 |
| RTX 4090, 24 GB | Модель 7B–14B на полной скорости, генерация изображений | $0.262 |
| H100 SXM, 80 GB | Модель 70B без квантования, дообучение | $1.512 |
Это опубликованные тарифы «по запросу» на PowerGPU — сервисе, который перечисляет 79 моделей NVIDIA и выставляет цену на каждую по медиане открытого рынка вместо аукциона, поэтому цифра на странице и есть та цифра, которую вы платите. Тарификация посекундная, оплата — в криптовалюте, и никакой проверки личности между вами и первым инстансом. Для проекта, который вы намеренно держите отдельно от своего имени, это последнее — главная причина смотреть туда, а не на крупного облачного провайдера.
Какие аккаунты просят номер и когда #
Запросы распределены неравномерно. Некоторые платформы изначально требуют телефон и вообще не откроют аккаунт без него; другие спрашивают, только если в сессии что-то выглядит незнакомым. Понять, какой это случай, — значит сэкономить и деньги, и напрасно потраченный номер.
| Аккаунт | Когда появляется запрос | Решает ли это код |
|---|---|---|
| Telegram, для бота | При создании аккаунта — пути только через email не существует | Да. Самый однозначный случай в этом списке |
| Discord, для бота | При некоторых регистрациях и каждый раз, когда аккаунт помечен | Да — хотя обычно поводом служит именно эта пометка, а не сама регистрация |
| Хаб моделей | Редко при регистрации; иногда — на закрытых моделях или действиях организации | Обычно да, в тех случаях, когда запрос вообще появляется |
| Хостинг кода или реестр | При настройке двухфакторной аутентификации, где SMS — один из нескольких вариантов | Возможно, но здесь лучше подходит приложение-аутентификатор |
| Провайдер ИИ API | Один раз, при регистрации, до выдачи первого ключа | Да, один одноразовый код |
Стоит различать два паттерна, потому что для них нужны разные продукты. Номер, который спрашивают один раз при регистрации, — это шлюз: вы проходите его, и он больше не появляется. Номер, который спрашивают позже, при входе с сессии, которую платформа не узнала, — это проверка: она может повториться, и повторится именно на тот же номер. Выбирать так, будто проверка — это шлюз, — самая частая и самая дорогая ошибка во всём этом процессе.
Одноразовый код или номер, который остаётся с вами #
Если аккаунт спросит номер лишь однажды, одноразовый код — то, что нужно: берёте номер под конкретный сервис, приходит код, номер возвращается обратно в пул. Если в аккаунт предстоит заходить снова с новых устройств — бот, который всё ещё работает через полгода, — номер должен существовать и в момент, когда придёт повторная проверка. Именно для этого нужен арендованный номер, и это разница между аккаунтом, который остаётся у вас, и аккаунтом, который вы незаметно теряете.
Порядок действий, который работает #
- 1 Сначала определитесь с поверхностью Будет ли модель отвечать в Telegram, в Discord или на голом эндпоинте — это решает, какие аккаунты вам вообще понадобятся. Простому HTTP-эндпоинту на арендованном сервере не нужен ни один пользовательский аккаунт — и если это подходит для вашего проекта, вы только что убрали все запросы номера телефона на этой странице.
- 2 Создайте аккаунты до аренды GPU Аккаунты — это та часть, которая может застопориться на час. GPU тарифицируется с той секунды, как запущен. Разбирайтесь с задержками, пока ничего не работает.
- 3 Заказывайте номер, когда запрос уже на экране Дойдите до поля, которое его запрашивает, оставьте открытым и только тогда заказывайте код. Код списывается в момент прихода — и приходит вне зависимости от того, готовы вы его принять или нет. Страница номеров Telegram и страница номеров Discord показывают страны, которые сейчас обслуживают каждый сервис.
- 4 Сразу подключите второй фактор Как только аккаунт создан, добавьте приложение-аутентификатор и сохраните резервные коды. Именно это избавляет платформу от необходимости снова обращаться к вашему номеру — девяносто секунд работы, которые снимают целый класс будущих проблем.
- 5 И только потом запускайте инстанс Когда аккаунты улажены, арендуйте GPU, скачивайте веса, запускайте сервер. С этого момента счётчик уже идёт, и ничто не должно вас отвлекать.
Чего виртуальный номер не делает #
Об ограничениях стоит сказать прямо, потому что сбои, к которым они приводят, предсказуемы.
- Сам по себе он не делает аккаунт анонимным. У аккаунта всё равно остаются email, платёжный след и поведенческий отпечаток; номер — лишь один идентификатор среди прочих.
- Он не обходит сервис, который специально отклоняет немобильные диапазоны, — см. почему сервисы отклоняют VoIP.
- Он не снимает пометку. Если платформа уже решила, что аккаунт выглядит подозрительно, свежий код закрывает проверку перед вами, но не причину, по которой она появилась.
- Он не заменяет второй фактор. Номер — резервный канал; именно приложение-аутентификатор делает аккаунт по-настоящему вашим.
Если посреди настройки код перестаёт приходить, причина почти никогда не в модели или в сервере — в статье почему код подтверждения так и не пришёл разобраны те немногие причины, по которым это на самом деле случается.
Как выглядит установка, которая держится #
Вариант, который выдерживает столкновение с реальностью, каждый раз выглядит примерно одинаково. Вычисления арендуются посекундно и оплачиваются криптовалютой, поэтому счёт соответствует объёму работы, а инстанс может исчезнуть вместе с проектом. Веса хранятся локально, поэтому никто не может отозвать доступ к вашей собственной модели. Поверхность выбрана так, чтобы требовать как можно меньше пользовательских аккаунтов. А для аккаунтов, которых действительно не избежать, — номер, который есть один раз для шлюза или всё ещё существует через полгода для проверки, выбранный осознанно, а не потому, что в тот день он оказался самым дешёвым.
Вычисления стали простой частью. Планируйте аккаунты с той же тщательностью, что и GPU, — и всё остальное перестаёт быть интересным, а для инфраструктуры это и есть конечная цель.