【AI大模型前沿】Baichuan-M1-14B:百川智能推出专为医疗优化的开源大语言模型

【AI大模型前沿】Baichuan-M1-14B:百川智能推出专为医疗优化的开源大语言模型

系列篇章💥

No.文章
1【AI大模型前沿】深度剖析瑞智病理大模型 RuiPath:如何革新癌症病理诊断技术
2【AI大模型前沿】清华大学 CLAMP-3:多模态技术引领音乐检索新潮流
3【AI大模型前沿】浙大携手阿里推出HealthGPT:医学视觉语言大模型助力智能医疗新突破
4【AI大模型前沿】阿里 QwQ-32B:320 亿参数推理大模型,性能比肩 DeepSeek-R1,免费开源
5【AI大模型前沿】TRELLIS:微软、清华、中科大联合推出的高质量3D生成模型
6【AI大模型前沿】Migician:清华、北大、华科联手打造的多图像定位大模型,一键解决安防监控与自动驾驶难题
7【AI大模型前沿】DeepSeek-V3-0324:AI 模型的全面升级与技术突破
8【AI大模型前沿】BioMedGPT-R1:清华联合水木分子打造的多模态生物医药大模型,开启智能研发新纪元
9【AI大模型前沿】DiffRhythm:西北工业大学打造的10秒铸就完整歌曲的AI歌曲生成模型
10【AI大模型前沿】R1-Omni:阿里开源全模态情感识别与强化学习的创新结合
11【AI大模型前沿】Qwen2.5-Omni:阿里巴巴的多模态大模型,实现看、听、说、写一体化
12【AI大模型前沿】SmolDocling:256M参数的轻量级多模态文档处理利器,10分钟搞定百页PDF
13【AI大模型前沿】Stable Virtual Camera:Stability AI 推出的2D图像转3D视频模型,一键生成沉浸式视频
14【AI大模型前沿】阿里 Qwen3 震撼开源,模型新王诞生,开启全球大模型新纪元
15【AI大模型前沿】InternVL:OpenGVLab开源多模态大模型,解锁视觉问答与多语言翻译的全能应用图鉴
16【AI大模型前沿】Fin-R1:上海财经大学联合财跃星辰推出的金融推理大模型,凭7B参数拿下评测第二,离行业第一仅差3分
17【AI大模型前沿】Med-R1:基于强化学习的医疗视觉语言模型,突破跨模态医学推理的普适性
18【AI大模型前沿】Baichuan-M1-14B:百川智能推出专为医疗优化的开源大语言模型

目录

前言

随着人工智能技术的不断发展,大语言模型(LLM)在各个领域的应用越来越广泛。然而,针对特定领域的优化仍然是一个重要的研究方向。Baichuan-M1-14B 是由百川智能开发的一款专为医疗场景优化的开源大语言模型。它不仅在通用语言任务上表现出色,还在医疗领域展现了卓越的性能。

一、模型概述

Baichuan-M1-14B 是业界首款从零开始专为医疗场景优化的开源大语言模型。它旨在解决传统通用语言模型在医疗领域应用时的不足,例如对专业术语的理解、复杂医疗推理能力以及长序列任务的处理。该模型在医疗领域的表现达到了同尺寸通用模型的 5 倍甚至更高的效果,同时在通用任务上也保持了卓越的性能。

核心特点:

大规模高质量数据训练:基于 20 万亿 token 的高质量医疗与通用数据训练。细粒度医疗专业建模:针对 20+ 医疗科室进行细粒度建模。创新模型结构:引入短卷积注意力机制、滑动窗口注意力机制等优化,显著提升上下文理解和长序列任务表现。提供多种模型版本:包括 Base 模型和 Instruct 模型,满足不同场景需求。

二、技术架构

(一)短卷积注意力机制

传统 Transformer 模型依赖 induction heads 来捕捉序列中的重复模式和上下文依赖。Baichuan-M1-14B 引入了短卷积注意力机制,通过在计算 Key 和 Value 时引入轻量化的短卷积操作,显著降低了对 induction heads 的依赖。这种机制在语言建模任务中表现出色,尤其是在对上下文信息依赖性强的任务中。

(二)滑动窗口注意力机制

在部分层中采用滑动窗口注意力机制,减少 KV Cache 内存占用,同时在计算效率和性能之间取得平衡,特别适用于长序列任务。

(三)优化位置编码震荡

通过增大部分注意力头的维度,降低 RoPE 曲线震荡,使模型在长序列任务中表现更稳定,同时保持模型的多样化特征捕捉能力。

(四)大峰值学习率策略

采用 WSD 学习率调度策略,使用高峰值学习率促进模型泛化能力。这一策略显著提升了模型在 benchmark 上的任务表现。

(五)自适应梯度更新

引入动态梯度剪裁机制,当梯度过大时,当前机制能动态选择是否跳过更新,减少因特殊样本或陡峭损失空间导致的不稳定。

三、数据收集与处理

(一)医疗数据收集

为了确保模型在医疗领域的专业性,Baichuan-M1-14B 的数据收集工作非常细致。数据来源包括:

  • 千万级专业医疗数据:中/英文专业论文、医疗病例、医疗教材、知识库等。
  • 亿级医疗问答与临床数据:涵盖复杂医疗推理与实际临床案例。
  • 全面的数据分类与评估:按医疗科室、内容和价值进行分类,确保数据分布均衡,筛选出真正具有医疗价值的数据。

(二)数据合成与优化

数据合成是提升模型性能的关键环节。Baichuan-M1-14B 通过以下方法优化数据:

  • 合成数据设计:利用海量医学知识文本和结构化知识图谱生成高质量医疗推理数据。
  • 自我反思机制与奖励模型:不断提升合成数据质量,最终生成近万亿 token 的医疗数据,覆盖长尾知识与复杂场景。

(三)通用数据收集

除了医疗数据,Baichuan-M1-14B 还结合了大规模的通用数据集:

  • 20T 多语言通用数据集:包括 14T 英文数据、4T 中文数据、2T 涵盖 30 种主流语言的数据。
  • 去重与上采样策略:针对高质量数据进行适度上采样,显著提升模型性能。
  • 27 类全球知识分类:基于小模型实验优化数据配比,确保通用能力与领域能力的平衡。
在这里插入图片描述

四、训练方法

(一)多阶段课程学习

Baichuan-M1-14B 的训练分为三个阶段,逐步优化模型的通用能力与医疗领域能力:

  1. 通识能力提升阶段:以通用语言建模为目标,提升基础语言能力和常识。
  2. 医疗基础知识提升阶段:引入高质量医疗数据,重点提升推理、数学及医学知识能力。
  3. 医疗进阶知识提升阶段:进一步优化数据质量,聚焦复杂医疗推理、病症判断和长尾知识。

(二)对齐优化

通过强化学习和偏序对数据的优化,提升模型生成质量、逻辑推理能力和用户偏好贴合度:

  • 偏序对数据:覆盖多轮对话、指令跟随、数学与代码、推理任务等场景,数据来源包括人类标注和多模型生成。
  • 优化流程
    • ELO:基于最大似然优化多样化高质量的思维链生成。
    • TDPO:使用偏序对数据优化生成模型,使其更贴合用户偏好。
    • PPO:通过策略优化进一步增强生成逻辑与任务表现。
在这里插入图片描述

五、性能表现

Baichuan-M1-14B 在多个主流评测集上取得了优异的指标,展现了卓越的医疗场景能力,同时具备强大的通用表现。以下是部分评测结果对比:

在这里插入图片描述

六、快速使用

(一)使用 Transformers推理实践

Baichuan-M1-14B 支持通过 Hugging Face Transformers 快速加载和使用。以下是使用 Baichuan-M1-14B-Instruct 模型的代码示例:

from transformers import AutoModelForCausalLM, AutoTokenizer import torch # 1. 加载预训练模型和分词器# 指定 Baichuan-M1-14B-Instruct 模型的名称 model_name ="baichuan-inc/Baichuan-M1-14B-Instruct"# 使用 Hugging Face 的 AutoTokenizer 加载模型的分词器# 参数 trust_remote_code=True 允许加载远程代码,确保模型的自定义实现能够正确加载 tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)# 使用 Hugging Face 的 AutoModelForCausalLM 加载预训练模型# 参数 torch_dtype=torch.bfloat16 指定模型的权重数据类型为 bfloat16,以减少内存占用并加速推理# .cuda() 将模型移动到 GPU 上进行加速计算(如果可用) model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, torch_dtype=torch.bfloat16).cuda()# 2. 输入提示文本# 定义用户想要询问的问题 prompt ="May I ask you some questions about medical knowledge?"# 3. 对输入文本进行编码# 构造对话消息,包括系统角色和用户角色的内容 messages =[{"role":"system","content":"You are a helpful assistant."},# 系统角色的提示,定义模型的行为{"role":"user","content": prompt}# 用户的问题]# 使用分词器的 apply_chat_template 方法将对话消息转换为模型可接受的格式# 参数 tokenize=False 表示不立即分词,而是先将对话转换为文本格式# 参数 add_generation_prompt=True 表示添加生成提示,以引导模型生成回答 text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)# 使用分词器对转换后的文本进行分词和编码# 参数 return_tensors="pt" 表示返回 PyTorch 张量格式的编码结果# 将编码后的输入移动到模型所在的设备(GPU) model_inputs = tokenizer([text], return_tensors="pt").to(model.device)# 4. 生成文本# 调用模型的 generate 方法生成回答# 参数 max_new_tokens=512 表示生成的最大新 token 数量 generated_ids = model.generate(**model_inputs, max_new_tokens=512)# 从生成的 token 中提取新生成的部分# 通过比较生成的 token 和输入的 token 的长度,去除输入部分,只保留生成的部分 generated_ids =[output_ids[len(input_ids):]for input_ids, output_ids inzip(model_inputs.input_ids, generated_ids)]# 5. 解码生成的文本# 使用分词器的 batch_decode 方法将生成的 token 解码为文本# 参数 skip_special_tokens=True 表示跳过特殊 token(如 [CLS]、[SEP] 等),只保留实际生成的文本内容 response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]# 6. 输出结果# 打印生成的文本回答print("Generated text:")print(response)

(二)使用 vLLM推理实践

vLLM 是一个高性能的推理框架,支持 Baichuan-M1-14B 的推理。以下是使用 vLLM 的步骤:

1. 安装 vLLM

docker pull vllm/vllm-openai:v0.6.6.post1 # docker内安装vllmgit clone https://github.com/baichuan-inc/vllm.git cd vllm exportVLLM_PRECOMPILED_WHEEL_LOCATION=https://files.pythonhosted.org/packages/b0/14/9790c07959456a92e058867b61dc41dde27e1c51e91501b18207aef438c5/vllm-0.6.6.post1-cp38-abi3-manylinux1_x86_64.whl # 国内用户可选用以下配置# export VLLM_PRECOMPILED_WHEEL_LOCATION=https://pypi.tuna.tsinghua.edu.cn/packages/b0/14/9790c07959456a92e058867b61dc41dde27e1c51e91501b18207aef438c5/vllm-0.6.6.post1-cp38-abi3-manylinux1_x86_64.whl pip install --editable .

2. 启动服务

# bf16推理 vllm serve baichuan-inc/Baichuan-M1-14B-Instruct --trust-remote-code # bitsandbytes量化推理 vllm serve baichuan-inc/Baichuan-M1-14B-Instruct --trust-remote-code --load-format=bitsandbytes --quantization=bitsandbytes 

3. 发送请求

from openai import OpenAI openai_api_key ="EMPTY" openai_api_base ="http://localhost:8000/v1" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base,) prompt ="May I ask you some questions about medical knowledge?" chat_response = client.chat.completions.create( model="baichuan-inc/Baichuan-M1-14B-Instruct", messages=[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content": prompt},])print("Chat response:", chat_response)

总结

Baichuan-M1-14B 是一个专为医疗场景优化的开源大语言模型,它在医疗领域展现了卓越的性能,同时在通用任务上也表现出色。通过大规模高质量数据训练、创新的模型结构优化以及多阶段课程学习和对齐优化,Baichuan-M1-14B 为医疗领域的 AI 应用提供了强大的支持。我们可以通过 Hugging Face Transformers、vLLM 等工具快速上手使用该模型,并在实际应用中发挥其强大的能力。


在这里插入图片描述

🎯🔖更多专栏系列文章:AI大模型提示工程完全指南AI大模型探索之路(零基础入门)AI大模型预训练微调进阶AI大模型开源精选实践AI大模型RAG应用探索实践🔥🔥🔥 其他专栏可以查看博客主页📑

😎 作者介绍:资深程序老猿,从业10年+、互联网系统架构师,目前专注于AIGC的探索(ZEEKLOG博客之星|AIGC领域优质创作者)
📖专属社群:欢迎关注【小兵的AI视界】公众号或扫描下方👇二维码,回复‘入群’ 即刻上车,获取邀请链接。
💘领取三大专属福利:1️⃣免费赠送AI+编程📚500本,2️⃣AI技术教程副业资料1套,3️⃣DeepSeek资料教程1套🔥(限前500人)
如果文章内容对您有所触动,别忘了点赞、⭐关注,收藏!加入我们,一起携手同行AI的探索之旅,开启智能时代的大门!

Read more

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果

GLM-4.6V-Flash-WEB Web界面使用指南,拖图就出结果 你不需要配置环境、不用写一行推理代码、甚至不用打开终端——只要把一张截图拖进浏览器窗口,几秒钟后,它就能告诉你图里写了什么、画了什么、哪里有问题。这不是未来预告,而是你现在就能在本地跑起来的真实体验。 GLM-4.6V-Flash-WEB 是智谱AI最新开源的轻量级视觉语言模型,专为Web端实时交互而生。它不像某些“实验室模型”那样只存在于论文和Benchmark表格里,而是真正做到了:部署快、启动快、响应快、上手更快。一块RTX 3090,一个浏览器,一次拖拽,结果即刻呈现。 本文不讲训练原理,不列参数表格,不堆技术术语。我们只聚焦一件事:怎么用好它的Web界面?从零开始,到稳定产出,每一步都清晰可操作。 1. 为什么说“拖图就出结果”不是宣传话术? 很多多模态模型标榜“支持图文理解”,但实际用起来才发现:要装依赖、改路径、调精度、修CUDA版本、

前端防范 XSS(跨站脚本攻击)

目录 一、防范措施 1.layui util  核心转义的特殊字符 示例 2.js-xss.js库 安装 1. Node.js 环境(npm/yarn) 2. 浏览器环境 核心 API 基础使用 1. 基础过滤(默认规则) 2. 自定义过滤规则 (1)允许特定标签 (2)允许特定属性 (3)自定义标签处理 (4)自定义属性处理 (5)转义特定字符 常见场景示例 1. 过滤用户输入的评论内容 2. 允许特定富文本标签(如富文本编辑器内容) 注意事项 更多配置 XSS(跨站脚本攻击)是一种常见的网络攻击手段,它允许攻击者将恶意脚本注入到其他用户的浏览器中。

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

详细教程:如何从前端查看调用接口、传参及返回结果(附带图片案例)

目录 1. 打开浏览器开发者工具 2. 使用 Network 面板 3. 查看具体的API请求 a. Headers b. Payload c. Response d. Preview e. Timing 4. 实际操作步骤 5. 常见问题及解决方法 a. 无法看到API请求 b. 请求失败 c. 跨域问题(CORS) 作为一名后端工程师,理解前端如何调用接口、传递参数以及接收返回值是非常重要的。下面将详细介绍如何通过浏览器开发者工具(F12)查看和分析这些信息,并附带图片案例帮助你更好地理解。 1. 打开浏览器开发者工具 按下 F12 或右键点击页面选择“检查”可以打开浏览器的开发者工具。常用的浏览器如Chrome、Firefox等都内置了开发者工具。下面是我选择我的一篇文章,打开开发者工具进行演示。 2. 使用

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例)

Cursor+Codex隐藏技巧:用截图秒修前端Bug的保姆级教程(React/Chakra UI案例) 前端开发中最令人头疼的莫过于那些难以定位的UI问题——元素错位、样式冲突、响应式失效...传统调试方式往往需要反复修改代码、刷新页面、检查元素。现在,通过Cursor编辑器集成的Codex功能,你可以直接用截图交互快速定位和修复这些问题。本文将带你从零开始,掌握这套革命性的调试工作流。 1. 环境准备与基础配置 在开始之前,确保你已经具备以下环境: * Cursor编辑器最新版(v2.5+) * Node.js 18.x及以上版本 * React 18项目(本文以Chakra UI 2.x为例) 首先在Cursor中安装Codex插件: 1. 点击左侧扩展图标 2. 搜索"Codex"并安装 3. 登录你的OpenAI账户(需要ChatGPT Plus订阅) 关键配置项: // 在项目根目录创建.