惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
Jina AI
Jina AI
博客园 - 叶小钗
雷峰网
雷峰网
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
量子位

博客园 - lightsong

Symmetric vs. Asymmetric Semantic Search Hierarchical Navigable Small Worlds (HNSW) Vision Transformer + BentoML ML Serving/编排工具 Introducing Gemma 3 270M: The compact model for hyper-efficient AI Utopia -- 企业世界模型 trustgraph semantica semantica vs graphti Industrial-Strength Natural Language Processing seata reference with springboot and other valuable demo outbox pattern with springboot Saga pattern with springboot 基于 Sentence Transformers 的具体应用案例 Vault with Keycloak as workload IAM Ontology Reasoning System ADR Claude Code的hook The AI-Native SDLC playbook Introduction to Dapper Introduction to FluentValidation Introduction to AutoFixture Introduction to FluentAssertions Understanding Return Types: IEnumerable, IReadOnlyCollection, and List Introduction to Refit Introduction to Carter Introduction to Minimal APIs Introduction to MediaTr Building Resilient .NET Applications with Polly Understanding Event-Driven Architecture
Train and Fine-Tune Sentence Transformers Models
lightsong · 2026-09-16 · via 博客园 - lightsong

https://huggingface.co/blog/how-to-train-sentence-transformers

https://www.sbert.net/docs/sentence_transformer/training_overview.html#why-finetune

https://github.com/fanqingsong/fine-tuning-sentence-transformers/tree/main

这是一篇关于 Hugging Face 官方博客的文章,主要介绍了如何使用 sentence-transformers 库对模型进行训练和微调。

文章的核心观点是:虽然预训练模型功能强大,但为了在特定任务上获得最佳效果,微调是必不可少的。文章详细阐述了微调 Sentence Transformers 模型的完整流程。

🎯 为什么要微调 (Why Finetune?)

预训练模型(如 BERT)通常是通用的,并不理解特定任务中“相似性”的具体含义。微调可以让模型适应具体的应用场景,例如:

  • 分类任务:让语义相似的文本产生相似的向量嵌入。
  • 语义文本相似度 (STS):根据语义的细微差别来区分文本。
  • 语义搜索:侧重于优化查询与文档之间的匹配效果。

🛠️ 训练核心组件 (Training Components)

微调一个 Sentence Transformer 模型主要涉及以下几个关键部分:

  • 模型 (Model):通常由一个 Transformer 模块(如 BERT, RoBERTa)和一个 Pooling 模块组成。也支持多模态模型。
  • 数据集 (Dataset):可以从 Hugging Face Hub 或本地加载。数据格式(列名)需要与所选的损失函数相匹配。例如,非标签列(如 "sentence1")是输入,标签列(如 "score")是目标值。
  • 损失函数 (Loss Function):没有通用的最佳选择,需要根据数据和任务来决定。常见的有 CoSENTLoss, MultipleNegativesRankingLoss, CosineSimilarityLoss 等。
  • 训练参数 (Training Arguments):使用 SentenceTransformerTrainingArguments 来配置学习率、Batch size、训练轮数(Epochs)等超参数。
  • 评估器 (Evaluator):在训练期间或结束后评估模型性能,例如使用 EmbeddingSimilarityEvaluator 来评估 STS 任务。
  • 训练器 (Trainer)SentenceTransformerTrainer 是核心,它将以上所有组件整合在一起执行训练。

🚀 高级训练技巧

  • 多数据集训练 (Multi-Dataset Training):支持同时使用多个数据集进行训练,这能有效提升模型的泛化能力。可以为不同数据集指定不同的损失函数,并设置采样策略(如按比例或轮询)。
  • 最佳基础模型 (Best Base Models):文章基于在 14 个文本相似度任务上的表现,列出了推荐的基础模型。其中 microsoft/mpnet-base 表现最佳,其次是 ernie-2.0-endeberta-base

📢 重要更新

  • 弃用旧方法:旧版的 model.fit() 方法已被标记为弃用(Deprecated)。
  • 推荐新方法:官方强烈建议直接使用 SentenceTransformerTrainer 进行训练,因为它提供了更多的控制权和功能支持。

出处:http://www.cnblogs.com/lightsong/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。