You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sentence Transformer评估器使用及微调相关技术问题咨询

Sentence Transformers 微调相关问题解答

背景

我找到了Sentence Transformers的STS基准继续训练示例脚本以及官方说明文档,目前正在使用all-mpnet-base-v2模型结合自定义数据做微调,但对以下代码的使用存在困惑:

evaluator = EmbeddingSimilarityEvaluator.from_input_examples(
    dev_samples, name='sts-dev')

官方文档说明:

evaluator – 评估器(sentence_transformers.evaluation)用于在训练期间评估模型在预留验证数据上的性能,以确定保存到磁盘的最优模型。


核心问题

Q1. train_samples与dev_samples的区别是什么?

  • train_samples是训练数据集,用于模型学习任务特征、更新权重,是模型训练的核心数据;
  • dev_samples是验证数据集,完全不参与模型权重更新,仅用于监控模型的泛化能力、检测过拟合,同时作为筛选最优模型的依据。两者必须严格拆分,不能存在数据重叠。

Q2a:模型针对dev_samples输出性能指标,如何以此确定“保存到磁盘的最优模型”?

Sentence Transformers训练框架会自动在每次评估后,将当前模型的验证指标与历史最优指标对比(比如余弦相似度的皮尔逊相关系数),如果当前模型指标达到训练以来的最优值,就会自动将该模型保存到指定路径,覆盖之前的非最优模型,无需手动操作。

Q2b:是否需要用磁盘中保存的模型对dev_samples重新计算并对比分数?

不需要。训练过程中框架已自动完成最优模型的筛选与保存,直接使用最终保存的模型即可。若后续需要验证模型性能,可加载模型后重新计算,但这不是必要步骤。

Q3. 若仅需对单个模型进行微调,是否可以省略evaluator和evaluation_steps参数?

可以省略,但不推荐。省略后模型只会保存训练结束时的最后一轮模型,而最后一轮模型大概率不是泛化能力最优的(容易出现过拟合)。如果不在意模型泛化效果,仅需一个微调后的模型,可选择省略。

Q4. 如何确定模型的总步数?是否需要设置evaluation_steps?

  • 总步数计算方式:总步数 = 单轮步数 × 训练轮数,其中单轮步数 = 训练数据总数 ÷ 批次大小(向上取整,最后一批不足批次大小也需算一步);也可直接指定固定总步数。
  • evaluation_steps建议设置,它控制每训练多少步就用验证集评估一次(比如设为100,即每训100步跑一次验证),能更及时监控模型状态、保存最优模型。不设置的话,默认通常是每轮训练结束后评估一次。

补充问题

我按照建议使用了evaluator,fit方法输出数据已写入文件,现补充以下问题:

Q5. 选择最优轮次(epoch)使用的指标是cosine_pearson吗?

是的。对于EmbeddingSimilarityEvaluator,默认会计算余弦相似度的皮尔逊相关系数(cosine_pearson)和斯皮尔曼相关系数(cosine_spearman),框架默认以cosine_pearson作为最优模型的判定指标(也可在代码中指定其他指标)。

Q6:输出中的steps为何显示为-1?

这是因为你设置了固定的总训练步数(比如1000步),而非按训练轮数(num_epochs)训练。当使用固定步数训练时,框架无法提前计算每轮对应的具体步数,因此会显示-1。若改为通过num_epochs设置训练轮数,steps就会显示当前轮的具体步数。

Q7a:如何根据数据规模、批次大小等计算步数?

  • 单轮步数:训练数据总数 ÷ 批次大小,结果向上取整(最后一批数据量不足批次大小,仍需算作一步);
  • 总步数:单轮步数 × 训练轮数。

Q7b:我的单轮步数是否为2509/64?若是,1000步是否过高?

你的单轮步数应为2509÷64≈39.2,向上取整为40步;10轮训练的总步数为40×10=400步。你设置的1000步确实过高,相当于训练了约25轮,很容易导致模型过拟合,建议调整为400步左右,或者直接设置num_epochs=10让框架自动计算步数。


内容的提问来源于stack exchange,提问作者user2543622

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:48:19