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_qae 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_judgeemm_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 daresponse_Aem passagens de avaliação para frente e para trás. -
a_scores_stderr: erro padrão deresponse_A scoresem avaliações de pares. -
b_scores: número de acertos daresponse_Bem passagens de avaliação para frente e para trás. -
b_scores_stderr: erro padrão deresponse_B scoresem avaliações de pares. -
ties: número de avaliações em que aresponse_Ae aresponse_Bsã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 daresponse_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. Definareasoning_effortsomente quandomodel_typeespecificar um modelo capaz de raciocínio (atualmenteamazon.nova-2-lite-v1:0:256k). As opções disponíveis sãonull(valor padrão se não definido; desabilita o raciocínio),lowouhigh.
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