Hub documentation
Argilla
Argilla
Argilla — это инструмент для совместной работы инженеров по ИИ и экспертов предметной области, которым необходимо создавать высококачественные наборы данных для своих проектов.
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)