要保存微调后的 Sentence Transformer 模型,请使用该库提供的 save
方法。在训练您的模型后,调用 model.save("output/path")
,它会将模型权重、配置和分词器保存到指定的目录。此方法确保所有组件(例如,transformer 架构、池化层和分词器)都以结构化格式存储,包括 config.json
、pytorch_model.bin
和分词器特定文件等文件。这种方法保证了以后重新加载模型时的可重现性和兼容性。
要加载保存的模型以进行推理,请使用目录路径初始化一个 SentenceTransformer
实例。例如,model = SentenceTransformer("output/path")
使用保存的配置和权重重建模型。只要使用相同的依赖项(例如,sentence-transformers
和 transformers
库版本),这就可以在各个环境中无缝运行。如果您修改了模型架构(例如,添加了自定义层),请确保在加载之前在代码中反映这些更改,以避免错误。然后,加载的模型可以像往常一样通过 model.encode(text)
生成嵌入。
对于部署,请考虑将模型打包到服务中。例如,使用 Flask 或 FastAPI 将加载的模型包装在 REST API 中,其中传入的文本请求通过 model.encode()
进行处理。或者,将模型序列化为 ONNX 格式,以便在生产系统中实现更快的推理。在部署到 AWS SageMaker 等云平台时,将模型目录打包到包含必要依赖项的 Docker 容器中。始终使用测试输入验证加载的模型的性能,以确保训练和推理环境之间的一致性。