Nesta página, mostramos como treinar um modelo de extração de entidade do AutoML em um conjunto de dados de texto usando o console do Google Cloud ou a API Vertex AI.
Antes de começar
Antes de treinar um modelo de extração de entidade de texto, você precisa fazer o seguinte:
Treinar um modelo do AutoML
Console do Google Cloud
No Console do Google Cloud, na seção da Vertex AI, acesse a página Conjuntos de dados.
Clique no nome do conjunto de dados que você quer usar para treinar seu modelo para abrir a página de detalhes.
Selecione o conjunto de anotações que você quer usar para o modelo.
Clique em Treinar novo modelo.
Para o método de treinamento, selecione o
AutoML.Clique em Continuar.
Dê um nome para o modelo.
Se você quiser definir manualmente como os dados de treinamento são divididos, expanda as Opções avançadas e selecione uma opção de divisão de dados. Saiba mais.
Clique em Iniciar treinamento.
O treinamento do modelo pode levar muitas horas dependendo do tamanho e da complexidade dos dados, além do orçamento de treinamento, se você tiver especificado um. Você pode fechar essa guia e voltar a ela mais tarde. Você receberá um e-mail quando o treinamento do seu modelo for concluído.
API
Selecione uma guia para seu idioma ou ambiente:
REST
Crie um objeto TrainingPipeline
para treinar um modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: a região em que o modelo será criado, como
us-central1
- PROJECT: o ID do projeto
- MODEL_DISPLAY_NAME: nome do modelo como ele aparece na interface do usuário.
- DATASET_ID: o ID do conjunto de dados.
- PROJECT_NUMBER: o número do projeto gerado automaticamente
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON da solicitação:
{ "displayName": "MODEL_DISPLAY_NAME", "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_extraction_1.0.0.yaml", "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME" }, "inputDataConfig": { "datasetId": "DATASET_ID" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/us-central1/trainingPipelines/PIPELINE_ID", "displayName": "MODEL_DISPLAY_NAME", "inputDataConfig": { "datasetId": "DATASET_ID" }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_text_extraction_1.0.0.yaml", "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME" }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-04-18T01:22:57.479336Z", "updateTime": "2020-04-18T01:22:57.479336Z" }
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Controlar a divisão de dados usando REST
É possível controlar como os dados de treinamento são divididos entre os conjuntos de
treinamento, validação e teste. Ao usar a API Vertex AI, use o Split
objeto para determinar a divisão de dados. O objeto Split
pode ser incluído no objeto InputConfig
como um dos vários tipos de objeto, cada um fornecendo uma maneira diferente de
dividir os dados de treinamento. É possível selecionar apenas um método.
-
FractionSplit
:- TRAINING_FRACTION: a fração dos dados de treinamento a ser usada para o conjunto de treinamento.
- VALIDATION_FRACTION: a fração dos dados de treinamento a ser usada para o conjunto de validação. Não usada para dados de vídeo.
- TEST_FRACTION: a fração dos dados de treinamento a ser usada para o conjunto de teste.
Se alguma das frações for especificada, tudo deverá ser especificado. As frações precisam ser adicionadas a 1,0. Os valores padrão das frações variam de acordo com o tipo de dados. Saiba mais.
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: itens de dados que correspondem a esse filtro são usados no conjunto de treinamento.
- VALIDATION_FILTER: os itens de dados que correspondem a esse filtro são usados no conjunto de validação. Precisa ser "-" para dados de vídeo.
- TEST_FILTER: os itens de dados que correspondem a esse filtro são usados no conjunto de teste.
Esses filtros podem ser usados com o rótulo ml_use
ou com qualquer rótulo aplicado aos seus dados. Saiba mais sobre como usar
o rótulo ml-use label
e outros rótulos
para filtrar os dados.
O exemplo a seguir mostra como usar o objeto
filterSplit
com o rótulo ml_use
, com o conjunto de validação
incluído:
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }