Team Ai
Modelpublic

learning-unit/L1-30B-A5B

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
5likes406downloads
Model Card

<p align="center"> <img src="banner.png" alt="L1-30B-A5B" style="width: 80%;"> </p>

LearningUnit 2.0 (L1-30B-A5B)

L1-30B-A5B is the Korean-locale medical foundation model from Lunit and Lunit Consortium. It is the 30B member of the L1 family, post-trained directly from Gravity-30B-A5B-Base, a sparse Mixture-of-Experts model developed by Trillion Labs and the Lunit Consortium.

L1-30B-A5B preserves the base model's GravityMoEForCausalLM architecture. GravityMoE is weight- and attention-compatible with DeepSeek-V3 while retaining its own Hugging Face architecture name and remote-code registration. Load the model with trust_remote_code=True.

  • β€”πŸ‡°πŸ‡· Korean clinical locale, trained natively β€” not machine-translated from English
  • β€”βš‘ 5.34B active of 29.56B total (sparse MoE)
  • β€”πŸ’­ Reasons in <think>...</think> before answering β€” budget 2048+ output tokens
  • β€”πŸ”§ Multi-turn retrieval and tool-call trajectories with citation-grounded answers
  • β€”πŸ“ 131,072-token context
ArchitectureGravityMoE (sparse MoE + MLA)Layers52 (2 dense, 50 MoE)
Total / active params29.56B / 5.34BHidden size2048
Routed experts64, top-8MoE intermediate1408
Shared experts1Attention / KV heads16 / 16
Context131,072Vocab151,552
TokenizerGLM-4.5Precisionbf16

πŸ“Š Benchmark

All numbers were produced with CoEval, Lunit's open-source medical LLM evaluation framework.

<p align="center"> <img src="efficiency.png" alt="Chat quality vs MCQA, bubble area = active parameters" style="width: 100%;"> </p>

Knowledge & reasoning

ModelW.Avg[PubMedQA](https://huggingface.co/datasets/qiaojin/PubMedQA)[AttrBench](https://huggingface.co/datasets/osunlp/AttributionBench)[MedQA](https://huggingface.co/datasets/GBaker/MedQA-USMLE-4-options)[CareQA](https://huggingface.co/datasets/HPAI-BSC/CareQA)[HeadQA](https://huggingface.co/datasets/alesi12/head_qa_v2)[MedMCQA](https://huggingface.co/datasets/lighteval/med_mcqa)[MMLU-Pro (Health)](https://huggingface.co/datasets/TIGER-Lab/MMLU-Pro)[M-ARC](https://huggingface.co/datasets/mkieffer/M-ARC)[MedExQA](https://huggingface.co/datasets/bluesky333/MedExQA)[MetaMedQA](https://huggingface.co/datasets/maximegmd/MetaMedQA)[MedHallu](https://huggingface.co/datasets/UTAustin-AIHealth/MedHallu)[MedCalc](https://huggingface.co/datasets/ncbi/MedCalc-Bench)[KorMedMCQA](https://huggingface.co/datasets/sean0042/KorMedMCQA)[MedBullets 4-opt](https://huggingface.co/datasets/mkieffer/Medbullets)[MedBullets 5-opt](https://huggingface.co/datasets/mkieffer/Medbullets)[MedXpertQA-R](https://huggingface.co/datasets/TsinghuaC3I/MedXpertQA)[MedXpertQA-U](https://huggingface.co/datasets/TsinghuaC3I/MedXpertQA)
**L1-30B-A5B**83.7682.2076.3192.3092.5589.6676.4579.3442.0086.1786.2382.7181.5589.5384.7479.8743.1037.86
GPT-OSS-120B79.9978.0076.1091.1091.0088.4074.8074.6040.0084.1076.5083.5030.3084.8084.7082.1035.6032.90
GPT-5.6-SOL87.8578.6074.9596.0095.6092.7084.1083.1074.0087.1081.4094.8080.0997.7191.6087.7058.1056.70
GPT-5.6-TERRA86.9778.2075.4493.8095.6092.5083.0080.7072.0087.0081.9092.9082.5594.1889.9085.1052.2050.90
GPT-5.6-LUNA85.3676.0075.2194.2094.9091.2081.8080.1068.0085.4079.8089.0079.2793.7989.0084.1045.1045.80
KIMI-K2.684.5180.2071.8494.1192.0790.6482.0081.9174.0085.6482.4576.3761.5593.5286.6982.1448.5248.22
QWEN3.6-35B-A3B81.0678.8075.9089.3290.5587.8776.1477.8755.0082.9876.4777.5070.8286.3481.1778.9039.4936.50
QWEN3.8-27B82.8277.0071.2493.7292.1989.6676.4580.8167.0085.1179.9786.1963.0087.8087.3483.1243.5839.90
QWEN3.5-122B-A10B76.0776.4055.6887.8086.4084.0074.4073.0059.0080.2073.9037.5075.8285.6079.2079.5035.9035.30
DEEPSEEK-V4-PRO-081386.3976.6075.9294.9795.4892.6183.4382.5280.0087.5579.6872.1455.0995.6888.3186.0449.8748.05
MEDGEMMA-27B72.7473.4074.8084.4085.0083.8071.9073.0048.0080.3069.6081.4024.1056.4073.7068.8019.1020.50
GEMMA4-31B80.2577.6076.9887.4087.9085.9073.0077.9079.0082.0076.8079.6053.1086.1076.0074.4454.6048.90
GEMMA4-26B-A4B75.8676.4072.0081.8084.5082.3067.3073.5067.0078.3071.5086.5045.6080.7073.7067.5045.1039.20

Chat quality

<p align="center"> <img src="healthbench.png" alt="HealthBench Main / Professional / Consensus" style="width: 100%;"> </p>

Model[HealthBench Main](https://github.com/openai/simple-evals)[HealthBench Professional](https://github.com/openai/simple-evals)[HealthBench Consensus](https://github.com/openai/simple-evals)
**L1-30B-A5B**52.8140.0190.15
GPT-OSS-120B50.4923.7778.72
GPT-5.6-SOL56.5963.1884.98
GPT-5.6-TERRA52.7859.3684.55
GPT-5.6-LUNA50.7355.0783.60
KIMI-K2.656.7143.6890.68
QWEN3.6-35B-A3B55.3941.9188.29
QWEN3.8-27B52.7131.4284.78
QWEN3.5-122B-A10B51.2843.5586.88
DEEPSEEK-V4-PRO-081351.2333.9987.43
MEDGEMMA-27B43.3611.9382.18
GEMMA4-31B46.7231.9287.60
GEMMA4-26B-A4B46.6631.1986.85
[!NOTE] HealthBench rubric items are graded by an LLM judge: `zai-org/GLM-5.2-FP8`, thinking disabled (chat_template_kwargs.enable_thinking: false). GLM was chosen because it grades more strictly than the GPT-family judges and keeps a GPT model from judging its own family.

πŸš€ Quickstart

⚠️ Required settings

`repetition_penalty = 1.05` β€” at the default 1.0 the model degenerates into repeated phrases on long clinical answers. It ships in generation_config.json, but any client that sets its own sampling parameters overrides that. It is not an OpenAI API parameter β€” through the OpenAI SDK it must go in extra_body or it is dropped silently.

System prompt β€” the identity line the model was aligned on, and the one every benchmark number below used. Task-specific prompts go after it, not instead of it.

python
client.chat.completions.create(
    model="learning-unit/L1-30B-A5B",
    messages=[{"role": "system", "content": "You are Chain-of-Evidence, a medical AI assistant developed by Lunit."}, *messages],
    temperature=0.0,          # 0.0 for benchmarks and deterministic clinical tasks
    top_p=1.0,
    max_tokens=32768,
    extra_body={"repetition_penalty": 1.05},
)

SGLang

Native GravityMoE support is being upstreamed to SGLang. Until that work is merged, use Trillion Labs' `sglang-gravity` fork, which registers GravityMoEForCausalLM on SGLang's DeepSeek-V3-compatible implementation.

bash
pip install "sglang[all] @ git+https://github.com/trillion-labs/sglang-gravity.git#subdirectory=python"

Launch the server with the same GravityMoE deployment path as the base model, substituting the L1 checkpoint:

bash
python3 -m sglang.launch_server \
  --model-path learning-unit/L1-30B-A5B \
  --host 0.0.0.0 --port 30000 \
  --tp 4 --context-length 131072 \
  --trust-remote-code --dtype bfloat16

Transformers

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

name = "learning-unit/L1-30B-A5B"
model = AutoModelForCausalLM.from_pretrained(name, torch_dtype=torch.bfloat16,
                                             device_map="auto", trust_remote_code=True)
tok = AutoTokenizer.from_pretrained(name, trust_remote_code=True)

messages = [
    {"role": "system", "content": "You are Chain-of-Evidence, a medical AI assistant developed by Lunit."},
    {"role": "user", "content": "성인 ν™˜μžμ—μ„œ Obstructive sleep apneaκ°€ μ˜μ‹¬λ  λ•Œ, 진단을 μœ„ν•΄ μ–΄λ–€ 검사λ₯Ό μ‹œν–‰ν•˜κ³  μ–΄λŠ μ „λ¬Έκ³Όλ‘œ μ˜λ’°ν•˜λŠ” 것이 μ ν•©ν•œκ°€μš”?"},
]
inputs = tok([tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)],
             return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=2048, do_sample=True, temperature=0.7,
                     repetition_penalty=1.05)
print(tok.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

πŸ”§ Tool use

Tool calling was trained end-to-end against Lunit's own RAG harness β€” the Chain-of-Evidence MCP servers, with tool schemas frozen at a snapshot. Two consequences:

  • β€”Handed a tool that looks nothing like a retrieval tool, the model often answers from parametric knowledge instead of calling it. Force it with tool_choice: "required", or keep your schema close to what it knows: a query string plus optional filters, returning ranked passages with stable ids.
  • β€”Citation markers index into what the retrieval tool returned that turn. With no retrieval tool attached they have nothing to point at.

πŸ’¬ Examples

Representative prompts per capability. πŸ”§ expects a retrieval tool call first.

πŸ‡°πŸ‡· Korean clinical practice

  • β€”κ΅­μ‹œμ› κ΅­κ°€κ³ μ‹œ β€” 65μ„Έ 남성, 3κ°œμ›”κ°„ κΈ°μΉ¨κ³Ό 체쀑 κ°μ†Œ, 30κ°‘λ…„ 흑연λ ₯, 흉뢀 X선상 μš°μƒμ—½ 3 cm 결절. κ°€μž₯ λ¨Όμ € μ‹œν–‰ν•  κ²€μ‚¬λŠ”? β‘  흉뢀 CT β‘‘ 객담 세포검사 β‘’ κΈ°κ΄€μ§€λ‚΄μ‹œκ²½ β‘£ PET-CT β‘€ 경피적 세침흑인생검
  • β€”KTAS 응급 λΆ„λ₯˜ β€” 이 ν™˜μžμ˜ KTAS 쀑증도(1–5)λ₯Ό λΆ„λ₯˜ν•˜μ„Έμš”. [ν™˜μž] 78μ„Έ μ—¬μ„±, 22μ‹œκ²½ κ°‘μžκΈ° 쒌츑 μ•ˆλ©΄λ§ˆλΉ„μ™€ ꡬ음μž₯μ• , 두톡 ν˜Έμ†Œ, κ³ ν˜ˆμ•• 병λ ₯, BP 172/88, HR 92, SpOβ‚‚ 98%, μ˜μ‹ λͺ…λ£Œ.
  • —응급싀 감별진단 β€” 54μ„Έ 남성, 2μ‹œκ°„ μ „ μ‹œμž‘λœ 상볡뢀 톡증과 식은땀, 30κ°‘λ…„ 흑연·당뇨, BP 148/92 HR 104, 심전도 미확인. λ†“μΉ˜λ©΄ μ•ˆ λ˜λŠ” 진단뢀터 μš°μ„ μˆœμœ„λ‘œ.
  • —청ꡬ κ΄€λ ¨ 업무 πŸ”§ β€” λ§Œμ„± νŠΉλ°œμ„± λ‘λ“œλŸ¬κΈ°μ— μ˜€λ§λ¦¬μ£Όλ§™ κΈ‰μ—¬ 인정기쀀과 인정 νˆ¬μ—¬ 기간을 κ·Όκ±° κ³ μ‹œμ™€ ν•¨κ»˜. / ν”„λ ˆκ°€λ°œλ¦° 75 mg μ²˜λ°©μ— 상병이 M54.5 ν•˜λ‚˜μΈ 청ꡬ 건, λˆ„λ½λœ 인정상병이 μžˆλŠ”μ§€.
  • β€”μ˜λ£Œ 법령 πŸ”§ β€” μ§„λ£ŒκΈ°λ‘λΆ€ 보쑴기간과, μ „μžμ˜λ¬΄κΈ°λ‘μ„ μ™ΈλΆ€ ν΄λΌμš°λ“œμ— 보관할 λ•Œμ˜ μš”κ±΄μ„ κ·Όκ±° μ‘°λ¬Έκ³Ό ν•¨κ»˜.

🧠 Clinical reasoning

  • β€”Differential diagnosis β€” 45F with lupus nephritis on mycophenolate and prednisone, fever, dry cough, bilateral ground-glass opacities, CD4 180. Differential and workup?
  • β€”ADR causality β€” 80μ„Έ μ—¬μ„±, moxifloxacin 400 mg IV νˆ¬μ—¬ 쀑 μ „μ‹  μ†Œμ–‘κ° λ°œμƒ, 쀑단 ν›„ ν˜Έμ „, μž¬νˆ¬μ—¬ μ—†μŒ. WHO-UMC κΈ°μ€€μœΌλ‘œ 인과관계 평가.
  • β€”Clinical calculation β€” 72μ„Έ 남성, 68 kg, Cr 1.4 mg/dL. Cockcroft-Gault 둜 CrCl 계산 ν›„ μ•„ν”½μ‚¬λ°˜ μš©λŸ‰ μ‘°μ • ν•„μš” μ—¬λΆ€.

πŸ“š Evidence & communication

  • β€”Literature Q&A πŸ”§ β€” Does perioperative continuation of SGLT2 inhibitors increase euglycemic DKA risk? Cite every claim.
  • β€”Guideline Q&A πŸ”§ β€” 2ν˜• λ‹Ήλ‡¨μ—μ„œ SGLT2 μ–΅μ œμ œλ₯Ό 1μ°¨ μ•½μ œλ‘œ κ³ λ €ν•  수 μžˆλŠ” 쑰건을 μ§€μΉ¨ 근거와 ν•¨κ»˜.
  • β€”Patient education β€” I use insulin daily. How should I store it at home?
  • β€”Clinical documentation β€” Overnight progress note from labs, vitals, and a stable nursing report.

⚠️ Limitations

  • β€”Not a substitute for professional medical judgment. Outputs may be wrong, incomplete, or outdated, and need review by a qualified clinician.
  • β€”Knowledge is frozen at the training cutoff β€” guidelines, κ³ μ‹œ, and drug approvals move. Korean reimbursement answers in particular must be re-verified against current notices.
  • β€”Thinking costs tokens. <think> reasoning raises latency and token use.
  • β€”Tool calling is harness-shaped. Quality degrades the further your tool schemas drift from the ones it was trained on. See Tool use above.

πŸ“ Citation

bibtex
@misc{lunit2026l1_30b,
  title={L1-30B-A5B: A Korean-Locale Clinical Language Model by Lunit},
  author={Lunit},
  year={2026},
  url={https://huggingface.co/learning-unit/L1-30B-A5B}
}

🀝 Acknowledgements

This work was supported by the Domain-Specific Foundation Model Project (인곡지λŠ₯ νŠΉν™” νŒŒμš΄λ°μ΄μ…˜ λͺ¨λΈ ν”„λ‘œμ νŠΈ), funded by the Ministry of Science and ICT (κ³Όν•™κΈ°μˆ μ •λ³΄ν†΅μ‹ λΆ€) and managed by the National IT Industry Promotion Agency (NIPA).

L1-30B-A5B is a collaborative effort by the following consortium members:

Industry

  • β€”Lunit
  • β€”Trillion Labs
  • β€”SK Biopharmaceuticals
  • β€”Kakao Healthcare
  • β€”AIGEN Sciences
  • β€”D-Circle
  • β€”Rebellions
  • β€”Standigm

Academia

  • β€”Prof. Choi Yun-jae's Lab from KAIST
  • β€”Prof. Hong Seung-hoon's Lab from KAIST
  • β€”Prof. Jung Yu-seong's Lab from SNU
  • β€”Prof. Kim Hyun-woo's Lab from KAIST
  • β€”Prof. Kim Tae-gyun's Lab from KAIST
  • β€”Prof. Ye Jong-cheol's Lab from KAIST

Hospitals

  • β€”NHIS Ilsan Hospital
  • β€”Ewha Womans University Seoul Hospital
  • β€”Keimyung University Dongsan Medical Center
  • β€”Konyang University Hospital
  • β€”Korea University Research & Business Foundation
  • β€”Kyung Hee University Hospital at Gangdong
  • β€”Kyung Hee University Medical Center
  • β€”Pusan National University Yangsan Hospital
  • β€”Yongin Severance Hospital

<p align="center"> <img src="consortium.png" alt="Consortium Members" style="width: 80%;"> </p>

πŸ“„ License

This model is licensed under the Apache 2.0 License.

πŸ“¬ Contact