Forneça esquemas ao Vertex AI Model Monitoring

Para iniciar uma tarefa de monitorização, a Model Monitoring precisa de conhecer o esquema do seu conjunto de dados tabular para analisar corretamente a carga útil de entrada.

  • Para modelos do AutoML, o Model Monitoring analisa automaticamente o esquema porque o Vertex AI já tem acesso aos seus dados de preparação.

  • Para modelos preparados de forma personalizada:

    • A monitorização de modelos pode analisar automaticamente esquemas para modelos que usam um formato de entrada de chave-valor padrão.

    • Para modelos preparados de forma personalizada que não usam um formato de entrada de chave-valor, pode ter de fornecer um esquema quando criar a tarefa de monitorização.

    A geração de esquemas varia consoante esteja a ativar a monitorização de modelos para um ponto final de inferência online ou inferências em lote.

Análise sintática de esquemas para pontos finais de inferência online

Para os pontos finais de inferência online, pode permitir que a monitorização de modelos analise o esquema automaticamente ou carregue um esquema quando criar uma tarefa de monitorização.

Análise automática do esquema

Depois de ativar a deteção de desvio ou deriva para um ponto final online, normalmente, a monitorização de modelos pode analisar automaticamente o esquema de entrada. Para a análise automática do esquema, a monitorização de modelos analisa os primeiros 1000 pedidos de entrada para determinar o esquema.

A análise automática do esquema funciona melhor quando os pedidos de entrada estão formatados como pares de chave-valor, em que "key" é o nome da funcionalidade e "value" é o valor da funcionalidade. Por exemplo:

"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30",
"prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}

Se as entradas não estiverem no formato "key":"value", a monitorização de modelos tenta identificar o tipo de dados de cada funcionalidade e atribui automaticamente um nome de funcionalidade predefinido a cada entrada.

Esquemas de instâncias personalizados

Pode fornecer o seu próprio esquema de entrada quando criar uma tarefa de monitorização de modelos para garantir que a monitorização de modelos analisa corretamente as entradas do seu modelo.

Este esquema é denominado esquema da instância de análise. O ficheiro de esquema especifica o formato da carga útil de entrada, os nomes de cada funcionalidade e o tipo de cada funcionalidade.

O esquema tem de ser escrito como um ficheiro YAML no formato Open API. O exemplo seguinte destina-se a um pedido de inferência com o formato object:

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds
  • type indica se o seu pedido de inferência está num dos seguintes formatos:

    • object: pares de chave-valor
    • array: semelhante a uma matriz
    • string: csv-string
  • properties indica o tipo de cada funcionalidade individual.

  • Se o pedido estiver no formato de matriz ou string CSV, especifique a ordem em que as funcionalidades estão listadas em cada pedido no campo required.

Se o pedido de inferência estiver no formato de matriz ou string CSV, represente todas as funcionalidades em falta como valores nulos. Por exemplo, considere um pedido de inferência com cinco caraterísticas:

[feature_a, feature_b, feature_c, feature_d, feature_e]

Se feature_c permitir valores em falta, um pedido de amostra com feature_c em falta seria: {[1, 2, , 4, 6]}. O comprimento da lista continua a ser 5, com um valor nulo no meio.

Análise sintática do esquema para inferências em lote

Para inferências em lote, pode permitir que a monitorização de modelos analise o esquema automaticamente ou carregar um esquema quando criar uma tarefa de monitorização.

Análise automática do esquema

Se não fornecer um esquema durante a criação da tarefa de monitorização, a monitorização de modelos infere os tipos de dados das suas funcionalidades e gera o esquema com base nos seus dados de preparação.

A monitorização de modelos também precisa de saber qual é a coluna de destino, que é a funcionalidade que está a ser prevista. A coluna de destino é excluída do esquema e da métrica de distorção de caraterísticas. Pode especificar a coluna de destino ao criar uma tarefa de monitorização.

Especificação da coluna de destino

Se não especificar a coluna de destino ao criar uma tarefa de monitorização, a Model Monitoring etiqueta o último nome da caraterística nos seus dados de preparação como a coluna de destino.

Por exemplo, a monitorização de modelos etiqueta column_c nestes dados de preparação CSV como a coluna de destino porque column_c está no final da primeira linha:

column_a, column_b, column_d, column_c
1,"a", 2, "c"
2,"b", 342, "d"

Da mesma forma, a monitorização de modelos etiqueta column_c neste ficheiro JSONL como a coluna de destino porque column_c está no final da primeira linha:

{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" }
{"column_a": 2, "column_b": "b", "column_c": "d",  "column_d": 342}

Em ambos os exemplos, o esquema final contém apenas column_a, column_b e column_d.

Esquemas personalizados

O seu esquema personalizado especifica o formato da carga útil de entrada, os nomes de cada elemento e o tipo de cada elemento.

O esquema tem de ser escrito como um ficheiro YAML com a sintaxe da API aberta. O exemplo seguinte destina-se a um pedido de inferência com o formato object:

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds

A monitorização de modelos calcula a distorção de caraterísticas com base no resultado da inferência em lote JSON Lines. Se o tipo de dados contiver uma matriz, o comprimento da matriz nos dados de entrada tem de ser igual ao número de funcionalidades especificado no ficheiro YAML. Caso contrário, a monitorização de modelos exclui a instância de inferência com o comprimento da matriz incorreto do cálculo da distorção de caraterísticas.

Por exemplo, as matrizes nos seguintes tipos de dados contêm duas funcionalidades:

  • Matriz: {[[1, 2]]}

  • "Key"/"Value": {"key": 0, "values": [[1, 2]]}

O esquema correspondente também tem de especificar duas funcionalidades:

type: object
properties:
  name:
    type: string
  age:
    type: number
required:
- name
- age

O que se segue?