2026年4月23日 周四晚上19:30,来了解“从个人单点提效,到构建企业AI生产力”(限30人)
免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

用 Unsloth 微调 Embedding 模型,让你的 RAG 检索不再答非所问

发布日期:2026-04-20 15:50:05 浏览次数: 1523
作者:活水智能

微信搜一搜,关注“活水智能”

推荐语

Unsloth 开源工具助你高效微调 Embedding 模型,彻底解决 RAG 系统答非所问的痛点!

核心内容:
1. 通用 Embedding 模型在专业领域的局限性分析
2. Unsloth 工具的性能优势与支持模型介绍
3. 四步完成 Embedding 模型微调的实操指南

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

点击上方↗️「活水智能」,关注 + 星标🌟

图片

作者:Unsloth

编译:活水智能

你用 RAG 搭了一个知识库问答系统,结果用户一问问题,检索回来的全是不相关的内容。

问题出在哪?大概率是你的 Embedding 模型不够"懂"你的数据。

通用的 Embedding 模型在开放域表现不错,但换到你的专业领域——法律文书、医疗记录、代码文档——它对"相似"的理解可能和你完全不同。

解决方案:微调。用你自己的数据训练 Embedding 模型,让它学会你领域里的"相似"到底是什么意思。

今天介绍的 Unsloth,就是目前做这件事效率最高的开源工具之一。

Unsloth 是什么

Unsloth 是一个专注于大模型高效微调的开源项目,在 GitHub 上已有超过 25K Star。它最近新增了对 Embedding 模型微调的支持,通过 FastSentenceTransformer 接口,实现了:

  • • 训练速度提升 1.8-3.3 倍(对比 SentenceTransformers + Flash Attention 2)
  • • 显存占用大幅降低(EmbeddingGemma-300M 用 QLoRA 只需 3GB 显存)
  • • 支持 LoRA、QLoRA 和全量微调三种模式

支持哪些模型

Unsloth 支持主流的 Embedding 模型,包括:

模型
特点
BAAI/bge-m3
多语言,中文表现优秀
Qwen/Qwen3-Embedding-0.6B
阿里出品,中文友好
google/embeddinggemma-300m
轻量级,适合资源受限场景
BAAI/bge-large-en-v1.5
英文基准表现强
sentence-transformers/all-MiniLM-L6-v2
经典轻量模型
Alibaba-NLP/gte-modernbert-base
基于 ModernBERT 架构

如果你的 RAG 系统主要处理中文内容,推荐从 bge-m3 或 Qwen3-Embedding 开始。

怎么用:4 步完成微调

第 1 步:加载模型

from unsloth import FastSentenceTransformer

model = FastSentenceTransformer.from_pretrained(
    "BAAI/bge-m3",  # 选择你的基座模型
)

Unsloth 的 FastSentenceTransformer 是对 sentence-transformers 库的加速封装,API 用法几乎一致,迁移成本很低。

第 2 步:准备训练数据

微调 Embedding 模型需要的数据格式很简单——成对的"查询-文档"样本,标注它们是否相关。你可以从现有的 RAG 系统日志中提取这些数据。

第 3 步:训练

Unsloth 支持三种微调方式:

  • • QLoRA(4bit):显存占用最低,适合消费级显卡。EmbeddingGemma-300M 只需 3GB 显存
  • • LoRA(16bit):平衡性能和资源,EmbeddingGemma-300M 需要 6GB 显存
  • • 全量微调:效果上限最高,但需要更多显存

第 4 步:保存和部署

model.save_pretrained("my-finetuned-embedding")

# 或合并后保存(推荐用于部署)
model.save_pretrained_merged("my-finetuned-embedding-merged")

# 或直接推送到 Hugging Face Hub
model.push_to_hub("your-username/my-finetuned-embedding")

微调后的模型可以无缝对接主流框架:LangChain、Weaviate、vLLM、llama.cpp、Text Embeddings Inference(TEI)等,不需要改动你现有的 RAG 管道。

推理:用微调后的模型做检索

from sentence_transformersimportSentenceTransformer

model=SentenceTransformer("your-username/my-finetuned-embedding")

query="什么是强化学习?"
documents=[
    "强化学习是一种通过试错来学习最优策略的机器学习方法。",
    "监督学习需要大量标注数据来训练模型。",
    "深度学习使用多层神经网络来提取特征。",
]

query_embedding=model.encode_query(query)
document_embedding=model.encode_document(documents)
similarity=model.similarity(query_embedding,document_embedding)
print(similarity)
# 第一个文档的相似度会明显高于其他两个

性能基准

Unsloth 官方给出的基准测试数据:

微调方式
速度提升
显存需求(EmbeddingGemma-300M)
QLoRA(4bit)
1.8-2.6x
3GB
LoRA(16bit)
1.2-3.3x
6GB

对比基线是 SentenceTransformers + Flash Attention 2。这意味着你用一张消费级显卡(比如 RTX 3060 12GB),就能完成大多数 Embedding 模型的微调。

什么时候该微调 Embedding

不是所有场景都需要微调。以下情况值得考虑:

  • • 你的 RAG 系统在特定领域的检索准确率不够高
  • • 你有足够的领域数据(查询-文档对)
  • • 通用模型对你领域的专业术语理解不准确
  • • 你需要在资源受限的环境下部署(微调后的小模型可能比通用大模型更好)

如果你的 RAG 系统用通用模型已经表现不错,那就不需要折腾微调。

小结

Embedding 模型微调是提升 RAG 系统检索质量的关键一步。Unsloth 把这件事的门槛降到了很低——3GB 显存就能开始,训练速度还快了 2-3 倍。

如果你正在搭建或优化 RAG 系统,值得试试。

原文链接:https://unsloth.ai/docs/new/embedding-finetuning

项目地址:https://github.com/unslothai/unsloth

欢迎加入零基础 AI 大模型研发训练营,一起掌握 AI 时代的底层能力。

42天,从零训练一个AI大模型

42天,从零训练一个AI大模型

42天,从零训练一个AI大模型

👇🏻👇🏻👇🏻

海报
 点击阅读原文,立即报名

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询