Documentação

Kev-0.6B (Qwen3)

Geração anterior (Qwen3). Mantido como a opção pequena rápida em Apple Silicon (0.12 s por pedido de cinco perguntas vs 0.33 s do Kev-0.8B). Para precisão usa o Kev-0.8B: no teste bloqueado obtém 0.668 vs 0.642 fora da distribuição contra este modelo nos mesmos itens. Pesos: jaredpalmer/kev-0.6b.

O Kev-0.6B é um modelo de decisão: entra um documento (o estado) e um conjunto de perguntas tipadas, sai uma distribuição de probabilidade por pergunta, numa única passagem direta. Sem geração de texto. É um adaptador LoRA (r=16) mais uma cabeça de ponteiro sobre o Qwen/Qwen3-0.6B-Base, e serve o contrato público da API /v1/systemone da TypeSafe.

O membro pequeno da família Kev. É o melhor checkpoint de 0.6B sob um protocolo de avaliação congelado e com somas de verificação: os dados da receita de 4B/8B (decision-v7) a lr 1e-4, três sementes (transfer 0.613 / 0.605 / 0.620), depois de oito mutações de um só parâmetro e três sementes dos dados anteriores não terem encontrado nada melhor do que 0.61. Fora da distribuição é um modelo de 0.6B — usa o Kev-4B para precisão; usa este onde a memória ou a latência excluam o 4B, e mede nos teus próprios dados.

  • Hub: jaredpalmer/kev-0.6b (este repositório; ensaio v7-06b/02-trial-2, semente 2 de 3)
  • Código, suites, resultados e o registo completo de investigação: github.com/jaredpalmer/kev — vê o PLAN.md (registo completo na tag git research-archive-2026-09-24), runs/leaderboard.md e evals/v4/*/manifest.json

O que mudou desde o Kev-0.5B

Kev-0.5B Kev-0.6B (este)
backbone Qwen2.5-0.5B Qwen3-0.6B-Base
registos de treino 9,000 (seis fontes) 12,576 (dez fontes públicas + 896 pares mínimos de política + 1,680 registos de 60 estruturas de regras aleatórias)
nenhuma-das-anteriores apenas uma correção de aumento + pares mínimos: o mesmo estado renderizado com a opção verdadeira presente e removida
precisão em distribuição (decision-v4 dev) 0.712 0.801
precisão fora da distribuição (transfer-v4 dev) 0.561 0.620
opção nenhuma presente, precisão 0.25 (transfer-v1) 0.80
sementes por detrás do número 1 3 (transfer 0.605–0.620)

O Jev (typesafe-ai/jev via Vercel AI Gateway) nos mesmos conjuntos de desenvolvimento congelados: 0.845 em distribuição, 0.857 fora da distribuição. Precisão de transferência por fonte para este checkpoint: QNLI 0.85, SciQ 0.93, TweetEval-offensive 0.69, PAWS 0.59, Emotion 0.49, MMLU 0.50; estruturas de política reservadas perto do acaso.

Limites conhecidos

  • Fora da distribuição é um modelo de 0.6B. A precisão de transferência é plana em ~0.60 em todos os hiperparâmetros que tentámos (oito mutações de um só parâmetro, três sementes). A mesma receita a 4B chega a 0.72–0.75 e a 8B a 0.74–0.77; a capacidade, não os dados, é o estrangulamento neste tamanho.
  • O raciocínio sobre políticas reservadas falha: em pares de política programáticos cuja estrutura de regras nunca foi treinada, ambos-os-irmãos-corretos é 6–11% (Kev-4B 0.73, Jev 0.86).
  • Hesitação ordinal: em perguntas Score de 3 níveis com aritmética de datas, colapsa no nível do meio.
  • A taxa de erros confiantes fora da distribuição é 11% (confiança ≥0.9 e errado); ECE em bruto 0.09 em distribuição, 0.15 fora da distribuição. As probabilidades são utilizáveis em distribuição; trata-as como indicativas no resto.
  • Teste bloqueado, lido uma vez (runs/locked/kev-06b-v7-ungated/): precisão em distribuição 0.808 (Brier 0.266, ECE 0.089), fora da distribuição 0.642 (Brier 0.483, ECE 0.128, erros confiantes 7.9%). Esta partição não voltará a ser lida para este checkpoint.

Arquitetura

LM causal apenas de pré-preenchimento com uma máscara de atenção causal em bloco: um prefixo de estado partilhado, um ramo isolado por pergunta e uma leitura por ponteiro sobre os tokens de fronteira das opções. As perguntas empacotadas num único pedido obtêm exatamente as probabilidades que obteriam sozinhas (delta máximo medido 4e-6). Detalhes no README do repositório.

Treino

Suite congelada evals/v7/decision-v7 (o manifesto fixa as revisões dos conjuntos de dados e do modelo base): 10,000 registos públicos (1,000 por fonte), 896 registos de pares mínimos de política em nove famílias de templates e 1,680 registos de 60 estruturas de regras geradas aleatoriamente, duas épocas, LoRA r=16 nas projeções de atenção e MLP a lr 1e-4, cabeça de ponteiro de raiz, entropia cruzada sobre a distribuição das opções, autocast bf16 com pesos mestres fp32 numa H100 (~12 min). Aumento: permutação das opções, inserção de nenhuma-das-anteriores, distratores e pares mínimos de “nenhuma” em 25% dos registos Choice. Não foi usada nenhuma saída do Jev para o treino.

Protocolo de avaliação

As partições de desenvolvimento selecionam os modelos; existe uma partição de teste bloqueada, lida no máximo uma vez por candidato promovido. Cada número acima transporta o hash da suite, os hashes do código e o commit git em result.json. As comparações usam um bootstrap emparelhado com agrupamento por registo. Vê o PLAN.md na tag git research-archive-2026-09-24 (“Evidence and corrections”) para as correções que fizemos às nossas próprias alegações anteriores.

Utilização

from typesafe import TypeSafeClient   # any TypeSafe-compatible client
client = TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest")

Serve com uv run --extra serve python -m kev.serve --run jaredpalmer/kev-0.6b --port 8008 a partir do repositório.

Licença

Apache-2.0 para o adaptador e a cabeça. O modelo base é Apache-2.0 (Qwen3). Os conjuntos de dados de treino têm as suas próprias licenças.