- Introdução
- Componentes do framework
- Pacotes de ML
- Pipelines
- Sobre pipelines
- Pipelines de treinamento
- Pipelines de avaliação
- Pipelines completos
- Ajuste fino
- O loop de ajuste fino automático (pré-visualização pública)
- Gerenciador de Dados
- Serviços de OCR
- Document Understanding implantado no Automation Suite
- Document Understanding implantado no AI Center autônomo
- Aprendizagem profunda
- Licenciamento
- Referências
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.OmniPage.Activities
- UiPath.PDF.Activities
Ao treinar/retreinar um modelo de ML, a primeira coisa a ter em mente é que os melhores resultados são obtidos acumulando todos os dados em um único conjunto de dados grande e, idealmente, cuidadosamente selecionado. Treinar no conjunto de dados A e, em seguida, treinar novamente o modelo resultante no conjunto de dados B produzirá resultados muito piores do que treinar no conjunto de dados combinado A+B.
The second thing to keep in mind is that not all data is the same. Data labeled in a dedicated tool like Data Manager is in general better quality and will result in a better performing model than data labeled in tools with a different focus - such as Validation Station. Data from Validation Station may be high quality from a business process point of view, but less so from a model training point of view, because an ML Model needs data in a very specific form, which is almost always different from the form needed by business processes. For instance, on a 10-page invoice, the invoice number may appear on each page, but in Validation Station it is sufficient to indicate it on the first page, while in Data Manager you would label it on every page. In this case, 90% of the correct labels are missing from the Validation Station data. For this reason, Validation Station data has a limited utility, as described above.
Para treinar efetivamente um modelo de ML, você precisa de um conjunto de dados único, completo, de alta qualidade e representativo. Uma abordagem cumulativa, portanto, é adicionar mais dados ao conjunto de dados de entrada e, portanto, treinar o modelo de ML com um conjunto de dados maior a cada vez. Uma maneira de fazer isso é usar o loop de ajuste fino automático.
Para entender melhor esse recurso, vamos ver onde o ajuste fino automático se encaixa no ciclo de vida do modelo de ML.
O ciclo de vida de um modelo de ML
No ciclo de vida de qualquer modelo de Machine Learning, existem duas fases principais:
- A fase de compilação
- A fase de manutenção
A fase de compilação
In this first phase, you use Data Manager to prepare the training dataset and the evaluation dataset in order to obtain the best performance possible.
Ao mesmo tempo, você cria a automação de RPA e a lógica comercial em torno do modelo de ML, sendo pelo menos tão importante quanto o próprio modelo para obter o retorno do investimento esperado.
A fase de manutenção
Nesta segunda fase, você tenta manter o nível de alto desempenho alcançado na fase de construção, evitando regressões.
O ajuste fino automático (e os dados do Validação do Station em geral) pertencem estritamente à fase de manutenção. O objetivo do ajuste fino automático é principalmente impedir que o modelo de ML regrida à medida que os dados que fluem pelo processo mudam.
Data fed back from the human validation using Validation Station should not be used to build a model from scratch. Building a model should be done by preparing training and evaluation datasets in Data Manager.
Os componentes de loop automático de ajuste fino
O loop de ajuste fino automático tem os seguintes componentes:
Pré-requisitos
Para poder implementar esta funcionalidade, dois requisitos devem ser atendidos de antemão:
-
You need to have created a Data Manager session in AI Center and to have configured a certain number of fields, more precisely to label high-quality Training and Evaluation datasets. You can either manually define your fields or you can import a schema. Should fields not be configured, the Schedule (Preview) tab is not enabled and the following message is displayed on the screen:
-
Você precisa ter treinado algumas versões do seu modelo de ML, testado, corrigido quaisquer problemas que possam ter ocorrido e implantado em sua automação de RPA+IA.
1. Fluxo de trabalho do robô: atividade Machine Learning Extractor Trainer
Adicione a atividade Machine Learning Extractor Trainer ao seu fluxo de trabalho em um Train Extractors Scope, configure corretamente o escopo, certificando-se de que o Framework Alias contenha o mesmo alias que o alias do Machine Learning Extractor no Data Extraction Scope.
Then, select the Project and the Dataset associated with the Data Manager session that contains your Training and Evaluation datasets. The drop-down menus are prepopulated once you are connected to Orchestrator.
Você pode definir um valor para a propriedade Pasta de saída se desejar exportar os dados localmente no fluxo de trabalho.
Você pode ver o nome do conjunto de dados na visualização Data Labeling no AI Center, ao lado do nome da sessão de Data Labeling:
Para o conjunto de dados selecionado, o que a atividade do Machine Learning Extractor Trainer faz é criar uma pasta chamada ajuste fino e gravar os documentos exportados em 3 pastas: documentos, metadados e previsões.
This is the folder where the data will then be imported into Data Manager automatically, merged with the previously existing data, and exported into the right format to be consumed by a Training or a Full pipeline.
2. Data Manager: funcionalidade de agendamento de exportação
From a Data Manager session, click the Export button
, go to the Schedule (Preview) tab, and enable the Scheduling slider. Then select a start time and a recurrence. When ready, click the Schedule button.
A caixa de seleção Exportação compatível com versões anteriores permite aplicar o comportamento de exportação herdado, que é exportar cada página como um documento separado. Tente isso se o modelo treinado usando a exportação padrão estiver abaixo das expectativas. Deixe esta opção desmarcada para exportar os documentos em seu formulário original de várias páginas.
A recorrência mínima é de 1 dia e a máxima é de 60 dias.
Como os pipelines de treinamento do AI Center são configurados principalmente para serem executados semanalmente, recomenda-se uma recorrência de 7 dias.
When you set the schedule for export, the imported data from the fine-tune folder is exported to the export folder under auto-exporttime_stamp.
Para ser mais específico, a exportação agendada importa os dados que existem na pasta ajuste fino criada na Etapa 1 e, em seguida, exporta o conjunto de dados completo, incluindo os dados existentes anteriormente e os dados recém-importados do Validation Station, para a pasta de exportação. Assim, a cada exportação programada, o conjunto de dados exportado fica cada vez maior.
The file latest.txt is updated or created if this is the first scheduled export. Here you can see the name of the latest export made by Data Manager. Schema export, however, does not update latest.txt. This file is used by the auto-retraining pipeline in AI Center to determine which is the latest export so it can always train on the latest data, so you should never remove or modify it, otherwise, your auto-retraining pipelines will fail.
The Scheduled import+export operation might take up to 1-2 hours, depending on how much data was sent from Step 1 during the previous week. We recommend you choose a time when you will not use the Data Manager due to the fact that when an export operation is ongoing no other exports or imports are allowed. However, labeling is always possible.
3. AI Center: Pipeline de retreinamento automático programado
Ao agendar um treinamento ou pipeline completo no AI Center, há alguns aspectos que precisam ser levados em consideração.
Primeiro, é altamente recomendável que você crie um conjunto de dados de avaliação e agende apenas pipelines completos. Os pipelines completos executam o treinamento e a avaliação juntos, e o pipeline de avaliação usa o conjunto de dados de avaliação para produzir uma pontuação. Essa pontuação será fundamental para decidir se a nova versão é melhor que a anterior e pode ser implantada para ser consumida por Robôs.
Além disso, para o pipeline completo, você precisa especificar dois conjuntos de dados: um conjunto de dados de entrada e um conjunto de dados de avaliação.
Não há alteração no conjunto de dados de avaliação no contexto da funcionalidade de loop de ajuste fino automático. Você ainda precisa selecionar um conjunto de dados como de costume, contendo as duas pastas: imagens e mais recentes, e os dois arquivos: schema.json e split.csv.
No entanto, o conjunto de dados de entrada não é mais um conjunto de dados, você precisa selecionar a pasta export no conjunto de dados do AI Center que está conectado à sessão do Data Labelling. Dessa forma, o treinamento é executado na exportação mais recente de sua sessão do Data Labelling, enquanto a avaliação é executada no mesmo conjunto de dados de avaliação que você especificou.
Se você não selecionar a pasta de exportação, o retreinamento automático não funcionará.
Terceiro, você precisa definir a variável de ambiente de retreinamento automático como True.
Finally, you need to select Recurring and set a day and time to leave enough time for the export from Data Manager to finish. For example, if the Data Manager export runs at 1 AM on Saturday, then the Pipeline might run at 2 or 3 AM on Saturday. If the export is not finished when the pipeline runs, it uses the previous export, and it might retrain on the same data it trained on the previous week.
4. (Opcional) Atualização automática das Habilidades de ML
Se você deseja implantar automaticamente a versão mais recente do pacote de ML produzido pelos pipelines de treinamento agendados automaticamente, você pode habilitar a funcionalidade de atualização automática em Habilidade de ML.
A Habilidade de ML é atualizada automaticamente, independentemente de a pontuação de precisão ter melhorado em relação ao treinamento anterior, portanto, use esse recurso com cuidado.
Em alguns casos, é possível que a pontuação geral melhore, mesmo que um campo específico possa regredir um pouco. No entanto, esse campo pode ser crítico para o processo de seu negócio, portanto, a atualização automática e o retreinamento automático, em geral, exigem um monitoramento cuidadoso para serem bem-sucedidos.
O loop de ajuste fino automático está concluído. Agora, você pode retreinar automaticamente seus modelos de ML usando dados do Validation Station.
- O ciclo de vida de um modelo de ML
- A fase de compilação
- A fase de manutenção
- Os componentes de loop automático de ajuste fino
- Pré-requisitos
- 1. Fluxo de trabalho do robô: atividade Machine Learning Extractor Trainer
- 2. Data Manager: funcionalidade de agendamento de exportação
- 3. AI Center: Pipeline de retreinamento automático programado
- 4. (Opcional) Atualização automática das Habilidades de ML