Перейти к основному содержимому

Как запустить LLM из Hugging Face в Caila

Hugging Face — крупнейший хостинг моделей машинного обучения. На платформе Caila вы можете развернуть любую языковую модель из Hugging Face без необходимости писать код. Такую возможность предоставляет сервис-прототип vllm-prototype на основе библиотеки vLLM.

Как это работает:

  1. Оцените требуемое количество видеопамяти.
  2. Склонируйте сервис из прототипа, выбрав подходящий сервер.
  3. Укажите модель в настройках и запустите сервис.

Оценка VRAM

Чтобы выбрать сервер для развертывания модели, необходимо рассчитать требуемое количество видеопамяти. Воспользуйтесь калькулятором VRAM или следующей формулой:

VRAMРазмер весов + Размер кэша

Размер весов

В карточке модели на Hugging Face найдите свойства Model size (количество параметров) и Tensor type.

Определите размер одного параметра по таблице:

Tensor typeParam size
TF32/FP324 байта
BF16/FP162 байта
INT81 байт
INT40,5 байт

Размер весов = Model size × Param size.

Размер кэша

Размер кэша = 2 × Batch size × Max tokens × Num layers × Hidden size × Param size,

где:

  • Batch size — количество запросов в пачке, для простоты можно считать равным 1.

  • Max tokens — максимальный контекст окна контекста модели (MAX_TOKENS из настроек ML-сервиса).

  • Num layers — количество трансформерных слоев в архитектуре модели. Если нет данных, можно использовать следующие оценки в зависимости от размера модели:

    • малая модель (~1B параметров) — 12–24 слоя;
    • средняя (~7B параметров) — 32–40 слоев;
    • большая (~70B параметров) — 80–100 слоев.
  • Hidden size — размерность векторов в скрытом состоянии модели. Если нет данных, можно использовать следующие оценки в зависимости от размера модели:

    • малая модель — 768–1024;
    • средняя — 2048–4096;
    • большая — 4096–8192.
  • Param size — размер параметра, см. таблицу.

Создание сервиса из прототипа

  1. Откройте карточку сервиса vllm-prototype в каталоге Caila.

  2. Нажмите Клонировать и запустить.

  3. Отредактируйте название сервиса, если требуется. Отредактируйте название сервиса, если требуется. Ссылка на сервис изменится автоматически.

  4. Выберите сервер для его развертывания с учетом требуемой VRAM:

    СерверVRAM
    immers-a2-4-1616 Гб
    immers-3080-8-1616 Гб
    immers-t4-8-3216 Гб
    selectel-t4-8-3216 Гб
    immers-3090-8-3224 Гб
    selectel-a5000-8-3224 Гб
    immers-h100-16-12880 Гб
    подсказка

    Если не подходит ни один из предложенных серверов, выберите любой. После клонирования создайте ресурс-группу с подходящим сервером, инструкцию смотрите в разделе Создание ресурс-группы. Для малых моделей рекомендуем сервер immers-4090-8-32.

  5. Отметьте вариант Запустить позже вручную.

Редактирование настроек и запуск

  1. В карточке склонированного сервиса перейдите к редактированию настроек: в разделе Настройки на вкладке Основные нажмите .

  2. Отредактируйте Переменные среды:

    • MAX_TOKENS — максимальный размер окна контекста модели, по умолчанию 8000 токенов.
    • BASE_PATH — путь к модели в контейнере, оставьте значение . (точка).
    • DOWNLOAD — оставьте true для скачивания модели с Hugging Face.
    • MODEL — название модели из Hugging Face (например, deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B).
    • TENSOR_PARALLEL_DYNAMIC — автоматическое задание опции tensor-parallel-size на основе количества доступных GPU.
    • VLLM_ENGINE_ITERATION_TIMEOUT_S — тайм-аут каждой итерации в vLLM для предотвращения ошибок при долгом инференсе, по умолчанию 160 секунд.
    • OPTS — дополнительные параметры командной строки для vLLM, которые можно найти в документации.
    • HF_TOKEN — токен доступа к Hugging Face, необходим для загрузки платных моделей и моделей с особыми условиями использования.
  3. Сохраните настройки.

  4. Перейдите на вкладку Хостинг. Если требуется, измените ресурс-группу, созданную при клонировании сервиса.

  5. В блоке Управление инстансами нажмите .

Подробнее об управлении ML-сервисом читайте в разделах: