Views
No views yet
⚠️ Medical safety
This model is not a clinician and may hallucinate. Do not use for diagnosis or treatment. Use under qualified medical supervision only.
ibm-granite/granite-4.0-micro — 3B long-context instruct model (Apache-2.0). Includes a structured chat template and tool-calling examples.mkurman/medmcqa-hard plus instruction-following personas from allenai/tulu-3-sft-personas-instruction-following.mkurman/medmcqa-hard, bs 64/128, 8 generations per item (critic-free RL optimizing verifiable correctness).merge_method: arcee_fusion to preserve base calibration while keeping domain gains.| Metric | granite-4.0-micro-OpenMed | granite-4.0-micro |
|---|---|---|
| mmlu | 63.17 | 62.48 |
| leaderboard_mmlu_pro | 33.06 | 32.78 |
| leaderboard_ifeval | granite-4.0-micro-OpenMed | granite-4.0-micro |
|---|---|---|
| inst_level_loose_acc | 85.97 | 85.25 |
| inst_level_strict_acc | 84.05 | 82.97 |
| prompt_level_loose_acc | 79.67 | 78.74 |
| prompt_level_strict_acc | 77.45 | 76.16 |
lm-evaluation-harness with Granite’s chat template and batch size 8.1from transformers import AutoTokenizer, AutoModelForCausalLM
2import torch
3
4model_id = "openmed-community/granite-4.0-micro-OpenMed"
5tok = AutoTokenizer.from_pretrained(model_id, use_fast=True)
6model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
7
8messages = [
9 {"role": "system", "content": "You are a careful medical assistant. Cite sources and warn this is not medical advice."},
10 {"role": "user", "content": "Cellulitis vs erysipelas: give 3 bullet differences and 1 caution."}
11]
12prompt = tok.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
13inputs = tok(prompt, return_tensors="pt").to(model.device)
14out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
15print(tok.decode(out[0], skip_special_tokens=True))Tool-calling: Granite’s card includes function-calling examples;
1# Classic MMLU (5-shot typical)
2lm_eval --model hf \
3 --model_args pretrained=openmed-community/granite-4.0-micro-OpenMed,parallelize=True \
4 --tasks mmlu --batch_size 8 --apply-chat-template
5
6# MMLU-Pro (10-choice, harder)
7lm_eval --model hf \
8 --model_args pretrained=openmed-community/granite-4.0-micro-OpenMed,parallelize=True \
9 --tasks leaderboard_mmlu_pro --batch_size 8 --apply-chat-template
10
11# IFEVAL (verifiable instruction following)
12lm_eval --model hf \
13 --model_args pretrained=openmed-community/granite-4.0-micro-OpenMed,parallelize=True \
14 --tasks leaderboard_ifeval --batch_size 8 --apply-chat-templateWhy gains are modest: Granite-4.0-Micro is already a well-calibrated, strongly aligned 3B instruct model with robust instruction-following and tool-use out of the box. In that regime, headroom on popular benchmarks is limited, and naive tuning often degrades base behaviors (calibration, safety, IF). The combination used here—JEPA-LLM (to stabilize representations), personas SFT (to preserve IF constraints), GRPO with verifiable rewards, and Arcee Fusion—appears to nudge the model to measurable improvements without sacrificing base calibration, but the effect sizes remain small, which is consistent with Granite’s strong baseline. In short: we’re operating near the model’s alignment ceiling; targeted gains are possible, sweeping jumps are unlikely without larger capacity or richer supervision.