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 é uma ferramenta de colaboração para engenheiros de IA e especialistas do domínio que precisam construir conjuntos de dados de alta qualidade para seus projetos.

image

O Argilla pode ser usado para coletar feedback humano para uma ampla variedade de projetos de IA, como NLP tradicional (classificação de texto, NER, etc.), LLMs (RAG, ajuste de preferências, etc.) ou modelos multimodais (texto para imagem, etc.). A abordagem programática do Argilla permite que você construa fluxos de trabalho para avaliação contínua e melhoria de modelos. O objetivo do Argilla é garantir que seu trabalho com dados tenha retorno, iterando rapidamente sobre os dados e modelos certos.

O que as pessoas constroem com Argilla?

A comunidade usa o Argilla para criar incríveis conjuntos de dados e modelos de código aberto.

Conjuntos de dados e modelos de código aberto

A Argilla também contribuiu com alguns modelos e conjuntos de dados para o código aberto.

  • Conjunto de dados UltraFeedback limpo usado para o ajuste fino dos modelos Notus e Notux. O conjunto de dados UltraFeedback original foi curado usando filtros da interface do Argilla para encontrar e reportar um bug no código original de geração de dados. Com base nesse processo de curadoria de dados, a Argilla criou essa nova versão do conjunto de dados UltraFeedback e ajustou o Notus, superando o Zephyr em vários benchmarks.
  • conjunto de dados Intel Orca DPO do distilabel usado para ajustar o modelo OpenHermes aprimorado. Este conjunto de dados foi construído combinando a curadoria humana na Argilla com o feedback de IA do distilabel, resultando em uma versão aprimorada do conjunto de dados Intel Orca e superando os modelos ajustados no conjunto de dados original.

Exemplos Casos de uso

Equipes de IA de empresas como a Cruz Vermelha, Loris.ai e Prolific usam o Argilla para melhorar a qualidade e a eficiência de projetos de IA. Elas compartilharam suas experiências em nosso encontro da comunidade de IA.

  • IA para o bem: a apresentação da Cruz Vermelha mostra como os especialistas do domínio da Cruz Vermelha e a equipe de IA colaboraram classificando e redirecionando solicitações de refugiados da crise ucraniana para agilizar os processos de apoio da Cruz Vermelha.
  • Suporte ao cliente: durante o encontro Loris, eles mostraram como sua equipe de IA usa aprendizado contrastivo não supervisionado e few-shot para ajudá-los a validar rapidamente e obter amostras rotuladas para uma grande quantidade de classificadores multirótulo.
  • Estudos de pesquisa: a vitrine da Prolific anunciou sua integração com nossa plataforma. Eles a utilizam para distribuir ativamente projetos de coleta de dados entre sua equipe de anotação. Isso permite que a Prolific colete rapidamente e com eficiência dados de alta qualidade para estudos de pesquisa.

Pré-requisitos

Primeiro faça login com sua conta do Hugging Face:

hf auth login

Certifique-se de que você tenha argilla>=2.0.0 instalado:

pip install -U argilla

Por fim, você precisará implantar o servidor e a interface do Argilla, o que pode ser feito facilmente no Hugging Face Hub.

Importando e exportando conjuntos de dados e registros

Este guia mostra como importar e exportar seu conjunto de dados para o Hugging Face Hub.

No Argilla, você pode importar/exportar dois componentes principais de um conjunto de dados:

  • A configuração completa do conjunto de dados definida em rg.Settings. Isso é útil se você quiser compartilhar sua tarefa de feedback ou restaurá-la mais tarde no Argilla.
  • Os registros armazenados no dataset, incluindo Metadata, Vectors, Suggestions e Responses. Isso é útil se você quiser usar os registros do seu dataset fora do Argilla.

Envie um dataset do Argilla para o Hugging Face Hub

Você pode enviar um dataset do Argilla para o Hugging Face Hub. Isso é útil se você deseja compartilhar seu dataset com a comunidade ou controlá-lo por versões. Você pode enviar o dataset para o Hugging Face Hub usando o método 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>")

Com ou sem registros

O exemplo acima enviará as Settings e os registros do conjunto de dados para o hub. Se você quiser enviar apenas a configuração do conjunto de dados, pode definir o parâmetro with_records como False. Isso é útil se você estiver interessado apenas em um modelo específico de conjunto de dados ou se quiser fazer alterações nas configurações e/ou nos registros do conjunto de dados.

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

Obter um conjunto de dados Argilla do Hugging Face Hub

Você pode importar um dataset do Hugging Face Hub para o Argilla. Isso é útil se você deseja restaurar um dataset e sua configuração. Você pode importar o dataset do Hugging Face Hub usando o método 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>")

O método rg.Dataset.from_hub carrega a configuração e os registros do repositório do dataset. Se você quiser carregar apenas os registros, pode passar um objeto datasets.Dataset para o método rg.Dataset.log. Isso permite configurar seu próprio dataset e reutilizar datasets existentes do Hub.

Com ou sem registros

O exemplo acima buscará as Settings e os registros do dataset do hub. Se você quiser buscar apenas a configuração do dataset, pode definir o parâmetro with_records como False. Isso é útil se você estiver interessado apenas em um template específico de dataset ou se quiser fazer alterações nas configurações e/ou nos registros do dataset.

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

Com a configuração do conjunto de dados, você pode fazer alterações nele. Por exemplo, você pode adaptar as configurações do conjunto de dados para uma tarefa diferente:

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

Em seguida, você pode registrar os registros do conjunto de dados usando o método load_dataset do pacote datasets e passar o conjunto de dados para o método rg.Dataset.log.

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

📚 Recursos

Update on GitHub