Своя модель

Аренда видеокарты для дообучения: сколько это стоит

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

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

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

#Короткий ответ

Стоимость цикла считается так:

Итог = Ц × (T_обучения × (1 + K) + T_накладных)

где Ц — цена часа аренды, T_обучения — время одного успешного прогона, K — коэффициент неудачных попыток, T_накладных — время, за которое вы платите, но не обучаете.

Главное, что обычно забывают: K и T_накладных вместе часто больше самого обучения. Именно поэтому оценка «пара долларов» расходится с фактическим счётом в разы.

#Из чего складывается счёт

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

Скачивание базы. База в 4–8 миллиардов параметров — это гигабайты, которые надо вытянуть на арендованную машину. На почасовой аренде это оплачиваемое время. На некоторых площадках трафик тарифицируется отдельно.

Установка окружения. Тяжёлые пакеты, сборка расширений, конфликты версий. В первый раз это не пять минут; на повторных запусках экономится образом или снимком диска, если площадка их даёт.

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

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

Конвертация и выгрузка. Слияние адаптера, перевод в формат для локального запуска, скачивание результата — тоже оплачиваемое время. Где этот этап стоит в общем маршруте — в пилларе про свою модель и дообучение под себя.

#Расчёт на конкретных допущениях

Подставим осторожные допущения, чтобы показать арифметику. Все числа ниже — предположения для примера, а не измерения. Замените их своими.

Статья Допущение Часов
Установка окружения первый раз, с конфликтами 1,0
Скачивание базы база 4–8B 0,3
Отладка запусков два падения до старта 0,7
Успешное обучение компактная база, сотни примеров 1,0
Неудачные прогоны коэффициент K = 1,5 1,5
Конвертация и выгрузка слияние, квантизация, скачивание 0,5
Итого 5,0

Итог: при таких допущениях вы платите примерно за пять часов, а не за один. Если ваш тариф — Ц за час, полный цикл обойдётся в 5 × Ц, и это до первой доработки датасета. Вторая итерация дешевле — окружение уже настроено, отладка не нужна, — но обучение и проверку вы оплатите снова.

Коэффициент K = 1,5 означает «на каждый успешный прогон полтора неудачных». Для первого проекта это оптимистично. Для человека, который делает это в пятый раз на знакомой связке, — пессимистично.

#Когда аренда дешевле своей карты

Простое сравнение: карта, на которой удобно обучать базу в 7–8 миллиардов, стоит как сотни часов аренды. Если вы планируете три-четыре цикла обучения в год, окупить покупку невозможно.

Аренда выигрывает, когда:

  • прогонов немного и они разнесены во времени;
  • нужна карта класса, которого у вас нет и не будет;
  • вы ещё не уверены, что дообучение вообще решает вашу задачу — а это стоит проверить до любых трат, см. когда дообучение не нужно.

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

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

#Бесплатные варианты и их реальная цена

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

Чем за это платят:

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

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

#Как удешевить цикл, ничего не потеряв

  1. Отладьте на игрушечном объёме. Двадцать примеров, одна эпоха, короткая последовательность — прогон на минуты. Все ошибки конфигурации вылезут здесь, а не на полном датасете.
  2. Почистите датасет до аренды. Это бесплатно и влияет на результат сильнее любого гиперпараметра.
  3. Считайте время по замеру, а не по ощущению. Десять процентов данных × 10 — надёжнее любой чужой оценки.
  4. Сохраняйте чекпойнты. Обрыв на 80% прогона без чекпойнта — это оплаченное время, выброшенное целиком.
  5. Не берите карту крупнее, чем нужно. Дорогой ускоритель не ускорит обучение, если ваша база всё равно упирается в длину последовательности и батч 1.
  6. Уложите весь цикл в одну сессию. Каждый новый старт — это заново скачанная база и заново поставленное окружение. Инструмент, который сокращает и то и другое, разобран в гайде по Unsloth.

Как это встраивается в общий бюджет владения личным ассистентом — в разборе сколько стоит личный ИИ на самом деле.

#Где интуиция подводит

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

«Возьму карту помощнее, чтобы быстрее». Быстрее — не всегда: если вы упираетесь в батч 1 и короткую последовательность, часть мощности простаивает, а платите вы за неё полностью.

«Отменю аренду, если не получится». Отменить можно будущие часы, а не потраченные. Именно поэтому дешёвая отладка на игрушечном объёме экономит больше, чем выбор площадки.

#Частые вопросы

#Сколько стоит один час аренды видеокарты?

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

#Можно ли уложиться в бесплатный блокнот целиком?

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

#Что дешевле: обучать самому или заказать?

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

#Сколько прогонов закладывать в бюджет первого проекта?

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

#Аренда окупится, если я потом буду запускать модель локально?

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

#Вывод

Стоимость дообучения — это не цена одного прогона, а цена цикла: окружение, отладка, неудачные попытки, конвертация. Реалистичный множитель к «идеальному» времени — примерно пять на первом проекте и два-три на последующих.

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

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт