ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
8B尺寸达到GPT-4级性能!北大等提出医疗专家模型训练方法
8220点击    2024-07-02 11:27

大规模语言模型(LLMs)的持续预训练是提升其在特定领域性能的重要方法。通过在新领域的语料库上预训练大语言模型,这一过程能够显著增加模型的领域知识储备和任务能力。


然而,尽管已有许多研究探讨了从头预训练的LLMs的学习机制和性质,关于持续预训练过程中LLMs行为的研究却相对较少。


最近北京大学、香港科技大学等开源了一个8B医学大模型,通过测试模型在连续预训练和指令微调实验过程中的表现变化,发现了许多有趣的现象。



论文链接:https://arxiv.org/abs/2406.14833

开源地址:https://huggingface.co/YiDuo1999/Llama-3-Physician-8B-Instruct


先下降后上升: 模型训练中存在的稳定性缺失问题  


本文首先选取TinyLLaMa-1b 和OpenLLaMA-3b模型作为基座模型,并在5百亿医疗tokens上做做连续单轮预训练。在预训练过程中,作者每隔5b测试一次模型在医疗维基语料上的困惑度(PPL)和下游医疗任务的平均表现。


如图1 所示,尽管模型在医疗维基语料上的困惑度持续下降(图1b),但在连续预训练初期,模型在医学任务上的表现却出现了下降 (图1a)。随着更多数据的训练,任务表现逐渐恢复并超过了原始模型的水平 。




图1:(a)预训练过程中模型在四个医疗QA任务上的平均表现(b)预训练过程中模型在医疗维基语料上的困惑度


为了解释表现先下降后上升的行为,我们借鉴了持续学习中的稳定性差距概念。基于它的解释,医疗任务表现最初下降是因为学习新领域的可塑性梯度超过了维持通用任务能力的稳定性梯度,导致未能维持医疗任务的性能。随后,任务损失增强了稳定性梯度,这一前后稳定性差距最终导致性能恢复并上升。


为了验证以上假设,我们进一步测试了模型在医疗持续预训练中的通用任务表。如图2显示,一般任务性能呈现类似的V形曲线,表明一般指令跟随能力在最初下降后恢复。




图2:预训练过程中模型在10个常识和阅读理解任务上的平均表现

 三个针对稳定性差距的训练策略 


为了克服持续预训练中存在的稳定性差距问题,本文提出了三种有效策略:


策略1:在适当大小的数据子集上进行多轮预训练,而不是在大数据集上进行单轮预训练。这种策略减少了每次预训练所需的高可塑性梯度,促进了稳定性梯度的上升,进而加速了性能恢复。


策略2:仅在高质量的子语料库上进行预训练,以快速提升特定领域的性能。


策略3:按照预训练数据分布采取其它来源的数据并和医疗高质量数据混合训练,减少预训练分布和连续预训练差距,促进模型稳定性梯度的形成。




表1:在医疗预训练完成后模型在四个医疗任务上的zero-shot表现


实验结果:本文通过对比多种基线方法来验证提出的三条策略的有效性, 其中包括500亿医疗数据单轮训练、学习率Re-warming and Re-decaying、重采样和参数固定等基线。


如下表1所示,基于本文的策略,OpenLLaMa模型只需要在高质量50亿数据上训练4个轮次(即原计算预算的40%),便可以在医疗任务平均表现上显著超越了所有基线,尤其在PubMedQA等医学问答任务中表现突出。


面向GPT4水平的8B医疗专家模型  


连续预训练:本文按照提出的三种策略对Llama-3-8B模型做进一步的医疗连续预训练。在这个过程中使用了50亿高质量医学数据,并对模型做四个轮次的重复训练。


指令微调:连续预训练完成后,本文采用多个类型的医疗任务指令对模型做指令微调,包括问答任务、分类任务、关系提取任务、自然语言推理任务和总结任务。


微调过程中,研究团队继续采用提出的三种策略来优化指令微调效果。首先是多轮次训练,这在医学指令微调过程中是常见的。其次,利用Deita自动指令数据选择器,选择高质量的医学指令数据子集。最后,使用高质量的通用指令数据集,如Airoboros-3.2,以缓解模型在通用任务完成能力上的遗忘。




图3:指令微调过程中模型的医疗平均表现


如图3所示,在指令微调过程中,使用所有数据做微调仍然可能在初始训练阶段时面临表现下降问题。而通过我们的三种策略,模型仅需25%的指令数据就能达到最佳性能,这降低了计算资源的消耗。


实验比较:本文进一步将达到最佳表现的指令微调模型Llama-3-Physician-8B-insturct与其它医疗模型比较。如表2所示,Llama-3-Physician-8B-insturct在医疗问答任务上明显优于其它同尺寸的开源模型,并且超过了闭源的GPT-3.5-turbo模型。同时,它的平均医疗问答任务表现也接近GPT-4.



表2:指令微调结束后各模型在四个医疗问答任务上的zero-shot表现


本文进一步考虑Llama-3-Physician-8B-insturct在其它类型(非问答)的医疗任务上的表现。如表3所示,Llama-3-Physician-8B-insturct在医疗分类,关系抽取,推理和总结任务上都取得了优异表现,且明显超过GPT-4表现。


表3:指令微调结束后各模型在医疗分类,关系抽取,推理和总结任务上的zero-shot表现

 

总结  


1. 本论文研究了在对LLMs(大语言模型)进行新领域语料库的连续预训练时的行为,并观察到模型初始性能下降,随后缓慢恢复的现象。本文使用稳定性差距这一概念来描述这一现象,并从可塑性和稳定性梯度的角度对此解释


2. 本文进一步提出了三种有效提高LLM在特定领域表现并降低计算成本的策略,从而克服稳定性差距。这些策略包括:在适当大小的数据子集上进行多轮预训练,选取高质量子集和按预训练数据分布混合采样数据。


3. 本文将这些策略应用于最新的Llama-3-8B模型的连续预训练和指令微调过程中,所得到的Llama-3-Physician-8B-insturct不仅在同规模开源模型中表现最强,并且优于闭源的GPT-3.5模型,接近GPT-4的表现。


文章来源于“新智元”,作者“新智元”


AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner