Triton + HF + Qwen 推理经验总结

2023-12-21 17:12

本文主要是介绍Triton + HF + Qwen 推理经验总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 简介

Triton介绍参考:GitHub - triton-inference-server/tutorials: This repository contains tutorials and examples for Triton Inference Server

2. 实现方案

2.1. docker部署

# 拉取docker镜像
git clone -b r23.10 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh# 建立模型仓库目录
mkdir -p /data/triton/model_repository# 构建个人的自定义模型
# 更多模型结构实例参考:https://github.com/triton-inference-server/tutorials/tree/main/HuggingFace
model_repository/
|-- model_name
|   |-- 1
|   |   `-- model.py
|   `-- config.pbtxt
# 千问模型的triton配置:# config.pbtxt使用自定义的python环境
parameters: {key: "EXECUTION_ENV_PATH",value: {string_value: "$$TRITON_MODEL_DIRECTORY/llm"}
}
# conda环境打包,存放位置和config.pbtxt同级别目录:
conda pack -n llm --ignore-editable-packages# 启动服务
docker run -it --gpus='"device=0,1"' --rm --net=bridge \
--name chatstore \
-p18000:8000 -p18001:8001 -p18002:8002 \
-v /data/jupyter/LLM:/workspace \
-v /data/triton/model_repository:/models \
nvcr.io/nvidia/tritonserver:23.09-py3 \
bash -c "export PYTHONIOENCODING=UTF-8 && tritonserver --model-repository=/models "

2.2. 踩坑问题

  • docker启动要用bridge模型,默认host模式会让端口映射失效;
  • tritonserver启动时,要加export PYTHONIOENCODING=UTF-8,不然会导致中文格式乱码;
  • mode.py文件中启动qwen如果开启use_cache_quantization和use_cache_kernel需要cache_autogptq_cuda_*,使用os将文件迁移到文件目录(测试时,对面模型目录已存在但是没用)

os.system("cp -r /workspace/models/Qwen-14B-Chat-Int4-hf/cache_autogptq_cuda_* ./")

  • qwen的模型batch推理请参考官方:https://github.com/QwenLM/Qwen/blob/main/README_CN.md#batch%E6%8E%A8%E7%90%86
  • qwen的kv cache是时间换空间的思路,与平常理解的kv cache空间换时间不太一样,所以关掉qwen的kv cache可以加速。

这篇关于Triton + HF + Qwen 推理经验总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520832

相关文章

一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)

1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear["Global`*"]f0[x_, a_, b_, c_, d_] := (a*x - b)*(d - c*x);(*(b c+a d)/(2 a c)*)Maximize[{f0[x, a, b,

PyInstaller问题解决 onnxruntime-gpu 使用GPU和CUDA加速模型推理

前言 在模型推理时,需要使用GPU加速,相关的CUDA和CUDNN安装好后,通过onnxruntime-gpu实现。 直接运行python程序是正常使用GPU的,如果使用PyInstaller将.py文件打包为.exe,发现只能使用CPU推理了。 本文分析这个问题和提供解决方案,供大家参考。 问题分析——找不到ONNX Runtime GPU 动态库 首先直接运行python程序

关于 export HF_ENDPOINT=https://hf-mirror.com

# 使用 Hugging Face Hub 镜像:设置和应用场景 ## 引言 Hugging Face 是一个流行的机器学习模型托管平台,它提供了大量的预训练模型和易于使用的API。为了提高访问速度和降低延迟,Hugging Face 提供了镜像服务,用户可以通过设置环境变量 `HF_ENDPOINT` 来指定使用特定的镜像地址。本文将介绍如何设置 `HF_ENDPOINT` 环境变量,并探讨

【有啥问啥】大模型应用中的哈希链推理任务

大模型应用中的哈希链推理任务 随着人工智能技术的快速发展,尤其是大模型(如GPT、BERT、Vision Transformer等)的广泛应用,确保数据处理和模型推理的透明性与安全性变得愈发重要。哈希链推理任务作为一种技术手段,能够在大模型应用中保障数据的完整性和推理过程的可信性。本文将深入探讨哈希链推理任务的数学基础、技术细节、应用场景,并展望未来发展趋势。 一、哈希链与哈希链推理任务

Git使用经验总结7-自动检测未提交内容并进行提交

标题有点绕,其实是这个意思:远端像Github这样的仓库由于网速的问题,你是没办法进行大数据量的提交的,因为很有可能会因为连接超时而导致提交中断。对于这种情况就需要使用脚本,检查未提交内容,分批次进行多次提交。例如笔者使用的PowerShell脚本如下: # 获取当前未提交的 .tif 文件列表$files = git status --porcelain | Where-Object { $

yolov8-obb旋转目标检测onnxruntime和tensorrt推理

onnxruntime推理 导出onnx模型: from ultralytics import YOLOmodel = YOLO("yolov8n-obb.pt") model.export(format="onnx") onnx模型结构如下: python推理代码: import cv2import mathimport numpy as npimport onnxr

第一个100%开源的MoE大模型,7B的参数,1B的推理成本

尽管大语言模型 (LM) 在各种任务上取得了重大进展,但在训练和推理方面,性能和成本之间仍然需要权衡。 对于许多学者和开发人员来说,高性能的 LM 是无法访问的,因为它们的构建和部署成本过高。改善成本 - 性能的一种方法是使用稀疏激活混合专家 (MoE)。MoE 在每一层都有几个专家,每次只激活其中的一个子集(参见图 2)。这使得 MoE 比具有相似参数量的密集模型更有效,因为密集模型为每个

3天把Llama训成Mamba,性能不降,推理更快!

近日,Mamba方面又搞出了有意思的研究:来自康奈尔、普林斯顿等机构的研究人员成功将Llama提炼成了Mamba模型,并且设计了新的推测解码算法,加速了模型的推理。\ 先来看一张其乐融融的图片(一眼AI): 右边的小羊驼代表Llama,而左边的蛇(Mamba)也是我们的老熟人了。 至于到底能不能其乐融融,咱就不管了,之所以有此场景,是因为Mamba方面又搞出了有意思的研究: ——如何把

深度学习|模型推理:端到端任务处理

引言 深度学习的崛起推动了人工智能领域的诸多技术突破,尤其是在处理复杂数据与任务的能力方面。模型推理作为深度学习的核心环节,决定了模型在真实应用场景中的表现。而端到端任务处理(End-to-End Task Processing)作为深度学习的一种重要范式,通过从输入到输出的直接映射,显著提升了任务处理的效率和精度。在传统机器学习中,特征提取、数据清理、模型选择等步骤需要独立处理,过程繁琐且

通义千问Qwen 2大模型的预训练和后训练范式解析

LLMs,也就是大型语言模型,现在已经发展得挺厉害的。记得最开始的时候,我们只有GPT这样的模型,但现在,我们有了一些更复杂的、开放权重的模型。以前,训练这些模型的时候,我们主要就是做预训练,但现在不一样了,我们还会加上后训练这个阶段。 咱们今天就以通义千问Qwen 2这个模型为例,来好好分析一下Qwen 2的预训练和后训练都是怎么搞的。它在大型语言模型界里算是挺能打的。不过,虽然它很强