• Русский
  • Введение в функцию

    Ключевое назначение функции сервиса инференса заключается в том, чтобы развертывать обученные модели машинного обучения или глубокого обучения как онлайн-сервисы, доступные для вызова по HTTP API или gRPC, позволяя приложениям использовать возможности модели для предсказания, классификации, генерации и других задач в реальном времени или пакетно. Эта функция в первую очередь решает задачу эффективного, стабильного и удобного развертывания моделей в продуктивной среде после завершения обучения и предоставления масштабируемых онлайн-сервисов.

    Преимущества

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

    Применимые сценарии

    • Системы рекомендаций в реальном времени: рекомендации товаров или контента на основе поведения пользователя в реальном времени.
    • Распознавание изображений: классификация, обнаружение или распознавание загруженных изображений.
    • Обработка естественного языка: предоставление таких сервисов, как классификация текста, анализ тональности и машинный перевод.
    • Финансовый риск-контроль: оценка кредитного риска пользователя или риска транзакции в реальном времени.
    • Сервисы больших языковых моделей: предоставление онлайн-ответов на вопросы, генерации текста и других сервисов.
    • Пакетный инференс: обработка больших объемов данных, не требующих реакции в реальном времени, например анализ исторических данных и генерация отчетов.

    Приносимая ценность

    • Ускоряет развертывание моделей и сокращает циклы разработки приложений.
    • Повышает эффективность инференса моделей и снижает задержку.
    • Снижает затраты на эксплуатацию и сопровождение, а также повышает стабильность системы.
    • Поддерживает быструю итерацию бизнеса и инновации.

    Основные функции

    Прямое развертывание модели для сервисов инференса

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

    Развертывание сервисов инференса с использованием собственного образа

    • Поддерживает создание Dockerfile для упаковки моделей и их зависимостей в собственные образы, а затем развертывание сервисов инференса через стандартные Kubernetes Deployment. Такой подход обеспечивает большую гибкость и позволяет настраивать среду инференса в соответствии с потребностями пользователя.

    Пакетные операции над сервисами инференса

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

    Работа с сервисом инференса

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

    Поддержка среды выполнения инференса

    • Интегрирует различные распространенные фреймворки инференса, такие как vLLM, Seldon MLServer и др., а также поддерживает пользовательские среды выполнения инференса.
    TIP
    • vLLM: оптимизирован для больших языковых моделей (LLMs), таких как DeepSeek/Qwen, обеспечивает высокую конкурентность обработки и повышенную пропускную способность при более эффективном использовании ресурсов.
    • MLServer: предназначен для традиционных ML-моделей (XGBoost/классификация изображений), обеспечивает совместимость с несколькими фреймворками и упрощенную отладку.

    Способы доступа, журналы, Swagger, мониторинг и т. д.

    • Предоставляет несколько способов доступа, таких как HTTP API и gRPC.
    • Поддерживает подробное ведение и анализ журналов для упрощения устранения неполадок пользователями.
    • Автоматически генерирует документацию Swagger для упрощения интеграции и вызова сервисов инференса.
    • Предоставляет функции мониторинга в реальном времени и оповещения для обеспечения стабильной работы сервиса.

    Преимущества функции

    Преимущества производительности:

    • Поддерживает GPU-ускорение для повышения скорости инференса модели.
    • Поддерживает пакетный инференс для увеличения пропускной способности.
    • Оптимизирует среду выполнения инференса для снижения задержки.

    Масштабируемость:

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

    Безопасность:

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

    Стабильность:

    • Предоставляет проверки состояния и механизмы автоматического перезапуска для повышения доступности сервиса.
    • Поддерживает мониторинг журналов и оповещения для своевременного обнаружения и устранения проблем.

    Создание сервиса инференса

    Шаг 1

    Выберите пользовательскую публикацию

    TIP

    Для пользовательской публикации сервиса инференса требуется ручная настройка параметров. Вы также можете создать «шаблон», объединив входные параметры для быстрой публикации сервисов инференса.

    Шаг 2

    Укажите сведения о сервисе инференса для публикации модели

    ПараметрыОписание
    NameОбязательно. Имя API инференса.
    DescriptionПодробное описание API инференса, поясняющее его функциональность и назначение.
    ModelОбязательно. Имя модели, используемой для инференса.
    VersionОбязательно. Версия модели. Варианты: Branch и Tag.
    Inference RuntimesОбязательно. Движок, используемый для среды выполнения инференса.
    Requests CPUОбязательно. Объем CPU-ресурсов, запрашиваемых сервисом инференса.
    Requests MemoryОбязательно. Объем памяти, запрашиваемый сервисом инференса.
    Limits CPUОбязательно. Максимальный объем CPU-ресурсов, который может использовать сервис инференса.
    Limits MemoryОбязательно. Максимальный объем памяти, который может использовать сервис инференса.
    GPU Acceleration TypeТип GPU-ускорения.
    GPU Acceleration ValueЗначение GPU-ускорения.
    Temporary storageВременное хранилище, используемое сервисом инференса.
    Mount existing PVCПодключить существующий Kubernetes Persistent Volume Claim (PVC) в качестве хранилища.
    CapacityОбязательно. Объем временного хранилища или PVC.
    Auto scalingВключить или отключить функцию автоматического масштабирования.
    Number of instancesОбязательно. Количество экземпляров, запускающих сервис инференса.
    Environment variablesПары ключ-значение, внедряемые в среду выполнения контейнера.
    Add parametersПараметры, передаваемые исполняемому файлу entrypoint контейнера. Массив строк (например, ["--port=8080", "--batch_size=4"]).
    Startup commandПереопределяет инструкцию ENTRYPOINT по умолчанию в образе контейнера. Исполняемый файл + аргументы (например, ["python", "serve.py"]).

    Шаг 3

    Нажмите кнопку Publish, чтобы создать сервис инференса.

    Работа с сервисом

    Шаг 1

    В списке сервисов Inference API щелкните по имени любого сервиса со статусом Running, чтобы просмотреть его сведения.

    Шаг 2

    Нажмите Experience, чтобы открыть правую панель.

    Шаг 3

    Задайте вопрос

    • System Role

      Определяет назначение, тон и рабочие границы ИИ (например, "You are a helpful assistant specialized in medical information").

    • Parameters

      Выбирайте параметры в соответствии с типом задачи. Подробности см. в описаниях параметров ниже.

    Описание параметров для различных типов задач

    Генерация текста

    Параметры по умолчанию

    ПараметрТип данныхОписание
    do_sampleboolИспользовать ли сэмплирование; если нет, используется жадное декодирование.
    max_new_tokensintМаксимальное количество генерируемых токенов без учета токенов в prompt.
    repetition_penaltyfloatШтраф за повторения для контроля повторяющегося контента в сгенерированном тексте; 1.0 означает отсутствие повторений, 0 — повторение.
    temperaturefloatСтепень случайности модели для следующего токена при генерации текста; 1.0 — высокая случайность, 0 — низкая случайность.
    top_kintПри вычислении распределения вероятностей следующего токена учитывать только top k токенов с наибольшей вероятностью.
    top_pfloatУправляет кумулятивным распределением вероятностей, которое модель учитывает при выборе следующего токена.
    use_cacheboolИспользовать ли промежуточные результаты, вычисленные моделью в процессе генерации.

    Другие параметры

    ПараметрТип данныхОписание
    max_lengthintМаксимальное количество сгенерированных токенов. Соответствует числу токенов во входном prompt + max_new_tokens. Если задан max_new_tokens, его эффект имеет приоритет над max_new_tokens.
    min_lengthintМинимальное количество сгенерированных токенов. Соответствует числу токенов во входном prompt + min_new_tokens. Если задан min_new_tokens, его эффект имеет приоритет над min_new_tokens.
    min_new_tokensintМинимальное количество сгенерированных токенов без учета токенов в prompt.
    early_stopboolУправляет условием остановки для методов на основе beam search. True: генерация останавливается, когда появляется num_beams завершенных кандидатов. False: применяются эвристики для остановки генерации, если маловероятно найти более удачных кандидатов.
    num_beamsintКоличество лучей, используемых для beam search. 1 означает отсутствие beam search.
    max_timeintМаксимальное время, отведенное на выполнение вычисления, в секундах.
    num_beam_groupsintРазделяет num_beams на группы, чтобы обеспечить разнообразие между разными группами лучей.
    diversity_penaltyfloatДействует при включенном num_beam_groups. Этот параметр применяет штраф за разнообразие между группами, чтобы содержимое, генерируемое каждой группой, максимально отличалось.
    penalty_alphafloatContrastive search включается, когда penalty_alpha больше 0, а top_k больше 1. Чем больше значение penalty_alpha, тем сильнее контрастивный штраф и тем выше вероятность, что сгенерированный текст будет соответствовать ожиданиям. Если значение penalty_alpha слишком велико, это может привести к чрезмерной однообразности текста.
    typical_pfloatЛокальная типичность измеряет сходство между условной вероятностью предсказания следующего целевого токена и ожидаемой условной вероятностью предсказания следующего случайного токена при заданном сгенерированном частичном тексте. Если задано число с плавающей точкой меньше 1, для генерации сохраняется наименьший набор локально типичных токенов, чьи вероятности в сумме достигают или превышают typical_p.
    epsilon_cutofffloatЕсли задано число с плавающей точкой строго между 0 и 1, выборка выполняется только по токенам, чья условная вероятность больше epsilon_cutoff. Рекомендуемый диапазон значений — от 3e-4 до 9e-4, в зависимости от размера модели.
    eta_cutofffloatEta sampling — это гибрид локального typical sampling и epsilon sampling. Если задано число с плавающей точкой строго между 0 и 1, токен будет учитываться только если он больше eta_cutoff или sqrt(eta_cutoff) * exp(-entropy(softmax(next_token_logits))). Рекомендуемый диапазон значений — от 3e-4 до 2e-3, в зависимости от размера модели.
    repetition_penaltyfloatПараметр штрафа за повторения. 1.0 означает отсутствие штрафа.

    Дополнительные параметры см. в Конфигурации параметров генерации текста.

    Text-to-Image

    Параметры по умолчанию

    ПараметрТип данныхОписание
    num_inference_stepsintКоличество шагов денойзинга. Большее число шагов денойзинга обычно дает более качественные изображения, но замедляет инференс.
    use_cacheboolИспользовать ли промежуточные результаты, вычисленные моделью в процессе генерации.

    Другие параметры

    ПараметрТип данныхОписание
    heightintВысота генерируемого изображения в пикселях.
    widthintШирина генерируемого изображения в пикселях.
    guidance_scalefloatИспользуется для настройки баланса между качеством и разнообразием генерируемого изображения. Большее значение увеличивает разнообразие, но снижает качество; рекомендуемый диапазон — 7–8.5.
    negative_promptstr or List[str]Используется для задания того, какой контент не должен быть включен в генерацию изображения.

    Дополнительные параметры см. в Конфигурации параметров Text-to-Image.

    Классификация текста

    Параметры по умолчанию

    ПараметрТип данныхОписание
    top_kintКоличество меток классов с наивысшим рейтингом. Если указанное значение равно None или превышает количество меток, доступных в конфигурации модели, по умолчанию возвращается количество меток.
    use_cacheboolИспользовать ли промежуточные результаты, вычисленные моделью в процессе генерации.

    Дополнительные параметры см. в Конфигурации параметров классификации текста

    Дополнительные ссылки

    Конфигурация параметров Image Classification

    Конфигурация параметров Conversational

    Конфигурация параметров Summarization

    Конфигурация параметров Translation

    Конфигурация параметров Text2Text Generation

    Конфигурация параметров Image-to-Image