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

使用CUDA微调Sentence-BERT生成model.safetensors无法加载问题求助

问题解决:CUDA微调Sentence-BERT时强制保存为pytorch_model.bin

核心原因

你推测的没错,transformers库新版本(4.29+)在CUDA环境下默认使用safetensors格式保存模型权重,而部分旧版本的sentence-transformers对该格式支持不完善,导致加载时找不到pytorch_model.bin报错。以下是几种直接可行的解决方法:


方法1:代码层面强制保存PyTorch格式

在初始化Transformer模块时,添加model_save_kwargs参数禁用safetensors序列化,确保无论CPU/CUDA环境都生成pytorch_model.bin:

checkpoint = 'sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2'

# 添加model_save_kwargs参数强制用PyTorch格式保存
word_embedding_model = models.Transformer(
    checkpoint, 
    cache_dir=f'model/{checkpoint}',
    model_save_kwargs={"safe_serialization": False}
)
pooling_model = models.Pooling(word_embedding_model.get_word_embedding_dimension(), pooling_mode='mean')
model = SentenceTransformer(modules=[word_embedding_model, pooling_model], device='cuda')

# 后续训练代码不变
train_loss = losses.CosineSimilarityLoss(model)
evaluator = evaluation.EmbeddingSimilarityEvaluator.from_input_examples(val_examples, name='sbert')
model.fit(
    train_objectives=[(train_dataloader, train_loss)], 
    epochs=5, 
    evaluator=evaluator, 
    show_progress_bar=True, 
    output_path=f'model_FT/{checkpoint}', 
    save_best_model=True
)

方法2:降级transformers库版本

如果不想修改代码,可将transformers降级到默认不使用safetensors的版本(如4.28.x系列),避免版本兼容问题:

pip install transformers==4.28.1

注意降级后需确认与当前sentence-transformers版本兼容,可通过pip show sentence-transformers查看其依赖的transformers版本范围。

方法3:手动转换已生成的safetensors文件

如果已经得到了model.safetensors,可通过代码手动转换为pytorch_model.bin:

import torch
from safetensors.torch import load_file

# 加载safetensors权重
weights = load_file("model_FT/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2/model.safetensors")
# 保存为PyTorch格式
torch.save(weights, "model_FT/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2/pytorch_model.bin")

转换后即可被sentence-transformers正常加载。

额外建议

若环境允许,可直接升级sentence-transformers到2.2.0及以上版本,该版本已原生支持safetensors格式,无需修改保存逻辑即可正常加载:

pip install --upgrade sentence-transformers

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:01:18