A team researchers from China have released AntAngelMed, a large open-source medical language model that the team describes as the largest and most capable of its kind currently available.
What Is AntAngelMed?
AntAngelMed is a medical-domain language model with 103 billion total parameters, but it does not activate all of those parameters during inference. Instead, it uses a Mixture-of-Experts (MoE) architecture with a 1/32 activation ratio, meaning only 6.1 billion parameters are active at any given time when processing a query.
It helps to know how MoE architectures work. In a standard dense model, every parameter participates in processing every token. In an MoE model, the network is divided into many ‘expert’ sub-networks, and a routing mechanism selects only a small subset of them to handle each input. This allows you to have a very large total parameter count — which typically correlates with strong knowledge capacity — while keeping the actual compute cost of inference proportional to the smaller active parameter count.
AntAngelMed inherits this design from Ling-flash-2.0, a base model developed by inclusionAI and guided by what the team calls Ling Scaling Laws. The specific optimizations layered on top include: refined expert granularity, a tuned shared expert ratio, attention balance mechanisms, sigmoid routing without auxiliary loss, an MTP (Multi-Token Prediction) layer, QK-Norm, and Partial-RoPE (Rotary Position Embedding applied to a subset of attention heads rather than all of them). According to the research team, these design choices together allow small-activation MoE models to deliver up to 7× efficiency compared to similarly sized dense architectures which means with only 6.1B activated parameters, AntAngelMed can match roughly 40B dense model performance. Separately, as output length grows during inference, the relative speed advantage can also reach 7× or more over dense models of comparable size.
Training Pipeline
AntAngelMed uses a three-stage training process designed to layer general language understanding on top of deep medical domain adaptation.
The first stage is continual pre-training on large-scale medical corpora, including encyclopedias, web text, and academic publications. This phase is built on top of the Ling-flash-2.0 checkpoint, giving the model a strong general reasoning foundation before medical specialization begins.
The second stage is Supervised Fine-Tuning (SFT), where the model is trained on a multi-source instruction dataset. This dataset mixes general reasoning tasks — math, programming, logic — to preserve chain-of-thought capabilities, alongside medical scenarios such as doctor–patient Q&A, diagnostic reasoning, and safety and ethics cases.
The third stage is Reinforcement Learning using the GRPO (Group Relative Policy Optimization) algorithm, combined with task-specific reward models. GRPO, originally introduced in the DeepSeekMath paper, is a variant of PPO that estimates baselines from group scores rather than a separate critic model, making it computationally lighter. Here, reward signals are designed to shape model behavior toward empathy, structured clinical responses, safety boundaries, and evidence-based reasoning — all with the goal of reducing hallucinations on medical questions.
Inference Performance
On H20 hardware, AntAngelMed exceeds 200 tokens per second, which the research team reports is approximately 3× faster than a 36 billion parameter dense model. With YaRN (Yet Another RoPE extensioN) extrapolation, it supports a 128K context length — long enough to handle full clinical documents, extended patient histories, or multi-turn medical dialogues.
The research team has also released an FP8 quantized version of the model. When this quantization is combined with EAGLE3 speculative decoding optimization, inference throughput at a concurrency of 32 improves significantly over FP8 alone: 71% on HumanEval, 45% on GSM8K, and 94% on Math-500. These benchmarks measure coding and math reasoning tasks — not medical tasks directly — but serve as proxies for the model’s general throughput stability across output types.
Benchmark Results
On HealthBench, the open-source medical evaluation benchmark from OpenAI that uses simulated multi-turn medical dialogues to measure real-world clinical performance, AntAngelMed ranks first among all open-source models and surpasses a range of top proprietary models as well, with a particularly significant advantage on the HealthBench-Hard subset.
On MedAIBench, an evaluation system maintained by China’s National Artificial Intelligence Medical Industry Pilot Facility, AntAngelMed ranks at the top level, with particularly strong scores in medical knowledge Q&A and medical ethics and safety categories.
On MedBench, a benchmark for Chinese healthcare LLMs covering 36 independently curated datasets and approximately 700,000 samples across five dimensions — medical knowledge question answering, medical language understanding, medical language generation, complex medical reasoning, and safety and ethics — AntAngelMed ranks first overall.
Marktechpost’s Visual Explainer
#aam-wrap { all: initial !important; display: block !important; }
#aam-wrap *, #aam-wrap *::before, #aam-wrap *::after { box-sizing: border-box !important; }
#aam-wrap .aam-shell {
display: block !important;
background: #111111 !important;
border: 1px solid #2a2a2a !important;
border-radius: 12px !important;
overflow: hidden !important;
max-width: 860px !important;
margin: 0 auto !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
-webkit-font-smoothing: antialiased !important;
}
/* ── TOP BAR ── */
#aam-wrap .aam-topbar {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
background: #0c0c0c !important;
border-bottom: 1px solid #222 !important;
padding: 13px 22px !important;
height: 48px !important;
}
#aam-wrap .aam-topbar-l {
display: flex !important;
align-items: center !important;
gap: 10px !important;
}
#aam-wrap .aam-badge {
display: inline-block !important;
background: #76B900 !important;
color: #111111 !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 9px !important;
font-weight: 800 !important;
letter-spacing: 2.5px !important;
text-transform: uppercase !important;
padding: 3px 9px !important;
border-radius: 3px !important;
line-height: 1.4 !important;
}
#aam-wrap .aam-name {
display: inline-block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11px !important;
color: #555555 !important;
letter-spacing: 0.3px !important;
line-height: 1 !important;
}
#aam-wrap .aam-counter {
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11px !important;
color: #444444 !important;
letter-spacing: 1px !important;
line-height: 1 !important;
}
#aam-wrap .aam-counter b {
color: #76B900 !important;
font-weight: 700 !important;
}
/* ── PROGRESS BAR ── */
#aam-wrap .aam-prog-track {
display: block !important;
height: 2px !important;
background: #1c1c1c !important;
width: 100% !important;
}
#aam-wrap .aam-prog-fill {
display: block !important;
height: 2px !important;
background: #76B900 !important;
transition: width 0.4s ease !important;
}
/* ── VIEWPORT ── */
#aam-wrap .aam-viewport {
display: block !important;
overflow: hidden !important;
width: 100% !important;
background: #111111 !important;
}
#aam-wrap .aam-track {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
will-change: transform !important;
background: #111111 !important;
}
/* ── SLIDES ── */
#aam-wrap .aam-slide {
display: block !important;
flex-shrink: 0 !important;
width: 100% !important;
padding: 34px 32px 30px !important;
background: #111111 !important;
min-height: 400px !important;
}
/* slide label */
#aam-wrap .aam-slide-label {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 9px !important;
font-weight: 700 !important;
letter-spacing: 3px !important;
text-transform: uppercase !important;
color: #76B900 !important;
margin: 0 0 10px 0 !important;
padding: 0 !important;
line-height: 1.2 !important;
}
/* slide title */
#aam-wrap .aam-slide-title {
display: block !important;
font-family: ‘DM Sans’, ‘Segoe UI’, Arial, sans-serif !important;
font-size: 21px !important;
font-weight: 800 !important;
color: #ffffff !important;
line-height: 1.25 !important;
margin: 0 0 6px 0 !important;
padding: 0 !important;
letter-spacing: -0.3px !important;
}
/* slide subtitle */
#aam-wrap .aam-slide-sub {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 12.5px !important;
color: #555555 !important;
line-height: 1.55 !important;
margin: 0 0 24px 0 !important;
padding: 0 !important;
}
/* body text */
#aam-wrap .aam-p {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 13px !important;
color: #b8b8b8 !important;
line-height: 1.75 !important;
margin: 0 0 14px 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-p:last-child { margin-bottom: 0 !important; }
#aam-wrap .aam-p strong { color: #ffffff !important; font-weight: 700 !important; }
#aam-wrap .aam-p em { color: #76B900 !important; font-style: normal !important; font-weight: 600 !important; }
/* ── STAT STRIP ── */
#aam-wrap .aam-stats {
display: flex !important;
flex-direction: row !important;
gap: 10px !important;
margin: 0 0 22px 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-stat {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
flex: 1 !important;
background: #191919 !important;
border: 1px solid #272727 !important;
border-top: 2px solid #76B900 !important;
border-radius: 8px !important;
padding: 16px 12px !important;
text-align: center !important;
}
#aam-wrap .aam-stat-val {
display: block !important;
font-family: ‘DM Sans’, ‘Segoe UI’, Arial, sans-serif !important;
font-size: 22px !important;
font-weight: 900 !important;
color: #76B900 !important;
line-height: 1.1 !important;
margin: 0 0 5px 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-stat-lbl {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 9.5px !important;
color: #555555 !important;
text-transform: uppercase !important;
letter-spacing: 1.5px !important;
line-height: 1.3 !important;
margin: 0 !important;
padding: 0 !important;
}
/* ── TAGS ── */
#aam-wrap .aam-tags {
display: flex !important;
flex-wrap: wrap !important;
gap: 6px !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-tag {
display: inline-block !important;
background: #1a1a1a !important;
border: 1px solid #2c2c2c !important;
color: #76B900 !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11px !important;
font-weight: 600 !important;
padding: 4px 10px !important;
border-radius: 4px !important;
line-height: 1.4 !important;
}
/* ── PIPELINE STEPS ── */
#aam-wrap .aam-steps {
display: flex !important;
flex-direction: column !important;
gap: 10px !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-step {
display: block !important;
background: #181818 !important;
border: 1px solid #262626 !important;
border-left: 3px solid #76B900 !important;
border-radius: 6px !important;
padding: 14px 16px !important;
}
#aam-wrap .aam-step-num {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 9px !important;
font-weight: 700 !important;
color: #76B900 !important;
letter-spacing: 2px !important;
text-transform: uppercase !important;
margin: 0 0 3px 0 !important;
padding: 0 !important;
line-height: 1.3 !important;
}
#aam-wrap .aam-step-title {
display: block !important;
font-family: ‘DM Sans’, ‘Segoe UI’, Arial, sans-serif !important;
font-size: 12.5px !important;
font-weight: 700 !important;
color: #ffffff !important;
margin: 0 0 5px 0 !important;
padding: 0 !important;
line-height: 1.3 !important;
}
#aam-wrap .aam-step-body {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 12px !important;
color: #888888 !important;
line-height: 1.65 !important;
margin: 0 !important;
padding: 0 !important;
}
/* ── PERF CARDS ── */
#aam-wrap .aam-perf-grid {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 10px !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-perf-card {
display: block !important;
background: #181818 !important;
border: 1px solid #262626 !important;
border-radius: 8px !important;
padding: 16px 14px !important;
}
#aam-wrap .aam-perf-val {
display: block !important;
font-family: ‘DM Sans’, ‘Segoe UI’, Arial, sans-serif !important;
font-size: 18px !important;
font-weight: 800 !important;
color: #76B900 !important;
margin: 0 0 5px 0 !important;
padding: 0 !important;
line-height: 1.2 !important;
}
#aam-wrap .aam-perf-desc {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11.5px !important;
color: #666666 !important;
line-height: 1.55 !important;
margin: 0 !important;
padding: 0 !important;
}
/* ── TABLE ── */
#aam-wrap .aam-table {
display: table !important;
width: 100% !important;
border-collapse: collapse !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 12px !important;
margin: 0 !important;
padding: 0 !important;
background: transparent !important;
}
#aam-wrap .aam-table thead { display: table-header-group !important; }
#aam-wrap .aam-table tbody { display: table-row-group !important; }
#aam-wrap .aam-table tr { display: table-row !important; }
#aam-wrap .aam-table th {
display: table-cell !important;
background: #181818 !important;
color: #76B900 !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 9px !important;
text-transform: uppercase !important;
letter-spacing: 1.5px !important;
padding: 10px 12px !important;
text-align: left !important;
border-bottom: 1px solid #2a2a2a !important;
font-weight: 700 !important;
line-height: 1.4 !important;
}
#aam-wrap .aam-table td {
display: table-cell !important;
padding: 11px 12px !important;
border-bottom: 1px solid #1e1e1e !important;
color: #aaaaaa !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11.5px !important;
line-height: 1.6 !important;
vertical-align: top !important;
background: transparent !important;
}
#aam-wrap .aam-table tr:last-child td { border-bottom: none !important; }
#aam-wrap .aam-table td strong { color: #eeeeee !important; font-weight: 700 !important; }
#aam-wrap .aam-table td.aam-td-rank { color: #76B900 !important; font-weight: 700 !important; }
#aam-wrap .aam-table td small {
display: block !important;
font-size: 10px !important;
color: #444444 !important;
margin: 2px 0 0 0 !important;
padding: 0 !important;
line-height: 1.3 !important;
}
/* ── CODE ── */
#aam-wrap pre.aam-pre {
display: block !important;
background: #0d0d0d !important;
border: 1px solid #222222 !important;
border-left: 3px solid #76B900 !important;
border-radius: 6px !important;
padding: 16px 18px !important;
overflow-x: auto !important;
margin: 0 0 14px 0 !important;
white-space: pre !important;
word-wrap: normal !important;
}
#aam-wrap pre.aam-pre code {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11px !important;
color: #c8e6a0 !important;
line-height: 1.7 !important;
background: none !important;
border: none !important;
padding: 0 !important;
margin: 0 !important;
white-space: pre !important;
}
/* ── LINKS ── */
#aam-wrap .aam-links {
display: flex !important;
flex-wrap: wrap !important;
gap: 8px !important;
margin: 0 0 22px 0 !important;
padding: 0 !important;
}
#aam-wrap a.aam-link {
display: inline-flex !important;
align-items: center !important;
gap: 6px !important;
background: #1a1a1a !important;
border: 1px solid #2e2e2e !important;
color: #76B900 !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11.5px !important;
font-weight: 600 !important;
padding: 9px 14px !important;
border-radius: 6px !important;
text-decoration: none !important;
line-height: 1 !important;
cursor: pointer !important;
}
#aam-wrap a.aam-link:hover { background: #222222 !important; color: #8fd400 !important; text-decoration: none !important; }
/* ── CREDIT BOX ── */
#aam-wrap .aam-credit {
display: block !important;
background: #181818 !important;
border: 1px solid #222222 !important;
border-radius: 8px !important;
padding: 14px 16px !important;
margin: 0 !important;
}
#aam-wrap .aam-credit p {
display: block !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
font-size: 11px !important;
color: #555555 !important;
line-height: 1.7 !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-credit p em { color: #76B900 !important; font-style: normal !important; }
/* ── BOTTOM NAV ── */
#aam-wrap .aam-nav {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
background: #0c0c0c !important;
border-top: 1px solid #1e1e1e !important;
padding: 13px 22px !important;
height: 56px !important;
}
#aam-wrap .aam-dots {
display: flex !important;
align-items: center !important;
gap: 6px !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-dot {
display: block !important;
width: 6px !important;
height: 6px !important;
border-radius: 50% !important;
background: #2e2e2e !important;
border: none !important;
padding: 0 !important;
margin: 0 !important;
cursor: pointer !important;
transition: background 0.2s, width 0.25s !important;
outline: none !important;
}
#aam-wrap .aam-dot.on {
background: #76B900 !important;
width: 20px !important;
border-radius: 3px !important;
}
#aam-wrap .aam-btns {
display: flex !important;
gap: 8px !important;
margin: 0 !important;
padding: 0 !important;
}
#aam-wrap .aam-btn {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 36px !important;
height: 36px !important;
background: #1c1c1c !important;
border: 1px solid #2c2c2c !important;
border-radius: 6px !important;
color: #76B900 !important;
font-size: 15px !important;
font-family: ‘DM Mono’, ‘Courier New’, monospace !important;
cursor: pointer !important;
line-height: 1 !important;
padding: 0 !important;
margin: 0 !important;
outline: none !important;
transition: background 0.2s !important;
}
#aam-wrap .aam-btn:hover { background: #242424 !important; }
#aam-wrap .aam-btn:disabled { opacity: 0.25 !important; cursor: default !important; }
/* ── DIVIDER ── */
#aam-wrap .aam-divider {
display: block !important;
height: 1px !important;
background: #202020 !important;
border: none !important;
margin: 20px 0 !important;
padding: 0 !important;
}
/* ── MOBILE ── */
@media (max-width: 640px) {
#aam-wrap .aam-slide { padding: 24px 18px 20px !important; min-height: 460px !important; }
#aam-wrap .aam-slide-title { font-size: 17px !important; }
#aam-wrap .aam-stats { flex-direction: row !important; flex-wrap: wrap !important; }
#aam-wrap .aam-stat { min-width: calc(50% – 5px) !important; }
#aam-wrap .aam-perf-grid { grid-template-columns: 1fr !important; }
#aam-wrap .aam-topbar, #aam-wrap .aam-nav { padding: 12px 16px !important; }
#aam-wrap .aam-table { font-size: 11px !important; }
#aam-wrap .aam-table th, #aam-wrap .aam-table td { padding: 8px 9px !important; }
}
(function(){
var TOTAL = 7;
var cur = 0;
var vp = document.getElementById(‘aam-vp’);
var track = document.getElementById(‘aam-track’);
var prog = document.getElementById(‘aam-prog’);
var curEl = document.getElementById(‘aam-cur’);
var prev = document.getElementById(‘aam-prev’);
var next = document.getElementById(‘aam-next’);
var dots = document.getElementById(‘aam-dots’);
function getSlideW(){ return vp.offsetWidth; }
// Build dots
for(var i = 0; i < TOTAL; i++){
var d = document.createElement('button');
d.className = 'aam-dot' + (i === 0 ? ' on' : '');
d.setAttribute('data-i', i);
(function(idx){
d.addEventListener('click', function(){ go(idx); });
})(i);
dots.appendChild(d);
}
function go(idx){
if(idx = TOTAL) return;
cur = idx;
track.style.transform = ‘translateX(-‘ + (cur * getSlideW()) + ‘px)’;
prog.style.width = ((cur + 1) / TOTAL * 100) + ‘%’;
curEl.textContent = cur + 1;
prev.disabled = cur === 0;
next.disabled = cur === TOTAL – 1;
var allDots = dots.querySelectorAll(‘.aam-dot’);
for(var i = 0; i 40) go(diff > 0 ? cur + 1 : cur – 1);
}, {passive: true});
})();
Key Takeaways
- AntAngelMed is a 103B-parameter open-source medical LLM that activates only 6.1B parameters at inference time using a 1/32 activation-ratio MoE architecture inherited from Ling-flash-2.0.
- It uses a three-stage training pipeline: continual pre-training on medical corpora, SFT with mixed general and clinical instruction data, and GRPO-based reinforcement learning for safety and diagnostic reasoning.
- On H20 hardware, the model exceeds 200 tokens/s and supports 128K context length via YaRN extrapolation — roughly 3× faster than a comparable 36B dense model.
- AntAngelMed ranks first among open-source models on OpenAI’s HealthBench, surpasses several proprietary models, and tops both MedAIBench and MedBench leaderboards.
- The model is available on Hugging Face, ModelScope, and GitHub; model weights are Apache 2.0, code is MIT, and an FP8 quantized version is also released.
Check out the Model Weights on HF, GitHub Repo and Technical details. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post Meet AntAngelMed: A 103B-Parameter Open-Source Medical Language Model Built on a 1/32 Activation-Ratio MoE Architecture appeared first on MarkTechPost.




