Documentação

Kev-27B

Resumo do modelo

O Kev-27B é um modelo de decisão. Ele 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, em uma única passada direta e sem gerar texto. Ele é indicado para desenvolvedores que classificam, roteiam, fazem triagem ou conferem documentos de até 64k tokens e que precisam de probabilidades que possam receber limiar, por exemplo para enviar casos incertos à revisão humana. Ele implementa a API pública System One da TypeSafe (POST /v1/systemone), de modo que o SDK da TypeSafe funciona contra ele sem alterações. Esta ficha descreve a versão 2, lançada em 2026-09-30: um ajuste fino de pesos completos do Qwen3.8-27B, com média com a versão 1.

Detalhes do modelo

Desenvolvedor Jared Palmer (github.com/jaredpalmer/kev)
Tipo de modelo Modelo de decisão: um backbone de modelo de linguagem causal executado somente-prefill, com uma cabeça de ponteiro sobre as opções
Backbone Qwen/Qwen3.8-27B (revisão 1d4bf0f2, o release pós-treinado do Qwen): 64 camadas, 48 Gated DeltaNet (atenção linear) e 16 de atenção plena, hidden size 5,120; todo peso do backbone ajustado
Cabeça Cabeça de ponteiro: duas projeções 5,120 → 256 pontuam o token de fechamento de cada opção contra o token final da pergunta; um softmax dá as probabilidades
Parâmetros 25.6B no backbone (a torre de visão, a cabeça LM e as camadas de previsão multi-token não são carregadas), 2.6M na cabeça
Precisão bf16 (um checkpoint de 51.3 GB); servido em bf16
Contexto Estados de até 65,536 tokens são servidos, mais pelo menos 8,192 tokens por pergunta. Os estados de treinamento tinham no máximo 32,768 tokens.
Comprimento de contexto validado 65,536 tokens (veja Documentos longos)
Calibração Uma temperatura, T = 1.32, armazenada em head.pt e aplicada no carregamento
Idiomas Inglês
Licença Apache-2.0 (pesos e cabeça); o modelo base é Apache-2.0
Versão v2 (Kev 1.0), lançada em 2026-09-30 no main de jaredpalmer/kev-27b
Versão anterior v1, um adaptador LoRA rank 16 sobre a mesma base (T = 1.38), na tag v1-lora; a ficha dela é o README naquela tag

Entrada. Um estado (texto, ou um objeto ou array JSON renderizado como texto rotulado) e qualquer número de perguntas nomeadas, cada uma de um dos 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 do 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 compartilhado, então as perguntas não podem influenciar umas às outras; o estado é calculado uma vez e armazenado em cache.

Usos pretendidos

  • Decisões tipadas sobre documentos: classificação, roteamento, triagem, escolhas de extração, verificações de política e elegibilidade, e julgar uma resposta proposta contra critérios declarados.
  • Fluxos de trabalho que agem com base na confiança: automatize os casos confiantes e coloque o resto na fila, com limiares congelados em uma amostra rotulada da carga de trabalho do próprio usuário.
  • Um substituto direto e auto-hospedado para um endpoint System One.

Usos fora de escopo

  • Geração de texto, chat, sumarização ou respostas a perguntas abertas. O modelo apenas pontua as opções que recebe.
  • Decisões totalmente automatizadas com consequências legais, médicas, financeiras, trabalhistas ou semelhantes para pessoas, sem revisão humana.
  • Perguntas cuja resposta depende de fatos que não estão no estado e não são conhecimento geral (o modelo não consegue procurar nada), e exames com muito conhecimento (veja Limitações).
  • Estados maiores que 65,536 tokens, idiomas diferentes do inglês e hardware menor que uma GPU de classe 80 GB ou um Mac com cerca de 96 GB de memória (veja Limitações).

Como usar

Sirva-o com o repositório do Kev em uma única GPU B200, H200 ou H100 80 GB. Os pesos ocupam 51 GB e o servidor cerca de 65.5 GB residentes; um estado de 64k tokens atingiu um pico de 87.1 GB em uma H200 e um estado de 32k tokens, de 78.7 GB, então os estados mais longos precisam de mais de 80 GB.

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-27b --port 8008          # v2 (this card)
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-27b@v1-lora --port 8008  # v1

No Apple Silicon o mesmo comando o serve através do MLX (escolhido automaticamente), carregando os pesos bf16 completos como salvos, sem nada mesclado. Espera-se que este caminho funcione em um Mac de 96–128 GB, mas ele ainda não foi executado neste tamanho (veja Limitações).

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 padrão; KEV_TEMPERATURE=1.0 devolve as probabilidades brutas. O servidor usa bf16, kernels DeltaNet fundidos e CUDA graphs; KEV_DTYPE=fp32 seleciona o caminho exato usado na avaliação.

Dados de treinamento

Uma época sobre um corpus privado de 145,840 registros (337,130 perguntas) com estados de no máximo 32,768 tokens. Só o seu manifesto é público (evals/sft-v2-r22/manifest.json no repositório do GitHub).

Componente Registros Conteúdo e rótulos
Corpus Kev 78,786 O conjunto de treinamento do Kev-27B v1 (dez conjuntos de dados públicos de classificação, registros gerados de política e regra, casos de aritmética de datas e evidência ausente, estados longos com fatos enterrados); as partições de treinamento das suítes de habilidade (hard-v1), ferramentas de desenvolvimento (devtools-v1) e reclamações de consumidores (documents-v1) do Kev; 24 conjuntos de dados públicos limitados a 500 registros cada; sete famílias geradas (documentos longos, roteamento de ferramentas, recuperação, intenção, julgamento por rubrica, abstenção, raciocínio numérico)
Famílias de tarefa licenciadas 24,000 119 famílias de tarefa de uma coleção pública multitarefa, com licenças que permitem uso comercial e rótulos nativos; a lista de famílias não é publicada
Estados longos 3,200 Estados do corpus Kev embutidos em documentos de 8k–32k tokens; rótulos herdados exatamente
Documentos longos 7,617 Documentos montados por código, rótulos calculados por código
Decisões fora do domínio 7,312 Decisões geradas em domínios variados
Tom 7,544 Pares mínimos do mesmo texto escrito calmo, frustrado ou irritado
Injeção de prompt 2,699 Reconhecer injeção indireta de prompt (defensivo)
Sessões de agente 4,875 Perguntas sobre logs de sessão de agente gerados por código
PII 4,152 Classificar dados pessoais inseridos por código (todos fictícios)
Fundamentação 5,655 Se uma afirmação é sustentada por um documento

Fontes e rótulos. Os conjuntos de dados públicos estão listados nos metadados desta ficha; duas fontes de ferramentas de desenvolvimento, CodeReviewer e FlakeFlagger, vêm do Zenodo, e os diffs do CodeReviewer são mantidos apenas de projetos com licença permissiva. Textos e rótulos gerados vêm de código ou de modelos de pesos abertos (GLM-5.3, DeepSeek-V4-Pro, Inkling, Mistral Large 3, gpt-oss-120b, MiMo-V2.6-Pro). Os rótulos de reclamações de consumidores vêm de modelos de pesos abertos, filtrados por juízes de modelos fechados e adjudicação. Nenhuma saída de Jev (o modelo de decisão hospedado da TypeSafe) foi usada.

Licenças. Quatro dos conjuntos de dados públicos limitados são share-alike: ARC (CC-BY-SA-4.0), HotpotQA (CC-BY-SA-4.0), Natural Questions (CC-BY-SA-3.0) e SNLI (CC-BY-SA-4.0); os outros são CC-BY-4.0, MIT ou Apache-2.0. As narrativas de reclamação do CFPB são obras do governo dos EUA. A licença do GLM-5.3 é no estilo MIT, com uma condição sobre operadores muito grandes de modelo como serviço. Licenças, revisões e atribuições por fonte são registradas nos manifestos dos componentes.

Triagem de contaminação. Antes do treinamento, todo registro foi triado contra 102 partições de avaliação (76,549 itens de referência): cada suíte congelada do Kev, o conjunto de avaliação privado, os itens públicos do JevBench e as suítes apenas de avaliação abaixo. Um registro era removido por correspondência exata de string normalizada, similaridade Jaccard de 8-gramas de palavra acima de 0.2, ou contenção de pelo menos 0.5; 6,388 registros de treinamento foram removidos.

Procedimento de treinamento

  1. Ajuste fino de pesos completos. Uma época a partir do Qwen/Qwen3.8-27B em 8 GPUs NVIDIA H200 (FSDP2). AdamW (β 0.9 / 0.999, weight decay 0.01) com pesos mestres e momentos em fp32 sobre um backbone bf16; taxa de aprendizado 2e-6 para o backbone e 1e-4 para a cabeça, agenda one-cycle com 10% de warm-up; norma do gradiente com clipping em 1.0; 128 registros por passo do otimizador (8 por GPU, 2 passos de acúmulo), 1,140 passos; semente 0. A perda é entropia cruzada sobre as opções de cada pergunta (alvos suaves onde os dados os têm). A ordem das opções é embaralhada e opções “nenhuma das opções acima” e distratores são inseridos aleatoriamente. Um quarto dos registros de choice com estados de no máximo 8,192 tokens também gera um par mínimo: a pergunta com uma opção “nenhuma das opções acima”, uma vez com a opção correta presente e uma vez com ela removida. Cada estado é executado uma vez e as suas perguntas ramificam a partir dele.
  2. Média de pesos. Todo tensor do backbone é 0.85 × o peso ajustado + 0.15 × o peso da v1 (o adaptador LoRA da v1 mesclado na base em fp32), calculado em fp32 e arredondado uma vez para bf16. A cabeça de ponteiro do modelo ajustado é mantida. A razão foi escolhida entre seis combinações (0.85 / 0.70 / 0.50, com qualquer uma das cabeças) em dados de desenvolvimento.
  3. Calibração. Uma única temperatura, T = 1.32, minimizando a log-verossimilhança negativa em 648 perguntas de conjuntos de dados reservados em que nenhum dos pais foi treinado: 448 da partição de calibração do transfer-r3 (seis conjuntos de dados públicos, QNLI, SciQ, TweetEval-offensive, PAWS, MMLU e Emotion, mais duas famílias reservadas de registros de política gerados) e 200 perguntas de MMLU-Pro (transfer-v9 development). Nenhuma partição de qualquer corpus de treinamento foi usada, e uma checagem não encontrou sobreposição com os dados de treinamento.

Avaliação

Metodologia. Toda comparação é contra o Kev-27B v1 em itens idênticos, cada modelo na sua própria temperatura de serviço. Partições de teste foram lidas uma vez para este checkpoint; o teste do transfer-v4 é bloqueado (lido uma vez por candidato) e foi julgado contra uma régua fixada de antemão (acurácia ≥ 0.886, Brier ≤ 0.165). Os intervalos são bootstraps pareados de 95% que reamostram registros inteiros (2,000 reamostragens), então perguntas que compartilham um estado se movem juntas. As diferenças estão em pontos percentuais (pp). As suítes:

  • 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 tarefa inteiras da mesma coleção multitarefa do componente licenciado, reservadas do treinamento.
  • hard-v1: registros de habilidade rotulados programaticamente (políticas longas, trade-offs, probabilidade, multi-hop, datas e números, julgamento, abstenção); a partição de teste reserva templates de geradores treinados.
  • devtools-v1: decisões de ferramentas de desenvolvimento de fontes públicas com licença verificada (revisão de código, mensagens de commit, segurança, testes instáveis).
  • documents-v1 / documents-v2: narrativas de reclamação de consumidores dos EUA (CFPB); a v2 é um conjunto de teste reservado privado.
  • transfer-v4: decisões fora do domínio de seis fontes públicas nunca treinadas mais estruturas de política reservadas.
  • longdoc-v1: contratos comerciais CUAD de até 64k tokens, e pacotes de acordo gerados.

Os painéis principais excluem itens que uma auditoria de rótulos, concluída antes de este checkpoint ser construído, considerou insólidos¹; cada exclusão remove as mesmas linhas dos dois modelos.

Resultados contra a v1 (partições de teste).

Painel (perguntas) Kev-27B v2 Kev-27B v1 Δ [IC 95%]
Conjuntos de dados públicos reservados, breadth-v1, 10 conjuntos (2,489) 0.832 0.820 +1.2 [+0.3, +2.2]
Famílias de tarefa reservadas, tasksource-heldout-v1, 17 famílias (2,024) 0.795 0.743 +5.3 [+3.7, +6.8]
Habilidades, ferramentas de desenvolvimento e documentos, agrupados (2,795) 0.889 0.800 +8.9 [+7.5, +10.3]
  hard-v1 (1,088) 0.918 0.749 +16.9 [+14.2, +19.8]
  devtools-v1, fontes auditadas (771) 0.825 0.789 +3.6 [+1.3, +5.9]
  documents-v1 (936) 0.908 0.869 +4.0 [+2.1, +5.9]
documents-v2, reservado privado (953) 0.921 0.881 +4.0 [+2.0, +6.1]
breadth-v1, todos os 14 conjuntos (3,089) 0.757 0.748 +0.8 [−0.1, +1.8]
Fora do domínio, transfer-v4 locked test (656): acurácia 0.8887 0.8963 −0.8 [−2.0, +0.5]
Fora do domínio, transfer-v4 locked test: Brier / cobertura com ≤ 5% de erro 0.154 / 0.875 0.160 / 0.835 –

Comparação com outros modelos de decisão no breadth-v1 test (todos os 14 conjuntos), pontuada com o índice corrigido pelo acaso do Decision Index 0.2 da comunidade (por conjunto de dados, (score − acaso) / (1 − acaso), com média dentro de cada área, depois 100 × a média das cinco áreas). O Jev foi consultado pelo Vercel AI Gateway e o AutoJev-27B (denis-pplx/autojev-27b, um ajuste fino de pesos completos da mesma base) pelo seu próprio servidor, uma vez cada, nos mesmos itens.

Kev-27B v2 Kev-27B v1 Jev AutoJev-27B
Índice [IC 95%] 52.3 [49.2, 55.4] 50.2 [47.0, 53.2] 54.0 [51.2, 57.0] 50.0 [47.0, 53.3]

Contra a v1, a diferença de índice é +2.1 [−0.4, +4.6]. Nenhum intervalo pareado contra o Jev foi calculado.

Documentos longos (contratos CUAD no longdoc-v1 test, acurácia / ECE por comprimento do estado em tokens):

Comprimento do estado (perguntas) Kev-27B v2 Kev-27B v1
abaixo de 8k (867) 0.874 / 0.059 0.900 / 0.025
8k–16k (443) 0.880 / 0.052 0.892 / 0.028
16k–32k (442) 0.873 / 0.061 0.882 / 0.019
32k–64k (442) 0.867 / 0.060 0.876 / 0.014
todos (2,194) 0.874 / 0.053 0.890 / 0.007

Diferença de acurácia em todos os comprimentos: −1.6 [−3.0, −0.3]. Nos pacotes de acordo gerados (2,400 perguntas) os dois modelos marcam 1.000.

Comprimento de contexto. Comprimento de contexto validado: 65,536 tokens, o limite de serviço, a partir do longdoc-v1 development (diferença de acurácia CUAD pareada em relação ao bucket de 8k, pp [IC 95%]: 16k +0.2 [−0.7, +1.2], 32k −0.2 [−1.2, +0.7], 64k −1.1 [−2.4, +0.0]; 445–447 perguntas cada). A regra é a aplicada a todo tamanho do Kev 1.0: o comprimento validado é o tamanho nominal do maior bucket a partir de 16,384 tokens tal que ele, e todo bucket entre ele e 8,192, esteja dentro da tolerância, ou seja, a diferença de acurácia CUAD em relação ao bucket de 8k, pareada no mesmo contrato, repetição e pergunta, tem um limite inferior de 95% de pelo menos −3 pp, com todo registro respondido.

Calibração (erro de calibração esperado, ECE, conforme servido; menor é melhor):

Painel Kev-27B v2 Kev-27B v1
breadth-v1 test, 10 conjuntos 0.015 0.013
tasksource-heldout-v1 test 0.049 0.051
hard-v1 + devtools-v1 + documents-v1 test 0.014 0.027
transfer-v4 locked test 0.019 0.018
Contratos CUAD, longdoc-v1 test 0.053 0.007

Nas 648 perguntas de ajuste, uma validação cruzada de 5 folds com grupos disjuntos baixa o ECE de 0.048 (bruto) para 0.038 (fora do fold); os dois intervalos se sobrepõem. O intervalo bootstrap de 90% da temperatura é [1.20, 1.45]. Nas suas extremidades os painéis principais se movem em direções opostas: o ECE do breadth-v1 sobe para 0.026 em T = 1.20 e o ECE do tasksource-heldout-v1 para 0.067 em T = 1.45.

Outros resultados.

Suíte Kev-27B v2 Kev-27B v1
transfer-v4 development, acurácia / Brier 0.851 / 0.218 0.848 / 0.229
Estados curtos, transfer-r3 test (1,150) 0.858 0.879
devtools-v1 test, todas as fontes (1,071) 0.790 0.711
decision-v7 development (a distribuição de treinamento da v1) 0.865 0.866
MMLU-Pro, 10 opções (transfer-v9 development) 0.675 0.665
Itens impossíveis de responder respondidos com p ≥ 0.9 (menor é melhor) 0.00 0.00
SemIf (144) / WANLI-v2 (1,002) / TypeSafe (89 linhas respondidas) 0.965 / 0.756 / 0.854 0.972 / 0.745 / 0.865
Domínios reservados de geradores treinados, acurácia / ECE: ood-v2 (4,988) 0.956 / 0.020 0.944 / 0.044
  agents-ood-v1 (2,084) 0.988 / 0.032 0.967 / 0.137
  guardrails-ood-v1 (4,949) 0.984 / 0.010 0.944 / 0.079

O transfer-r3 test é um painel de estado curto das mesmas oito fontes reservadas do pool de calibração; o decision-v7 é a distribuição de treinamento da v1; o transfer-v9 contém o MMLU-Pro e itens cuja evidência decisiva foi removida. O SemIf (decisões escritas à mão do projeto SemIf), o WANLI-v2 (pares de inferência em linguagem natural da partição de teste do WANLI) e o TypeSafe (a seleção do SemIf de casos de fluxo de trabalho da TypeSafe) são apenas reportados: a auditoria de rótulos os considerou pequenos, saturados ou ruidosos demais para ranquear modelos. O WANLI-v2 e o TypeSafe foram aposentados como avaliações em 2026-09-30 (cerca de um quarto dos pares do WANLI foram rotulados de forma diferente pelos seus dois anotadores, com o gabarito fixado em um dos dois rótulos; o gabarito do TypeSafe é a resposta média de dois modelos de fronteira fechados, em poucas perguntas demais para distinguir checkpoints); os seus números são mantidos como registro.

Paridade de serviço (H200, bf16 com kernels fundidos e CUDA graphs, 200 registros de desenvolvimento do decision-v7 / 280 perguntas):

Verificação Resultado
Servido vs o caminho de avaliação em fp32, máx |Δp| 0.0223, sem respostas alteradas
Uma pergunta sozinha vs a requisição completa, máx |Δp| 0.0039, sem respostas alteradas
Servido vs avaliação em estados de 8k / 32k / 64k tokens, máx |Δp| 0.0064 / 0.0095 / 0.0017, sem respostas alteradas
Tempo de modelo em um estado de 64k tokens, estado novo / em cache 9.4 s / 733 ms
Memória residente / tempo de carregamento a partir de um cache quente 65.5 GB / 17.6 s
Vazão com 1 / 64 clientes concorrentes 21.1 / 36.4 requisições/s

¹ Excluídos dos painéis principais: quatro conjuntos do breadth-v1 (routerbench, cujos estados não contêm a informação pedida; cfcolor e humicroedit, no nível do acaso para todo sistema; chessbench, no piso para todo sistema); sete famílias do tasksource-heldout-v1 com rótulos inválidos ou irrecuperáveis (nomes privados); e duas tarefas do devtools-v1 cujos rótulos o estado não determina (flakeflagger, tipo de mudança do commit). A fonte emotion do transfer-r3 (rótulos distantes por palavra-chave) é excluída do painel de estado curto em Limitações.

Limitações e trade-offs

  • Seleção. O checkpoint publicado foi escolhido depois que os resultados de teste de um candidato anterior eram conhecidos e foi confirmado nos mesmos conjuntos de teste. Trate as margens de teste como otimistas.
  • Nenhum ganho em estados curtos. Ele não é melhor que a v1 em entradas curtas: −0.8 pp [−2.0, +0.5] no teste bloqueado do transfer-v4, −0.9 pp [−2.0, +0.1] no painel de desenvolvimento de estado curto (transfer-v4 development e transfer-r3 test sem emotion), e −2.1 pp [−3.5, −0.8] no transfer-r3 test inteiro.
  • Pior e confiante demais em contratos longos. No CUAD ele é 1.6 pp menos acurado que a v1 e o seu ECE é 2 a 4 vezes o da v1 em todos os comprimentos (0.053 contra 0.007 no total). As perguntas do CUAD incluem alguns rótulos gabarito errados ou contestados, mas a lacuna é consistente em todos os comprimentos. Para revisão de contratos, reajuste a temperatura em documentos rotulados seus (python -m kev.calibrate) ou use a v1.
  • Ganhos dentro da distribuição. As partições de treinamento do hard-v1, do devtools-v1 e do documents-v1 estão nos dados de treinamento, e as suítes ood-v2, agents-ood-v1 e guardrails-ood-v1 são domínios reservados de geradores que também produziram dados de treinamento. Os ganhos ali medem itens reservados de famílias treinadas, não transferência para tarefas novas.
  • Treinamento da base desconhecido. A base é o release pós-treinado do Qwen; os seus dados de treinamento não são conhecidos, então a sobreposição entre ele e qualquer avaliação não pode ser descartada.
  • Conhecimento. O conhecimento é definido pela base: o MMLU-Pro é 0.675, contra 0.840 do Jev nos mesmos itens.
  • Comprimentos não treinados. Estados de 32k–64k tokens foram avaliados (longdoc-v1), mas não treinados.
  • Suíte aposentada. Uma suíte de tickets de suporte usada para selecionar a v1 (scienthoon) foi aposentada por insólida antes de a v2 ser construída, então a v2 não tem resultado nela. O pai ajustado não mediado da v2 marcou 5.5 pp [−7.8, −3.2] abaixo da v1 ali.
  • Incerteza da temperatura. O intervalo da temperatura ([1.20, 1.45]) move o ECE de teste em até cerca de 0.02.
  • Hardware. Ele precisa de uma GPU de data centre de classe 80 GB (mais de 80 GB para os estados mais longos). Apple Silicon via MLX: os pesos bf16 completos da v2 precisam de cerca de 51 GB mais memória de trabalho, então um Mac de 64 GB é limítrofe e um Mac de 96–128 GB deve caber. Isso é esperado a partir de medições em modelos menores, ainda não medido em um Mac grande: carregar um Kev-4B de pesos completos pelo mesmo caminho atingiu um pico do tamanho dos seus pesos (8.4 GB), e as suas respostas ficaram dentro de 0.015 do caminho de avaliação em fp32 (runs/mlx-full-4b). A v1 (o adaptador LoRA, tag v1-lora) foi servida através do MLX em um M5 Max de 128 GB por um contribuidor externo (PR #175): 0.849 de acurácia no transfer-v4 development contra o 0.848 publicado, 52 GB estáveis e 97 GB no pico enquanto o adaptador era mesclado.

Viés, riscos e considerações éticas

  • Probabilidades calibradas podem criar uma confiança infundada. A temperatura foi ajustada em conjuntos de dados públicos reservados e não transfere para toda carga de trabalho; meça a acurácia e a calibração em uma amostra rotulada dos seus próprios dados antes de definir limiares.
  • A acurácia e a calibração mudam sob mudança de domínio (por exemplo, em contratos longos). Monitore as taxas de erro em produção em vez de confiar nos números acima.
  • Não o use para decisões automatizadas consequentes sobre pessoas sem revisão humana. Os vieses do modelo base e dos dados de treinamento (incluindo rótulos produzidos por outros modelos) não são medidos.
  • Os estados podem conter dados pessoais ou confidenciais. A auto-hospedagem mantém as entradas no seu próprio hardware; o servidor é aberto a menos que KEV_API_KEY esteja definida, então aplique o seu próprio controle de acesso e política de tratamento de dados.

Computação

  • Ajuste fino: 8 × NVIDIA H200 por 16.2 h de tempo de treinamento (129 GPU-horas), excluindo reinícios e avaliação.
  • Média de pesos: cerca de 6 minutos em CPU.
  • Avaliação e checagens de serviço: GPUs únicas H200 no Modal.

Procedência e reprodutibilidade

  • Código, suítes e relatórios de avaliação: github.com/jaredpalmer/kev. Números do release: runs/release/kev-27b-r23.json (scripts/release_numbers.py --release kev-27b-r23).
  • Ajuste fino: trial da rodada 22 r22-27b-lr2e6/00-trial-0 (experiments/round22/lr2e6.json), sha256 dos pesos 3fa0182a…. Combinação: braço da rodada 23 27b-k-w85 (scripts/interpolate_checkpoint.py --toward; interpolation.json no repositório do Hub), regra de seleção e estágios de confirmação em experiments/rounds/r23.json; resultados em runs/r23-readout/, runs/r23-verdict/, runs/r23-breadth-report/, runs/serving-27b-r23*/.
  • Fonte da combinação: v1 em jaredpalmer/kev-27b@01b81998 (trial r6-27b-v2/01-trial-1), agora tag v1-lora.
  • Pesos publicados sha256 d27af6ab2be16824166ac639907b4dba40979ff338599c2872721aa6c5072022; head.pt sha256 7968f17b03479c1ef9d1c0f3ab8a15e31ecb441cf40691b07ee945ab554d45ad (T = 1.3195). Pesos publicados no commit do Hub 28be62e9.
  • Verificação: carregado anonimamente do Hub em uma H200, reproduziu exatamente os logits da avaliação pré-release em 252 de 252 linhas do SemIf e 764 de 764 linhas de desenvolvimento do transfer-v4 (runs/release/kev-27b-r23-published.json, runs/release/kev-27b-r23-staging.json).

Citação

@misc{palmer2026kev27b,
  title        = {Kev-27B: a calibrated decision model on Qwen3.8-27B},
  author       = {Palmer, Jared},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/jaredpalmer/kev-27b}},
  note         = {Version 2, released 2026-09-30}
}

Contato

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