首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏DeepHub IMBA

    ONNX Runtime Python 推理性能优化:8 个低延迟工程实践

    在深度学习落地过程中,有一个常见的误区:一旦推理速度不达标,大家的第一反应往往是拿着模型开到,比如:做剪枝、搞蒸馏、甚至牺牲精度换小模型。 以下是 8 个经过实战验证的低延迟优化策略,专治各种“莫名其妙的慢”。 6、CPU 推理?直接上量化 如果只能用 CPU,INT8 量化或者动态量化是提速神器。配合 CPU 的向量指令集能极大减少矩阵乘法的开销。 onnx", weight_type=QuantType.QInt8, # try QInt8 or QUInt8 extra_options={"MatMulConstBOnly providers=providers) x = np.random.rand(1, 3, 224, 224).astype(np.float32) print(bench(sess, x)) 总结 做低延迟推理没有什么黑科技

    38910编辑于 2025-12-30
  • 来自专栏JAVA

    推理延迟:解决PyTorch模型Inference阶段的RuntimeError ⏳⚡

    推理延迟:解决PyTorch模型Inference阶段的RuntimeError ⏳⚡ 摘要 大家好,我是默语,擅长全栈开发、运维和人工智能技术。 在PyTorch模型的推理阶段,RuntimeError是常见的问题之一。这类错误通常会导致模型推理延迟,严重影响模型的实时性能和用户体验。 然而,在模型推理阶段,我们常常会遇到各种RuntimeError,这些错误会导致推理过程延迟甚至失败。本文将详细分析这些错误的常见原因,并提供一系列有效的解决方法。 这类错误在模型推理阶段尤为常见,因为推理过程对时间要求较高,任何小的错误都可能导致显著的延迟。 model = MyModel().to(device) data = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8, 9]).to(device) # 推理过程 output

    1.3K10编辑于 2024-11-22
  • 如何破解AI推理延迟难题:构建敏捷多云算力网络

    3、推理服务层 :模型服务的“前线阵地”推理平台是直接承接业务请求、完成模型推理计算的节点,具备以下特点:分布广泛,通常部署在全国多个地域,贴近用户或边缘节点;每次计算轻量,但请求量巨大、波动频繁,对响应延迟敏感 4、训练算力层:模型训练的强力引擎相比推理平台,训练任务通常对资源有更高要求,训练平台需要具备:大规模 GPU 资源,通常集中部署在少数几个高性能算力集群;高带宽、低延迟的内网传输能力,以支撑海量训练数据读写 以一家专注于文生图的AI初创企业为例,在产品上线前夕突遇训练节点调度不稳定的问题,溯源发现是网络在多云资源池间连接延迟过高。 02、一张融合又隔离的网络训练和推理虽然共享底层架构,但对带宽、延迟、合规等网络指标要求迥异:■ 训练任务:带宽大、持续时间长、容忍延迟,重数据一致性与吞吐;■ 推理服务:请求频繁、对响应延迟敏感,要求链路尽可能短 尤其在推理服务爆发式增长后,企业面临以下挑战:■ 难以监控整条链路(从端侧 → 中台 → 推理节点)的请求响应时延;■ 当推理响应变慢时,无法快速定位是网络问题、调度延迟,还是推理节点负载过高;■ 大量请求突发时

    40010编辑于 2025-09-16
  • 来自专栏JiekeXu之路

    MySQL 8 主从延迟监控(复制可观测性)

    大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 MySQL 8 主从延迟监控(复制可观测性),欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达 我们中的许多老 MySQL DBA 都会使用 SHOW REPLICA STATUS 中Seconds_Behind_Source 来查找(异步)复制的状态和监控延迟。 如果 ( File , Position ) 大于 ( Master_Log_File , Read_Master_Log_Pos ) ,则意味着 IO 线程存在延迟。 我们还可以看到,这个副本延迟了将近 5 秒(滞后)。 然后,我们有了复制通道的名称以及原始提交者和直接源(在级联复制的情况下)的最大延迟/滞后(因为在并行复制的情况下可能有几个工作线程)。 我们也可以看到他们延迟了…… 你可能已经注意到有 3 个状态(都是 ON)。

    1.3K20编辑于 2023-09-26
  • 来自专栏DeepHub IMBA

    TensorRT 和 ONNX Runtime 推理优化实战:10 个降低延迟的工程技巧

    精度降低不一定掉点 现在的 GPU 对 FP16 支持很好,服务器 CPU 和 NPU 上 INT8 的收益也越来越明显。只要精度守得住,延迟的改善非常直接。 micro-batch 在 GPU 上效果明显 单条请求跑推理简单,但硬件利用率往往上不去。打包成 4-8 个请求一起跑,能在保持低延迟的同时提升吞吐。 CUDA Graph 能把整个推理过程录制下来,replay 时几乎没有 CPU 开销。 这里可以理解成在 GPU driver 层面把推理编译成一个可重放的宏。 后面再加上 CUDA Graph、micro-batch 和固定 shape,能把延迟压到很低,基本上拿来就可以用了 几个容易踩的坑 延迟指标一定要看 p50/p90/p95,别只盯平均值。

    55110编辑于 2025-11-15
  • 来自专栏腾讯云原生团队

    k8s夺命的5秒DNS延迟

    - "/bin/echo 'options single-request-reopen' >> /etc/resolv.conf" 3) 使用template.spec.dnsConfig (k8s

    10.2K32发布于 2020-02-14
  • 来自专栏Hadoop数据仓库

    MySQL 8 复制(三)——延迟复制与部分复制

    计划外切换 ---- 一、延迟复制 1. 延迟复制简介 即使通常MySQL复制很快,但MySQL缺省的复制存在延迟,并且用户无法缩短延迟时间。另一方面,有时却需要特意增加复制的延迟。 如果复制拓扑中的所有服务器都运行MySQL 8.0.1或更高版本,则使用这些时间戳测量延迟复制。如果从库未使用这些时间戳,则执行MySQL 5.7的延迟复制。 复制延迟默认为0秒。 延迟复制时,可以将延迟的从库回滚到错误之前的时间。 测试滞后时系统的行为方式。例如,在应用程序中,延迟可能是由从库设备上的重负载引起的。但是,生成此负载级别可能很困难。 监控延迟复制 在MySQL 8之前的老版本中,监控复制的延迟(滞后)最常用的方法之一是依赖于show slave status输出中的seconds_behind_master字段。 MySQL 8中添加的immediate_commit_timestamp和original_commit_timestamp可提供有关复制延迟的更精细的信息。

    4.6K20发布于 2019-07-02
  • 来自专栏AI SPPECH

    144_推理时延优化:Profiling与瓶颈分析 - 使用PyTorch Profiler诊断推理延迟,优化矩阵运算的独特瓶颈

    随着模型规模的不断扩大(从数亿参数到数千亿甚至万亿参数),即使在最先进的硬件上,推理延迟也常常成为用户体验和系统吞吐量的主要瓶颈。 1.1 推理时延优化的重要性 大语言模型的推理延迟直接影响着: 用户体验:实时应用场景(如聊天机器人、客服系统)要求响应时间通常在几百毫秒以内 系统吞吐量:延迟优化可以显著提升单位时间内处理的请求数量 成本效益比:相同硬件条件下,更低的延迟意味着更高的资源利用率 扩展能力:优化的推理性能使得模型能够在更多样化的硬件平台上部署 在当前的大模型生态中,即使是微小的延迟优化(例如降低10%的推理时间)也能带来显著的商业价值 1.1.1 延迟(Latency) 延迟是指从输入请求到获得输出结果的总时间。 对于大语言模型,我们通常关注: 端到端延迟:完整推理过程的总时间,包括数据预处理、模型计算和后处理 推理延迟:仅模型计算部分的时间 Token生成延迟:生成单个Token所需的时间(在自回归生成中尤为重要

    43410编辑于 2025-11-16
  • 来自专栏贾志刚-OpenCV学堂

    多线程界面化、ONNXRUNTIME + YOLOv8推理演示

    、实例分割、姿态评估的推理。 基本设计思路 这个系列我好久没有更新了,今天更新一篇PyQT5中如何实现YOLOv8 + ONNRUNTIME推理界面化与多线程支持。 首先需要实现三个类分别完成YOLOv8的对象检测、实例分割、姿态评估模型推理。然后在实现界面类,构建如图: 推理类型通过单选按钮实现选择,支持对象检测、实例分割、姿态评估。 推理按钮开发推理演示,支持视频与图像文件,开始推理会单独开启一个推理线程实现推理推理结果通过信号发送到指定的槽函数处理之后更新界面,通过信号与槽机制实现界面线程跟推理线程相互独立与数据共享。 app.setStyle('Windows') # 初始化桌面容器 main_win = QtWidgets.QMainWindow() # 设置APP窗口名称 main_win.setWindowTitle("YOLOv8多线程推理应用演示

    2K20编辑于 2023-08-22
  • 来自专栏SRE运维手记

    k8s网络延迟排查与优化实战分享

    01、背 景 这是早前的一个案例,那时候随着微服务数量的增加和请求量的上涨,我们当时从监控注意到业务高峰时线上接口的慢请求越来越多,原本毫秒级响应的接口偶尔会出现请求延迟超过1秒的现象,严重影响了用户体验 02、请求链路 当时采用的是nginx作为流量网关反向代理微服务网关,微服务和其网关跑在k8s集群上,微服务网关通过NodePort的形式暴露,为了方便问题复现和排查,我们把复现环境的Pod设置为单副本

    50810编辑于 2024-08-30
  • 来自专栏C博文

    边缘计算+AI算力网络:如何构建低延迟、高并发的实时推理系统?

    ,进一步降低推理延迟。 常用的模型压缩技术包括: 量化:将模型参数从高精度(如32位浮点)转换为低精度(如8位整数)表示,减少存储空间和计算量。 例如,使用TensorRT等推理引擎优化深度学习模型,将模型大小减少4-8倍,同时保持较高的准确率。 并行计算:利用多核处理器,实现多线程并行计算。 例如,使用TensorRT等推理引擎优化深度学习模型,将模型大小减少4-8倍,同时保持较高的准确率。 GPU加速:利用GPU的并行计算能力加速AI推理。 例如,使用TensorRT等推理引擎优化深度学习模型,将模型大小减少4-8倍,同时保持较高的准确率。 异构计算:结合CPU、GPU等不同类型的计算单元,发挥各自的优势。

    1.3K10编辑于 2025-07-19
  • 来自专栏GiantPandaCV

    NCNN+INT8+YOLOV4量化模型和实时推理

    xx.jpg 调用int8模型进行推理 打开vs2019,建立新的工程,配置的步骤我在上一篇博客已经详细说过了,再狗头翻出来祭给大家: https://zhuanlan.zhihu.com/p/368653551 禁掉,不用了 换成int8推理 把线程改成你之前制作int8模型的那个线程 模型也替换掉 具体如下: ? 代码需要修改的几点 走到这里,就可以愉快的推理了 ? (问的好,2g显存老古董跑起来怕电脑炸了) 对比之前的fp16模型,明显在input_size相同的情况下快了40%-70%,且精度几乎没有什么损耗 总结来说,新版ncnn的int8量化推理确实是硬货, 后续会尝试更多模型的int8推理,做对比实验给各位网友看 所有的文件和修改后的代码放在这个仓库里,欢迎大家白嫖: https://github.com/pengtougu/ncnn-yolov4-int8

    3K30发布于 2021-05-18
  • 来自专栏贾志刚-OpenCV学堂

    两行代码搞定YOLOv8各种模型推理

    微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 前言 大家好,YOLOv8 框架本身提供的API函数是可以两行代码实现 YOLOv8 模型推理,这次我把这段代码封装成了一个类,只有40 行代码左右,可以同时支持YOLOv8对象检测、实例分割、姿态评估模型的GPU与CPU上推理演示。 程序实现 YOLOv8框架支持的函数推理会自动识别模型的类型是对象检测、实例分割、姿态评估中哪一种,有GPU支持的情况下,默认会使用GPU推理推理运行在一个单独的PyQT线程中,通过信号与槽机制实现推理结果返回与更新。 __init__() self.settings = settings self.detector = YOLOv8PtInference(settings)

    1.8K40编辑于 2023-08-22
  • 来自专栏院长运维开发

    K8s集群curl service的ip延迟响应高

    后经过确认,他用的是iptables模式,但是集群已经是k8s1.18的版本了,故换下ipvs试一下。 小伙伴修改iptables模式为ipvs 换完ipvs后,发现kube-proxy还有报错。

    1.9K10发布于 2020-06-11
  • 来自专栏golang算法架构leetcode技术php

    mac 上学习k8s系列(51)延迟队列pulsar

    kafka不支持延迟消息,rocketmq支持的延迟消息粒度有限,pulsar(https://github.com/apache/pulsar)采用优先队列的方式实现,支持任意粒度的延迟消息 ,不过,对于大量延迟比较久的消息,内存消耗会比较严重。 complete 2bf3a856127c: Pull complete 378ca9dc24a7: Pull complete 281b3f6d1348: Pull complete c69f798d8aaf docker cp 935d2e372d0cf924967c6c6b9851b51a12b684e6c50acf9e273f7f8ea1f0de67:/pulsar/conf learn/pulsar docker cp 935d2e372d0cf924967c6c6b9851b51a12b684e6c50acf9e273f7f8ea1f0de67:/pulsar/data learn/pulsar

    60230编辑于 2022-12-17
  • 来自专栏SY小站的专栏

    k8s集群curl service的ip延迟响应高

    后经过确认,他用的是iptables模式,但是集群已经是k8s1.18的版本了,故换下ipvs试一下。

    1.8K20发布于 2020-06-15
  • 来自专栏时空探索之旅

    AI论文速读 | YingLong:基于联合预测框架与延迟链式推理的时序预测基础模型

    关键词: 时间序列预测、基础模型、联合预测框架、延迟链式推理(DCoT) 摘要 本文提出了一种用于时间序列预测的联合预测框架,该框架与传统的直接或递归方法形成对比。 这个框架为本文设计的基础模型 “YingLong” 实现了最先进的性能,并揭示了一种新的尺度效应:由于非因果方法中延迟的思维链推理,更长的输出显著提高了模型精度。 延迟链式推理(Delayed Chain-of-Thought, DCoT) 延迟链式推理:论文发现了一个新的现象,即通过延长输出序列(即增加延迟链式推理的长度),可以显著提高模型的预测精度。 这种现象被称为延迟链式推理(DCoT)。在DCoT中,未来的token(即链式推理token)可以影响过去的token,从而提供更多的上下文信息,增强模型的推理能力。 延迟链式推理(DCoT)的影响实验 实验目的:验证延迟链式推理(DCoT)对模型性能的影响。 实验方法:通过改变DCoT的长度,观察模型在GIFT-Eval基准测试中的性能变化。

    50810编辑于 2025-07-08
  • 来自专栏海向

    RabbitMQ 延迟队列,消息延迟推送

    目录 应用场景 消息延迟推送的实现 测试结果 ---- 应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。 这种解决方案相较于消息的延迟推送性能较低,因为我们知道 redis 都是存储于内存中,我们遇到恶意下单或者刷单的将会给内存带来巨大压力。 消息延迟推送的实现 在 RabbitMQ 3.6.x 之前我们一般采用死信队列+TTL过期时间来实现延迟队列,我们这里不做过多介绍,可以参考之前文章来了解:TTL、死信队列 在 RabbitMQ 3.6 .x 开始,RabbitMQ 官方提供了延迟队列的插件,可以下载放置到 RabbitMQ 根目录下的 plugins 下。 延迟队列插件下载 ? 首先我们创建交换机和消息队列,application.properties 中配置与上一篇文章相同。

    2.7K10发布于 2019-09-23
  • 来自专栏机器之心

    20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

    机器之心发布 机器之心编辑部 今年 8 月,飞桨(PaddlePaddle)对外发布面向终端和边缘设备的端侧推理引擎 Paddle Lite Beta 版。 Paddle Lite 的 Github 链接: https://github.com/PaddlePaddle/Paddle-Lite Paddle Lite 致力于提供一套功能完整、易用、高性能的端侧推理引擎 在 AI 技术落地中,推理阶段与实际应用相关联,直接关系到用户的体验,是非常具有挑战性的一环。 ? 图 1 .典型端侧 AI 应用部署场景 Paddle Lite 是飞桨产品栈中用于端侧高性能轻量化 AI 应用部署的推理引擎,核心用途是将训练出的模型在不同硬件平台场景下快速部署,根据输入数据,执行预测推理得到计算结果 更好的性能 ARM CPU (v7,v8) 上 float32 和 int8 两种计算模式的预测性能均得到提升(见图 3,图 4),详情可以参考最新的 Benchmark: 链接:https://paddlepaddle.github.io

    1.3K20发布于 2019-11-11
  • 来自专栏玩转 Spring Cloud

    Rabbitmq 通过延迟插件实现延迟队列

    Rabbitmq 通过延迟插件实现延迟队列 文章目录 DLX+TTL 存在时序问题 安装延迟插件 下载地址 安装 Java 代码实现 DLX+TTL 存在时序问题 由于队列先入先出的特性 通过死信队列(DLX)和给每条消息设置过期时间(TTL)来实现延迟队列, 会存在时序问题. 可以通过给 Rabbitmq 安装延迟插件来实现延迟队列功能 安装延迟插件 下载地址 rabbitmq-delayed-message-exchange 插件可到这里下载: RabbitMQ 延迟插件 RabbitAdmin.class); TopicExchange exchange = new TopicExchange("exchange.delay"); // 交换器设置延迟属性 class MsgListener { @RabbitHandler public void msgHandler(String msg) { log.info("接收到的延迟消息

    1.7K20编辑于 2022-05-05
领券