Noções básicas sobre parâmetros de fórmula - Amazon Nova

Noções básicas sobre parâmetros de fórmula

Configuração da execução

A seguir está uma configuração geral de execução e uma explicação sobre os parâmetros envolvidos.

run: name: eval_job_name model_type: amazon.nova-micro-v1:0:128k model_name_or_path: nova-micro/prod replicas: 1 data_s3_path: "" output_s3_path: s3://output_path mlflow_tracking_uri: "" mlflow_experiment_name : "" mlflow_run_name : ""
  • name: (obrigatório) um nome descritivo para sua tarefa de avaliação. Isso ajuda a identificar sua tarefa no Console da AWS.

  • model_type: (obrigatório) Especifica a variante do modelo do Amazon Nova a ser usada. Não modifique manualmente esse campo. Entre as opções estão:

    • amazon.nova-micro-v1:0:128k

    • amazon.nova-lite-v1:0:300k

    • amazon.nova-pro-v1:0:300k

    • amazon.nova-2-lite-v1:0:256k

  • model_name_or_path: (obrigatório) o caminho para o modelo de base ou o caminho do S3 para o ponto de verificação pós-treinado. Entre as opções estão:

    • nova-micro/prod

    • nova-lite/prod

    • nova-pro/prod

    • nova-lite-2/prod

    • (Caminho S3 para o ponto de verificação pós-treinado) s3://<escrow bucket>/<job id>/outputs/checkpoints

  • replicas: (obrigatório) o número de instâncias de computação a serem usadas no treinamento distribuído. Você deve definir esse valor como 1 porque não é possível usar vários nós.

  • data_s3_path: (obrigatório) o caminho do S3 para o conjunto de dados de entrada. Deixe esse parâmetro vazio, a menos que você esteja usando o traga seu próprio conjunto de dados ou o LLM como avaliador.

  • output_s3_path: (obrigatório) o caminho do S3 para armazenar artefatos de avaliação de saída. Observe que o bucket de saída do S3 deve ser criado pela mesma conta que está criando a tarefa.

  • mlflow_tracking_uri: (opcional) ARN do servidor de rastreamento MLflow para rastrear execuções/experimentos do MLflow. Certifique-se de ter permissão para acessar o servidor de rastreamento no perfil de execução do SageMaker AI

Configuração da avaliação

A seguir é apresentada uma configuração avaliação de modelo e uma explicação sobre os parâmetros envolvidos.

evaluation: task: mmlu strategy: zs_cot subtask: mathematics metric: accuracy
  • task: (obrigatório) especifica a referência ou tarefa de avaliação a ser usada.

    Lista de tarefas compatíveis:

    • mmlu

    • mmlu_pro

    • bbh

    • gpqa

    • math

    • strong_reject

    • gen_qa

    • ifeval

    • llm_judge

    • humaneval

    • mm_llm_judge

    • rubric_llm_judge

    • aime_2024

    • calendar_scheduling

    • humaneval

  • strategy: (obrigatório) define a abordagem de avaliação.

    • zs_cot: cadeia de pensamento zero shot, uma abordagem de utilização de prompts em grandes modelos de linguagem que incentiva o raciocínio passo a passo sem exigir exemplos explícitos.

    • zs: zero shot, uma abordagem para resolver um problema sem nenhum exemplo de treinamento prévio.

    • gen_qa: uma estratégia específica para trazer suas próprias fórmulas de conjuntos de dados.

    • judge: uma estratégia específica para o LLM como avaliador do Amazon Nova.

  • subtask: (opcional e removível) estipula uma subtarefa específica para determinadas tarefas de avaliação. Remova da sua fórmula se sua tarefa não tiver subtarefas.

  • metric: (obrigatório) a métrica de avaliação a ser usada.

    • accuracy: porcentagem de respostas corretas.

    • exact_match: (para a referência math) exibe a taxa na qual as strings previstas de entrada correspondem exatamente às respectivas referências.

    • deflection: (para a referência strong reject), exibe a deflexão relativa ao modelo base e a diferença nas métricas de significância.

    • pass@1: (para a referência humaneval) é uma métrica usada para medir a porcentagem de casos em que a predição de maior confiança do modelo corresponde à resposta correta.

    • all: exibe as seguintes métricas:

      • Para a referência gen_qa e trazer seu próprio conjunto de dados, exibe as seguintes métricas:

        • rouge1: mede a sobreposição de unigramas (palavras únicas) entre o texto gerado e o texto de referência.

        • rouge2: mede a sobreposição de unigramas (duas palavras consecutivas) entre o texto gerado e o texto de referência.

        • rougeL: mede a maior subsequência comum entre textos, permitindo lacunas na correspondência.

        • exact_match: pontuação binária (0 ou 1) indicando se o texto gerado corresponde exatamente ao texto de referência, caractere por caractere.

        • quasi_exact_match: semelhante à correspondência exata, mas mais tolerante. Geralmente ignora diferenças de maiúsculas e minúsculas, pontuação e espaço em branco.

        • f1_score: média harmônica de precisão e recall. Mede a sobreposição de palavras entre as respostas previstas e de referência.

        • f1_score_quasi: semelhante ao f1_score, mas com uma correspondência mais branda. Usa a comparação de texto normalizada que ignora pequenas diferenças.

        • bleu: mede a precisão das correspondências de n-gramas entre o texto gerado e o texto de referência. É comumente usada em avaliação de tradução.

      • Para llm_judge e mm_llm_judge, utilize seu próprio conjunto de dados de avaliação comparativa e obtenha as seguintes métricas:

        • a_scores: número de acertos da response_A em passagens de avaliação para frente e para trás.

        • a_scores_stderr: erro padrão de response_A scores em avaliações de pares.

        • b_scores: número de acertos da response_B em passagens de avaliação para frente e para trás.

        • b_scores_stderr: erro padrão de response_B scores em avaliações de pares.

        • ties: número de avaliações em que a response_A e a response_B são avaliadas como iguais.

        • ties_stderr: erro padrão de empates em avaliações de pares.

        • inference_error: contagem de avaliações que não puderam ser concluídas adequadamente.

        • inference_error_stderr: erro padrão de erros de inferência em todos as avaliações.

        • score: pontuação agregada com base nos acertos dos passes para frente e para trás da response_B.

        • score_stderr: erro padrão da pontuação agregada em avaliações de pares.

        • winrate: a probabilidade de que a response_B será preferida em relação à response_A calculada por meio da probabilidade de Bradley-Terry.

        • lower_rate: limite inferior (2,5º percentil) da taxa de acerto estimada da amostragem de bootstrap.

Configuração de inferência

A seguir é apresentada uma configuração de inferência e uma explicação sobre os parâmetros envolvidos. Todos os parâmetros são opcionais.

inference: max_new_tokens: 200 top_k: -1 top_p: 1.0 temperature: 0 top_logprobs: 10 reasoning_effort: null # options: low/high to enable reasoning or null to disable reasoning
  • max_new_tokens: o número máximo de tokens a serem gerados. Deve ser um número inteiro.

  • top_k: o número de tokens de maior probabilidade a serem considerados. Deve ser um número inteiro.

  • top_p: o limite de probabilidade cumulativa para a amostragem de tokens. Deve ser um número de ponto flutuante entre 0,0 e 1,0, inclusive.

  • temperature: aleatoriedade na seleção de tokens. Valores maiores aumentam a aleatoriedade. Use 0 que os resultados sejam determinísticos. Esse valor deve ser um número de ponto flutuante com um valor mínimo de 0.

  • top_logprobs: o número dos principais logprobs a serem retornados na resposta de inferência. O valor deve ser um número inteiro de 0 a 20. Os logprobs contêm os tokens de saída considerados e as probabilidades logarítmicas de cada token de saída retornado no conteúdo da mensagem.

  • reasoning_effort: controla o comportamento de raciocínio para modelos capazes de raciocinar. Defina reasoning_effort somente quando model_type especificar um modelo capaz de raciocínio (atualmente amazon.nova-2-lite-v1:0:256k). As opções disponíveis são null (valor padrão se não definido; desabilita o raciocínio), low ou high.

Observe que, para humaneval, recomendamos a seguinte configuração de inferência:

inference: top_k: 1 max_new_tokens: 1600 temperature: 0.0
Configuração do MLflow

Confira a seguir uma configuração do MLflow e uma explicação sobre os parâmetros envolvidos. Todos os parâmetros são opcionais.

run: mlflow_tracking_uri: "" mlflow_experiment_name: "" mlflow_run_name: ""
  • mlflow_tracking_uri: (opcional) a localização do servidor de rastreamento MLflow (necessário somente no SMHP)

  • mlflow_experiment_name: (opcional) nome do experimento para agrupar execuções de ML relacionadas

  • mlflow_run_name: (opcional) nome personalizado para um treinamento específico executado em um experimento