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; trialv7-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 gitresearch-archive-2026-09-24),runs/leaderboard.mdeevals/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.