Hub documentation

Argilla

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Argilla

Argilla — это инструмент для совместной работы инженеров по ИИ и экспертов предметной области, которым необходимо создавать высококачественные наборы данных для своих проектов.

image

Argilla можно использовать для сбора обратной связи от людей для широкого спектра ИИ-проектов, таких как классическая обработка естественного языка (классификация текста, NER и т. д.), LLM (RAG, настройка предпочтений и т. д.) или мультимодальные модели (генерация изображений по тексту и т. д.). Программный подход Argilla позволяет создавать рабочие процессы для непрерывной оценки и улучшения моделей. Цель Argilla — обеспечить окупаемость работы с данными за счёт быстрого итеративного совершенствования правильных данных и моделей.

Что люди создают с помощью Argilla?

Сообщество использует Argilla для создания замечательных открытых наборов данных и моделей.

Открытые наборы данных и модели

Argilla также внесла свой вклад в открытое сообщество, предоставив ряд моделей и наборов данных.

  • Очищенный датасет UltraFeedback, использованный для дообучения моделей Notus и Notux. Исходный датасет UltraFeedback был отобран с помощью фильтров интерфейса Argilla UI для поиска и сообщения об ошибке в исходном коде генерации данных. На основе этого процесса отбора данных Argilla создала новую версию датасета UltraFeedback и дообучила Notus, которая превзошла Zephyr по нескольким бенчмаркам.
  • набор данных distilabeled Intel Orca DPO, использованный для дообучения улучшенной модели OpenHermes. Этот набор данных был создан путём объединения ручной разметки в Argilla с обратной связью от ИИ, полученной с помощью distilabel, что привело к появлению улучшенной версии набора данных Intel Orca и к превосходству над моделями, дообученными на исходном наборе данных.

Примеры Сценарии использования

Команды ИИ из таких компаний, как Красный Крест, Loris.ai и Prolific, используют Argilla для повышения качества и эффективности ИИ-проектов. Они поделились своим опытом на нашей встрече сообщества ИИ.

  • ИИ во благо: презентация Красного Креста демонстрирует, как эксперты предметной области Красного Креста и команда ИИ сотрудничали, классифицируя и перенаправляя запросы от беженцев, пострадавших от украинского кризиса, чтобы оптимизировать процессы поддержки Красного Креста.
  • Поддержка клиентов: во время встречи Loris они показали, как их команда ИИ использует обучение без учителя и few-shot контрастное обучение, чтобы быстро валидировать и получать размеченные образцы для огромного количества классификаторов с несколькими метками.
  • Исследования: демонстрационный проект Prolific объявил об интеграции с нашей платформой. Они используют её для активного распределения проектов по сбору данных среди своих аннотаторов. Это позволяет Prolific быстро и эффективно собирать высококачественные данные для исследовательских работ.

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

Сначала войдите в свой аккаунт Hugging Face:

hf auth login

Убедитесь, что у вас установлена версия argilla>=2.0.0:

pip install -U argilla

Наконец, вам потребуется развернуть сервер и интерфейс Argilla, что можно сделать легко на Hugging Face Hub.

Импорт и экспорт наборов данных и записей

В этом руководстве показано, как импортировать и экспортировать ваш набор данных в Hugging Face Hub.

В Argilla можно импортировать/экспортировать два основных компонента набора данных:

  • Полная конфигурация набора данных, определённая в rg.Settings. Это полезно, если вы хотите поделиться задачей обратной связи или восстановить её позже в Argilla.
  • Записи, хранящиеся в наборе данных, включая Metadata, Vectors, Suggestions и Responses. Это полезно, если вы хотите использовать записи своего набора данных вне Argilla.

Загрузка набора данных Argilla в Hugging Face Hub

Вы можете отправить датасет из Argilla в Hugging Face Hub. Это полезно, если вы хотите поделиться своим датасетом с сообществом или вести его версионирование. Отправить датасет в Hugging Face Hub можно с помощью метода rg.Dataset.to_hub.

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = client.datasets(name="my_dataset")
dataset.to_hub(repo_id="<repo_id>")

С записями или без

Приведённый выше пример отправляет Settings и записи набора данных на хаб. Если нужно отправить только конфигурацию набора данных, установите параметр with_records в False. Это полезно, если вас интересует только конкретный шаблон набора данных или вы хотите внести изменения в настройки и/или записи набора данных.

dataset.to_hub(repo_id="<repo_id>", with_records=False)

Загрузить набор данных Argilla из Hugging Face Hub

Вы можете загрузить набор данных из Hugging Face Hub в Argilla. Это полезно, если вы хотите восстановить набор данных и его конфигурацию. Загрузить набор данных из Hugging Face Hub можно с помощью метода rg.Dataset.from_hub.


import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = rg.Dataset.from_hub(repo_id="<repo_id>")

Метод rg.Dataset.from_hub загружает конфигурацию и записи из репозитория датасета. Если вам нужно загрузить только записи, вы можете передать объект datasets.Dataset в метод rg.Dataset.log. Это позволяет настроить собственный датасет и переиспользовать существующие датасеты из Hub.

С записями или без

Приведённый выше пример загрузит Settings и записи набора данных с хаба. Если вам нужно загрузить только конфигурацию набора данных, установите параметр with_records в False. Это полезно, если вас интересует только конкретный шаблон набора данных или вы хотите внести изменения в настройки и/или записи набора данных.

dataset = rg.Dataset.from_hub(repo_id="<repo_id>", with_records=False)

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

dataset.settings.questions = [rg.TextQuestion(name="answer")]

Затем вы можете записать записи набора данных с помощью метода load_dataset пакета datasets и передать набор данных в метод rg.Dataset.log.

hf_dataset = load_dataset("<repo_id>")
dataset.log(hf_dataset)

📚 Ресурсы

Update on GitHub