Documentação

Kev-4B

Resumo do modelo

O Kev-4B é um modelo de decisão. Lê um documento (o estado) e um conjunto de perguntas tipadas sobre ele, e devolve uma distribuição de probabilidade calibrada sobre as opções fornecidas com cada pergunta, numa única passagem direta e sem gerar texto. Destina-se a programadores que classificam, encaminham, triam ou verificam documentos e que precisam de probabilidades que possam ser usadas com limiares, por exemplo para enviar casos incertos para revisão humana. Implementa a API pública System One da TypeSafe (POST /v1/systemone), por isso o SDK da TypeSafe funciona com ele sem alterações. É um adaptador LoRA e uma cabeça de ponteiro sobre o Qwen3.5-4B-Base, suficientemente pequeno para uma GPU de 24 GB ou um Mac Apple Silicon de 32 GB. Esta ficha descreve o checkpoint no Kev 1.0, publicado pela primeira vez em 2026-09-24.

Detalhes do modelo

Programador Jared Palmer (github.com/jaredpalmer/kev)
Tipo de modelo Modelo de decisão: um backbone de modelo de linguagem causal corrido apenas em pré-preenchimento, com uma cabeça de ponteiro sobre as opções
Backbone Qwen/Qwen3.5-4B-Base (revisão 1001bb4d): 32 camadas, 24 Gated DeltaNet (atenção linear) e 8 de atenção completa, tamanho oculto 2,560; congelado
Adaptador LoRA, rank 16, α 32, nas projeções de atenção, MLP e DeltaNet (33.8M parâmetros)
Cabeça Cabeça de ponteiro: duas projeções avaliam o token de fecho de cada opção contra o token final da pergunta; uma softmax dá as probabilidades
Precisão Treinado com autocast bf16 sobre pesos fp32; servido em bf16 (o adaptador é fundido na base no momento do carregamento); avaliado em fp32
Contexto São servidos estados até 65,536 tokens, mais pelo menos 8,192 tokens por pergunta. Os estados de treino eram no máximo 7,552 tokens.
Comprimento de contexto validado 8,192 tokens (vê Documentos longos)
Calibração Uma temperatura, T = 2.41, guardada em head.pt e aplicada no momento do carregamento
Idiomas Inglês
Licença Apache-2.0 (adaptador e cabeça); o modelo base é Apache-2.0
Versão Kev 1.0: main de jaredpalmer/kev-4b, revisão 139fdd94 (publicado em 2026-09-24)
Versões anteriores Tags do Hub r8-documents-release (apenas a etapa de documentos), night2-du-release, v7-base e qwen3 (a geração Qwen3-4B)

Entrada. Um estado (texto, ou um objeto ou array JSON renderizado como texto etiquetado) e qualquer número de perguntas nomeadas, cada uma de um de três tipos:

Tipo Opções Saída
choice 1–255 opções nomeadas, cada uma com uma descrição opcional uma probabilidade por opção, a opção mais provável e uma confiança
score 1–255 níveis ordenados uma probabilidade por nível e o índice de nível esperado
noul sim / não, com descrições opcionais a probabilidade de sim

Cada pergunta é respondida como a sua própria linha que continua a partir do estado partilhado, por isso as perguntas não se podem influenciar mutuamente; o estado é calculado uma vez e colocado em cache.

Utilizações previstas

  • Decisões tipadas sobre documentos de alguns milhares de tokens: classificação, encaminhamento, triagem, escolhas de extração, verificações de política e elegibilidade, e avaliação de uma resposta proposta contra critérios indicados.
  • Fluxos de trabalho que agem com base na confiança: automatizar os casos com confiança e pôr o resto em fila, com os limiares fixados numa amostra etiquetada da carga de trabalho do próprio utilizador.
  • Um substituto auto-alojado e imediato para um endpoint System One em hardware modesto, e um ponto de partida para ajuste fino nas próprias etiquetas do utilizador (kev.train --init_from jaredpalmer/kev-4b).

Utilizações fora do âmbito

  • Geração de texto, conversa, resumo ou resposta a perguntas abertas. O modelo apenas pontua as opções que lhe são dadas.
  • Decisões totalmente automatizadas com consequências legais, médicas, financeiras, laborais ou semelhantes para pessoas, sem revisão humana.
  • Perguntas cuja resposta depende de factos que não estão no estado e não são conhecimento geral, e exames com muito conhecimento (vê Limitações).
  • Aritmética de datas com precisão ao dia sem o pré-processador KEV_DATE_FACTS=1, estados com mais de 65,536 tokens e idiomas diferentes do inglês.

Como usar

Serve-o com o repositório do Kev. Em CUDA corre em bf16 com kernels DeltaNet fundidos e grafos CUDA (uma L40S, uma H100 ou qualquer GPU com cerca de 16 GB livres); em Apple Silicon o mesmo comando serve-o através do MLX, escolhido automaticamente.

git clone https://github.com/jaredpalmer/kev.git && cd kev && uv sync --extra serve
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b --port 8008           # Kev 1.0 (this card)
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-4b@v1.0 --port 8008      # the same weights, pinned
from typesafe_sdk import Choice, Noul, TypeSafeClient

client = TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest")
response = client.system_one(
    state="I was charged twice for order 1182. Please refund one of the charges.",
    questions={
        "team": Choice(instructions="Which team should handle this?",
                       criteria={"billing": "Charges and refunds", "shipping": "Deliveries", "returns": "Exchanges"}),
        "urgent": Noul(instructions="Does this need a reply today?"),
    },
)
print(response.choices["team"].choice, response.nouls["urgent"].noul)

A temperatura calibrada é aplicada por predefinição; KEV_TEMPERATURE=1.0 devolve as probabilidades em bruto. KEV_DTYPE=fp32 seleciona o caminho exato usado para avaliação. KEV_DATE_FACTS=1 acrescenta o número de dias entre cada par de datas encontradas no estado, que o modelo foi treinado para usar. Um estado com mais de 65,536 tokens é recusado com um 422 que indica a sua contagem de tokens.

Dados de treino

Etapa Registos Conteúdo e etiquetas
Receita base (decision-v7) 12,576 10,000 registos de dez conjuntos de dados públicos de classificação (1,000 cada, listados nos metadados desta ficha) com as suas etiquetas nativas; 896 pares mínimos de política gerados em nove famílias de templates; 1,680 registos de 60 estruturas de regras geradas aleatoriamente em quatro renderizações; etiquetas calculadas por código
Datas e prova em falta 1,425 Gerados: 900 casos de política com datas (simples, com uma frase de contagem de dias ou com um campo date_facts); 255 casos com a frase decisiva removida e um alvo uniforme, mais 270 controlos intactos
Documentos reais (documents-v1 train) 5,219 Narrativas de reclamações de finanças pessoais dos EUA (CFPB, até cerca de 7k tokens) com 7,488 perguntas (produto, problema principal); etiquetas mantidas onde dois professores de pesos abertos concordaram com a própria participação do consumidor
Skills (hard-v1 train) 6,000 Registos etiquetados programaticamente em sete famílias: documentos de política longos com exceções e sublimites, compromissos sob prioridades indicadas, probabilidade e valor esperado, raciocínio de vários saltos, datas e aritmética, avaliação de uma resposta proposta e abstenção por falta de dados; templates de gerador 0–3
Ferramentas de desenvolvimento (devtools-v1 train) 5,320 CodeReviewer (se um revisor comentou um bloco), CommitPackFT (tipo de commit), FlakeFlagger (testes instáveis) e Aegis (segurança de conteúdo), cada um com as etiquetas próprias do seu conjunto de dados

Cada etapa de ajuste fino após a primeira repete registos de decision-v7 (2,000, 2,000 e 4,000). Não foi usada nenhuma saída do Jev (o modelo de decisão alojado da TypeSafe). O CodeReviewer e o FlakeFlagger vêm do Zenodo; as narrativas do CFPB são obras do governo dos EUA; as licenças e revisões por fonte ficam registadas nos manifestos das suites. As suites apenas de avaliação abaixo (breadth-v1, tasksource-heldout-v1, transfer-v4, longdoc-v1, e as fontes When2Call e de injeção de prompt do devtools-v1) nunca entram no treino.

Procedimento de treino

  1. Receita base. Duas épocas em decision-v7 a partir da base: LoRA de rank 16, α 32; taxa de aprendizagem 5e-5, agenda de ciclo único; lote efetivo 8 (4 × 2 de acumulação); autocast bf16, gradient checkpointing; semente 2. A perda é a entropia cruzada sobre as opções de cada pergunta. A ordem das opções é baralhada, opções “nenhuma das anteriores” e distratores são inseridos ao acaso, e um quarto dos registos choice também produz um par mínimo (a pergunta com uma opção “nenhuma das anteriores”, uma vez com a opção correta presente e outra com ela removida).
  2. Datas e prova em falta. Uma época a partir da etapa 1 com taxa de aprendizagem 2e-5 e 2,000 registos repetidos.
  3. Documentos reais. Uma época a partir da etapa 2 no documents-v1 train com taxa de aprendizagem 2e-5 e 2,000 registos repetidos; lote 2 × 4 de acumulação; estados de no máximo 7,552 tokens.
  4. Skills. Uma época a partir da etapa 3 no hard-v1 e no devtools-v1 train em conjunto, com taxa de aprendizagem 2e-5 e 4,000 registos repetidos; lote 2 × 4 de acumulação; estados de no máximo 7,552 tokens; semente 1; 1,915 passos do otimizador.
  5. Calibração. Uma única temperatura, T = 2.41, que minimiza a log-verosimilhança negativa nas linhas de desenvolvimento do decision-v7 do ensaio da etapa 4 (1,264 perguntas). Estes são itens reservados de um corpus de treino. Um reajuste em conjuntos de dados reservados foi avaliado e não adotado (vê Calibração).

Avaliação

Metodologia. Cada número é o caminho de avaliação em fp32 à temperatura de distribuição, salvo indicação em contrário. As partições de desenvolvimento foram usadas para seleção; as partições de teste foram lidas uma vez para este checkpoint; o teste transfer-v4 está bloqueado (lido uma vez por candidato) e foi julgado contra um nível fixado de antemão. Os intervalos emparelhados são bootstraps de 95 % que reamostram registos inteiros (2,000 reamostragens), por isso as perguntas que partilham um estado movem-se em conjunto. As diferenças são em pontos percentuais (pp). O Jev (o modelo alojado da TypeSafe, consultado através do Vercel AI Gateway) é mostrado onde foi lido nos mesmos itens. As suites:

  • breadth-v1: 14 conjuntos de dados públicos reservados em cinco áreas (conhecimento, linguagem, recuperação, ferramentas, artes), nunca treinados.
  • tasksource-heldout-v1: 24 famílias de tarefas inteiras de uma coleção multitarefa pública, nunca treinadas (nomes das famílias privados).
  • transfer-v4: decisões fora da distribuição de seis fontes públicas nunca treinadas (QNLI, SciQ, TweetEval-offensive, PAWS, MMLU, Emotion) mais estruturas de política e regras reservadas.
  • hard-v1: as famílias de skills acima; a partição de teste reserva templates de geradores treinados.
  • devtools-v1: decisões de ferramentas de desenvolvimento de seis fontes com licenças verificadas (quatro treinadas, duas apenas de avaliação).
  • documents-v1 / documents-v2: narrativas de reclamações do CFPB; a v2 é um conjunto de teste reservado privado.
  • longdoc-v1: contratos comerciais CUAD e conjuntos de acordos gerados, com estados de 4k a 64k tokens.

Os painéis de destaque marcados como “auditados” excluem itens que uma auditoria de etiquetas considerou sem fundamento¹; cada exclusão remove as mesmas linhas dos dois lados de uma comparação.

Dados reservados (nunca treinados).

Painel (perguntas) Kev-4B Jev
Conjuntos de dados públicos reservados, breadth-v1 development, auditados, 10 conjuntos (2,475) 0.768 –
breadth-v1 development, todos os 14 conjuntos (3,075) 0.696 0.757
breadth-v1 test, todos os 14 conjuntos (3,089) 0.690 0.757
breadth-v1 test, índice corrigido para o acaso² [IC 95 %] 38.0 [35.5, 41.3] 54.0 [51.2, 57.0]
Famílias de tarefas reservadas, tasksource-heldout-v1 development, auditadas, 17 famílias (1,993) 0.677 –
tasksource-heldout-v1 development, todas as 24 famílias (2,788) 0.632 –
Fora da distribuição, transfer-v4 development (656): precisão / Brier 0.817 / 0.243 0.857 / 0.211
Fora da distribuição, transfer-v4 test bloqueado (656): precisão / Brier 0.838 / 0.224 –
transfer-v4 test bloqueado: ECE / erros confiantes (p ≥ 0.9 e errado) / cobertura a ≤ 5 % de erro 0.017 / 1.5% / 0.701 –
MMLU-Pro, 10 opções (transfer-v9 development) 0.565 0.840
Itens sem resposta possível respondidos com p ≥ 0.9 (mais baixo é melhor) 0.00 0.09

Famílias treinadas (itens e templates reservados).

Painel (perguntas) Kev-4B Jev
hard-v1 development (1,083) / test (1,088) 0.786 / 0.803 0.777 / –
devtools-v1 development, fontes auditadas (772) 0.780 –
devtools-v1 development (1,072) / test (1,071), todas as fontes 0.739 / 0.756 0.713 / –
documents-v1 development (920) / test (936) 0.891 / 0.903 0.868 / –
decision-v7 development (1,264) / locked test (1,200) 0.873 / 0.865 0.845 / –
Domínios reservados de decisões geradas, ood-v2 (4,988) 0.864 –

O valor devtools-v1 do Jev é sobre todas as 1,074 perguntas de desenvolvimento; as linhas do Kev excluem um id do CodeReviewer que o construtor da suite reutilizou em dois registos (2 perguntas).

Contra a versão anterior (o checkpoint da etapa de documentos, tag r8-documents-release, à sua própria temperatura 2.96; critérios registados, cada teste lido uma vez):

Painel Δ [IC 95 %]
hard-v1 test +26.3 [+23.3, +29.5]
devtools-v1 test +13.4 [+10.1, +16.1]
hard-v1 + devtools-v1 test, agrupados +19.9 [+17.8, +21.8]
documents-v1 development −0.3 [−1.5, +0.9]
transfer-v4 locked test +0.3 [−1.8, +2.3]

Documentos longos.

  • Comprimento de contexto validado: 8,192 tokens, o comprimento treinado. O intervalo de 16k está fora da tolerância: o seu limite inferior é −3.4 pp, abaixo de −3 pp, por isso nenhum comprimento maior é validado.
  • Regra, fixada antes da leitura: o comprimento validado é o tamanho nominal do maior intervalo a partir de 16,384 tokens tal que ele, e cada intervalo entre ele e 8,192, está dentro da tolerância. Dentro da tolerância significa que a diferença de precisão CUAD em relação ao intervalo de 8k (estados de 6,553–7,618 tokens, o comprimento treinado), emparelhada no mesmo contrato, repetição e pergunta, tem um limite inferior de 95 % de pelo menos −3 pp, e todos os registos foram respondidos. Se o intervalo de 16k falhar, o comprimento validado é 8,192 tokens.

Precisão CUAD, ECE e a diferença emparelhada em relação ao intervalo de 8k por comprimento nominal do estado (longdoc-v1 development):

Comprimento nominal do estado Perguntas CUAD Precisão ECE Δ vs 8k, pp [IC 95 %]
4k 443 0.847 0.047 –
8k 453 0.837 0.048 referência
16k 452 0.823 0.057 −1.1 [−3.4, +1.2]
32k 454 0.788 0.022 −5.8 [−9.0, −2.8]
64k 452 0.781 0.035 −5.2 [−8.2, −2.0]

ECE à temperatura de distribuição T = 2.41. Δ é emparelhado nas 445–447 perguntas feitas sobre os mesmos contratos em ambos os comprimentos. O intervalo de 4k contém contratos diferentes e não é referência para a regra. Fonte: runs/r28-readout/context.json (leitura registada da ronda 28, runs/r28-4b-r10-longdoc).

Calibração (erro de calibração esperado, ECE, à temperatura de distribuição T = 2.41; mais baixo é melhor):

Painel ECE
breadth-v1 development, auditados / todos os 14 conjuntos 0.021 / 0.028
breadth-v1 test, todos os 14 conjuntos 0.029
tasksource-heldout-v1 development, auditados 0.042
transfer-v4 development / locked test 0.042 / 0.017
hard-v1 development / test 0.095 / 0.084
devtools-v1 development, auditados 0.072
documents-v1 development / test 0.093 / 0.101
decision-v7 development (as linhas de ajuste) 0.013
ood-v2 0.084

A temperatura de distribuição foi ajustada em itens reservados de um corpus de treino, o que as regras do projeto já não permitem para um novo lançamento. Um reajuste registado em 648 perguntas de conjuntos de dados reservados (a partição de calibração do transfer-r3, oito fontes, e 200 perguntas MMLU-Pro) dá T = 2.30 (intervalo bootstrap de 90 % [2.05, 2.52]). Nas 4,468 perguntas de desenvolvimento auditadas do breadth-v1 e do tasksource-heldout-v1 não melhora o valor de distribuição: Brier 0.368 em ambos, uma diferença de −0.0001 [−0.0005, +0.0003], e ECE 0.025 contra 0.024. A regra exigia um intervalo de Brier abaixo de zero e um ECE mais baixo, por isso T = 2.41 mantém-se. As respostas não dependem de T.

Outros resultados.

Suite Kev-4B Jev
Aritmética de datas, política deadline (transfer-v9 development) 0.65 0.95
MMLU, 4 opções (transfer-v9 development) 0.725 0.90
When2Call / injeção de prompt (devtools-v1 development, fontes apenas de avaliação) 0.660 / 0.753 – / 0.893
SemIf (144 decisões de autoria própria; perto da saturação, apenas reportado) 0.889 0.965
Itens públicos do JevBench, todos os 231 / nível difícil 111 (ECE) 0.758 / 0.541 (0.112) –

Serviço. CUDA, bf16 com kernels fundidos e grafos CUDA; tempo de modelo por pedido (mediana de 20) para um estado novo / repetido:

GPU 6 perguntas, estado curto 5 perguntas, estado de 2,200 tokens Pedidos/s, 64 clientes
L40S 41.5 / 27.7 ms 145.2 / 43.0 ms 51.4
H100 18.1 / 12.9 ms 89.4 / 22.5 ms 100.8

A memória de GPU residente é 14.3 GB. As probabilidades servidas mantêm-se dentro de 0.017 do caminho de avaliação fp32 em 280 perguntas, sem respostas alteradas. No caminho de avaliação fp32 (H100), estados de 16k / 32k / 64k tokens demoram 3.0 / 6.8 / 17.2 s e 4.3 / 8.6 / 17.2 GiB acima dos pesos.

Apple Silicon (MLX, bf16, M5 com 32 GB; três perguntas, uma sobre um facto plantado a 60 % de profundidade; o estado é pré-preenchido em blocos de 1,024 tokens):

Tokens do estado Estado novo Estado em cache Pico MLX (8.4 GB de pesos) Pegada do processo Facto plantado (p)
8,192 6.6 s 354 ms 10.2 GB 11.9 GB certo (0.97)
16,384 14.0 s 427 ms 11.0 GB 12.8 GB certo (0.95)
32,768 30.5 s 533 ms 11.9 GB 13.7 GB certo (0.96)
65,000 84.5 s 716 ms 13.0 GB 14.1 GB certo (0.94)

Em 60 perguntas de estado curto, o caminho MLX está dentro de 0.018 do caminho de avaliação fp32, sem respostas alteradas.

¹ Excluídos dos painéis auditados: quatro conjuntos de dados do breadth-v1 (routerbench, cujos estados não têm a informação pedida; cfcolor e humicroedit, ao nível do acaso para todos os sistemas; chessbench, no fundo da escala para todos os sistemas); sete famílias do tasksource-heldout-v1 com etiquetas inválidas ou irrecuperáveis (nomes privados); duas tarefas do devtools-v1 cujas etiquetas o estado não determina (flakeflagger, tipo de alteração de commit).

² O índice corrigido para o acaso do Decision Index 0.2 da comunidade: por conjunto de dados (pontuação − acaso) / (1 − acaso), com média dentro de cada área e depois 100 × a média das cinco áreas. O índice do Jev vem de uma leitura separada dos mesmos itens de teste.

Limitações e compromissos

  • Os seus maiores ganhos são em distribuição. As partições de treino do hard-v1, devtools-v1 e documents-v1 estão nos seus dados de treino, e um item de teste do hard-v1 é um novo template de um gerador treinado. Em conjuntos de dados reservados fica atrás do Jev em 16 pontos no índice breadth-v1, e no nível difícil público do JevBench, uma verificação fora da distribuição, a etapa de skills ganhou cerca de um terço do que ganhou no hard-v1 (+9.0 pp [+2.7, +15.3] em 111 itens).
  • Algumas etiquetas do devtools-v1 são aproximações. Antes do treino, todos os modelos avaliados, incluindo o Jev, estavam perto do acaso no CodeReviewer e no FlakeFlagger; depois de treinar nessas fontes chega a 0.633 e 0.693 no development, o que pode ser a heurística de etiquetagem a ser aprendida e não a decisão.
  • O conhecimento é determinado pela base. O MMLU-Pro é 0.565 contra 0.840 do Jev.
  • A aritmética de datas é a sua família mais fraca: 0.65 nas perguntas da política deadline contra 0.95 do Jev. O pré-processador KEV_DATE_FACTS=1 ajuda (no checkpoint anterior de que este descende, 0.60 → 0.85); não foi remedido neste checkpoint.
  • A calibração é uma temperatura em distribuição. Está bem calibrado em conjuntos de dados reservados (breadth-v1 test ECE 0.029), menos nas famílias treinadas de skills e documentos (ECE 0.084–0.101), e uma única temperatura não consegue reordenar as confianças: a cobertura a ≤ 5 % de erro fora da distribuição é 0.620 no development contra 0.70 do Jev.
  • Comprimentos não treinados. Os estados de treino eram no máximo 7,552 tokens. Estados mais longos são servidos até 65,536 tokens; até onde a precisão aguenta é o comprimento de contexto validado acima.
  • A ordem das opções pode mudar uma resposta; o isolamento das perguntas não impede isto.

Enviesamento, riscos e considerações éticas

  • As probabilidades calibradas podem criar uma confiança infundada. A temperatura foi ajustada em linhas de desenvolvimento da distribuição de treino e não se transfere para todas as cargas de trabalho; mede a precisão e a calibração numa amostra etiquetada dos teus próprios dados, e reajusta aí a temperatura (python -m kev.calibrate), antes de definires limiares.
  • A precisão e a calibração mudam com a mudança de domínio. Monitoriza as taxas de erro em produção em vez de confiares nos números acima.
  • Não o uses para decisões automatizadas consequentes sobre pessoas sem revisão humana. Os enviesamentos do modelo base e dos dados de treino (incluindo etiquetas produzidas por outros modelos) não são medidos.
  • Os estados podem conter dados pessoais ou confidenciais. O auto-alojamento mantém as entradas no teu próprio hardware; o servidor está aberto a menos que KEV_API_KEY esteja definido, por isso aplica o teu próprio controlo de acesso e política de tratamento de dados.

Computação

  • Receita base: cerca de 56 minutos numa NVIDIA H100 (pico 24.6 GB). Etapa de datas: 9 minutos numa H100.
  • Etapa de documentos: 43 minutos numa NVIDIA H200. Etapa de skills: 1.4 horas numa H200 (pico 47.7 GB).
  • Verificações de avaliação e serviço: GPUs H100 / H200 / L40S individuais no Modal; medições do MLX num Apple M5.

Proveniência e reprodutibilidade

  • Código, suites e relatórios de avaliação: github.com/jaredpalmer/kev. Números de lançamento: runs/release/kev-4b-r10.json (scripts/release_numbers.py --release kev-4b-r10), a leitura bloqueada runs/locked/kev-4b-r10-ungated/, as leituras da família de 2026-09-30 runs/fam-4b-breadth/, runs/fam-4b-breadthtest/, runs/fam-4b-docs1test/ e runs/fam-breadth-test-report/, o reajuste de calibração runs/r28-readout/round28.json, o serviço runs/serve-4b-l40s/, runs/grouping-4b-h100/, runs/long-state-4b-h100/, runs/mlx-long-states/, runs/mlx-full-4b/.
  • Etapas: ensaio base q35-4b-s23/00-trial-0 (tag v7-base); datas night2-4b-du/00-trial-0 (tag night2-du-release); documentos ronda 8 r8-small/00-trial-0 (tag r8-documents-release); skills ronda 10 r10-skills/00-trial-0 (experiments/round10/skills.json, regra experiments/rounds/r10.json). Reajuste de calibração: braço 4b-r10 da ronda 28 (experiments/rounds/r28.json).
  • Pesos lançados: revisão do Hub 139fdd94; sha256 do adaptador 90e81735…, sha256 do head.pt dd633435… (T = 2.4061).
  • Histórico de lançamento: publicado em 2026-09-24 como o candidato confirmado da ronda 10; incluído sem alterações no Kev 1.0. O registo de como foi selecionado, incluindo suites entretanto retiradas por serem infundadas (scienthoon, WANLI-v2, TypeSafe), é o README na revisão do Hub 139fdd94 e o PLAN.md na tag git research-archive-2026-09-24.

Citação

@misc{palmer2026kev4b,
  title        = {Kev-4B: a calibrated decision model on Qwen3.5-4B},
  author       = {Palmer, Jared},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/jaredpalmer/kev-4b}},
  note         = {Kev 1.0}
}

Contacto

Perguntas e problemas: github.com/jaredpalmer/kev/issues.