Поиск по сайту:

Как выполнить пакетный вывод с помощью моделей в один клик


Введение

Модели 1-Click от DigitalOcean на базе Hugging Face позволяют легко развертывать и взаимодействовать с популярными моделями больших языков, такими как Mistral, Llama, Gemma, Qwen и другими, и все это на самых мощных графических процессорах, доступных в облаке. Используя капли графического процессора NVIDIA H100, это решение обеспечивает повышенную производительность вычислений для задач глубокого обучения. Он устраняет чрезмерную сложность инфраструктуры, позволяя разработчикам всех уровней квалификации — как начинающим, так и продвинутым — сосредоточиться на создании приложений, не беспокоясь о сложных конфигурациях программного обеспечения.
В этой статье мы продемонстрируем пакетную обработку с использованием модели «1 клик». В нашем руководстве будет использоваться модель инструкций Llama 3.1 8B на одном графическом процессоре. Хотя в этом примере мы будем использовать меньший пакет, его можно легко масштабировать для размещения более крупных пакетов, в зависимости от вашей рабочей нагрузки и доступных вычислительных ресурсов. Гибкость развертывания модели DigitalOcean в один клик позволяет пользователям легко управлять различными размерами данных, что делает ее подходящей для сценариев, начиная от небольших задач и заканчивая крупномасштабными корпоративными приложениями.

Предварительные условия

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

  1. Учетная запись DigitalOcean: зарегистрируйте учетную запись DigitalOcean и настройте выставление счетов.
  2. Развертывание модели в один клик. Прочтите блог, чтобы понять, как начать работу с моделью в один клик на дроплетах графического процессора.
  3. Токен на предъявителя: токен на предъявителя получен из веб-консоли капли графического процессора.

Что такое пакетный вывод?

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

Этот подход выгоден по нескольким причинам, некоторые из которых отмечены ниже.

  1. Более быстрая обработка:
    Обрабатывая несколько входных данных одновременно, пакетный вывод сокращает время, необходимое для анализа больших объемов данных.
  2. Эффективное использование ресурсов:
    Массовая отправка запросов снижает накладные расходы на обработку нескольких отдельных запросов, оптимизируя использование вычислительных ресурсов, таких как графические процессоры.
  3. Экономичность:
    Пакетный вывод может снизить эксплуатационные расходы за счет минимизации количества запросов, отправляемых в конечную точку вывода, особенно если оплата производится на основе количества вызовов API.
  4. Масштабируемость для больших данных:
    При работе с большими наборами данных пакетный вывод позволяет выполнять масштабную обработку, не перегружая систему.
  5. Постоянные результаты:
    Пакетная обработка входных данных обеспечивает единообразную производительность модели и снижает вариативность результатов.

Настройка моделей DigitalOcean в один клик

Мы создали подробную статью о том, как начать работу с моделью 1-Click и платформой DigitalOcean. Не стесняйтесь перейти по ссылке, чтобы узнать больше.

Как выполнить пакетный вывод и проанализировать настроения с помощью моделей DigitalOcean в один клик

Анализ комментариев клиентов стал для бизнеса важнейшим инструментом, позволяющим отслеживать восприятие бренда, понимать удовлетворенность клиентов продуктом и прогнозировать тенденции. Используя модели DigitalOcean в один клик, вы можете эффективно выполнять анализ настроений в любом масштабе. В приведенном ниже примере мы проанализируем пакет из пяти комментариев.

Давайте рассмотрим пример пакетного вывода, используя вариант использования анализа настроений.

Шаг 1. Установите зависимости

pip install --upgrade --quiet huggingface_hub

Шаг 2. Инициализируйте клиент вывода

import os
from huggingface_hub import InferenceClientInitialize the client with your deployed endpoint and bearer token
client = InferenceClient(base_url="http://localhost:8080", api_key=os.getenv("BEARER_TOKEN"))

Шаг 3. Подготовьте пакетные входные данные

# Create a list of inputs
batch_inputs = [
     {"role": "user", "content": "I love using this product. It's amazing!"},
     {"role": "user", "content": "The service was terrible and I'm very disappointed."},
     {"role": "user", "content": "It's okay, not great but not bad either."},
     {"role": "user", "content": "Absolutely fantastic experience, I highly recommend it!"},
     {"role": "user", "content": "I'm not sure if I like it or not."},
]

Шаг 4. Выполните пакетный вывод

# Iterate through the batch and send requests
batch_responses = []
for input_message in batch_inputs:Send each input to the deployed model
    response = client.chat.completions.create(
                                   model="meta-llama/Meta-Llama-3.1-8B-Instruct",
                                   messages=[input_message],
                                   temperature=0.7,
                                   top_p = 0.95,
                                   max_tokens = 128,)Extract the sentiment result from the response and append the result to the batch_responses list
    batch_responses.append(response['choices'][0]['message']['content'])

Шаг 5. Распечатайте результаты

# Print the results for each input
for idx, (input_text, sentiment) in enumerate(zip(batch_inputs, batch_responses), start=1):
    print(f"Input {idx}: {input_text['content']}")
    print(f"Sentiment: {sentiment}")
    print("-" * 50)

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

  1. Пакетные входные данные. Определите список входных данных, каждый из которых содержит предложение для анализа тональности.
  2. Итерация по входным данным. Отправляйте каждый ввод в виде запроса к развернутой модели с помощью InferenceClient.
  3. Температура и максимальная температура:

    • Установите температуру=0,7 для получения детерминированных результатов.
    • Используйте top_p=0,95, чтобы избежать случайности выборки.
  4. Извлечение результатов. Соберите прогнозы настроений на основе ответов и сохраните их.
  5. Показать результаты: для ясности распечатайте исходный текст рядом с меткой настроения.

Ключевые моменты

  • Замените "YOUR_BEARER_TOKEN" фактическим токеном, полученным из вашей капли DigitalOcean.
  • Отрегулируйте размеры партий и другие параметры, такие как температура и Top-p.

Выполнение пакетного вывода: пример системы вопросов и ответов

Чтобы провести пакетный вывод с помощью моделей DigitalOcean в один клик, вы можете отправить несколько вопросов в одном запросе. Вот еще один пример:

# Define a batch of inputs
batch_inputs = [
               {"role": "user", "content": "What is Deep Learning?"},
               {"role": "user", "content": "Explain the difference between AI and Machine Learning."},
               {"role": "user", "content": "What are neural networks used for?"},
]
for input_message in batch_inputs:
    response = client.chat.completions.create(
                      model="meta-llama/Meta-Llama-3.1-8B-Instruct",
                      messages=[input_message],
                      temperature=0.7,
                      top_p = 0.95,
                      max_tokens = 128,)
                      batch_responses.append(response['choices'][0]['message']['content'])
for idx, output in enumerate(batch_responses, start=1):
    print(f"Response {idx}: {output}")

Объяснение:

  • Параметр inputs представляет собой список строк, позволяющий отправлять несколько текстов за один вызов API.
  • Модель обрабатывает все входные данные за один раз, возвращая результаты в виде списка.
  • Вы можете настроить такие параметры, как max_length и температура, в зависимости от требований вашей модели.

Масштабирование пакетного вывода с помощью DigitalOcean

Инфраструктура DigitalOcean спроектирована с учетом масштабируемости:

  • Высокопроизводительные капли: используйте графические процессоры NVIDIA H100 для быстрого и эффективного получения логических выводов.
  • Автомасштабирование с помощью Kubernetes. Автоматически масштабируйте кластер Droplet для обработки микровсплесков и всплесков трафика.
  • Балансировщики нагрузки: распределяйте трафик между несколькими каплями для обеспечения стабильной производительности.

Реальные приложения

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

  • Маркетинговые кампании: отслеживайте настроения пользователей во время запуска продукта. Часто компаниям требуется анализировать настроения клиентов на основе тысяч публикаций в социальных сетях, твитов и обзоров. Пакетная обработка может помочь обработать все эти данные одновременно, помогая выявить тенденции, например, являются ли отзывы положительными или отрицательными о запуске продукта или говорят ли клиенты о конкретной проблеме обслуживания.
  • Поддержка клиентов. Компании получают большое количество отзывов посредством опросов и обзоров. Пакетный вывод может классифицировать эту обратную связь по заранее определенным категориям (например, «положительная», «отрицательная» и «нейтральная»), сокращая ручную работу по обработке каждой части обратной связи.
  • Генерация контента. Создание ответов на несколько вопросов одновременно — распространенный вариант использования во многих образовательных и исследовательских институтах. Например, компания может захотеть автоматизировать ответы на часто задаваемые вопросы, или учителю могут потребоваться ответы на вопросы нескольких учеников.
  • Модерация контента на платформах. Онлайн-платформам с контентом, созданным пользователями, необходимо фильтровать и модерировать большие объемы текста, изображений или видео на наличие нежелательного материала. Пакетный вывод позволяет автоматически отмечать нарушения контента.

Заключение

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

Ссылки

  • Начало работы с моделями в один клик на капельках графического процессора — руководство по Llama 3.1 с Hugging Face
  • Модели в 1 клик на базе Hugging Face на DigitalOcean
  • Превратите вашу модель графического процессора в 1 клик в личного помощника
  • ОБНИМАНИЯ на DigitalOcean

Статьи по данной тематике: