掘金 人工智能 前天 17:27
本地部署大模型
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了如何在本地部署VLM(视觉语言模型)技术,并将其应用于财务审计项目中。文章重点讲述了一意内部评估通过的VLM技术在财务审计中的应用,该技术基于OCR技术沉淀,通过微调实现数据识别处理,显著降低成本,准确率达到95%以上。同时,文章详细阐述了使用vLLM推理大语言模型和SGLang推理多模态模型的方法,以及推理过程中的关键参数和算力需求,并提供了实践代码,方便读者进行本地部署和应用。

🚀 VLM技术在财务审计项目中表现出色,准确率高达95%以上,这主要得益于OCR技术的积累和微调,使得数据识别处理的成本大幅降低。

💡 文章推荐使用vLLM和SGLang这两种推理框架,分别用于推理大语言模型(LLM)和多模态模型(VLM)。其中,SGLang在多模态模型支持方面更具优势,而vLLM则更适合大模型管理。如果算力不足,也可以选择纯API方案。

⚙️ 在本地部署和推理模型时,需要先创建conda环境,安装相应的依赖。推理大模型时,可以使用vLLM,并通过CUDA_VISIBLE_DEVICES参数指定使用的GPU,设置端口号、最大上下文长度和显存利用率等参数。推理多模态模型时,可以使用SGLang,并指定模型路径和视觉聊天模板。

🧮 文章还提供了一个计算模型使用显存的简单公式:`MGPU = P * 4B * (Q/32) * (1.2-1.4)`,方便读者评估自己的显卡是否能够运行特定模型。例如,一个使用FP16精度的7B模型,大概需要16.8-19.6GB的显存。

声明:我是引用的 付费文章,文章搬过来只是为了自己学习方便,不用每次输入验证口令。如果侵权,第一时间删除。 原文链接:gxlbvdk4ilp.feishu.cn/wiki/Ye0bwg…

本文讨论了2025年初一意内部评估通过的VLM技术在财务审计项目中的应用,以及如何在本地部署高并发、服务化的推理模型,包括大语言模型和多模态模型。关键要点包括:

    VLM技术优势:在财务审计项目中,准确结果达95%以上,源于OCR技术沉淀,微调用于数据识别处理任务,成本骤降。

    课程目的与定位:呈现一意当时接入数据处理范式的过程,定位“生产”,聚焦应用,不深入算法。

    推理框架选择:用vLLM推理大语言模型,SGLang推理多模态模型,也可用纯API方案(无足够算力时)。

    推理过程:先推1个LLM + 1个VLM,VLM负责非结构化数据识别、提取,LLM负责结构化处理或入库,推理后成为本地openai API。

    安装与推理:分别创建conda环境,安装依赖,按指令推理大模型和多模态模型,介绍推理参数作用。

    算力计算:给出计算模型使用显存的公式,以SGLang推理olmOCR-7B-0225-preview为例说明。

    实践代码汇总:汇总推理大模型和多模态模型的指令,方便逐步操作。

前言

VLM是在2025年初,通过一意内部评估,加入达到生产要求清单的

一意发现,在财务审计项目中,准确结果达到95%以上,源于OC·R技术多年的技术、数据沉淀,原本VLM微调用于数据识别处理任务,成本骤降,也是2025年,一意认为最值得跟进的技术领域;

课程目的,就是把大家,拉到2025年初,把一意当时接入数据处理范式的过程,呈现出来;

课程定位“生产”,实现如何在自己的设备上推理,目前市面上主流推理模型框架有很多,篇幅有限,一意会聚焦应用,不会深入算法,如果你是算法工程师,建议你深入到这些推理框架中,可以帮助你拥有更多方法,接入生产

本次,选择用vLLM、SGLang推理models集群,后面我们要围绕他,做生产应用;

推理分布是这样的

vLLM:推理大语言模型(LLM)

SGLang:推理多模态模型(VLM)

SGLang对于多模态模型来说,拥有更多支持,vLLM则在大模型管理方面,更加合适;

当然,你也可以使用纯API方案实现(对于没有足够算力的朋友),如果你准备使用纯API方案,你就不需要在本地推理模型了,跳过本课;


一、推理过程

生产环境,计算资源非常珍贵,models,不太可能仅为一个任务而推理

我们要想,如何充分压榨硬件的计算资源,达到均衡的吞吐与延迟

比较通用的集群结构是这样的:

序号模型类型英文功能场景
1大语言模型LLM文本生成、问答、翻译等自然语言处理、对话系统、内容生成
2多模态模型VLM图文理解、视觉问答、跨模态检索等图文分析、内容创作、智能推荐
3向量模型Embedding文本/图像向量化表示搜索引擎、推荐系统、相似度计算
4重排模型Reranker结果排序优化、提升检索相关性搜索引擎、推荐系统、信息检索

每一个应用,背后都是一个大模型集群,看任务,可能还会有更多的专用模型,LLM是每个应用的基础,本次应用目的,就是讲VLM如何接入生产?与当下LLM组合成更强大系统的;

这是一个models的集群,是单独模块化设计的,同时,也是应用的基础!

我们会先推1个LLM+1个VLM,稍后跟着推理起来,之后分工是:

VLM-->负责非结构化数据的识别、提取

LLM-->负责承接VLM提取出来的数据,将它结构化处理或入库

以上两个模型,推理起来后,是一个本地的openai API,任何的应用,都可以接入!

1.1 推理大模型

这个过程,我们在会员圈里都发过很多资料,目前用得比较广的是:vLLM,生产场景,也推荐用它;

注意,这里我们聚焦应用,不会深入算法,如果你是算法工程师,你一定要深入去研究vLLM;

本地部署以及推理模型

在我们之前部署好的基本环境之后,就可以正式部署推理框架

先看conda版本,确保环境正常使用

conda --version

创建conda环境

下方指令,Vllm是命名,可以输入自己想好的命名,注意,1个model,1个环境,便于管理,避免依赖冲突

conda create -n Vllm python==3.10

出现Proceed我们输入Y ,让他继续安装

命令行出现上面,代表成功安装

激活环境!

conda activate Vllm

安装依赖!

我们用的是12.4的cuda,这里我们直接安装vLLM最新版

注意,如果是11.8的话,要根据vllm文档方法编译;

这里将到清华源下载,避免部分朋友无法翻墙;

pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple

推理大模型!

运行下方指令,就可以推理了!

每个人环境不同,稍后把下方参数展开,你也可以根据自己的算力,推理起来

CUDA_VISIBLE_DEVICES=0 vllm serve /media/ubu/文档/大模型/qwen-2.5-14B-GPTQ-int8 \    --served-model-name qwen-2.5-14B-GPTQ-int8 \    --dtype auto \    --port 8001 \    --max-model-len 4096 \    --gpu-memory-utilization 0.9

#新开一个终端,测试模型端口curl http://0.0.0.0:8003/v1/models

讲讲推理参数!

我们演示的设备是有多张卡的,举例:

假设你的机器有 4 张 GPU,编号为 0, 1, 2, 3,你希望使用第二张卡(即编号为 1 的 GPU)进行推理

CUDA_VISIBLE_DEVICES=0 vllm serve /media/ubu/文档/大模型/qwen-2.5-14B-GPTQ-int8 \    --served-model-name Qwen2.5-14B-Instruct-GPTQ-Int8 \    --dtype auto \    --port 8001 \    --max-model-len 4096 \    --gpu-memory-utilization 0.9

各部分作用:

    CUDA_VISIBLE_DEVICES=0

      这个环境变量限制只能用编号为 0 的 GPU,如果需要多张卡,就将它填上去,0, 1这是两张卡

    vllm serve

      使用 vLLM 提供的服务模式启动模型推理服务

    /root/model/Qwen2.5-14B-Instruct-GPTQ-Int8

      指定模型的绝对路径,这里是 Qwen2.5-14B-Instruct-GPTQ-Int8 模型

    --served-model-name Qwen2.5-14B-Instruct-GPTQ-Int8

      指定对外暴露的服务名称,客户端可以通过这个名称访问模型,这个名称不能错,否则程序找不到

    --dtype auto

      自动选择模型的数据类型(例如 float16bfloat16),以优化推理性能

    --port 8001

      指定服务监听的端口号为 8001,不能冲突,因为是模型集群,每个模型都要指定端口

    --max-model-len 4096

      设置模型支持的最大上下文长度为 4096,长度越长,需要的显存资源就越多

    --gpu-memory-utilization 0.9

      设置 GPU 显存利用率上限为 90%,防止显存溢出,不管多大模型,只要是指定了这个参数,就会使用90%显存

更多的参数,到这里看:

docs.vllm.com.cn/en/latest/s…

1.2 推理多模态模型

优势:

RadixAttention 优化:通过共享前缀请求和高效缓存策略,SGLang 能在理论上实现十万级 token/s 的超高吞吐量,同时显著降低响应延迟。

高效结构化输出:内置高性能 JSON 解析模块,便于构建面向结构化数据查询的 API 服务,适合复杂自动化工作流。

轻量模块化架构:采用灵活的模块化设计,便于快速集成新技术(如 FlashInfer 内核),不断优化推理效率。

安装的过程也非常简单

先创建每一个新的conda环境,以免依赖冲突

创建conda环境并激活!

#虚拟环境安装方式与上面安装VLLM方式一样conda create -n SGLANG python==3.10conda activate SGLANGpip install --upgrade pip

安装sglang!

pip install uvuv pip install "sglang[all]>=0.4.5.post3"

推理大模型!

#SGLANG启动指令 --model-path 是模型所在路径 --port是端口号CUDA_VISIBLE_DEVICES=1python -m sglang.launch_server \    --model-path /media/ubu/文档/大模型/olmOCR-7B-0225-preview \    --port 30000    --chat-template=qwen2-vl

可以新开一个终端发送验证请求

curl http://127.0.0.1:30000/v1/models

讲讲推理参数!

CUDA_VISIBLE_DEVICES=1python -m sglang.launch_server \    --model-path /media/ubu/文档/大模型/olmOCR-7B-0225-preview \    --port 30000    --chat-template=qwen2-vl

各部分作用:

    CUDA_VISIBLE_DEVICES=1

      设置环境变量,告诉程序只使用编号为 1 的 GPU在程序中,这张 GPU 会被映射为逻辑上的 GPU 0

    python -m sglang.launch_server

      启动 sglang 的服务模块

    --model-path /home/ubu/jun/olmOCR-7B-0225-preview

      指定模型绝对路径

    --port 30000

      指定服务监听的端口号为 30000

    --chat-template=qwen2-vl

      使用 Qwen2-VL 的视觉聊天模板,必需参数以支持图像输入

更多参数,看这里:

docs.sglang.ai/backend/ser…


二、需要多少算力

在群里,大家经常会问,自己的显卡中的显存够不够跑模型。这次课程教给大家一个计算模型使用显存的简单公式。

字母含义
MGPU 内存
P模型中的参数数量。例如,一个 7B 模型有 7 亿参数。
4B4 字节,即每个参数使用的字节数
324 字节中有 32 位
Q加载模型时应使用的位数,例如 16 位、8 位或 4 位。比如FP16、INT8、INT4
1.2-1.4表示在 GPU 内存中加载额外内容的 20%-40% 开销

就拿我们用SGLang推理olmOCR-7B-0225-preview为例。

olmOCR-7B-0225-preview是基于qwen2进行微调得到的模型,qwen2使用的是FP16精度。所以我们得到:

该模型的参数为

P7B
Q16

根据公式可以得到大概占用显存16.8-19.6之间


三、实践代码逐步合集

将指令汇总一下,你按照步骤,一步步粘贴复制,就能推理了

第一部分:推理大模型指令合集# 创建conda环境conda create -n Vllm python==3.10# 激活环境conda activate Vllm# 安装vllm,指定清华源pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple# 推理模型,下方全部复制CUDA_VISIBLE_DEVICES=0 vllm serve /root/model/Qwen2.5-14B-Instruct-GPTQ-Int8 \    --served-model-name Qwen2.5-14B-Instruct-GPTQ-Int8 \    --dtype auto \    --port 8001 \    --max-model-len 4096 \    --gpu-memory-utilization 0.9第二部分:推理多模态指令合集# 创建conda环境conda create -n SGLANG python==3.10# 激活环境conda activate SGLANG# 升级pippip install --upgrade pippip install uvuv pip install "sglang[all]>=0.4.5.post3"# 推理模型CUDA_VISIBLE_DEVICES=1python -m sglang.launch_server \    --model-path /media/ubu/文档/大模型/olmOCR-7B-0225-preview \    --port 30000

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

VLM 财务审计 本地部署 vLLM SGLang
相关文章