1
前言
随着AI通用大模型的普及,越来越多的企业发现这些模型无法完全满足其特定需求。因此,越来越多的企业开始探索自训练专属模型,以更加精准地解决行业中的复杂问题。相较于通用模型,专属模型更像是“量身定制的超能力”,能够更好地契合企业的需求。
在这篇文章中我们将通过微调大模型的过程,结合传统医学与AI技术,打造一个智能“老中医”,为日常健康咨询提供服务。
2
怎么训练一个大模型
训练大模型,基本和训练人一样,首先要选人(合适的模型),接着挑教材(良好的数据),然后再密集训练(微调),。接下来,就让我们看看怎么一步步打造一个“中医大模型”吧!
1.挑选一个好的基底模型
在开始“人才培养”之前,首先要挑选一个合适的“好苗子”,就是基底模型。它相当于我们要训练的“基础人才”,具备一定的能力,但需要进一步培养来完成特定任务。我们不需要像ChatGPT那样博学的“硕博士”,比较好选择是应届毕业生,有基础知识但是不是懂很多的模型**。**
选择开源的大模型是一个不错的选择。比如,Meta推出的LLaMA 3.1版本就是一个不错的基底模型,规模适中,同时可以为多个任务提供良好的起点性能。
2. 挑选一个合适的数据集
训练大模型,数据集就像是模型的“教材”,它在模型学习过程中起着至关重要的作用。如果我们要训练一个中医AI,单纯把《黄帝内经》《伤寒论》《本草纲目》这些经典著作喂给模型,是否就足够了呢?其实是不行的。训练大模型通常通过大量的问答数据来进行。通过这种一问一答的方式,模型逐步学习并掌握特定领域的知识。
那目前有没有好的中医数据集呢?参考开源项目“神农”大模型,首个中医药中文大模型 (https://github.com/michael-wzhu/ShenNong-TCM-LLM) , 里面有中医药指令数据集包含11万条问诊记录。
3.训练架构
有了合适的模型和数据,接下来就是制定训练过程,这个过程也叫微调(Fine-tuning)。像ChatGPT、文心一言、通义千问这些商用大模型都支持微调。但是企业为了安全,大部分都会考虑内部私有大模型,自己训练的话,可以使用Unsloth的开源工具。这个工具能够支持Llama-3、Mistral、Phi-3和Gemma...等开源模型,并且让微调的速度加快两倍,还能节省70%的内存,而且不会影响模型的准确性。所以我们用Unsloth来高效地完成模型的训练。
3
训练模型
整个训练过程由开始到导出模型文件**只需要10分钟,GPU内存只需要1GB**,训练脚本可以参考https://github.com/unslothai/unsloth/wiki 提供的范例,我们解说下核心代码:
**1. 加载模型:**我们使用的是Meta llama3.1 8B 4bit 模型,体积很小
model, tokenizer = FastLanguageModel.from_pretrained(
model\_name = **"./Meta-Llama-3.1-8B-bnb-4bit"**,
max\_seq\_length = max\_seq\_length,
dtype = dtype,
load\_in\_4bit = load\_in\_4bit,
# token = "hf\_...", # use one if using gated models like meta-llama/Llama-2-7b-hf
)
2. 加载数据: 我们将神农数据集先下载到本地,然后再转化成chatgpt的对话格式
dataset_path = “ChatMed_TCM-v0.2_Data.json”
dataset = load_dataset(“json”, data_files=dataset_path, split=“train”)
dataset = to_sharegpt(
dataset,
merged\_prompt = "{instruction}",
output\_column\_name = "output",
conversation\_extension = 1, # Select more to handle longer conversations
)
dataset = standardize_sharegpt(dataset)
**3. 配置训练参数:**大部分的参数都是unsloth预设好的,基本上不用作任何改动
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train\_dataset = dataset,
....
)
trainer_stats = trainer.train()
4. 开始训练: 接下来机器开始训练,同样的语料会连续训练60次,训练的过程很快只需要5分钟就可以跑完了。
5.导出文件 : 最后最重要的一步就是导出模型文件, 导出之后才能让其他的AI大模型使用。
if True: model.save_pretrained_gguf(“model”, tokenizer,)
print(tokenizer._ollama_modelfile)
6.导入ollama之中: 我们把生成的大模型导入ollama
ollama create shennong --file Modelfile
通过这些步骤,我们就训练出了一个专属的中医AI模型 ,接下来我们实测看下效果。
4
训练结果对比
我们用同样的问题,分别问训练前原始的LLAMA 3.1和我们训练后的中医模型,来对比一下训练前后的效果
- 问诊问题 : 请问冬瓜皮有什么功效?
训练前 | 1. 透疹、利尿:冬瓜皮具有清热透疹和利尿作用,可以帮助排除体内多余水分和毒素。 2. 清心、消痰:冬瓜皮还能清心明目、消食除胀,适合用于治疗由肺阴虚或胸部积气等原因引起的眼病。 冬瓜皮可以用来制作汤类、茶饮或药膳等,有助于改善临床症状和身体健康状况。 |
训练后 | 冬瓜皮是一种常见的中药材,具有清热解毒、利尿消肿、降低血糖等功效。以下是几种常用的冬瓜皮应用方法: 1. 清热解毒:冬瓜皮可以用来清热解毒,有助于治疗感冒发烧、咽喉肿痛等症状。将冬瓜皮煮水喝,或泡茶饮用。 2. 利尿消肿:冬瓜皮含有丰富的维生素C和膳食纤维,能够促进尿液排出,有助于治疗高血压、心脏病等症状。将冬瓜皮煮水喝,或泡茶饮用。 3. 降低血糖:冬瓜皮中的氨基酸成分可以帮助降低血糖水平,对糖尿病患者有一定的辅助作用。将冬瓜皮煮水喝,或泡茶饮用。 请注意,以上信息仅供参考。如果您有身体不适,请及时就医并咨询专业医生的意见。 |
- 问诊问题 : 有什么中药可以缓解体内湿气?
训练前 | 一种常见的中药是枳实消食丸。它能够帮助清除体内积聚的湿气和痰气,改善身体的新陈代谢。 另一个选项是青皮汤,它也能作为一种治疗体内湿气的方法,可以帮助祛除湿气、解除体内的不适感。 还有参苓甘草丸,它也可以帮助缓解体内湿气和痰气。 |
训练后 | 以下是一些常用的中药和方剂: 1. 陈皮、山楂、草果、茯苓等单味中药都有助于消化湿气。 2. 逍遥散:这是一种非常著名的中药方剂,由白术、陈皮、半夏、茯苓和甘草组成。它可以调理脾胃,促进水湿代谢,从而缓解体内湿气过重的情况。 3. 四君子汤:这是一种常用的补益脾胃的中药方剂,由人参、白术、茯苓和甘草组成。它可以调理身体,促进水湿代谢,从而缓解体内湿气过重的情况。 请注意,这些中药和方剂都需要在医生的指导下使用,因为每个人的身体状况不同,需要针对性的治疗方案。如果您有任何疑问 或不适,请咨询专业的中医师。 |
训练后的AI 回答比训练前的回答完整很多
- 问诊问题 : 我感觉头痛,鼻子总是塞着,应该怎么办?
训练前 | 这听起来像是一些常见的症状,可能与多种因素相关联。这里有一些建议: 1. 休息和放松:确保你有充足的睡眠,并且尽量减少身体和精神上的压力。这可以帮助缓解紧张,从而减轻头痛。 2. 饮食调节:避免过量摄入咖啡因、酒精等可能导致头痛的刺激物。同时,尝试通过增加水分或电解质的摄入来补充身体所需的营养。 3. 保持清新的空气:使用吸湿剂、空气净化器或将空调设定在较低温度等方式来保持清新的空气,帮助缓解鼻塞状。 4. 锻炼和运动:进行适量的体力活动可以帮助缓解肌肉紧张,并且改善血液循环,从而减少头痛的发生率。 除了这些日常生活调整外,如果你持续经历严重的头痛和鼻塞,请考虑与医生或者中医师进行讨论。可能存在一些潜在的健康问题需要治疗。 |
训练后 | 您可能正在经历感冒或流感的症状之一。建议您多休息、多喝水,适当吃些易消化的食物,如汤、粥等,同时可以考虑使用一些中药 来缓解症状。以下是一些常用的中药材: 1. 荆芥穗:荆芥穗有散寒止痛、通鼻窍的功效,可以用于治疗感冒引起的头痛和鼻塞。 2. 薄荷叶:薄荷叶具有清热解毒、宣肺散寒的作用,可以用于缓解感冒或流感引起的症状,如头痛、发热等。 3. 金银花:金银花有清热解毒、解表散邪的功效,可以用于治疗感冒或流感引起的症状,如咳嗽、发热等。 4. 羌活:羌活具有祛风除湿、止痛的作用,可以用于缓解头痛和关节疼痛等症状。 请注意,中药使用前最好咨询医生或中医师的建议。 |
在训练之前,AI给出的回答较为通用;而经过训练后,AI的对话内容和风格明显融合了传统中医的知识与特点,展现出浓厚的中医风格。
需要提醒的是,基于安全考虑,AI大模型提供的医疗建议仅供参考,具体诊疗方案仍应以专业医生的建议为准。
5
结语
通过本文的介绍,我们展示了如何从零开始打造一个中医AI大模型。虽然AI大模型在各行各业的应用已经越来越广泛,但只有结合企业或行业的特定需求,量身定制的模型才能发挥更大的价值。通过类似的方法,企业还可以训练出属于自己的“技术专家”、“营销能手”或“客服达人”等模型。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
😝有需要的小伙伴,可以VX扫描下方二维码免费领取🆓
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)
👉4.大模型落地应用案例PPT👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓