document-understanding
latest
false
UiPath logo, featuring letters U and I in white

Guia do usuário do Document Understanding.

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Última atualização 12 de dez de 2024

Pipelines de treinamento

Dica: a capacidade de treinar extratores e classificadores agora é mais conveniente usando o produto Document UnderstandingTM (em vez do serviço AI Center), aproveitando as funcionalidades Extração com um clique e Classificação com um clique.
Importante:

Tamanho mínimo do conjunto de dados

Para executar com êxito um pipeline de treinamento, recomendamos um mínimo de 10 documentos e pelo menos 5 amostras de cada campo rotulado em seu conjunto de dados. Caso contrário, o pipeline gera o seguinte erro: Dataset Creation Failed.

Treinamento em GPU vs CPU

Para conjuntos de dados maiores, você precisa treinar usando GPU. Além disso, o uso de uma GPU para treinamento é pelo menos 10 vezes mais rápido do que o uso de uma CPU. Para obter o tamanho máximo do conjunto de dados que depende da versão e da infraestrutura, consulte a tabela abaixo.
Tabela 1. Conjunto de dados máximo para cada versão
Infraestrutura<2021.10.x2021.10.x>2021.10.x
CPU500 páginas5000 páginas1.000 páginas
GPU18.000 páginas18.000 páginas18.000 páginas

Se você estiver encontrando pipelines com falha ao treinar conjuntos de dados grandes, recomendamos atualizar para pacotes de ML versão 24.4 ou mais recente. As versões mais recentes fornecem aprimoramentos de estabilidade, que podem reduzir significativamente esses problemas.

Para obter mais informações sobre a estrutura do conjunto de dados, consulte a seção Formato do conjunto de dados.

Há duas maneiras de treinar um modelo de ML:

  • treinamento de um modelo do zero
  • retreinamento de um modelo pronto para uso

O treinamento de um modelo do zero pode ser feito usando o pacote de ML DocumentUnderstanding, que faz isso no conjunto de dados fornecido como entrada.

O retreinamento pode ser feito usando pacotes de ML prontos para uso, como faturas, recibos, pedidos de compra, contas de serviços públicos, faturas da Índia, faturas da Austrália etc., basicamente, qualquer outro pacote de ML de extração de dados, exceto DocumentUnderstanding. O treinamento usando um desses pacotes tem uma entrada adicional: um modelo base. Referimo-nos a isso como retreinamento, pois você não está começando do zero, e sim de um modelo base. Essa abordagem utiliza uma técnica chamada Transfer Learning, na qual o modelo aproveita as informações codificadas em outro modelo, aquele preexistente. O modelo retém parte do conhecimento pronto para uso, mas também aprende com os novos dados. No entanto, à medida que o tamanho do conjunto de dados de treinamento aumenta, o modelo base pré-treinado importa cada vez menos. É relevante principalmente para conjuntos de dados de treinamento de pequeno a médio porte (até 500-800 páginas).

Configure o pipeline de treinamento da seguinte maneira:

  • No campo Tipo do pipeline, selecione Execução de treinamento.
  • No campo Escolher pacote, selecione o pacote que você criou com base no Pacote de ML DocumentUnderstanding.
  • No campo Escolha a versão principal do pacote, selecione uma versão principal para o seu pacote.
  • No campo Escolha a versão secundária do pacote, selecione uma versão secundária para seu pacote. Verifique a seção Escolhendo a versão secundária abaixo para obter mais informações.
  • No campo Escolha o conjunto de dados de entrada, selecione um conjunto de dados conforme mostrado no vídeo abaixo nesta página. Para criar conjuntos de dados de treinamento de alta qualidade, você pode conferir este tutorial.
  • Na seção Inserir parâmetros, insira as variáveis de ambiente definidas e usadas por seu pipeline, se houver. Para a maioria dos casos de uso, nenhum parâmetro precisa ser especificado; o modelo está usando técnicas avançadas para encontrar uma configuração de desempenho. No entanto, aqui estão algumas variáveis de ambiente que você pode usar:
  • auto_retrainingque permite completar o Loop de retreinamento automático; se a variável for definida como True, o conjunto de dados de entrada precisará ser a pasta de exportação associada à sessão de rotulagem na qual os dados são marcados. Se a variável permanecer definida como False, o conjunto de dados de entrada precisará corresponder ao formato de conjunto de dados.
  • model.epochs que personaliza o número de épocas para o pipeline de treinamento (o valor padrão é 100). Optional.
    Observação: para conjuntos de dados maiores, contendo mais de 5000 páginas, você pode realizar inicialmente uma execução de pipeline completa com o número padrão de épocas. Isso permite que você avalie a precisão do modelo. Depois disso, você pode diminuir o número de épocas para cerca de 30-40. Essa abordagem permite que você compare a precisão dos resultados e determine se a redução de épocas produz precisão comparável.

    Ao usar conjuntos de dados menores, em especial aqueles com menos de 5000 páginas, você pode manter o número padrão de épocas.

  • Para Pacotes de ML v23.4 ou superior, o treinamento em conjuntos de dados menores que 400 páginas usa uma abordagem chamada Frozen Backbone para acelerar o treinamento e melhorar o desempenho. No entanto, você tem a opção de substituir esse comportamento e forçar um treinamento completo mesmo para conjuntos de dados menores, ou inversamente, forçar um treinamento Frozen Backbone mesmo para conjuntos de dados maiores (até um máximo de 3000 páginas). Você pode usar as seguintes variáveis de ambiente, com a condição de combiná-las quando em uso, seja usando a primeira ou a segunda, ou a primeira e a terceira variáveis juntas. Optional.
    • model.override_finetune_freeze_backbone_mode=True — Inclua esta variável de ambiente para substituir o comportamento padrão. Isso é necessário em ambas as situações abaixo.
    • model.finetune_freeze_backbone_mode=True — inclua essa variável de ambiente para forçar o modelo a usar o Frozen Backbone mesmo para conjuntos de dados maiores.
    • model.finetune_freeze_backbone_mode=False - Inclua esta variável de ambiente para forçar o modelo a usar o treinamento completo mesmo para conjuntos de dados menores.
  • Selecione se deseja treinar o pipeline na GPU ou na CPU. O controle deslizante Habilitar GPU está desabilitado por padrão, nesse caso o pipeline é treinado na CPU.
  • Selecione uma das opções para a execução do pipeline: Executar agora, Agendado ou Recorrente. Caso esteja usando a variável auto_retraining, selecione Recorrente.


  • Após configurar todos os campos, clique em Criar. O pipeline é criado.

Aqui está um exemplo de criação de um novo pipeline de treinamento com um conjunto de dados previamente exportado para o AI Center:



Escolhendo a versão secundária

Na maioria das situações, a versão secundária 0 deve ser escolhida.Isso ocorre porque quanto maior e mais diversificado seu conjunto de dados de treinamento, melhor o desempenho do seu modelo. Esse princípio se alinha ao objetivo atual da tecnologia de ML de última geração de usar conjuntos de treinamento grandes, de alta qualidade e representativos. Portanto, à medida que você acumula mais dados de treinamento para um modelo, você deve adicionar os dados ao mesmo conjunto de dados para aprimorar ainda mais o desempenho do modelo.

No entanto, há situações em que o treinamento em uma versão menor diferente de 0 faz sentido. Esse é normalmente o caso quando um parceiro precisa atender a vários clientes no mesmo setor, mas a UiPath® não tem um modelo pré-treinado otimizado para esse setor, geografia ou tipo de documento.

Nesse caso, o parceiro pode desenvolver um modelo pré-treinado usando uma variedade de amostras de documentos daquele setor (não de uma única origem, mas de muitos para melhor generalização).Esse modelo seria usado como um modelo base para treinar modelos específicos de clientes, sendo treinado na versão 0 do pacote de ML. As seguintes versões, como a versão 1, seriam usadas para refinar o modelo pré-treinado ou criar modelos específicos do cliente.

No entanto, para obter bons resultados, o modelo pré-treinado deve ser imparcial e baseado em um conjunto de dados altamente diversificado.Se o modelo básico for otimizado para um cliente específico, ele pode não ter bom desempenho para outros clientes. Nesse caso, o uso da versão secundária zero como um modelo básico produz melhores resultados.

  • Escolhendo a versão secundária

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.