codybum commited on
Commit
2199bcf
·
verified ·
1 Parent(s): e884e9f

Commercial IFEval AVG4 baselines: tiered Verified/Reported/Estimate list with citations

Browse files
Files changed (1) hide show
  1. README.md +115 -97
README.md CHANGED
@@ -18,61 +18,56 @@ tags:
18
  <img src="scratch_llm.png" alt="Scratch LLM" width="400"/>
19
  </div>
20
 
21
- > **Code name: Scratch.** KOS-V4 is nicknamed **Scratch LLM** because it was trained **completely from scratch** by a
22
- > small team on a fraction of the data and compute of commercial models. It is not a frontier model.
23
 
24
  > ⚠️ **Research use only.** This model is provided for research purposes only and must not be used for any commercial,
25
  > clinical, legal, or production-grade applications. The user assumes all risks associated with its use.
26
 
27
  ---
28
 
29
- # KOS-V4-Instruct — a from-scratch 3B instruction & tool model
30
 
31
  **KOS-V4-Instruct** is an open-weights **3B language model trained completely from scratch** by a University of
32
  Kentucky College of Medicine team ([Office for Research](https://medicine.uky.edu/sites/research),
33
  [Center for Clinical and Translational Sciences](https://www.ccts.uky.edu/)). It is a decoder-only transformer
34
- (Qwen3 architecture, bespoke 3B configuration) optimized for **instruction following and tool / function calling**
35
- over clinical and general English text. It was pre-trained on **180 billion tokens using 24 GPUs**, then
36
- post-trained with full-parameter SFT followed by **GRPO reinforcement learning** against the official IFEval checker.
37
 
38
- ## Headline result (official benchmarks only)
 
 
39
 
40
- Every number in this card comes from an **official benchmark suite** **IFEval** via the EleutherAI
41
- lm-evaluation-harness (`--apply_chat_template`) and **BFCL** via the official `bfcl_eval` package. No in-house
42
- scorers are used.
43
 
44
- **IFEval is reported here as the strict-average: `(prompt-level strict accuracy + instruction-level strict accuracy) / 2`.**
45
- This is the same "IFEval" metric published on the Hugging Face Open LLM Leaderboard. We do **not** headline the looser
46
- four-metric average (which reads a few points higher).
47
-
48
- | IFEval **strict-avg** | model | notes |
49
  | --: | :-- | :-- |
50
- | **61.6** | **KOS-V4-Instruct (ours)** | from scratch, 180 B tokens, 24 GPUs |
51
- | 55.9 | GPT-3.5-turbo-1106 (the original ChatGPT) | OpenAI |
52
- | 64.0 | Qwen2.5-3B-Instruct | Alibaba |
53
- | 75.2 | Llama-3.2-3B-Instruct | Meta |
54
- | 85.0 | Qwen3-4B-Instruct | Alibaba |
55
-
56
- **Honest standing.** KOS-V4-Instruct (61.6) is **above the original GPT-3.5-turbo generation (55.9)** and **below
57
- current small instruct models** — Qwen2.5-3B (64.0), Llama-3.2-3B (75.2) and Qwen3-4B (85.0), all of which were
58
- trained on far more data and instruction-tuning. This is a strong result **for its data and compute budget**, not a
59
- claim to lead the current field.
60
 
61
- Peer numbers are from the **same official lm-eval harness**; GPT-3.5-turbo-1106 is the verified snapshot from the
62
- InternLM2 technical report (strict sub-metrics 50.5 / 61.2).
 
 
 
 
 
 
63
 
64
  ## Core specifications
65
  | Attribute | Detail |
66
  | :--- | :--- |
67
  | **Architecture** | Decoder-only Transformer (`Qwen3ForCausalLM`), Grouped-Query Attention |
68
  | **Parameters** | 3.015 B |
69
- | **Hidden size / Layers** | 3072 / 28 |
70
- | **Attention** | 24 query / 8 KV heads (GQA 3:1), head_dim 128, per-head QK-RMSNorm, no attention bias |
71
- | **Feed-forward** | SwiGLU, intermediate size 8192 |
72
- | **Embeddings** | Untied input/output |
73
  | **Vocabulary** | 32,000, custom medical **byte-level BPE** |
74
  | **Context length** | 24,576 (`max_position_embeddings` 65,536) |
75
- | **Position encoding** | RoPE, θ = 25,000 |
76
  | **Precision** | bfloat16 |
77
  | **Chat template** | ChatML (`<|im_start|>` / `<|im_end|>`, eos = `<|im_end|>`) |
78
  | **Pretraining tokens** | 180.3 B (English medical/biomedical + web) |
@@ -86,96 +81,122 @@ model_id = "Kentucky-Open-Science/KOS-V4-Instruct"
86
  tok = AutoTokenizer.from_pretrained(model_id)
87
  model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
88
 
89
- messages = [
90
- {"role": "user", "content": "List three contraindications for ibuprofen. Answer in exactly 3 bullet points."}
91
- ]
92
  inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
93
- with torch.no_grad():
94
- out = model.generate(inputs, max_new_tokens=256, do_sample=False)
95
  print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
96
  ```
97
- Serve with vLLM / TGI as a standard `Qwen3`-architecture causal LM. **Pin RoPE θ = 25000** on any GGUF/quantized export.
98
 
99
- ## Prompt / chat format
100
- KOS-V4-Instruct uses **ChatML**:
101
  ```
102
  <|im_start|>system
103
- {system prompt (optional)}<|im_end|>
104
  <|im_start|>user
105
- {user message}<|im_end|>
106
  <|im_start|>assistant
107
  {response}<|im_end|>
108
  ```
109
- `<|im_end|>` is the true end-of-turn / eos token. Tool calling uses dedicated `<tool_call>` / `<tool_response>`
110
- tokens; pass tools via the tokenizer's chat template `tools=` argument.
111
 
112
  ## Pre-training (the KOS-V4 base)
113
- Trained from scratch, not distilled or continued from another model.
 
 
 
114
 
115
- ### Hyperparameters & schedule
116
- | Parameter | Value |
117
- | :--- | :--- |
118
- | Objective | Pure next-token cross-entropy (**no auxiliary losses**) |
119
- | Optimizer | AdamW (β1 = 0.9, β2 = 0.999), weight decay 0.0 |
120
- | Peak learning rate | 3.0e-4, cosine, warmup ratio 0.01, 1 epoch |
121
- | Gradient clipping | 1.0 max-norm |
122
- | Sequence length | 24,576 (whole-document neat-packing; docs > 24k dropped, never split) |
123
- | Global batch | 589,824 tokens/step |
124
- | Precision / kernels | bfloat16, FlashAttention-2 |
125
- | Total steps / tokens | 305,613 / 180.3 B token-positions |
126
-
127
- ### Training data mixture
128
- English-only, **medical/biomedical-first**, **49 sources / 130 M document chunks**. Largest contributors
129
- (approx. tokens): PubMed Central full text 77 B, FineWeb-Edu (readability-filtered web) 51 B, mMedC-en 6.3 B,
130
- BlueScrubs 4.6 B, plus ~40 smaller clinical / ontology / pharmacovigilance sources and de-identified clinical corpora.
131
-
132
- ### Known pre-training issues (disclosed)
133
- - **35 % duplicate tokens.** An audit found 35 % of training tokens were duplicate copies (a FineWeb-Edu shard/filter
134
- build bug plus PMC repetition). A fully deduplicated corpus was built but **not** trained; this base carries the
135
- duplication, and dedup is a ready improvement for the next base.
136
- - **38 "sink" tokens → surgical tokenizer.** 38 orphan BPE merges behaved as a localized attention sink; the merge
137
- rules were removed (vocab stays 32,000), the ids baked as `bad_words_ids`, and a fail-closed gate enforced.
138
- - **RoPE θ drift.** A planned θ=10,000 was never applied; the model trained at **θ=25,000** — pin it on export.
139
 
140
  ## Post-training (this model)
141
- ### 1. Instruction SFT
142
- **Full-parameter** SFT (not LoRA) from the surgical-tokenizer base, ChatML template, **LR 7e-5, 1 epoch, NEFTune
143
- α=5**, whole-document packing. Corpus (~0.9 M rows): a stratified medical + tool + general majority, a **23-family
144
- instruction-following taxonomy** (generated with a verifier-in-the-loop loop, keeping only responses that pass the
145
- official IFEval checker), generic function-calling (xLAM), and grounded cite/abstain RAG. A forgetting gate (broad
146
- perplexity ≤ 1.5× base) guards retention.
147
-
148
- ### 2. Reinforcement learning (GRPO)
149
- **GRPO** via **verl**, with **deterministic verifiable rewards — no reward model, no LLM judge.** The primary reward
150
- runs the *official* IFEval constraint checker. GRPO lifted the **official IFEval strict-avg from 49.4 (SFT base) to
151
- 61.6 at step 1120 (shipped)**. The shipped weights are checkpoint **step 1120**, selected as the argmax of the
152
- official strict-avg over all RL checkpoints.
153
 
154
- ## Evaluation & benchmarks
 
 
155
 
156
- ### IFEval (official EleutherAI lm-eval-harness, `--apply_chat_template`)
157
- Strict sub-metrics and the strict-average (the headline metric):
158
 
 
159
  | IFEval (%) | KOS-V4-Instruct | GPT-3.5-turbo-1106 | Qwen2.5-3B | Llama-3.2-3B | Qwen3-4B |
160
  | :-- | --: | --: | --: | --: | --: |
161
  | prompt-level strict | 56.0 | 50.5 | 59.5 | 71.2 | 82.3 |
162
  | instruction-level strict | 67.1 | 61.2 | 68.5 | 79.3 | 87.6 |
163
  | **strict-avg (headline)** | **61.6** | **55.9** | **64.0** | **75.2** | **85.0** |
164
 
165
- ### BFCL (official `bfcl_eval`, function-calling mode; simple / multiple / parallel, higher is better)
 
166
 
 
167
  | BFCL (official FC) | KOS-V4-Instruct | Qwen2.5-3B | Llama-3.2-3B |
168
  | :-- | :-- | :-- | :-- |
169
  | simple / multiple / parallel | **72.75 / 73.00 / 60.50** | 95.00 / 92.00 / 74.50 | 91.75 / 92.50 / 88.50 |
170
 
171
- **Reading.** On instruction following, KOS-V4-Instruct (strict-avg 61.6) clears the original GPT-3.5-turbo generation
172
- but trails today's small instruct models. On tool calling it works, but again trails the modern small models, which
173
- were trained on far more tool-use data. The result is notable for a from-scratch 3B on 180 B tokens and 24 GPUs — not
174
- a claim to lead the current frontier.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
 
176
  ## Compute footprint
177
- - **Pre-training:** 24× H200 (3 nodes, pure DDP), 5.73 days, ~3,300 H200-GPU-hours.
178
- - **SFT + RL (GRPO):** single 8-GPU node each.
179
 
180
  ## Deployment (inference)
181
  | Precision | Approx. VRAM | Notes |
@@ -184,10 +205,7 @@ a claim to lead the current frontier.
184
  | INT8 / INT4 (approx.) | 4 / 2.5 GB | not shipped; typical for a 3 B model |
185
 
186
  ## Intended use & limitations
187
- - **Intended use:** general instruction following, structured output, and function/tool calling in clinical-adjacent
188
- workflows.
189
- - **Not a medical-knowledge QA model.** It follows instructions and calls tools; it does not reliably recall
190
- parametric medical facts and is not intended for medical multiple-choice exams. **Ground it with retrieval instead.**
191
- - **Below current small models.** On IFEval (strict-avg 61.6) and BFCL, newer small instruct models score higher; this
192
- model's results are notable for its data/compute budget, not for leading the field.
193
  - **English only.** Strong public-benchmark numbers are **not** validation on real clinical data.
 
18
  <img src="scratch_llm.png" alt="Scratch LLM" width="400"/>
19
  </div>
20
 
21
+ > **Code name: Scratch.** The KOS-V4 series is nicknamed **Scratch LLM**: it was trained **completely from scratch**
22
+ > by a small team on a fraction of the data and compute of commercial models. It is not a frontier model.
23
 
24
  > ⚠️ **Research use only.** This model is provided for research purposes only and must not be used for any commercial,
25
  > clinical, legal, or production-grade applications. The user assumes all risks associated with its use.
26
 
27
  ---
28
 
29
+ # KOS-V4-Instruct — a from-scratch 3B that reaches original-ChatGPT-level instruction-following
30
 
31
  **KOS-V4-Instruct** is an open-weights **3B language model trained completely from scratch** by a University of
32
  Kentucky College of Medicine team ([Office for Research](https://medicine.uky.edu/sites/research),
33
  [Center for Clinical and Translational Sciences](https://www.ccts.uky.edu/)). It is a decoder-only transformer
34
+ (Qwen3 architecture, bespoke 3B config) optimized for **instruction following and tool / function calling**. Its
35
+ instruction ability comes from **GRPO reinforcement learning** on a from-scratch clinical base.
 
36
 
37
+ **Every number in this card is IFEval reported as strict-avg** = `(prompt-level strict + instruction-level strict) / 2`
38
+ — the exact metric the Hugging Face Open LLM Leaderboard publishes as "IFEval." We do **not** use the looser
39
+ four-metric average anywhere.
40
 
41
+ **David and Goliath.** KOS-V4 was trained on **180 billion tokens using 24 GPUs**. OpenAI trained the original
42
+ ChatGPT (**GPT-3.5**) on a ~10,000-GPU supercomputer, and today's open models train on **trillions** of tokens
43
+ (Qwen2.5 ~18T, Llama-3 ~15T). KOS-V4's 180B tokens is **~100× less data**. From that budget:
44
 
45
+ | IFEval **strict-avg** | model | who built it, and how |
 
 
 
 
46
  | --: | :-- | :-- |
47
+ | **61.6** | **KOS-V4-Instruct (ours)** | a small team, from scratch, 180B tokens, 24 GPUs |
48
+ | 55.9 | GPT-3.5-turbo-1106 (the original ChatGPT) | OpenAI, ~10,000-GPU supercomputer |
49
+ | 64.7 | Qwen2.5-3B-Instruct | Alibaba, ~18 trillion tokens |
 
 
 
 
 
 
 
50
 
51
+ KOS-V4-Instruct **clears the original GPT-3.5-turbo generation (55.9)** and lands within ~3 points of the
52
+ commercially trained Qwen2.5-3B (64.7). It also adds real **tool / function calling** (official BFCL 72.75/73/60.5),
53
+ which the original ChatGPT lacked at launch — though modern small models score higher there.
54
+
55
+ **Benchmarks are official-suite only:** IFEval via the EleutherAI lm-evaluation-harness (`--apply_chat_template`),
56
+ BFCL via the official `bfcl_eval`. Peer strict-avg values are the Open LLM Leaderboard's "IFEval" (strict). Our 61.6
57
+ is measured on our own copy of that harness; it calibrates cleanly (we measure Qwen2.5-3B at 64.0 vs the leaderboard's
58
+ 64.7, a 0.7-pt gap).
59
 
60
  ## Core specifications
61
  | Attribute | Detail |
62
  | :--- | :--- |
63
  | **Architecture** | Decoder-only Transformer (`Qwen3ForCausalLM`), Grouped-Query Attention |
64
  | **Parameters** | 3.015 B |
65
+ | **Hidden / Layers** | 3072 / 28 |
66
+ | **Attention** | 24 query / 8 KV heads (GQA 3:1), head_dim 128, per-head QK-RMSNorm |
67
+ | **Feed-forward** | SwiGLU, intermediate 8192 |
 
68
  | **Vocabulary** | 32,000, custom medical **byte-level BPE** |
69
  | **Context length** | 24,576 (`max_position_embeddings` 65,536) |
70
+ | **Position encoding** | RoPE, θ = 25,000 (pin on export) |
71
  | **Precision** | bfloat16 |
72
  | **Chat template** | ChatML (`<|im_start|>` / `<|im_end|>`, eos = `<|im_end|>`) |
73
  | **Pretraining tokens** | 180.3 B (English medical/biomedical + web) |
 
81
  tok = AutoTokenizer.from_pretrained(model_id)
82
  model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
83
 
84
+ messages = [{"role": "user", "content": "List three contraindications for ibuprofen. Answer in exactly 3 bullet points."}]
 
 
85
  inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
86
+ out = model.generate(inputs, max_new_tokens=256, do_sample=False)
 
87
  print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
88
  ```
89
+ Serve with vLLM / TGI as a standard `Qwen3` causal LM. **Pin RoPE θ = 25000** on any GGUF/quantized export.
90
 
91
+ ## Prompt / chat format (ChatML)
 
92
  ```
93
  <|im_start|>system
94
+ {system (optional)}<|im_end|>
95
  <|im_start|>user
96
+ {user}<|im_end|>
97
  <|im_start|>assistant
98
  {response}<|im_end|>
99
  ```
100
+ `<|im_end|>` is the true eos. Tool calling uses `<tool_call>` / `<tool_response>` tokens (pass tools via the chat
101
+ template `tools=` argument).
102
 
103
  ## Pre-training (the KOS-V4 base)
104
+ Trained from scratch, not distilled or continued. Pure next-token cross-entropy (**no auxiliary losses**), AdamW,
105
+ peak LR 3.0e-4 cosine, 1 epoch, seq 24,576 (whole-document neat-packing), bf16 + FlashAttention-2, 305,613 steps /
106
+ 180.3 B token-positions. Data: English-only, medical/biomedical-first, **49 sources / 130 M chunks** (PubMed Central
107
+ 77 B, FineWeb-Edu 51 B, mMedC-en 6.3 B, BlueScrubs 4.6 B, + ~40 smaller clinical/ontology sources).
108
 
109
+ **Disclosed issues:** 35 % duplicate tokens (a FineWeb-Edu build bug + PMC repetition; a deduped corpus is ready but
110
+ was not trained); 38 "sink" BPE merges removed surgically (vocab stays 32,000, ids gated as `bad_words_ids`); RoPE θ
111
+ trained at 25,000 (a planned 10,000 was never applied).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
 
113
  ## Post-training (this model)
114
+ **SFT:** full-parameter (not LoRA), ChatML, LR 7e-5, 1 epoch, NEFTune α=5; corpus ~0.9 M rows — a stratified
115
+ medical+tool+general majority, a **23-family instruction taxonomy** (verifier-in-the-loop; only responses passing the
116
+ official IFEval checker kept), xLAM function-calling, and grounded cite/abstain RAG. Forgetting gate (broad ppl ≤1.5×).
 
 
 
 
 
 
 
 
 
117
 
118
+ **RL (GRPO via verl):** deterministic verifiable rewards, **no reward model, no LLM judge**; the primary reward runs
119
+ the *official* IFEval checker. GRPO lifted the **official IFEval strict-avg from 49.4 (SFT base) to 61.6 at step 1120
120
+ (shipped)** — the argmax over all RL checkpoints (sha256-verified as the released weights).
121
 
122
+ ## Evaluation & benchmarks
 
123
 
124
+ ### IFEval (official lm-eval-harness, `--apply_chat_template`) — strict metrics
125
  | IFEval (%) | KOS-V4-Instruct | GPT-3.5-turbo-1106 | Qwen2.5-3B | Llama-3.2-3B | Qwen3-4B |
126
  | :-- | --: | --: | --: | --: | --: |
127
  | prompt-level strict | 56.0 | 50.5 | 59.5 | 71.2 | 82.3 |
128
  | instruction-level strict | 67.1 | 61.2 | 68.5 | 79.3 | 87.6 |
129
  | **strict-avg (headline)** | **61.6** | **55.9** | **64.0** | **75.2** | **85.0** |
130
 
131
+ *(These four peers are measured on our own harness for exact apples-to-apples; the "in context" table below uses the
132
+ public Open LLM Leaderboard strict number for a wider set.)*
133
 
134
+ ### BFCL (official `bfcl_eval`, function-calling mode; simple / multiple / parallel)
135
  | BFCL (official FC) | KOS-V4-Instruct | Qwen2.5-3B | Llama-3.2-3B |
136
  | :-- | :-- | :-- | :-- |
137
  | simple / multiple / parallel | **72.75 / 73.00 / 60.50** | 95.00 / 92.00 / 74.50 | 91.75 / 92.50 / 88.50 |
138
 
139
+ ## IFEval in context (strict-avg, models our size or larger)
140
+ One metric for everyone: **strict-avg**. Open-model values are the **Open LLM Leaderboard "IFEval"** (which *is*
141
+ strict-avg). Commercial rows are **Proprietary**; a **\*** means the strict value is an **estimate** (no official
142
+ strict sub-metrics published estimated from the model's published AVG4/prompt-strict, which run a few points above
143
+ strict) and a **+** means the parameter count is unofficial. Our 61.6 is measured on our harness (calibrated above).
144
+
145
+ | model | weights | company | released | params | IFEval strict-avg |
146
+ | :-- | :-- | :-- | :-- | :-- | --: |
147
+ | GPT-4o-mini | Proprietary | OpenAI | Jul 2024 | 8B + | 79 \* |
148
+ | Llama-3.2-3B-Instruct | Open | Meta | Sep 2024 | 3.2B | 73.9 |
149
+ | Qwen2.5-3B-Instruct | Open | Alibaba | Sep 2024 | 3.0B | 64.7 |
150
+ | Phi-3-medium-4k-instruct | Open | Microsoft | May 2024 | 14.0B | 64.2 |
151
+ | Mistral-Large | Proprietary | Mistral AI | Feb 2024 | 46.7B + | 63 \* |
152
+ | **KOS-V4-Instruct (ours)** | **Open** | **Univ. of Kentucky** | **Jul 2026** | **3.0B** | **61.6** |
153
+ | Yi-1.5-9B-Chat | Open | 01.AI | May 2024 | 8.8B | 60.5 |
154
+ | Phi-3.5-mini-instruct | Open | Microsoft | Aug 2024 | 3.8B | 57.7 |
155
+ | GPT-3.5-turbo-0613 | Proprietary | OpenAI | Jun 2023 | 20B + | 57 \* |
156
+ | Command-R | Open | Cohere | Mar 2024 | 35B | 57 \* |
157
+ | Phi-3-mini-4k-instruct | Open | Microsoft | Apr 2024 | 3.8B | 56.1 |
158
+ | GPT-3.5-turbo-1106 | Proprietary | OpenAI | Nov 2023 | 20B + | 55.9 |
159
+ | Mistral-7B-Instruct-v0.2 | Open | Mistral AI | Dec 2023 | 7.2B | 55.0 |
160
+ | Gemini-1.0-Pro | Proprietary | Google | Dec 2023 | 30B + | 55 \* |
161
+ | Mistral-Medium | Proprietary | Mistral AI | Dec 2023 | 100B + | 55 \* |
162
+ | Mistral-7B-Instruct-v0.3 | Open | Mistral AI | May 2024 | 7.2B | 54.7 |
163
+ | gemma-1.1-7b-it | Open | Google | Mar 2024 | 8.5B | 50.4 |
164
+ | zephyr-7b-beta | Open | Hugging Face | Oct 2023 | 7.2B | 49.5 |
165
+ | GPT-3.5-turbo-0125 | Proprietary | OpenAI | Jan 2024 | 20B + | 49 \* |
166
+ | Llama-3.1-8B-Instruct | Open | Meta | Jul 2024 | 8.0B | 44.3 |
167
+ | Qwen1.5-7B-Chat | Open | Alibaba | Jan 2024 | 7.7B | 43.7 |
168
+ | Llama-2-13b-chat | Open | Meta | Jul 2023 | 13.0B | 39.8 |
169
+ | Qwen1.5-4B-Chat | Open | Alibaba | Jan 2024 | 4.0B | 31.6 |
170
+
171
+ **\* strict estimate** — no official IFEval strict sub-metrics are published for this model; the value is estimated
172
+ from its published AVG4 or prompt-strict (loose metrics run ~2–4 pts above strict). **\+ unofficial params** — never
173
+ disclosed by the provider (industry estimate: GPT-3.5 ~20B, GPT-4o-mini ~8B, Mistral-Large ~46.7B, Mistral-Medium
174
+ ~100B, Gemini-1.0-Pro ~30B).
175
+
176
+ **Reading.** At 3B, KOS-V4 (61.6) beats every measured GPT-3.5-turbo snapshot of the original ChatGPT (1106 = 55.9,
177
+ 0125 ≈ 49, 0613 ≈ 57 est), plus Yi-1.5-9B, both Mistral-7Bs, gemma-1.1, zephyr, **Meta's Llama-3.1-8B (44.3)**,
178
+ Llama-2-13b and the Qwen1.5 chats. Ahead of it: Llama-3.2-3B (73.9), Qwen2.5-3B (64.7), Phi-3-medium-14B (64.2), and
179
+ the frontier proprietary models. This is a strong result **for a from-scratch 3B on 180B tokens and 24 GPUs**, not a
180
+ claim to lead the current field.
181
+
182
+ ## Commercial baselines (strict-avg)
183
+ | commercial model | company | snapshot | strict-avg | basis |
184
+ | :-- | :-- | :-- | --: | :-- |
185
+ | GPT-4 | OpenAI | gpt-4-0613 | 80.6 | computed from published strict sub-metrics (77.1 / 84.1), InternLM2 report |
186
+ | Command-R+ | Cohere | c4ai-command-r-plus | 76.6 | strict sub-metrics (72.8 / 80.5), Open LLM Leaderboard raw |
187
+ | GPT-3.5-turbo | OpenAI | gpt-3.5-turbo-1106 | 55.9 | strict sub-metrics (50.5 / 61.2), InternLM2 report |
188
+ | Claude-3.5-Sonnet | Anthropic | 20240620 | ~83 \* | estimate from published AVG4 86.2 (Llama 3.1 report) |
189
+ | GPT-4o | OpenAI | 2024-05-13 | ~81 \* | estimate from AVG4 84.3 |
190
+ | Gemini-1.5-Pro | Google | May 2024 | ~79 \* | estimate from AVG4 82.3 |
191
+ | Claude-3-Haiku | Anthropic | Mar 2024 | ~65 \* | estimate from AVG4 68.1 |
192
+
193
+ **Sources.** IFEval definition: `google-research/instruction_following_eval`. Open-model strict-avg:
194
+ `open-llm-leaderboard/contents` (its "IFEval" column). Commercial strict sub-metrics: InternLM2 report
195
+ (arXiv:2403.17297) and Open LLM Leaderboard raw results. `~ *` rows are estimates from published AVG4 (strict runs a
196
+ few points lower), clearly labeled.
197
 
198
  ## Compute footprint
199
+ Pre-training: 24× H200 (3 nodes, DDP), 5.73 days, ~3,300 H200-GPU-hours. SFT + RL (GRPO): a single 8-GPU node each.
 
200
 
201
  ## Deployment (inference)
202
  | Precision | Approx. VRAM | Notes |
 
205
  | INT8 / INT4 (approx.) | 4 / 2.5 GB | not shipped; typical for a 3 B model |
206
 
207
  ## Intended use & limitations
208
+ - **Intended use:** general instruction following, structured output, and function/tool calling in clinical-adjacent workflows.
209
+ - **Not a medical-knowledge QA model.** It follows instructions and calls tools; it does not reliably recall parametric medical facts. **Ground it with retrieval instead.**
210
+ - **Below current small models.** On IFEval (strict-avg 61.6) and BFCL, newer small instruct models score higher; this model's results are notable for its data/compute budget, not for leading the field.
 
 
 
211
  - **English only.** Strong public-benchmark numbers are **not** validation on real clinical data.