Benchmarks e limites conhecidos
Os resultados do Laya dependem do checkpoint, da tarefa, do enunciado da pergunta, do número de opções e do hardware. Usa as tabelas completas de benchmarks para encontrar uma execução comparável antes de escolher um checkpoint ou um limiar de confiança. O diretório de research contém os scripts e os ficheiros de resultados por detrás das tabelas principais.
Encontra a medição relevante
| Se precisares de avaliar | Começa por | Verifica antes de aplicares o resultado |
|---|---|---|
| Decisões entre idiomas | As tabelas MASSIVE e XNLI em BENCHMARKS.md |
Idioma, tarefa, número de opções e checkpoint |
| Um fluxo de trabalho como triagem ou moderação | A tabela de fluxos de trabalho de aplicação em BENCHMARKS.md |
Se o conjunto de dados estava na mistura de treino ou reservado |
O checkpoint laya-typed-decisions |
A tabela de typed-decisions em BENCHMARKS.md |
Foi afinado na partição de treino desse benchmark; os checkpoints base têm linhas à parte |
| Tempo de resposta | As secções de T4, GB10, CPU de portátil e CPU de servidor em BENCHMARKS.md |
Dispositivo, tamanho de lote, número de perguntas, aquecimento e se o tempo HTTP está incluído |
Os números publicados do Jev, a par das suites originais do Laya, provêm de estudos de terceiros
com prompts e tamanhos de amostra diferentes. São contexto útil, mas não são uma comparação direta
e controlada. Consulta as notas de comparação em
research/README.md.
Lê a precisão juntamente com a linha de base e a partição de dados. Por exemplo, o benchmark de typed-decisions reporta 0.766 de precisão para o checkpoint afinado, enquanto ambos os checkpoints base pontuam abaixo da sua linha de base de classe maioritária de 0.461. Esse resultado apoia o ajuste fino para uma tarefa semelhante; não estabelece uma precisão de 0.766 para um checkpoint não treinado nem para um domínio novo.
Lê a confiança separadamente da precisão. O erro de calibração esperado (ECE) mede quão bem as
probabilidades reportadas correspondem à correção observada; mais baixo é melhor. As colunas
originais de ECE e de confiança média do varrimento de 51 idiomas são anteriores ao clamp de
temperatura do #42. As suas colunas de precisão continuam a aplicar-se, mas usa a repetição com
clamp em research/results/ ao comparar valores de confiança atuais. Mesmo um ECE mais baixo numa
suite não define um limiar seguro para outra tarefa ou outro número de opções.
Limites a verificar nos teus próprios dados
- Encaminhamento por idioma: O checkpoint inglês pode mostrar-se confiante em texto que trata
mal fora do inglês. Usa o
Routerpara entradas em vários idiomas e verifica as decisões de encaminhamento nos idiomas que serves. O checkpoint multilingue também pontua abaixo do inglês nas fatias inglesas de MASSIVE e XNLI. - Muitas opções: As descrições de Choice partilham um orçamento fixo de tokens. A execução de 77 etiquetas Banking77 tem um desempenho fraco com o orçamento predefinido. Mantém uma única pergunta choice em cerca de 20 opções, ou avalia uma pré-seleção e um orçamento de cabeça maior com as tuas próprias etiquetas.
- Calibração: Ambos os checkpoints base são demasiado confiantes nas suites publicadas tal como são distribuídas, embora uma tarefa de encaminhamento à parte fosse pouco confiante. Ajusta e avalia as temperaturas em exemplos reservados e separados do teu fluxo de trabalho antes de usares um gate de confiança.
- Transferência de tarefa: A moderação reservada é fraca no benchmark de aplicações, e o
scoreordinal é a primitiva mais fraca nas suites inglesas reportadas. O checkpoint multilingue também tem um enviesamento medido contra o primeiro nível descore. Testa o tipo de pergunta e a distribuição de dados que pretendes servir. - Enunciado e ordem: A ordem das opções pode mudar uma resposta
choice. As etiquetas de choice com palavras booleanas e os pedidos negados também falharam em exemplos documentados; onoulpode seguir as suas etiquetas de opção em vez do estado. Verifica ordens e enunciados alternativos, sobretudo quando uma decisão errada é custosa. - Documentos longos: O codificador multilingue pode ler até 8,192 tokens quando configurado para esse limite, mas o benchmark de contexto longo reporta respostas menos fiáveis para além de cerca de 4,000 tokens de texto precedente. Mede a precisão nos comprimentos que esperas em uso.
- Latência: Os números de T4 não preveem o tempo de CPU nem o de carregamento a frio. Mede chamadas a quente e a frio com o teu próprio checkpoint, dispositivo, comprimentos de entrada e número de perguntas.
A secção de limites honestos do README tem exemplos e soluções alternativas atuais. As tabelas de benchmarks dão o conjunto de dados e o hardware por detrás de cada um dos limites acima.
Reproduzir ou ampliar um resultado
Começa pelo mapa de scripts e resultados
e pelo índice de execuções no topo de BENCHMARKS.md. research/scripts/bench_local.py executa o
varrimento de CPU de 51 idiomas, bench_apps.py cobre fluxos de trabalho de aplicação, e
bench_latency.py mede a velocidade de encaminhamento e inferência. O notebook de T4 é gerado a
partir de research/scripts/build_benchmark_nb.py; edita o gerador quando alterares esse benchmark.
Para uma implementação nova, mantém um conjunto reservado com os mesmos estados, perguntas e respostas esperadas para cada checkpoint que compares. Regista a revisão do checkpoint, as versões do Laya e das bibliotecas, o dispositivo, o número de perguntas, o número de opções e o orçamento de tokens com cada execução. Inclui uma linha de base simples para a precisão e reporta a latência após o aquecimento, além do tempo de carregamento no primeiro uso. Isto torna o teu resultado comparável com as execuções publicadas e permite-te revisitá-lo após uma atualização.