小模型部署:fastapi+gunicorn

部署运行你感兴趣的模型镜像

部署小模型all-miniLM-L6-V2来提供计算文本相似度接口,部署的过程中遇到很多问题,目前都已解决,记录一下。

配置

容器配置:16核10G
gunicorn配置:5个worker
小模型包:sentence-transformer

遇到的问题

1.gunicorn worker频繁重启
查看worker日志,报错是可能因为内存原因导致worker重启。加大内存,并发量为1,worker还是频繁重启。

尝试解决问题:
a. 在接口上加一个装饰器,记录接口请求前后使用的内存,发现内存仅用了1/10,可以排除不是内存不足

b.执行top命令,观察数据,发现cpu使用率高,容器的负载很高,很快都达到60多,worker会重启。查了一下,发现可能是torch使用的cpu过高导致的。在加载小模型之前,设置torch.set_num_threads(4),重启服务,发现问题解决了

代码:

torch.set_num_threads(4)       # 在模型加载前设置PyTorch线程
model = SentenceTransformer(model_name_or_path=text_similar_model_path,
                                             device="cpu")
model.eval()       # 把模型设置为评估模式,减少内存使用

2.数据量大的时候,每次处理一条数据,整个过程耗时很长
看了一下sentence-transformer的文档,发现可以批量处理数据,设置model.encode(texts, batch_size=16) 发现处理时间缩短了很多

代码:

embeddings = model.encode(sentences, batch_size=16)

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值