Estrutura do manifesto
Cada versão da suíte armazena um manifesto.Tipos de tarefa
type identifica a tarefa para pessoas e relatórios downstream.
A pontuação não é codificada de forma fixa pelo tipo de tarefa.
O avaliador Python determina o comportamento real da métrica.
Rótulos de tarefa compatíveis:
Use
metadata nas tarefas e execuções para seus próprios identificadores de experimento.
As chaves de metadados podem ter até 64 caracteres e os valores até 512 caracteres.
Conjuntos de dados enviados
Use arquivos enviados para conjuntos de dados controlados e reproduzíveis. Envie-os por/files com purpose=evals e, em seguida, faça referência ao ID do arquivo na tarefa.
format pode ser jsonl ou csv.
Se você omiti-lo, o gateway infere o formato a partir do nome do arquivo enviado.
As linhas JSONL devem ser objetos:
eval.jsonl
eval.csv
Conjuntos de dados do Hugging Face
Use o Hugging Face quando sua avaliação precisar ser executada a partir de um conjunto de dados público ou privado pré-configurado. O gateway carrega linhas do servidor de conjuntos de dados do Hugging Face.
Conjuntos de dados privados do Hugging Face exigem um token do Hugging Face configurado para o ambiente do gateway.
O token não é fornecido no manifesto de avaliação.
Entre em contato com a MKA1 se sua equipe precisar de acesso a conjuntos de dados privados ou restritos do Hugging Face.
Builders json e csv do Hugging Face
Para path: "json" ou path: "csv", forneça data_files.
Somente URLs HTTP(S) são permitidas, e hosts de rede local/privada são rejeitados.
data_files em dataset_kwargs.data_files.
Modelos
prompt_template e target_template são renderizados com valores da linha atual do conjunto de dados.
Valores ausentes são renderizados como uma string vazia.
Objetos e arrays são renderizados como JSON.
Exemplos few-shot
Os exemplos few-shot são renderizados antes do prompt avaliado. Usenum_fewshot para manifestos no estilo lm-eval ou o objeto fewshot expandido quando precisar de mais controle.
A linha atual é excluída quando exemplos few-shot são extraídos da mesma lista de linhas em memória.
Pré-processadores Python
Use pré-processadores para normalizar linhas do conjunto de dados antes da renderização do prompt. Eles são executados no sandbox Python com as mesmas regras de escopo de arquivo dos avaliadores.
Os pré-processadores podem retornar:
Se o pré-processamento falhar, a execução falhará antes da execução de amostras para essa tarefa.
Extração de saída
A extração de saída transforma o texto bruto do modelo emextracted_output.
O avaliador recebe tanto sample["output_text"] quanto sample["extracted_output"].
Exemplos:
Métricas
As métricas declaram quais chaves de pontuação devem ser agregadas. Os avaliadores Python produzem os valores de pontuação.
Se um avaliador por amostra retornar um único float, o MKA1 o armazena no
metric_id do avaliador, cujo padrão é score.
Se uma tarefa por amostra omitir metrics, o MKA1 adiciona uma métrica padrão para esse metric_id.
Avaliadores agregados em lote podem fornecer métricas finais da tarefa por meio de grade_batch.
Configurações de geração
Ageneration em nível de execução controla chamadas ao modelo candidato.
Ela inclui campos normalizados de Responses, aliases do lm-eval, campos de passagem direta do provedor e controles de execução de avaliação.
Campos de passagem direta do provedor:
A passagem direta do provedor é enviada somente para upstreams não OpenAI compatíveis com OpenAI.
Upstreams OpenAI reais recebem apenas campos compatíveis.
Controles de execução:
Exemplo: tarefa de múltipla escolha do Hugging Face
Exemplo: tarefa few-shot com uma divisão de treinamento separada
Orientações de versionamento
Crie uma nova versão da suíte quando alterar qualquer comportamento que afete os resultados:- Arquivo do conjunto de dados ou caminho/configuração/divisão do Hugging Face.
- Prompt, alvo, few-shot, pré-processamento ou extração de saída.
- IDs de métricas ou comportamento de agregação.
- Código-fonte ou ID do arquivo do avaliador Python.
- Modelos candidatos.
- Modelo avaliador.
- Modelo de embedding.
- Configurações de geração.
- Concorrência e limites de amostras.