Что такое HuggingFace и как работать с платформой

HuggingFace — платформа, на которой вы бесплатно можете запускать разные модели нейросетей и использовать их в работе. Например, здесь можно бесплатно работать с ChatGPT и WhisperJAX.

Еще один плюс в том, что здесь можно запустить «тяжелые» модели вроде Stable Diffusion. Чтобы запустить SD на ПК, он должен быть достаточно мощным и на нем должно быть много свободного места. А на HiggingFace для запуска любой модели нужен доступ в интернет и +/- работающий компьютер. Грубо говоря, если на компьютере можно поиграть в современные игры или срендерить видео, то модели из HuggingFace на нем запустятся.

Как работать с платформой

На платформе есть 7 вкладок:

  • Models;
  • Datasets;
  • Spaces;
  • Posts;
  • Docs;
  • Solutions;
  • Pricing.

Мы будем работать с 2-мя вкладками: Spaces и Models.

Как работать с разделом Spaces

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

Первые 8 пространств на вкладке — самые популярные за неделю. Дальше идут менее популярные.

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

  1. Описание нейросети. Ссылка на официальный сайт и краткая инструкция, как с ней работать.
  2. Рабочее поле, в котором нужно указывать промпты, добавлять медиа и т. д.
  3. Блок параметров для настройки ответа.
  4. Готовые примеры того, что может нейросеть. Чтобы посмотреть на пример, просто кликните на него — рабочее поле и блок параметров автоматически заполнятся.

Для примера запустим нейронку StoryDiffusion для генерации разных картинок в одном стиле и разберем все поля подробнее.

В описании нейросети дают ссылку на описание проекта и его демо-версию. А также краткую инструкцию по использованию:

  1. Введите текстовое описание (Only using Textual Description), если генерируете картинки только по промпту.
  2. Введите несколько подсказок (в блоке Comic Description), каждая строка соответствует одному сгенерированному изображению.
  3. Выберите желаемый шаблон стиля.
  4. Нажмите кнопку «Отправить», чтобы начать генерацию.

После инструкции идет блок ввода промптов и блок параметров.

По сути, работать с моделями на HuggingFace легко. Запустили → заполнили нужные поля → сгенерировали.

Давайте посмотрим, как сработает StoryDiffusion на первом примере — с ним мы должны должны получить 4 картинки: мужчина читает газету, тигр выпрыгивает из леса, автомобиль едет по дороге, дом в лесу ночью.

В итоге получился такой результат:

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

Важно! В разных нейросетях для генерации картинок можно работать с разными параметрами. Перечислить их все не получится, но чаще всего разработчики дают поиграться с 5 параметрами (т. к. большинство нейронок в HuggingFace построены на основе Stable Diffusion, а она как раз использует эти параметры):

  • Seed. Определяет начальное состояние нейросети перед генерацией изображения. При использовании одного и того же значения Seed нейросеть будет генерировать одинаковые изображения. Новые значения Seed приведут к генерации другого изображения, даже если остальные параметры останутся прежними.
  • Number of sample steps. Параметр определяет количество итераций (шагов), которые нейросеть выполнит в процессе генерации изображения. Чем больше шагов, тем более детализированным и проработанным будет сгенерированное изображение.
  • Height и width. Определяют размеры генерируемого изображения.
  • Guidance scale. Контролирует баланс в следовании заданному промту и свободой творчества нейросети. Более высокие значения заставляют нейросеть генерировать изображения, точно соответствующие заданному описанию. Низкие значения дают нейросети больше свободы.
  • Style strength of Ref Image (%). Определяет, насколько похожей будет генерация на референсную картинку.

В разделе Spaces много других нейронок: для генерации текста, видео, картинок и музыки. Давайте протестируем по 1 нейросети для каждой из этих задач.

Для генерации текста попробуем Meta Llama3 8B. Она работает как обычный чат-бот: прописываете запрос, настраиваете параметры температуры и количества токенов → отправляете запрос → получаете ответ.

Для генерации обычных картинок протестируем пространство DALL-E 3 XL v2.

Работает она просто: описываем наше изображение, при желании в поле «продвинутые настройки» прописываем негативный промпт, ставим значения height и width. И ждем конца генерации. Для следующих генераций можем менять значение seed.

Для примера нарисуем неонового кота.

Для генерации видео протестируем Instant⚡Video. Это пространство, которое позволяет генерировать видео по запросу. Качество, конечно, плохое. Но протестировать модель и лишний раз потренироваться точно стоит.

Для генерации нужно вписать промпт, выбрать стиль (реалистичный, аниме, 3D, мультяшный), вид движения (приближение, отдаление и т. д.) и количество шагов. Чем больше шагов, тем качественнее генерация получится.

С генерацией музыки тоже ничего сложно. Разберемся на примере Music Gen. Здесь нужно описать свою музыку, музыкальные инструменты и добавить любой референс. Нейронка на его основе сгенерирует новую композицию.

Есть и другие нейронки, где генерировать музыку можно по одному промпту. Но их показывать не буду, они работаю еще проще: описали музыку → получили генерацию.

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

Как работать с разделом Models

Еще один раздел в HuggingFace — models. От spaces он отличается тем, что здесь нейронки нужно запускать самостоятельно. Но делается это в несколько кликов.

Для работы нужно выбрать понравившуюся модель и запустить ее на виртуальном сервере.

При этом за сервер не надо платить — HuggingFace дает всем пользователям бесплатное «железо» для запуска разных моделей. Правда, не все модели на нем запускаются, а некоторые будут работать долго. Но если какая-то модель вам понравится, вы сможете докупить виртуальное оборудование и запустить ее там.

Мы будем работать с бесплатной версией.

Открываем раздел с моделями. Они разбиты на несколько блоков:

  • мультимодальные;
  • для генерации медиа из текста и другого медиа;
  • для обработки естественного языка;
  • для генерации аудио;
  • для работы с таблицами;
  • другие.

Т. к. все модели запускаются одинаково, я покажу процесс на одном примере.

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

Кликаем на карточку с моделью и в открывшейся странице видим описание инструмента и немного статистики. Справа от модели находим кнопку «Deploy», кликаем и выбераем «Spaces».

Затем — Create new space.

В открывшейся странице прописываем название модели. Строку License оставляем как есть. Space SDK выбирайте любую, я выбираю Gradio.

Переключаем доступность модели на «Private» и нажимаем на «Create Space».

Ждем пару минут, пока модель запустится.

Нейросеть запустится в привычном для HuggingFace интерфейсе.

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

Некоторые модели запускать вручную необязательно. Иногда на странице с описанием будет окошко для тестирования нейронки.

В это окошко нужно вставить текст → кликнуть на «Compute» → получить ответ.

Но работать в этом окошке неудобно. Поэтому я рекомендую запускать модели на бесплатном виртуальном железе.

Какие пространства стоит попробовать на HuggingFace

Spaces ZERO GPU. Это набор десятка пространств для работы с текстом, музыкой, картинками, видео и др., которые работают без использования GPU мощностей. Все пространства здесь быстро запускаются и обрабатывают любые запросы.

DALL-E 3 XL v2. Для генерации картинок в DALL-E.

Instant⚡Video. Для генерации видео по запросу.

WhisperJAX. Для транскрибации аудио.

Meta Llama3 8B. Для генерации текста и общения с чат-ботом. Нейросеть умеет писать длинные статьи.

MusicGen. Для генерации музыки по промпту и рефернсу.

Модели для запуска перечислять не буду, т. к. хороших много и выделить что-то одно сложно. Да и по возможностям они не отличаются от готовых пространств. Думаю, у вас и без списка получится найти классные инструменты;)

0 комментариев
Старые
Новые Популярные