View a markdown version of this page

Precisão - SageMaker Inteligência Artificial da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Precisão

Essa avaliação mede a precisão do desempenho de um modelo em uma tarefa comparando a saída do modelo com a resposta verdadeira de base incluída no conjunto de dados.

O Amazon SageMaker AI oferece suporte à execução de uma avaliação de precisão do Amazon SageMaker Studio ou ao uso da fmeval biblioteca.

  • Execução de avaliações no Studio: os trabalhos de avaliação criados no Studio usam padrões pré-selecionados para avaliar rapidamente o desempenho do modelo.

  • Execução de avaliações usando a biblioteca fmeval: os trabalhos de avaliação criados usando a biblioteca fmeval oferecem mais opções para configurar a avaliação de desempenho do modelo.

Tipos de tarefas compatíveis

A avaliação de precisão é compatível com os seguintes tipos de tarefas e seus conjuntos de dados integrados associados: Os conjuntos de dados integrados incluem um componente de verdade fundamental usado para medir a precisão. Os usuários também podem trazer seus próprios conjuntos de dados. Para obter informações sobre a inclusão do componente de verdade de base em seu conjunto de dados, consulte Avaliação de modelo automática.

Por padrão, a SageMaker IA coleta amostras de 100 solicitações aleatórias do conjunto de dados para avaliação de precisão. Ao usar a fmeval biblioteca, isso pode ser ajustado passando o num_records parâmetro para o evaluate método. Para obter informações sobre como personalizar a avaliação do conhecimento factual usando a fmeval biblioteca, consulte. Personalize seu fluxo de trabalho usando a biblioteca fmeval

Tipo de tarefa Built-in conjuntos de dados Observações
Resumo de texto Gigaword, conjunto de dados de relatórios governamentais Os conjuntos de dados integrados são somente em inglês, mas algumas métricas são independentes de idioma. É possível produzir conjuntos de dados em qualquer idioma.
Perguntas e respostas BoolQ, TriviaQ NaturalQuestions Os conjuntos de dados integrados são somente em inglês, mas algumas métricas são independentes de idioma. É possível produzir conjuntos de dados em qualquer idioma.
Classificação Resenhas de E-Commerce roupas femininas

Valores computados

As pontuações medidas para avaliar a precisão mudam dependendo do tipo de tarefa. Para obter informações sobre a estrutura de prompt necessária para a avaliação, consulte Criar um trabalho de avaliação de modelo automático no Studio.

Resumo

Para tarefas de resumo, a avaliação de precisão mede a precisão com que um modelo consegue resumir o texto. Por padrão, essa avaliação compara o modelo com dois conjuntos de dados integrados que contêm pares de texto de entrada e respostas verdadeiras de base. Os resumos gerados pelo modelo são, então, comparados às respostas verdadeiras de base usando três métricas integradas que medem a semelhança dos resumos de maneiras diferentes. Todas essas pontuações são calculadas com base em todo o conjunto de dados.

  • Pontuação ROUGE: as pontuações ROUGE são uma classe de métricas que calculam unidades de palavras sobrepostas (N-grams) entre o resumo gerado pelo modelo e o resumo da verdade básica para medir a qualidade do resumo. Ao avaliar uma pontuação ROUGE, pontuações mais altas indicam que o modelo foi capaz de criar um resumo melhor.

    • Os valores variam de 0 (sem correspondência) a 1 (combinação perfeita).

    • Os nomes não diferenciam maiúsculas de minúsculas.

    • Limitação: pode não ser confiável em tarefas de resumo abstrativo porque a pontuação depende da sobreposição exata de palavras.

    • Exemplo de cálculo de bigrama ROUGE

      • Resumo de base: "The dog played fetch with the ball in the park".

      • Resumo gerado: "The dog played with the ball".

      • ROUGE-2: conte o número de bigramas (duas palavras adjacentes em uma frase) em comum entre a referência e o candidato. Existem 4 bigramas comuns ("the dog", "dog played", "with the", "the ball").

      • Divido pelo número total de bigramas no resumo d base: 9

      • ROUGE-2 = 4/9 = 0.444

    • Padrões de pontuação ROUGE nos trabalhos de avaliação automática de modelos do Studio

      Quando você cria um trabalho de avaliação automática de modelo usando o Studio, a SageMaker IA usa N=2 o N-grams usado no cálculo da pontuação do ROUGE. Como resultado, o trabalho de avaliação do modelo usa bigramas para correspondência. Os trabalhos do Studio também usam o Porter Stemmer para remover sufixos de palavras de todos os prompts. Por exemplo, a string raining é truncada para rain.

    • Opções de pontuações ROUGE disponíveis na biblioteca fmeval

      Ao usar a biblioteca fmeval, você pode configurar como a pontuação ROUGE é calculada usando o parâmetro SummarizationAccuracyConfig. Há compatibilidade com as seguintes opções: 

      • rouge_type: o comprimento N-grams a ser combinado. Os três valores compatíveis são:

        •  ROUGE_1 corresponde a palavras únicas (unigramas)

        •  ROUGE_2 corresponde pares de palavras (bigramas). Este é o valor padrão.

        •  ROUGE_L corresponde a subsequência comum mais longa.  Para calcular a subsequência comum mais longa, a ordem das palavras é considerada, mas o que vem a seguir não

          • Por exemplo:

            • resumo do modelo = “It is autumn”

            • referência = “It is once again autumn”

            • Longest common subsequence(prediction, reference)=3

      • use_stemmer_for_rouge: se True (padrão), usa Porter Stemmer para remover sufixos de palavras. 

        • Por exemplo: “chovendo” é truncado para “chove”.

  • Métrica para avaliação de tradução com pontuação de ordem explícita (METEOR): METEOR é semelhante ROUGE-1, mas também inclui derivação e correspondência de sinônimos. Ele fornece uma visão mais holística da qualidade da sumarização em comparação com o ROUGE, que é limitado à simples correspondência de n-gramas. Pontuações mais altas do METEOR normalmente indicam maior precisão.

    • Limitação: pode não ser confiável em tarefas de resumo abstrativo porque a pontuação depende da sobreposição exata de palavras e sinônimos.

  • BERTScore: o BERTScore usa um modelo de ML adicional da família BERT para computar incorporações de frases e comparar sua similaridade de cosseno. Essa pontuação visa levar em conta mais flexibilidade linguística do que ROUGE e METEOR, porque frases semanticamente semelhantes podem ser incorporadas mais próximas umas das outras.

    • Limitações:

      • Herda as limitações do modelo usado para comparar passagens.

      • Pode não ser confiável para comparações de textos curtos quando uma única palavra importante é alterada.

    • Padrões BERTScore nos trabalhos de avaliação automática de modelos do Studio

      Quando você cria um trabalho de avaliação automática de modelo usando o Studio, a SageMaker IA usa o deberta-xlarge-mnli modelo para calcular o BertScore.

    • Opções de BERTScore disponíveis na biblioteca fmeval

      Ao usar a biblioteca fmeval, você pode configurar como o BERTScore é calculado usando o parâmetro SummarizationAccuracyConfig. Há compatibilidade com as seguintes opções:

Perguntas e respostas

Para tarefas de resposta a perguntas, a avaliação de precisão mede o desempenho de respostas a perguntas (QA) de um modelo comparando suas respostas geradas com as respostas verdadeiras de várias formas. Todas essas pontuações são calculadas em relação a todo o conjunto de dados.

nota

Essas métricas são calculadas comparando as respostas geradas e verdadeiras para obter a correspondência exata. Como resultado, podem ser menos confiáveis para perguntas em que a resposta pode ser reformulada sem modificar seu significado.

  • Pontuação de precisão em relação às palavras: pontuação numérica que varia de 0 (pior) e 1 (melhor). Para calcular essa pontuação, a saída do modelo e a resposta de base são normalizadas antes da comparação. Antes de calcular a precisão, a avaliação remove os caracteres de nova linha para contabilizar respostas detalhadas com vários parágrafos distintos. A precisão pode ser avaliada em qualquer idioma se você carregar seu próprio conjunto de dados.

    • precision = true positives / (true positives + false positives)

      • true positives: o número de palavras na saída do modelo que também estão contidas na resposta de base.

      • false positives: o número de palavras na saída do modelo que não estão contidas na reposta de base.

  • Pontuação de recordação em relação às palavras: pontuação numérica que varia de 0 (pior) e 1 (melhor). Para calcular essa pontuação, a saída do modelo e a resposta de base são normalizadas antes da comparação. Antes de computar a recordação, a avaliação caracteres de nova linha para contabilizar respostas detalhadas com vários parágrafos distintos. Como a recordação só verifica se a resposta contém os elementos fundamentais e não penaliza a verbosidade, sugerimos usar a recordação para modelos detalhados. O recall pode ser avaliado em qualquer idioma se você carregar seu próprio conjunto de dados.

    • recall = true positives / (true positives + false negatives)

      • true positives: o número de palavras na saída do modelo que também estão contidas na resposta de base.

      • false negatives: o número de palavras que faltam na saída do modelo, mas estão incluídas na resposta de base.

  • Pontuação F1 em relação às palavras: pontuação numérica que varia de 0 (pior) e 1 (melhor). O F1 é a média harmônica da precisão e da recordação. Para calcular essa pontuação, a saída do modelo e a resposta de base são normalizadas antes da comparação. Antes de calcular o F1, a avaliação remove caracteres de nova linha para contabilizar respostas detalhadas com vários parágrafos distintos. O F1 em relação às palavras pode ser avaliado em qualquer idioma se você carregar seu próprio conjunto de dados.

    • F1 = 2*((precision * recall)/(precision + recall))

      • precision: a precisão é calculada da mesma forma que a pontuação de precisão.

      • recall: a recordação é calculada da mesma forma que a pontuação de recordação.

  • Pontuação de correspondência exata (EM): pontuação binária que indica se a saída do modelo corresponde exatamente à resposta de base. A correspondência exata pode ser avaliada em qualquer idioma se você carregar seu próprio conjunto de dados.

    • 0: não é uma correspondência exata.

    • 1: correspondência exata.

    • Exemplo:

      • Pergunta: where is the world's largest ice sheet located today?”

      • Resposta de base: “Antarctica”

      • Resposta gerada: “in Antarctica”

        • Pontuação: 0

      • Resposta gerada: “Antarctica”

        • Pontuação: 1

  • Pontuação de correspondência quase exata: pontuação binária calculada de forma semelhante à pontuação EM, mas a saída do modelo e a resposta de base são normalizadas antes da comparação. Para ambas, a saída é normalizada convertendo-a em minúsculas e, em seguida, removendo artigos, sinais de pontuação e excesso de espaço em branco.

    • 0: não é uma correspondência quase exata.

    • 1: correspondência quase exata.

    • Exemplo:

      • Pergunta: where is the world's largest ice sheet located today?”

      • Resposta de base: “Antarctica”

      • Resposta gerada: “in South America”

        • Pontuação: 0

      • Resposta gerada: “in Antarctica”

        • Pontuação: 1

Classificação

Para tarefas de classificação, a avaliação de precisão compara a classe de entrada prevista com o rótulo fornecido. Todas essas pontuações são calculadas individualmente em todo o conjunto de dados.

  • Pontuação de precisão: pontuação binária que indica se o rótulo previsto pelo modelo corresponde exatamente ao rótulo fornecido na entrada.

    • 0: não é uma correspondência exata.

    • 1: correspondência exata.

  • Pontuação de precisão: pontuação numérica que varia de 0 (pior) e 1 (melhor).

    • precision = true positives / (true positives + false positives)

      • true positives: as entradas numéricas em que o modelo previu o rótulo fornecido para sua respectiva entrada.

      • false positives: o número de entradas em que o modelo previu um rótulo que não correspondia ao rótulo fornecido para sua respectiva entrada.

    • Padrões de pontuação de precisão nos trabalhos automáticos de avaliação de modelos do Studio

      Quando você cria um trabalho automático de avaliação de modelo usando o Studio, a SageMaker IA calcula a precisão globalmente em todas as classes, contando o número total de verdadeiros positivos, falsos negativos e falsos positivos.

    • Opções de pontuação de precisão disponíveis na biblioteca fmeval

      Usando a biblioteca fmeval, você pode configurar como a pontuação de precisão é calculada usando o parâmetro ClassificationAccuracyConfig. Há compatibilidade com as seguintes opções: 

      • multiclass_average_strategy determina como as pontuações são agregadas entre as classes na configuração de classificação multiclasse. Os valores possíveis são {'micro', 'macro', 'samples', 'weighted', 'binary'} ou None (padrão = 'micro').  No caso do padrão 'micro', a precisão é calculada de forma geral em todas as classes, contando o número total de verdadeiros positivos, falsos negativos e falsos positivos. Para todas as outras opções, consulte sklearn.metrics.precision_score.

        nota

        Para classificação binária, recomendamos usar a estratégia de média 'binary', que corresponde à definição clássica de precisão.

  • Pontuação de recordação: pontuação numérica que varia de 0 (pior) e 1 (melhor).

    • recall = true positives / (true positives + false negatives)

      • true positives: o número de entradas em que o modelo previu o rótulo fornecido para sua respectiva entrada.

      • false negatives: o número de entradas em que o modelo falhou em prever o rótulo fornecido para sua respectiva entrada.

    • Padrões de pontuação de recordação nos trabalhos automáticos de avaliação de modelo do Studio

      Quando você cria um trabalho automático de avaliação de modelo usando o Studio, a SageMaker IA calcula o recall globalmente em todas as classes, contando o número total de verdadeiros positivos, falsos negativos e falsos positivos.

    • Opções de pontuação de recordação disponíveis na biblioteca fmeval

      Ao usar a biblioteca fmeval, você pode configurar como a pontuação de recordação é calculada usando o parâmetro ClassificationAccuracyConfig. Há compatibilidade com as seguintes opções: 

      • multiclass_average_strategy determina como as pontuações são agregadas entre as classes na configuração de classificação multiclasse. Os valores possíveis são {'micro', 'macro', 'samples', 'weighted', 'binary'} ou None (padrão = 'micro').  No caso do padrão 'micro', a recordação é calculada de forma geral em todas as classes, contando o número total de verdadeiros positivos, falsos negativos e falsos positivos. Para todas as outras opções, consulte sklearn.metrics.precision_score.

        nota

        Para classificação binária, recomendamos usar a estratégia de média 'binary', que corresponde à definição clássica de recall.

  • Precisão de classificação balanceada: pontuação numérica que varia de 0 (pior) e 1 (melhor).

    • Para classificação binária: essa pontuação é calculada da mesma forma que a precisão.

    • Para classificação multiclasse: essa pontuação calcula a média das pontuações de recordação individuais de todas as classes.

      • Exemplos de saída:

        Revisar texto Rótulo do Ground Truth Nome da classe Rótulo previsto
        Delicious cake! Would buy again. 3 brownie 3
        Tasty cake! R ecommended. 2 pound cake 2
        Terrível! Gross cake. 1 pound cake 2
        • Recordação da classe 1: 0

        • Recordação da classe 2: 1

        • Recordação da classe 3: 1

        • Precisão de classificação balanceada: (0 + 1 + 1)/3 = 0,66