Spaces:
Runtime error
A newer version of the Gradio SDK is available:
5.29.0
VenusFactory 评估模块使用指南
1. 简介
VenusFactory 评估模块是一个强大的工具,允许您对训练好的蛋白质分析模型进行全面性能评估。通过该模块,您可以在各种数据集上测试模型的预测能力,获取详细的评估指标,并分析模型的优缺点。评估结果可以帮助您比较不同模型的性能,选择最适合特定任务的模型,以及指导进一步的模型改进。
评估模块支持评估多种模型的微调方案,您可以使用预定义的数据集或自定义数据集进行评估,并选择多种评估指标来全面了解模型性能。
2. 支持的评估指标
VenusFactory 提供多种评估指标,用于评估模型性能。根据问题类型的不同,适用的评估指标也有所不同。
简称 | 指标名称 | 适用问题类型 | 说明 | 优化方向 |
---|---|---|---|---|
Accuracy | 准确率 (Accuracy) | 单标签/多标签分类 | 正确预测的样本比例,适用于平衡的数据集 | 越大越好 |
Recall | 召回率 (Recall) | 单标签/多标签分类 | 正确识别出的正类比例,关注减少假阴性 | 越大越好 |
Precision | 精确率 (Precision) | 单标签/多标签分类 | 正确预测为正类的比例,关注减少假阳性 | 越大越好 |
F1 | F1分数 (F1Score) | 单标签/多标签分类 | 精确率和召回率的调和平均,适用于不平衡的数据集 | 越大越好 |
MCC | Matthews相关系数 (MatthewsCorrCoef) | 单标签/多标签分类 | 综合考虑所有混淆矩阵元素的指标,对不平衡数据集更公平 | 越大越好 |
AUROC | ROC曲线下面积 (AUROC) | 单标签/多标签分类 | 评估不同阈值下的分类性能 | 越大越好 |
F1_max | 最大F1分数 (F1ScoreMax) | 多标签分类 | 不同阈值下的最大F1值,适用于多标签分类 | 越大越好 |
Spearman_corr | Spearman相关系数 (SpearmanCorrCoef) | 回归 | 评估预测值与真实值的单调关系,范围为[-1,1] | 越大越好 |
MSE | 均方误差 (MeanSquaredError) | 回归 | 评估回归模型的预测误差 | 越小越好 |
3. 评估界面详解
评估界面分为几个主要部分,每个部分包含特定的配置选项。下面将详细介绍每个部分的功能和设置。
3.1 模型和数据集配置
模型路径和蛋白质语言模型选择
Model Path:输入训练好的模型文件路径
- 通常是训练过程中保存的模型文件(如
ckpt/model.pt
) - 可以是相对路径或绝对路径
- 确保路径正确,否则评估将无法正确启动
- 通常是训练过程中保存的模型文件(如
Protein Language Model:从下拉菜单中选择一个预训练模型
- 必须与训练模型时使用的预训练模型相同
- 这将确保模型架构的一致性
评估方法和池化方法
Evaluation Method:根据模型架构选择方法
freeze
:冻结预训练模型,只训练分类器full
:全参数微调,训练所有参数plm-lora
:使用LoRA (Low-Rank Adaptation)方法训练,减少参数量dora
:使用DoRA (Weight-Decomposed Low-Rank Adaptation)方法训练adalora
:使用AdaLoRA (Adaptive Low-Rank Adaptation)方法训练ia3
:使用IA³ (Infused Adapter by Inhibiting and Amplifying Inner Activations)方法训练plm-qlora
:使用QLoRA (Quantized Low-Rank Adaptation)方法训练,降低内存需求ses-adapter
:使用结构增强适配器训练,融合序列和结构信息- 必须与训练模型时使用的方法相同,否则将导致评估失败
Pooling Method:选择池化方法
mean
:平均池化- 计算所有token表示的平均值
- 计算效率高,适合大多数任务
attention1d
:注意力池化- 使用注意力机制加权平均token表示
- 可能提供更好的性能,但计算成本更高
light_attention
:轻量级注意力池化- 注意力池化的简化版本
- 平衡性能和计算效率
- 必须与训练模型时使用的方法相同
数据集选择
- Dataset Selection:选择数据集来源
- Use Pre-defined Dataset:使用系统预定义的数据集
- Evaluation Dataset:从下拉菜单中选择一个数据集
- 系统会自动加载数据集的问题类型、标签数量和评估指标
- 适合快速评估和标准基准测试
- Use Custom Dataset:使用自定义数据集 (具体详见训练模块使用指南中
7.4 上传数据集到Hugging Fac
部分)- Custom Dataset Path:输入Hugging Face数据集路径(格式:
用户名/数据集名
) - 需要手动设置问题类型、标签数量和评估指标
- 适合评估模型在自定数据上的性能
- Custom Dataset Path:输入Hugging Face数据集路径(格式:
- Use Pre-defined Dataset:使用系统预定义的数据集
数据集预览
- Preview Dataset:点击此按钮预览所选数据集
- 显示数据集统计信息:训练集、验证集和测试集的样本数量
- 显示数据集样例:包括序列和标签
- 帮助验证数据集是否正确加载
- 可以查看数据格式和内容,确保与模型兼容
问题类型和标签
Problem Type:选择问题类型
single_label_classification
:单标签分类问题- 每个样本只属于一个类别
- 标签通常是整数值,表示类别索引
multi_label_classification
:多标签分类问题- 每个样本可能属于多个类别
- 标签通常是以逗号分隔的类别索引字符串
regression
:回归问题- 预测连续值
- 标签通常是浮点数
- 必须与训练模型时使用的问题类型相同
Number of Labels:设置标签数量(分类问题)
- 对于单标签分类,表示类别总数
- 对于多标签分类,表示可能的标签总数
- 对于回归问题,设为1
- 必须与模型训练时使用的标签数量相同
评估指标
- Metrics:选择评估指标
- 可以选择多个指标
- 常用指标包括:
Accuracy,MCC,F1,Precision,Recall,AUROC,F1max,Spearman_corr,MSE
- 根据问题类型选择合适的指标:
- 分类问题:
Accuracy,MCC,F1,Precision,Recall,AUROC
- 回归问题:
MSE,Spearman_corr
- 分类问题:
- 选择多个指标可以全面评估模型性能
3.2 结构序列配置(仅适用于ses-adapter方法)
- Structure Sequence:选择结构序列类型
foldseek_seq
:使用FoldSeek生成的结构序列- 基于蛋白质三维结构生成的序列表示
- 包含结构信息的编码
ss8_seq
:使用8类二级结构序列- 表示蛋白质的二级结构元素(如α螺旋、β折叠等)
- 提供蛋白质局部结构信息
- 可以同时选择多种类型,增强结构信息的表示
- 必须与训练模型时使用的结构序列类型相同
3.3 批处理配置
- Batch Processing Mode:选择批处理模式
- Batch Size Mode:固定批次大小
- Batch Size:设置每批处理的样本数量,默认为16
- 适合序列长度相近的数据集
- 较大的批次可以加速评估,但需要更多内存
- Batch Token Mode:固定Token数量
- Tokens per Batch:设置每批处理的Token数量,默认为10000
- 适用于序列长度变化大的数据集
- 自动调整每批的样本数量,确保Token总数接近设定值
- 有助于优化内存使用和处理效率
- Batch Size Mode:固定批次大小
3.4 评估控制和输出
Preview Command:预览将要执行的评估命令
- 点击后显示完整的命令行参数
- 可以帮助您理解评估过程中使用的具体参数
- 用于验证所有设置是否正确
Start Evaluation:开始评估过程
- 点击后启动模型评估
- 评估过程中会显示进度条和状态信息
Abort:中止当前评估过程
- 可以随时停止正在进行的评估
- 适用于评估时间过长或发现设置错误的情况
Evaluation Status & Results:显示评估进度和结果
- 评估进度:当前阶段、进度百分比、已用时间、处理的样本数量
- 评估结果:各项评估指标及其值
- 以表格形式展示,清晰直观
Download CSV:下载CSV格式的详细评估指标
- 评估完成后可见
- 包含所有计算的评估指标
- 可用于进一步分析或与其他模型结果比较
4. 评估流程指南
以下是使用VenusFactory评估模块的完整流程指南,从模型准备到结果分析。
4.1 准备模型和数据集
准备训练好的模型文件
- 确保您已经有一个通过训练模块生成的模型文件(如
ckpt/model.pt
) - 记录训练时使用的预训练模型、训练方法和池化方法
- 确保模型文件路径可访问
- 确保您已经有一个通过训练模块生成的模型文件(如
选择评估数据集
- 可以使用与训练相同的数据集,评估模型在测试集上的性能
- 也可以使用新的数据集,评估模型的泛化能力
- 确保数据集格式与训练数据集兼容
4.2 配置评估参数
设置模型和预训练模型
- 在Model Path中输入模型文件的路径
- 在Protein Language Model下拉菜单中选择与训练时相同的预训练模型
- 确保两者匹配,否则可能导致架构不兼容
选择评估方法和池化方法
- 在Evaluation Method中选择与训练时相同的方法
- 在Pooling Method中选择与训练时相同的池化方法
- 这些设置必须与训练时一致,以确保正确加载模型权重
选择数据集
- 如果使用预定义数据集:
- 选择Use Pre-defined Dataset
- 从下拉菜单中选择一个数据集
- 系统会自动加载相关配置
- 如果使用自定义数据集:
- 选择Use Custom Dataset
- 输入Hugging Face数据集路径(格式:
用户名/数据集名
) - 手动设置问题类型、标签数量和评估指标
- 如果使用预定义数据集:
预览数据集
- 点击Preview Dataset按钮查看数据集统计和样例
- 确认数据集格式是否正确
- 查看样本数量和分布
- 验证标签格式是否与问题类型匹配
设置问题类型和标签
- 设置与训练时相同的Problem Type
- 设置与训练时相同的Number of Labels
- 这些设置必须与训练时一致,以确保模型输出层兼容
选择评估指标
- 在Metrics中输入评估指标,用逗号分隔
- 分类问题:建议使用
accuracy,mcc,f1,precision,recall,auroc
- 回归问题:建议使用
mse,spearman_corr
- 选择多个指标可以全面评估模型性能
配置结构序列(如适用)
- 如果使用
ses-adapter
方法,选择与训练时相同的Structure Sequence类型 - 可以选择
foldseek_seq
、ss8_seq
或两者都选 - 确保数据集中包含相应的结构序列字段
- 如果使用
设置批处理参数
- 选择Batch Processing Mode:
- Batch Size Mode:适合序列长度相近的数据集
- Batch Token Mode:适合序列长度变化大的数据集
- 设置批次大小或令牌数量
- 较大的批次可以加速评估,但需要更多内存
- 如果遇到内存不足错误,尝试减小批次大小
- 选择Batch Processing Mode:
4.3 预览和执行评估
预览评估命令
- 点击Preview Command按钮查看评估命令
- 检查所有参数是否正确设置
- 确认命令中包含所有必要的参数
- 这一步有助于发现潜在的配置错误
开始评估
- 点击Start Evaluation按钮开始评估
- 观察评估进度条,了解当前进度
- 评估过程中可以查看已处理的样本数量和已用时间
- 根据数据集大小和模型复杂度,评估可能需要几分钟到几小时不等
监控评估过程
- 观察进度条和状态信息
- 如果评估速度过慢,可以考虑增大批次大小
- 如果遇到内存错误,可以减小批次大小
中止评估(如需要)
- 如遇到错误或输入错误参数需中止评估,点击Abort按钮
4.4 分析评估结果
查看评估指标
- 评估完成后,查看评估指标表格
- 对于分类问题,关注
Accuracy
、F1
、Precision
、Recall
、MCC
等指标 - 对于回归问题,关注
MSE
、Spearman_corr
等指标 - 分析各项指标,了解模型的优势和不足
下载详细结果
- 点击Download CSV按钮下载详细评估结果
- CSV文件包含所有计算的评估指标
- 可以导入到Excel或其他工具中进行进一步分析
- 便于与其他模型的结果进行比较
结果解读与决策
- 根据评估结果,判断模型性能是否满足需求
- 如果性能不理想,考虑调整训练参数或使用不同的模型架构