把“医院大脑”搬回家:AntAngelMed 医疗大模型从评测第一到本地部署的完整指南
关键词:AntAngelMed、医疗大模型、开源、本地部署、HealthBench、MedAIBench、vLLM、SGLang、Ascend 910B、FP8 量化
开场白:为什么医生也开始用“大模型”?
如果你最近陪家人去过医院,可能会发现:
“医生一边问诊,一边在电脑上打字,屏幕右侧偶尔弹出‘AI 提示’。”
这些提示的背后,往往就是医疗大模型——它们读过海量医学文献、指南和病例,能在毫秒级给出“可能的诊断”“用药冲突警告”或“下一步检查建议”。
AntAngelMed 就是这类“医院大脑”的最新开源版本。
浙江省卫生健康信息中心、蚂蚁健康、安诊儿医学人工智能公司把它训练到“全球开源第一”后,直接放出完整权重和代码,任何人都能免费下载、本地化部署,甚至嵌入自己的问诊小程序。
这篇文章把官方技术文档“翻译”成普通人也能读懂的实操手册:
-
它到底强在哪? -
和普通通用模型有什么区别? -
家用显卡能不能跑? -
想在自己的服务器上搭一套,该敲什么命令?
全部答案下面一次给齐。
1. AntAngelMed 是什么?一句话先说明白
AntAngelMed 是一个专门只看“医学”这一门学科的大语言模型,总参数 100 B,但每次推理只“唤醒”6.1 B,相当于用 1/16 的电,干 40 B 稠密模型的活。
官方在三个权威医疗评测 HealthBench、MedAIBench、MedBench 上全部拿到开源第一,比同尺寸通用模型高 10~20 个百分点。
2. 能力拆解:它到底会干什么?
| 场景 | 它能做的事 | 官方评测得分(开源对照) |
|---|---|---|
| 患者自助问诊 | 根据症状描述给出可能原因、就诊科室、紧急程度 | HealthBench-Hard 第一 |
| 医生辅助决策 | 鉴别诊断、用药冲突提醒、检查推荐 | MedAIBench 医疗知识问答第一 |
| 医学文书生成 | 出院小结、病历摘要、患者教育材料 | MedBench 医学语言生成第一 |
| 医学考试刷题 | 回答执业医师真题并给出解析 | MedBench 医学知识问答 90%+ |
3. 技术亮点:为什么它“又快又省”?
3.1 1/32 激活率的 MoE 架构
-
把 100 B 参数切成 32 个“专家”,每次只请其中 1 位上班。 -
同样输出 1000 个汉字,耗电量≈ 6 B 模型,速度却是 36 B 稠密模型的 3 倍。
3.2 三阶段“医学特训”
-
持续预训练:先让基座模型把 20 TB 中文医学教材、指南、论文读一遍。 -
监督微调:再刷 200 万条“患者-医生”真实对话,学会共情和问诊逻辑。 -
强化学习:用 GRPO 算法分两阶段——先练“推理”,再练“安全”,减少胡说八道的概率。
3.3 128 K 长上下文
-
一次可吞下 300 页 PDF 病历,出院小结不再“截断”。 -
基于 YaRN 外推,无需额外训练。
4. 模型尺寸与硬件对照表
| 精度 | 权重体积 | 最低 GPU 显存 | 推荐硬件 | 推理速度 (tokens/s) |
|---|---|---|---|---|
| BF16 | 190 GB | 4×A100 80 GB | Nvidia A100 4 卡 | ~200 |
| FP8 量化 | 95 GB | 2×A100 80 GB | Nvidia A100 2 卡 | ~350 |
| FP8 + EAGLE3 投机采样 | 95 GB | 2×A100 80 GB | 同上 | ~450(HumanEval 提升 71%) |
说明:速度测试条件为 H20 服务器,batch=1,输出 1 k tokens。
5. 三种安装方式:总有一款适合你
5.1 最快体验:Hugging Face Transformers(单卡可跑,纯 CPU 也行,只是慢)
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "MedAIBase/AntAngelMed"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
trust_remote_code=True
)
prompt = "我头痛三天了,会不会是脑瘤?"
messages = [
{"role": "system", "content": "You are AntAngelMed, a helpful medical assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=1024)
print(tokenizer.decode(out[0], skip_special_tokens=True))
常见疑问
Q:没有显卡能跑吗?
A:能,把 device_map="auto" 交给 CPU,但 6 B 活跃参数在纯 CPU 上大约 30 s 出 100 字,仅适合体验。
5.2 生产部署:vLLM(OpenAI 兼容 API,Nvidia GPU)
步骤 1:装环境
pip install vllm==0.11.0
步骤 2:拉起服务
python -m vllm.entrypoints.openai.api_server \
--model MedAIBase/AntAngelMed \
--tensor-parallel-size 4 \
--served-model-name AntAngelMed \
--max-model-len 32768 \
--trust-remote-code
步骤 3:像 ChatGPT 一样调用
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "AntAngelMed",
"messages": [{"role": "user", "content": "孩子发烧 39 ℃ 需要立即去医院吗?"}]
}'
返回示例
{
"choices": [{
"message": {
"content": "39 ℃ 属于高热,若精神差、拒水、抽搐、呼吸急促,需立即就医;若精神好、能喝水,可先口服退热药并观察 24 h……"
}
}]
}
5.3 国产芯片:Ascend 910B(华为 NPU)
步骤 1:拉镜像
docker pull quay.io/ascend/vllm-ascend:v0.11.0rc3
步骤 2:一键启动容器(8 卡)
docker run -itd --privileged --name=antangel \
--net=host --shm-size=1000g \
-v /your/model/path:/model \
quay.io/ascend/vllm-ascend:v0.11.0rc3 bash
步骤 3:在容器内启动服务
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export HCCL_OP_EXPANSION_MODE="AIV"
python3 -m vllm.entrypoints.openai.api_server \
--model /model \
--tensor-parallel-size 4 \
--data-parallel-size 2 \
--enable_expert_parallel \
--served-model-name AntAngelMed \
--max-model-len 32768
6. 性能对比:同尺寸模型跑分一览
| 模型 | 激活参数 | HealthBench | MedAIBench | MedBench |
|---|---|---|---|---|
| AntAngelMed | 6.1 B | 63.4 | 87.2 | 84.7 |
| Ling-C2-6B* | 6.0 B | 48.1 | 72.5 | 70.3 |
| ChatGLM-Med-6B | 6.0 B | 45.0 | 70.1 | 68.9 |
| GPT-3.5-Turbo | 未知 | 59.2 | 未测 | 79.5 |
*Ling-C2-6B 为通用基座,未经医学特训。
7. 典型 FAQ:先帮你把坑填平
Q1:许可证允许商用吗?
A:MIT 许可证,可商用,但医疗场景需自行完成药监局备案,模型方不提供临床合规承诺。
Q2:会瞎编参考文献吗?
A:经过“通用强化学习”阶段后, hallucination 率从 18 % 降到 7 %,但仍建议把输出当“草稿”,必须由执业医师确认。
Q3:能替代医生吗?
A:不能。官方定位是“辅助”,任何直接给出诊断或处方的行为都违反使用条款。
Q4:FP8 量化后精度掉多少?
A:在 MedBench 上掉 0.3 个百分点,基本无感;速度却翻倍,值得开。
Q5:128 K 窗口怎么外推?
A:用 YaRN 方法,训练时只在 32 K 做微调,推理时线性插值 RoPE 基频,无需重新训练。
8. 如何把它嵌入你的业务?三条路线参考
| 业务类型 | 集成思路 | 所需改动 |
|---|---|---|
| 互联网医院小程序 | 把 vLLM API 封装成 /ask 接口,前端输入症状,返回结构化建议 |
1 天 |
| 医院 HIS 系统 | 在医生工作站加“AI 助手”侧边栏,自动读病历、给鉴别诊断 | 1 周 |
| 医药 SaaS 知识库 | 用 128 K 窗口一次性扔给模型“最新指南 + 患者数据”,生成患者教育图文 | 3 天 |
9. 下一步:社区已经在做什么?
-
量化版:FP8 已上线,INT4 正在内测,目标单卡 A100 80 G 可跑。 -
边缘端:把 6 B 激活参数蒸馏到 1.3 B,用于车载/家用健康助手。 -
多模态:加入 X-ray、CT 编码器,实现“文字 + 影像”联合问诊,预计 Q2 开源。
10. 结语:把“排名第一”真正用起来
AntAngelMed 的评测分数再漂亮,也只有被你跑起来的那一刻,才转化为真实的价值:
-
患者少排一次冤枉队 -
医生少翻一本厚重指南 -
程序员少熬一个通宵
如果你已经准备好 GPU,不妨现在就复制第 5 节的命令,敲下回车——
十分钟后,你的终端里会跳出第一行由“医院大脑”给出的医学建议。
那一刻,你不再是旁观者,而是真正把开源医疗 AI 带到现实世界的人。
附录:一键复制区
# 1. 下载模型(国内镜像)
export VLLM_USE_MODELSCOPE=true
vllm serve MedAIBase/AntAngelMed \
--tensor-parallel-size 4 \
--served-model-name AntAngelMed \
--max-model-len 32768 \
--trust-remote-code
# 2. Python 客户端
import openai
client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="empty")
response = client.chat.completions.create(
model="AntAngelMed",
messages=[{"role": "user", "content": "孩子发烧 39 ℃ 需要立即去医院吗?"}]
)
print(response.choices[0].message.content)
祝部署顺利,愿代码与康健同在。

