Documentação

Kev-0.6B (Qwen3)

Geração anterior (Qwen3). Mantido como a opção pequena e rápida no Apple Silicon (0.12 s por requisição de cinco perguntas, contra 0.33 s do Kev-0.8B). Para acurácia, use o Kev-0.8B: no teste bloqueado ele marca 0.668 contra 0.642 fora do domínio em relação a este modelo nos mesmos itens. Pesos: jaredpalmer/kev-0.6b.

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

O membro pequeno da família Kev. É o melhor checkpoint 0.6B sob um protocolo de avaliação congelado e verificado por checksum: os dados da receita 4B/8B (decision-v7) em lr 1e-4, três sementes (transfer 0.613 / 0.605 / 0.620), depois que oito mutações de um só parâmetro e três sementes dos dados anteriores não encontraram nada melhor que 0.61. Fora do domínio, é um modelo de 0.6B — use o Kev-4B quando a acurácia importa; use este onde a memória ou a latência descartam o 4B, e meça nos seus próprios dados.

  • Hub: jaredpalmer/kev-0.6b (este repositório; trial v7-06b/02-trial-2, semente 2 de 3)
  • Código, suítes, resultados e o registro completo da pesquisa: github.com/jaredpalmer/kev — veja PLAN.md (registro 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
registros de treinamento 9,000 (seis fontes) 12,576 (dez fontes públicas + 896 pares mínimos de política + 1,680 registros de 60 estruturas de regra aleatórias)
nenhuma das opções acima apenas correção de aumento + pares mínimos: o mesmo estado renderizado com a opção verdadeira presente e removida
acurácia dentro da distribuição (decision-v4 dev) 0.712 0.801
acurácia fora do domínio (transfer-v4 dev) 0.561 0.620
opção “nenhuma” presente, acurácia 0.25 (transfer-v1) 0.80
sementes por trás do número 1 3 (transfer 0.605–0.620)

Jev (typesafe-ai/jev via Vercel AI Gateway) nos mesmos conjuntos de desenvolvimento congelados: 0.845 dentro da distribuição, 0.857 fora do domínio. Acurácia 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 do domínio ele é um modelo de 0.6B. A acurácia de transferência fica estável em ~0.60 em todos os hiperparâmetros que testamos (oito mutações de um só parâmetro, três sementes). A mesma receita em 4B chega a 0.72–0.75 e em 8B a 0.74–0.77; a capacidade, não os dados, é o gargalo neste tamanho.
  • O raciocínio sobre políticas reservadas falha: em pares de política programáticos cuja estrutura de regra nunca foi treinada, ambos os irmãos corretos é 6–11% (Kev-4B 0.73, Jev 0.86).
  • Hedging ordinal: em perguntas de Score de 3 níveis com aritmética de datas, ele colapsa para o nível do meio.
  • A taxa de erros confiantes fora do domínio é 11% (confiança ≥0.9 e errado); ECE bruta 0.09 dentro do domínio, 0.15 fora do domínio. As probabilidades são utilizáveis dentro do domínio; trate-as como consultivas em qualquer outro lugar.
  • Teste bloqueado, lido uma vez (runs/locked/kev-06b-v7-ungated/): acurácia dentro da distribuição 0.808 (Brier 0.266, ECE 0.089), fora do domínio 0.642 (Brier 0.483, ECE 0.128, erros confiantes 7.9%). Esta partição não será lida de novo para este checkpoint.

Arquitetura

LM causal somente-prefill com uma máscara de atenção block-causal: um prefixo de estado compartilhado, um ramo isolado por pergunta e uma leitura por ponteiro sobre os tokens de fronteira das opções. Perguntas empacotadas em uma requisição recebem exatamente as probabilidades que receberiam sozinhas (delta máximo medido 4e-6). Detalhes no README do repositório.

Treinamento

Suíte congelada evals/v7/decision-v7 (o manifesto fixa as revisões do conjunto de dados e do modelo base): 10,000 registros públicos (1,000 por fonte), 896 registros de pares mínimos de política em nove famílias de template e 1,680 registros de 60 estruturas de regra geradas aleatoriamente, duas épocas, LoRA r=16 nas projeções de atenção e MLP em lr 1e-4, cabeça de ponteiro do zero, entropia cruzada sobre a distribuição das opções, autocast bf16 com pesos mestres em fp32 em uma H100 (~12 min). Aumento: permutação de opções, inserção de nenhuma das opções acima, distratores e pares mínimos de nenhuma em 25% dos registros de Choice. Nenhuma saída de Jev foi usada no treinamento.

Protocolo de avaliação

As partições de desenvolvimento selecionam modelos; existe uma partição de teste bloqueada, lida no máximo uma vez por candidato promovido. Todo número acima carrega o hash da suíte, os hashes do código e o commit do git em result.json. As comparações usam um bootstrap pareado agrupado por registro. Veja o PLAN.md na tag git research-archive-2026-09-24 (“Evidence and corrections”) para as correções que fizemos às nossas próprias afirmações anteriores.

Uso

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

Sirva 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 treinamento carregam suas próprias licenças.