Kev-27B
모델 요약
Kev-27B는 의사결정 모델입니다. 문서 하나(상태)와 그에 관한 타입이 지정된 질문 집합을 읽고, 각 질문에 함께 주어진 선택지에 대한 캘리브레이션된 확률 분포를 한 번의 포워드 패스로, 텍스트를 생성하지 않고 반환합니다. 최대 64k 토큰의 문서를 분류·라우팅·트리아지하거나 검사하고, 예를 들어 불확실한 사례를 사람 검토로 보내기 위해 임계값을 정할 수 있는 확률이 필요한 개발자를 위한 것입니다. TypeSafe의 공개 System One API(POST /v1/systemone)를 구현하므로 TypeSafe SDK가 변경 없이 그대로 동작합니다. 이 카드는 2026-09-30에 출시된 version 2를 설명합니다: Qwen3.8-27B의 전체 가중치 파인튜닝을 version 1과 평균한 것입니다.
모델 세부 사항
| 개발자 | Jared Palmer (github.com/jaredpalmer/kev) |
| 모델 유형 | 의사결정 모델: 인과 언어 모델 백본을 prefill 전용으로 실행하고, 선택지 위에 포인터 헤드를 둡니다 |
| 백본 | Qwen/Qwen3.8-27B (revision 1d4bf0f2, Qwen의 포스트 트레이닝 출시판): 64개 레이어, 48개 Gated DeltaNet(선형 어텐션)과 16개 완전 어텐션, hidden size 5,120; 모든 백본 가중치가 파인튜닝됨 |
| 헤드 | 포인터 헤드: 두 개의 5,120 → 256 프로젝션이 각 선택지의 마지막 토큰을 질문의 최종 토큰에 대해 점수화합니다; softmax가 확률을 줍니다 |
| 파라미터 | 백본에 25.6B(비전 타워, LM head, 멀티 토큰 예측 레이어는 로드되지 않음), 헤드에 2.6M |
| 정밀도 | bf16(51.3 GB 체크포인트); bf16으로 서빙 |
| 컨텍스트 | 최대 65,536토큰의 상태가 서빙되고, 질문마다 최소 8,192토큰이 더해집니다. 학습 상태는 최대 32,768토큰이었습니다. |
| 검증된 컨텍스트 길이 | 65,536토큰(긴 문서 참조) |
| 캘리브레이션 | 온도 하나, T = 1.32, head.pt에 저장되어 로드 시 적용 |
| 언어 | 영어 |
| 라이선스 | Apache-2.0(가중치와 헤드); 베이스 모델은 Apache-2.0 |
| 버전 | v2 (Kev 1.0), 2026-09-30 출시, jaredpalmer/kev-27b의 main |
| 이전 버전 | v1, 같은 베이스 위의 rank-16 LoRA 어댑터(T = 1.38), 태그 v1-lora; 그 카드는 해당 태그의 README입니다 |
입력. 상태 하나(텍스트, 또는 레이블이 붙은 텍스트로 렌더링된 JSON 객체나 배열)와 임의 개수의 이름 있는 질문, 각 질문은 세 가지 유형 중 하나입니다:
| 유형 | 선택지 | 출력 |
|---|---|---|
choice |
1–255개의 이름 있는 선택지, 각각 선택적 설명 포함 | 선택지마다 확률 하나, 가장 가능성 높은 선택지, 신뢰도 |
score |
1–255개의 순서가 있는 레벨 | 레벨마다 확률 하나와 기대 레벨 인덱스 |
noul |
예 / 아니오, 선택적 설명 포함 | 예일 확률 |
각 질문은 공유 상태에서 이어지는 자기 자신의 행으로 답변되므로, 질문들은 서로 영향을 줄 수 없습니다; 상태는 한 번 계산되어 캐시됩니다.
의도된 용도
- 문서에 대한 타입이 지정된 의사결정: 분류, 라우팅, 트리아지, 추출 선택, 정책 및 자격 검사, 그리고 명시된 기준에 대한 제안된 답의 판정.
- 신뢰도를 근거로 행동하는 워크플로: 확신하는 사례는 자동화하고 나머지는 대기열에 넣으며, 임계값은 사용자 자신의 워크로드에서 레이블이 붙은 표본에 고정합니다.
- System One 엔드포인트를 대체하는 자체 호스팅 드롭인 교체품.
범위 밖 용도
- 텍스트 생성, 채팅, 요약, 개방형 질의응답. 모델은 주어진 선택지만 점수화합니다.
- 사람에 대한 법적, 의료적, 금융적, 고용상 또는 유사한 결과를 낳는 결정을 사람 검토 없이 완전 자동으로 내리는 것.
- 답이 상태에 없고 상식도 아닌 사실에 의존하는 질문(모델은 아무것도 조회할 수 없음), 그리고 지식 집약적 시험(한계 참조).
- 65,536토큰보다 긴 상태, 영어 이외의 언어, 그리고 80 GB급 GPU 또는 약 96 GB 메모리의 Mac보다 작은 하드웨어(한계 참조).
사용 방법
Kev 저장소로 B200, H200 또는 H100 80 GB GPU 한 장에서 서빙합니다. 가중치는 51 GB, 서버는 약 65.5 GB 상주합니다; 64k 토큰 상태는 H200에서 87.1 GB, 32k 토큰 상태는 78.7 GB를 피크로 기록했으므로, 가장 긴 상태는 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
Apple Silicon에서는 같은 명령이 MLX를 통해 서빙하며(자동 선택), 저장된 그대로 전체 bf16 가중치를 로드하고 아무것도 병합하지 않습니다. 이 경로는 96–128 GB Mac에서 동작할 것으로 예상되지만 이 크기에서는 아직 실행되지 않았습니다(한계 참조).
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)
캘리브레이션된 온도는 기본적으로 적용됩니다; KEV_TEMPERATURE=1.0은 원시 확률을 반환합니다. 서버는 bf16, 융합 DeltaNet 커널, CUDA graphs를 사용합니다; KEV_DTYPE=fp32는 평가에 사용된 정확한 경로를 선택합니다.
학습 데이터
최대 32,768토큰의 상태를 가진 145,840개 레코드(337,130개 질문)의 비공개 코퍼스에 대해 한 epoch. 그 manifest만 공개되어 있습니다(GitHub 저장소의 evals/sft-v2-r22/manifest.json).
| 컴포넌트 | 레코드 | 내용과 레이블 |
|---|---|---|
| Kev 코퍼스 | 78,786 | Kev-27B v1의 학습 집합(열 개 공개 분류 데이터셋, 생성된 정책과 규칙 레코드, 날짜 산술과 누락 증거 사례, 사실이 묻힌 긴 상태); Kev의 스킬(hard-v1), 개발자 도구(devtools-v1), 소비자 불만(documents-v1) 스위트의 학습 분할; 각 500개 레코드로 상한을 둔 24개 공개 데이터셋; 일곱 개 생성 패밀리(긴 문서, 도구 라우팅, 검색, 의도, rubric 판정, 기권, 수치 추론) |
| 라이선스된 과제 패밀리 | 24,000 | 공개 멀티태스크 컬렉션에서 온 119개 과제 패밀리, 상업적 사용을 허용하는 라이선스와 고유 레이블 포함; 패밀리 목록은 공개되지 않음 |
| 긴 상태 | 3,200 | 8k–32k 토큰 문서에 삽입된 Kev 코퍼스 상태; 레이블은 그대로 상속됨 |
| 긴 문서 | 7,617 | 코드로 조립된 문서, 레이블은 코드로 계산 |
| 도메인 외 의사결정 | 7,312 | 다양한 도메인의 생성된 의사결정 |
| 어조 | 7,544 | 같은 텍스트를 차분하게, 좌절하여, 또는 화나게 쓴 최소 대조 쌍(minimal pair) |
| 프롬프트 인젝션 | 2,699 | 간접 프롬프트 인젝션 인식(방어적) |
| 에이전트 세션 | 4,875 | 코드로 생성된 에이전트 세션 로그에 관한 질문 |
| PII | 4,152 | 코드로 삽입된 개인 데이터 분류(전부 허구) |
| 그라운딩 | 5,655 | 어떤 주장이 문서에 의해 뒷받침되는지 여부 |
출처와 레이블. 공개 데이터셋은 이 카드의 메타데이터에 나열되어 있습니다; 두 개발자 도구 출처 CodeReviewer와 FlakeFlagger는 Zenodo에서 왔으며, CodeReviewer diff는 허용적 라이선스 프로젝트의 것만 보관됩니다. 생성된 텍스트와 레이블은 코드 또는 오픈 웨이트 모델(GLM-5.3, DeepSeek-V4-Pro, Inkling, Mistral Large 3, gpt-oss-120b, MiMo-V2.6-Pro)에서 옵니다. 소비자 불만 레이블은 오픈 웨이트 모델에서 오며, 폐쇄 모델 심사자와 조정으로 필터링됩니다. Jev(TypeSafe의 호스팅 의사결정 모델)의 출력은 사용되지 않았습니다.
라이선스. 상한이 있는 공개 데이터셋 중 넷은 동일 조건 변경 허락(share-alike)입니다: ARC(CC-BY-SA-4.0), HotpotQA(CC-BY-SA-4.0), Natural Questions(CC-BY-SA-3.0), SNLI(CC-BY-SA-4.0); 나머지는 CC-BY-4.0, MIT 또는 Apache-2.0입니다. CFPB 불만 서사는 미국 정부 저작물입니다. GLM-5.3의 라이선스는 MIT 스타일이며 초대형 model-as-a-service 운영자에 대한 조건이 있습니다. 출처별 라이선스, revision, 저작자 표시는 컴포넌트 manifest에 기록되어 있습니다.
오염 검사. 학습 전에 모든 레코드를 102개 평가 파티션(76,549개 참조 항목)에 대해 검사했습니다: 모든 동결된 Kev 스위트, 비공개 평가 집합, JevBench의 공개 항목, 그리고 아래의 평가 전용 스위트. 레코드는 정규화 문자열 정확 일치, 0.2를 넘는 단어 8-gram Jaccard 유사도, 또는 최소 0.5의 포함 관계에서 제거되었습니다; 6,388개 학습 레코드가 제거되었습니다.
학습 절차
- 전체 가중치 파인튜닝.
Qwen/Qwen3.8-27B에서 8개의 NVIDIA H200 GPU로 한 epoch(FSDP2). AdamW(β 0.9 / 0.999, weight decay 0.01)에 fp32 마스터 가중치와 모멘트를 두고 bf16 백본 위에서; 백본 학습률 2e-6, 헤드 1e-4, 10 % 워밍업이 있는 one-cycle 스케줄; 그래디언트 노름 1.0에서 클리핑; 옵티마이저 스텝당 128개 레코드(GPU당 8개, 2 누적 스텝), 1,140 스텝; 시드 0. 손실은 각 질문의 선택지에 대한 교차 엔트로피입니다(데이터에 소프트 타깃이 있는 곳에서는 소프트 타깃). 선택지 순서는 섞이고 “해당 없음”(none of the above) 선택지와 방해 선택지(distractor)가 무작위로 삽입됩니다. 최대 8,192토큰의 상태를 가진 choice 레코드의 4분의 1도 최소 대조 쌍(minimal pair)을 만듭니다: “해당 없음”(none of the above) 선택지가 붙은 그 질문을, 정답 선택지가 있는 상태로 한 번, 제거된 상태로 한 번. 각 상태는 한 번 실행되고 그 질문들은 그로부터 분기합니다. - 가중치 평균. 모든 백본 텐서는 0.85 × 파인튜닝된 가중치 + 0.15 × v1의 가중치(v1의 LoRA 어댑터를 fp32로 베이스에 병합)이며, fp32로 계산되어 bf16으로 한 번 반올림됩니다. 파인튜닝된 모델의 포인터 헤드가 유지됩니다. 이 비율은 개발 데이터에서 여섯 개 블렌드(0.85 / 0.70 / 0.50, 어느 헤드든 함께) 중에서 선택되었습니다.
- 캘리브레이션. 온도 하나, T = 1.32, 두 부모 모두 학습하지 않은 홀드아웃 데이터셋의 648개 질문에 대해 음의 로그 우도를 최소화: 448개는 transfer-r3의 캘리브레이션 분할(여섯 개 공개 데이터셋 QNLI, SciQ, TweetEval-offensive, PAWS, MMLU, Emotion, 그리고 생성된 정책 레코드의 홀드아웃 패밀리 두 개)에서, 200개는 MMLU-Pro 질문(transfer-v9 개발)에서. 어떤 학습 코퍼스의 분할도 사용되지 않았으며, 검사 결과 학습 데이터와 겹치지 않는 것으로 나타났습니다.
평가
방법론. 모든 비교는 동일한 항목에서 Kev-27B v1에 대한 것이며, 각 모델은 자신이 서빙되는 온도에 있습니다. 테스트 파티션은 이 체크포인트를 위해 한 번 읽혔습니다; transfer-v4 테스트는 잠겨 있고(후보마다 한 번 읽음) 사전에 고정된 기준(정확도 ≥ 0.886, Brier ≤ 0.165)에 대해 판정되었습니다. 구간은 전체 레코드를 재표본하는 95 % 쌍 bootstrap(2,000회 재표본)이므로, 상태를 공유하는 질문들은 함께 움직입니다. 차이는 퍼센트 포인트(pp)입니다. 스위트는 다음과 같습니다:
- breadth-v1: 다섯 영역(지식, 언어, 검색, 도구, 예술)의 14개 홀드아웃 공개 데이터셋, 결코 학습되지 않음.
- tasksource-heldout-v1: 라이선스된 컴포넌트와 같은 멀티태스크 컬렉션의 24개 전체 과제 패밀리, 학습에서 홀드아웃됨.
- hard-v1: 프로그램 방식으로 레이블된 스킬 레코드(긴 정책, 트레이드오프, 확률, 멀티홉, 날짜와 숫자, 판정, 기권); 테스트 분할은 학습된 생성기의 템플릿을 홀드아웃합니다.
- devtools-v1: 라이선스를 확인한 공개 출처(코드 리뷰, commit 메시지, 안전, 불안정 테스트)의 개발자 도구 의사결정.
- documents-v1 / documents-v2: 미국 소비자 금융 불만 서사(CFPB); v2는 비공개 홀드아웃 테스트 집합입니다.
- transfer-v4: 한 번도 학습되지 않은 여섯 개 공개 출처의 도메인 외 의사결정, 그리고 홀드아웃 정책 구조.
- longdoc-v1: 최대 64k 토큰의 CUAD 상업 계약, 그리고 생성된 계약 묶음.
헤드라인 패널은 이 체크포인트가 만들어지기 전에 완료된 레이블 감사가 불건전하다고 판단한 항목¹을 제외합니다; 모든 제외는 두 모델에서 같은 행을 제거합니다.
v1에 대한 결과(테스트 파티션).
| 패널(질문 수) | Kev-27B v2 | Kev-27B v1 | Δ [95 % CI] |
|---|---|---|---|
| 홀드아웃 공개 데이터셋, breadth-v1, 10개 데이터셋(2,489) | 0.832 | 0.820 | +1.2 [+0.3, +2.2] |
| 홀드아웃 과제 패밀리, tasksource-heldout-v1, 17개 패밀리(2,024) | 0.795 | 0.743 | +5.3 [+3.7, +6.8] |
| 스킬, 개발자 도구, 문서, 통합(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, 감사된 출처(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, 비공개 홀드아웃(953) | 0.921 | 0.881 | +4.0 [+2.0, +6.1] |
| breadth-v1, 14개 데이터셋 전부(3,089) | 0.757 | 0.748 | +0.8 [−0.1, +1.8] |
| 도메인 외, transfer-v4 잠긴 테스트(656): 정확도 | 0.8887 | 0.8963 | −0.8 [−2.0, +0.5] |
| 도메인 외, transfer-v4 잠긴 테스트: Brier / ≤ 5 % 오류에서의 커버리지 | 0.154 / 0.875 | 0.160 / 0.835 | – |
다른 의사결정 모델과의 비교, breadth-v1 테스트(14개 데이터셋 전부)에서, 커뮤니티 Decision Index 0.2의 우연 보정 지수로 채점(데이터셋마다 (score − chance) / (1 − chance)를 계산해 각 영역 내에서 평균하고, 그다음 100 × 다섯 영역의 평균). Jev는 Vercel AI Gateway를 통해, AutoJev-27B(denis-pplx/autojev-27b, 같은 베이스의 전체 가중치 파인튜닝)는 자체 서버를 통해 각각 한 번씩 같은 항목에서 질의되었습니다.
| Kev-27B v2 | Kev-27B v1 | Jev | AutoJev-27B | |
|---|---|---|---|---|
| 지수 [95 % CI] | 52.3 [49.2, 55.4] | 50.2 [47.0, 53.2] | 54.0 [51.2, 57.0] | 50.0 [47.0, 53.3] |
v1에 대한 지수 차이는 +2.1 [−0.4, +4.6]입니다. Jev에 대한 쌍 구간은 계산되지 않았습니다.
긴 문서(longdoc-v1 테스트의 CUAD 계약, 토큰 단위 상태 길이별 정확도 / ECE):
| 상태 길이(질문 수) | Kev-27B v2 | Kev-27B v1 |
|---|---|---|
| 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 |
| 전체(2,194) | 0.874 / 0.053 | 0.890 / 0.007 |
모든 길이에 걸친 정확도 차이: −1.6 [−3.0, −0.3]. 생성된 계약 묶음(2,400개 질문)에서는 두 모델 모두 1.000을 기록합니다.
컨텍스트 길이. 검증된 컨텍스트 길이: 65,536토큰, 서빙 한도이며, longdoc-v1 개발에서 나왔습니다(8k 버킷에 대한 쌍 CUAD 정확도 차이, pp [95 % CI]: 16k +0.2 [−0.7, +1.2], 32k −0.2 [−1.2, +0.7], 64k −1.1 [−2.4, +0.0]; 각각 445–447개 질문). 규칙은 모든 Kev 1.0 크기에 적용되는 것과 같습니다: 검증된 길이는 16,384토큰부터 위로, 그 버킷과 8,192 사이의 모든 버킷이 허용 범위 안에 있는 가장 큰 버킷의 명목 크기이며, 허용 범위 안이란 8k 버킷에 대한 CUAD 정확도 차이가 같은 계약·반복·질문에서 쌍을 이뤄 95 % 하한이 최소 −3 pp이고 모든 레코드가 답변되었음을 뜻합니다.
캘리브레이션(기대 캘리브레이션 오차, ECE, 서빙되는 그대로; 낮을수록 좋음):
| 패널 | Kev-27B v2 | Kev-27B v1 |
|---|---|---|
| breadth-v1 테스트, 10개 데이터셋 | 0.015 | 0.013 |
| tasksource-heldout-v1 테스트 | 0.049 | 0.051 |
| hard-v1 + devtools-v1 + documents-v1 테스트 | 0.014 | 0.027 |
| transfer-v4 잠긴 테스트 | 0.019 | 0.018 |
| CUAD 계약, longdoc-v1 테스트 | 0.053 | 0.007 |
648개 적합 질문에서 5겹 그룹 분리 교차 검증은 ECE를 0.048(원시)에서 0.038(폴드 외)로 낮춥니다; 두 구간은 겹칩니다. 온도의 90 % bootstrap 구간은 [1.20, 1.45]입니다. 그 양 끝에서 헤드라인 패널은 반대 방향으로 움직입니다: breadth-v1 ECE는 T = 1.20에서 0.026으로, tasksource-heldout-v1 ECE는 T = 1.45에서 0.067로 상승합니다.
기타 결과.
| 스위트 | Kev-27B v2 | Kev-27B v1 |
|---|---|---|
| transfer-v4 개발, 정확도 / Brier | 0.851 / 0.218 | 0.848 / 0.229 |
| 짧은 상태, transfer-r3 테스트(1,150) | 0.858 | 0.879 |
| devtools-v1 테스트, 모든 출처(1,071) | 0.790 | 0.711 |
| decision-v7 개발(v1의 학습 분포) | 0.865 | 0.866 |
| MMLU-Pro, 10개 선택지(transfer-v9 개발) | 0.675 | 0.665 |
| p ≥ 0.9로 답한 답변 불가 항목(낮을수록 좋음) | 0.00 | 0.00 |
| SemIf(144) / WANLI-v2(1,002) / TypeSafe(89개 답변된 행) | 0.965 / 0.756 / 0.854 | 0.972 / 0.745 / 0.865 |
| 학습된 생성기의 홀드아웃 도메인, 정확도 / 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 |
transfer-r3 테스트는 캘리브레이션 풀과 같은 여덟 개 홀드아웃 출처의 짧은 상태 패널입니다; decision-v7은 v1의 학습 분포입니다; transfer-v9는 MMLU-Pro와 결정적 증거가 제거된 항목을 담고 있습니다. SemIf(SemIf 프로젝트의 직접 작성한 의사결정), WANLI-v2(WANLI 테스트 분할의 자연어 추론 쌍), TypeSafe(SemIf가 고른 TypeSafe 워크플로 사례)는 보고만 합니다: 레이블 감사에서 이것들이 모델을 순위 매기기에 너무 작거나, 포화되었거나, 잡음이 많다고 판단했습니다. WANLI-v2와 TypeSafe는 2026-09-30에 평가로서 은퇴했습니다(WANLI 쌍의 약 4분의 1이 두 주석자에 의해 다르게 레이블되었고, gold는 두 레이블 중 하나로 설정됨; TypeSafe의 gold는 두 폐쇄 프런티어 모델의 평균 답이며, 체크포인트를 구분하기에 질문이 너무 적음); 그 수치는 기록으로 보존됩니다.
서빙 동등성(H200, 융합 커널과 CUDA graphs를 사용한 bf16, decision-v7 개발 레코드 200개 / 질문 280개):
| 점검 | 결과 |
|---|---|
| 서빙 vs fp32 평가 경로, 최대 |Δp| | 0.0223, 바뀐 답 없음 |
| 단일 질문 단독 vs 전체 요청, 최대 |Δp| | 0.0039, 바뀐 답 없음 |
| 8k / 32k / 64k 토큰 상태에서 서빙 vs 평가, 최대 |Δp| | 0.0064 / 0.0095 / 0.0017, 바뀐 답 없음 |
| 64k 토큰 상태에서의 모델 시간, 새 상태 / 캐시된 상태 | 9.4 s / 733 ms |
| 상주 메모리 / 따뜻한 캐시에서의 로드 시간 | 65.5 GB / 17.6 s |
| 동시 클라이언트 1 / 64에서의 처리량 | 21.1 / 36.4 요청/s |
¹ 헤드라인 패널에서 제외됨: 네 개의 breadth-v1 데이터셋(routerbench, 그 상태가 묻는 정보를 결여함; cfcolor와 humicroedit, 모든 시스템에 대해 우연 수준; chessbench, 모든 시스템에 대해 하한); 유효하지 않거나 복구 불가능한 레이블을 가진 일곱 개 tasksource-heldout-v1 패밀리(이름 비공개); 그리고 상태가 레이블을 결정하지 못하는 두 개 devtools-v1 과제(flakeflagger, commit 변경 유형). transfer-r3의 emotion 출처(원거리 키워드 레이블)는 한계의 짧은 상태 패널에서 제외됩니다.
한계와 트레이드오프
- 선택. 출시된 체크포인트는 더 이른 후보의 테스트 결과를 안 뒤에 선택되었고 같은 테스트 집합에서 확인되었습니다. 테스트 마진은 낙관적으로 보십시오.
- 짧은 상태에서 이득 없음. 짧은 입력에서 v1보다 낫지 않습니다: 잠긴 transfer-v4 테스트에서 −0.8 pp [−2.0, +0.5], 짧은 상태 개발 패널(transfer-v4 개발과
emotion을 제외한 transfer-r3 테스트)에서 −0.9 pp [−2.0, +0.1], transfer-r3 테스트 전체에서 −2.1 pp [−3.5, −0.8]. - 긴 계약에서 더 나쁘고 과신합니다. CUAD에서 v1보다 정확도가 1.6 pp 낮고, ECE는 모든 길이에서 v1의 2~4배입니다(전체 0.053 대 0.007). CUAD의 질문에는 잘못되었거나 논쟁의 여지가 있는 gold 레이블이 일부 포함되어 있지만, 격차는 길이 전반에 걸쳐 일관됩니다. 계약 검토에는 자신의 레이블된 문서로 온도를 재적합하거나(
python -m kev.calibrate) v1을 사용하십시오. - 분포 내 이득. hard-v1, devtools-v1, documents-v1의 학습 분할이 학습 데이터에 있고, ood-v2, agents-ood-v1, guardrails-ood-v1 스위트는 학습 데이터도 생성한 생성기들의 홀드아웃 도메인입니다. 거기서의 이득은 학습된 패밀리의 홀드아웃 항목을 측정하는 것이지 새 과제로의 전이가 아닙니다.
- 알려지지 않은 베이스 학습. 베이스는 Qwen의 포스트 트레이닝 출시판입니다; 그 학습 데이터는 알려져 있지 않으므로, 그것과 어떤 평가 사이의 겹침도 배제할 수 없습니다.
- 지식. 지식은 베이스가 정합니다: MMLU-Pro는 0.675로, 같은 항목에서 Jev의 0.840에 대비됩니다.
- 학습되지 않은 길이. 32k–64k 토큰의 상태는 평가되었지만(longdoc-v1) 학습되지는 않았습니다.
- 은퇴한 스위트. v1을 선택하는 데 사용된 지원 티켓 스위트(scienthoon)는 v2가 만들어지기 전에 불건전하다고 은퇴되었으므로, v2는 그에 대한 결과가 없습니다. v2의 평균하지 않은 파인튜닝 부모는 거기서 v1보다 5.5 pp [−7.8, −3.2] 낮았습니다.
- 온도 불확실성. 온도의 구간([1.20, 1.45])은 테스트 ECE를 최대 약 0.02까지 움직입니다.
- 하드웨어. 80 GB급 데이터센터 GPU가 필요합니다(가장 긴 상태에는 80 GB 초과). MLX를 통한 Apple Silicon: v2의 전체 bf16 가중치는 약 51 GB에 작업 메모리를 더한 만큼 필요하므로, 64 GB Mac은 경계선이고 96–128 GB Mac이면 들어갈 것입니다. 이것은 더 작은 모델에서의 측정으로 예상한 것이며, 큰 Mac에서는 아직 측정되지 않았습니다: 같은 경로로 전체 가중치 Kev-4B를 로드했을 때 피크가 그 가중치 크기(8.4 GB)였고, 답은 fp32 평가 경로와 0.015 이내였습니다(
runs/mlx-full-4b). v1(LoRA 어댑터, 태그v1-lora)은 외부 기여자가 128 GB M5 Max에서 MLX를 통해 서빙했습니다(PR #175): transfer-v4 개발에서 정확도 0.849로 공개된 0.848에 대비되며, 어댑터가 병합되는 동안 52 GB 안정, 피크 97 GB였습니다.
편향, 위험 및 윤리적 고려사항
- 캘리브레이션된 확률은 근거 없는 신뢰를 만들 수 있습니다. 온도는 공개 홀드아웃 데이터셋에 적합되었으며 모든 워크로드에 전이되지 않습니다; 임계값을 설정하기 전에 자신의 데이터에서 레이블이 붙은 표본으로 정확도와 캘리브레이션을 측정하십시오.
- 정확도와 캘리브레이션은 도메인 변화에 따라 달라집니다(예: 긴 계약). 위의 숫자에 의존하기보다 프로덕션 오류율을 모니터링하십시오.
- 사람에 대한 중대한 자동 의사결정에 사람 검토 없이 사용하지 마십시오. 베이스 모델과 학습 데이터(다른 모델이 생성한 레이블 포함)의 편향은 측정되지 않았습니다.
- 상태에는 개인적이거나 기밀인 데이터가 포함될 수 있습니다. 자체 호스팅은 입력을 자신의 하드웨어에 유지합니다;
KEV_API_KEY가 설정되지 않으면 서버가 열려 있으므로, 자신의 접근 제어와 데이터 처리 정책을 적용하십시오.
컴퓨트
- 파인튜닝: 8 × NVIDIA H200으로 학습 시간 16.2시간(129 GPU-시간), 재시작과 평가 제외.
- 가중치 평균: CPU에서 약 6분.
- 평가와 서빙 점검: Modal의 단일 H200 GPU.
출처와 재현성
- 코드, 스위트, 평가 보고서: github.com/jaredpalmer/kev. 릴리스 번호:
runs/release/kev-27b-r23.json(scripts/release_numbers.py --release kev-27b-r23). - 파인튜닝: 라운드 22 시도
r22-27b-lr2e6/00-trial-0(experiments/round22/lr2e6.json), 가중치 sha2563fa0182a…. 블렌드: 라운드 23 암27b-k-w85(scripts/interpolate_checkpoint.py --toward; Hub 저장소의interpolation.json), 선택 규칙과 확인 단계는experiments/rounds/r23.json; 결과는runs/r23-readout/,runs/r23-verdict/,runs/r23-breadth-report/,runs/serving-27b-r23*/. - 블렌드 출처:
jaredpalmer/kev-27b@01b81998의 v1(시도r6-27b-v2/01-trial-1), 현재 태그v1-lora. - 출시된 가중치 sha256
d27af6ab2be16824166ac639907b4dba40979ff338599c2872721aa6c5072022;head.ptsha2567968f17b03479c1ef9d1c0f3ab8a15e31ecb441cf40691b07ee945ab554d45ad(T = 1.3195). 가중치는 Hub commit28be62e9에 게시되었습니다. - 검증: H200에서 Hub로부터 익명으로 로드했을 때, 252개 SemIf 행 중 252개와 764개 transfer-v4 개발 행 중 764개에서 출시 전 평가 로짓을 정확히 재현했습니다(
runs/release/kev-27b-r23-published.json,runs/release/kev-27b-r23-staging.json).
인용
@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}
}
연락처
질문과 이슈: github.com/jaredpalmer/kev/issues.