Как выполнить пакетный вывод с помощью моделей в один клик
Введение
Модели 1-Click от DigitalOcean на базе Hugging Face позволяют легко развертывать и взаимодействовать с популярными моделями больших языков, такими как Mistral, Llama, Gemma, Qwen и другими, и все это на самых мощных графических процессорах, доступных в облаке. Используя капли графического процессора NVIDIA H100, это решение обеспечивает повышенную производительность вычислений для задач глубокого обучения. Он устраняет чрезмерную сложность инфраструктуры, позволяя разработчикам всех уровней квалификации — как начинающим, так и продвинутым — сосредоточиться на создании приложений, не беспокоясь о сложных конфигурациях программного обеспечения.
В этой статье мы продемонстрируем пакетную обработку с использованием модели «1 клик». В нашем руководстве будет использоваться модель инструкций Llama 3.1 8B на одном графическом процессоре. Хотя в этом примере мы будем использовать меньший пакет, его можно легко масштабировать для размещения более крупных пакетов, в зависимости от вашей рабочей нагрузки и доступных вычислительных ресурсов. Гибкость развертывания модели DigitalOcean в один клик позволяет пользователям легко управлять различными размерами данных, что делает ее подходящей для сценариев, начиная от небольших задач и заканчивая крупномасштабными корпоративными приложениями.
Предварительные условия
Прежде чем погрузиться в пакетный вывод с помощью моделей DigitalOcean в один клик, убедитесь в следующем:
- Учетная запись DigitalOcean: зарегистрируйте учетную запись DigitalOcean и настройте выставление счетов.
- Развертывание модели в один клик. Прочтите блог, чтобы понять, как начать работу с моделью в один клик на дроплетах графического процессора.
- Токен на предъявителя: токен на предъявителя получен из веб-консоли капли графического процессора.
Что такое пакетный вывод?
Пакетный вывод — это процесс, в котором пакеты или несколько входных данных обрабатываются и анализируются вместе в рамках одной операции, а не по одному. Вместо отправки каждого запроса модели по одному, сразу отправляется пакет или группа запросов. Этот подход особенно полезен при работе с большими наборами данных или выполнении больших объемов задач.
Этот подход выгоден по нескольким причинам, некоторые из которых отмечены ниже.
- Более быстрая обработка:
Обрабатывая несколько входных данных одновременно, пакетный вывод сокращает время, необходимое для анализа больших объемов данных. - Эффективное использование ресурсов:
Массовая отправка запросов снижает накладные расходы на обработку нескольких отдельных запросов, оптимизируя использование вычислительных ресурсов, таких как графические процессоры. - Экономичность:
Пакетный вывод может снизить эксплуатационные расходы за счет минимизации количества запросов, отправляемых в конечную точку вывода, особенно если оплата производится на основе количества вызовов API. - Масштабируемость для больших данных:
При работе с большими наборами данных пакетный вывод позволяет выполнять масштабную обработку, не перегружая систему. - Постоянные результаты:
Пакетная обработка входных данных обеспечивает единообразную производительность модели и снижает вариативность результатов.
Настройка моделей 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)
Как это работает:
- Пакетные входные данные. Определите список входных данных, каждый из которых содержит предложение для анализа тональности.
- Итерация по входным данным. Отправляйте каждый ввод в виде запроса к развернутой модели с помощью InferenceClient.
Температура и максимальная температура:
- Установите температуру=0,7 для получения детерминированных результатов.
- Используйте top_p=0,95, чтобы избежать случайности выборки.
- Извлечение результатов. Соберите прогнозы настроений на основе ответов и сохраните их.
- Показать результаты: для ясности распечатайте исходный текст рядом с меткой настроения.
Ключевые моменты
- Замените
"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