启动推理服务--modelscope serve OR swift infer

训练后的模型会用于推理或者部署。推理即使用模型用输入获得输出的过程,部署(生产环境建议使用swift deploy命令)是将模型发布到恒定运行的环境中推理的过程。
swift deploy --model_id_or_path qwen/Qwen-1_8B-Chat --max_new_tokens 128 --temperature 0.3 --top_p 0.7 --repetition_penalty 1.05 --do_sample true
在使用 ModelScope 平台时进行本地部署和推理时modelscope serveswift infer 是两个不同的命令,分别服务于不同的目的和场景。以下是它们的详细说明和区别:

一、modelscope serve

用途:

  • 启动一个模型作为服务,提供 RESTful API 接口供外部调用。
  • 主要用于部署已经训练好的模型,并通过 HTTP 请求与之交互。

特点:

  • 支持多种任务类型的模型部署(如文本生成、图像分类等)。
  • 提供了开箱即用的服务端点,方便集成到现有的应用程序中。
  • 可以指定模型ID、版本(revision)、以及模型的任务类型等参数来定制化服务。
  • 适用于需要长期运行的服务环境,支持高并发请求处理。

使用场景:

  • 当你需要将一个模型部署为在线服务,供其他系统或用户通过网络接口访问时。
  • 需要对模型进行持续的服务监控和管理,包括负载均衡、自动扩展等功能。

示例:

modelscope serve --model_id=Qwen/Qwen2.5-7B-Instruct --revision=master --task=text-generation

二、 swift infer

用途:

  • 执行单次推理请求,通常是在本地环境中直接调用模型进行预测。
  • 更加轻量级,适合实验性测试或小规模应用。

特点:

  • 直接在命令行中执行推理操作,无需搭建服务器。
  • 适用于快速验证模型效果或开发阶段的调试。
  • 支持导出模型以便于后续部署或其他用途。

使用场景:

  • 当你想要快速测试某个模型的效果,而不需要构建完整的服务器架构时。
  • 在开发过程中,频繁地调整模型参数并立即查看结果。

示例:
假设你已经有一个微调后的模型路径,可以这样调用:

swift infer --model_path=/path/to/your/model --input="你的输入文本"

区别总结

特性 modelscope serve swift infer
主要用途 部署模型为服务 执行单次推理
部署方式 启动长期运行的服务 单次命令行调用
适用场景 本地部署,对外提供API 开发测试,命令行方式快速验证
性能考虑 支持高并发,可扩展 轻量级,适合单机测试
复杂度 较高,涉及服务配置 较低,简单易用

根据你的具体需求选择合适的工具。如果你的目标是快速尝试模型的效果,swift infer 是更便捷的选择;而如果你打算将模型部署到生产环境中,供多个客户端调用,则应选择 modelscope serve

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容