类型
状态
日期
链接
摘要
标签
分类
图标
密码
😀 前不久CloudStudio上线了GPU应用,支持一键克隆、复制等能力,今天我们就基于该环境上线一个中文医疗应用。
1 📝 前期准备
本次采用云上环境进行部署, 基于腾讯云CloudStudio的GPU应用环境,限时免费提供16G显存的T4显卡,8核32G虚拟机。针对一些参数量较小的模型可以进行微调。对于大参数量的建议单独购买HAI服务后训练,将训练后的模型进行部署使用。
- 打开网址[Cloud Studio](Cloud Studio - 云端开发,化繁为简)使用微信或QQ等进行网站登录。

- 点击右上角的“创建应用”进行创建,可以选择任意模版进行创建。

- 在弹出的窗口中等待初始化完成。

- 正常打开应用面板后,点击切换到GPU。

- 待切换完成后,点击终端。


- 验证环境

2 🤗 微调过程
2.1 环境准备
2.1.1 OS环境准备
- 执行如下命令安装aria2工具

- 执行如下命令下载miniconda3软件包。

- 执行安装

2.1.2 创建虚拟环境并激活
- 执行如下命令进行准备环境

2.1.3 下载LLaMA-Factory项目
- 执行如下命令下载LLaMA-Factory项目

- 加载依赖库



- 执行如下命令安装modelscope软件

- 执行如下命令安装unsloth软件

- 执行如下命令安装
swanlab
软件

- 执行如下命令安装
swanlab[dashboard]
软件

- 创建软连接

- 验证版本

2.1.4 启动面板
2.1.5 国外节点
- 下载
frpc_linux_amd64_v0.3
程序

- 执行如下命令启动面板
2.1.6 国内节点
- 执行如下命令启动面板

2.2 数据集准备
- 下载数据集

- 修改
dataset_info.json
使得界面中可以选择数据集

2.3 模型微调
2.3.1 基本配置
- 打开项目网站7860地址。

- 切换语言到中文

- 选择大模型名称,我这里选择的是
Qwen2.5-3B-Instruct
实际GPU应用提供的是T4显卡,建议选择较小参数量的模型

- 设置微调方法到lora

- 加速方式选择
unsloth

- 在
Train
界面的“数据集”中选择我们导入的Chinese-medical-dialogue

- 点击“预览数据集”确定数据集是否正确。

- 设置
验证集比例
为0.2,即为20%的数据集作为验证数据集

- 计算类型修改到
fp16

- 展开
SwanLab参数设置
,勾选“使用SwanLab”功能。

- 设置
SwanLab API秘钥

- 设置
SwanLab 模式
为cloud

- 点击预览命令,生成预览指令

2.3.2 微调前模型对比
- 选项卡界面切换到
Chat
,并选择“加载模型”

- 如果对应目录下没有模型文件时,会自动进行模型文件下载。

- 选择一个数据集中的问题进行提问,比如提问“女宝宝,刚7岁,这一年,察觉到,我家孩子身上肉很多,而且,食量非常的大,平时都不喜欢吃去玩,请问:小儿肥胖超重该如何治疗。”模型的回答如下:

- 测试后卸载模型

2.3.3 开始训练
- 在
Train
中点击“开始”

- 监控损失率和步数

- 监控显存占用情况

- 点击SwanLab 链接查看详细报告
日志:

- 待微调结束后,查看SanLab视图,观察eval

2.4 模型推理与评估
- 待训练结束后,LLaMA Board上会显示训练完成。
- 在“检查点路径”中选择训练的检查点

- 在“Evaluate & Predict”中的数据集中选择评估的数据集,我这里没有,就选择了之前训练的数据集。

- 在“温度系数”中由于我们训练的是医疗方面,需要严谨的回答,需要设置到0.5及以下。

- 点击“开始”进行评估

- 等待评估完成。


2.5 模型对话
2.5.1 基础模型对话
- 先不勾选“检查点路径”并加载模型

当显示“模型已加载,可以开始聊天了!”就表示加载完成
2. 设置温度到0.5
- 在输入框输入“男孩子,刚4岁,最近,发现,我家孩子体重要比别的孩子重很多,而且,最近越来越能吃了,还特别的懒,请问如何治疗” 模型回复是:
2.5.2 微调后模型答复
- 在“检查点路径”中设置训练的检查点

- 点击“加载模型”

- 设置温度到0.5

- 在输入框输入“男孩子,刚4岁,最近,发现,我家孩子体重要比别的孩子重很多,而且,最近越来越能吃了,还特别的懒,请问如何治疗” 模型回复是:

是不是以下就感觉专业了很多。
2.6 模型导出
- 创建一个模型存放位置
- 选择“Export”,模型名称和检查点选择正确。

- 导出目录中设置“/workspace/mymmodel”

- 点击“开始导出”

- 待进度条走完


- 查看模型文件
2.7 模型发布API
2.7.1 LLaMA-Factory方式
为了更好的给下游提供任务,我们通常需要以API形式来提供模型服务,参考命令如下:
回显:
运行后API会以OpenAI接口形式运行在8000端口,直接访问8000的docs路径可查看接口文档,如下图:

2.7.2 ollama方案
- 安装ollama软件

- 准备Modelfile文件

- 在弹出的终端中输入如下命令设置环境变量和启动ollama服务。

- 执行加载

- CLI运行问答窗进行测试

3 医疗问答系统
3.1 医疗系统生成
对于没有代码基础的人来说,大模型赋能的IDE或者代码助手是一个不错的工具。腾讯云AI代码助手就是这样一个大模型赋能的工具,今天我们使用这个工具软自动生成一个医疗问题系统
- 打开IDE窗口,点击“腾讯云AI代码助手”图标。

- 在弹出的界面中输入内容如下:
3.2 医疗系统对接
web.py
database.py
.env
3.3 医疗系统测试
- 安装依赖

- 启动项目

3.启动测试

4 应用复制和启动
N/A
免责声明:
- 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。
- 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境。由此引发的任何问题,作者概不负责!
- 作者:Cloud1024
- 链接:https://itq5.com/posts/ai_llama
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。