【vLLM 学习】Encoder Decoder Multimodal

Phi-4-Mini与Phi-4-Multimodal:小模型如何实现边缘部署与多模态理解 小型语言模型(SLM)正成为AI落地的关键路径,其核心在于以任务感知压缩替代盲目参数扩张。Phi-4-Mini(3.8B)和Phi-4-Multimodal通过共享语义分词器、纯Decoder架构与INT4量化等技术,在保持高精度的同时显著降低显存占用、推理延迟与部署门槛。这类模型不依赖大规模数据堆叠,而是聚焦代码生成、图文理解等垂直任务的数据提纯与结构精炼,天然适配边缘设备、低功耗场景及中小团队微调需求。在Jetson Orin、M2 Mac甚至8GB笔记本上稳定运行的能力,使其成为工业传感器本地识别、教 阅读详情

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →https://vllm.hyper.ai/

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/encoder_decoder_multimodal.py

# SPDX-License-Identifier: Apache-2.0

"""
此示例显示了如何使用 vLLM 进行离线推理
文本生成的 enc-dec LMMS 上的显式/隐式提示格式。
"""
import time
from collections.abc import Sequence
from dataclasses import asdict
from typing import NamedTuple

from vllm import LLM, EngineArgs, PromptType, SamplingParams
from vllm.assets.audio import AudioAsset
from vllm.assets.image import ImageAsset
from vllm.utils import FlexibleArgumentParser


class ModelRequestData(NamedTuple):
    engine_args: EngineArgs
    prompts: Sequence[PromptType]


def run_florence2():
    engine_args = EngineArgs(
        model="microsoft/Florence-2-large",
        tokenizer="facebook/bart-large",
        max_num_seqs=8,
        trust_remote_code=True,
        limit_mm_per_prompt={"image": 1},
        dtype="half",
    )

    prompts = [
        {   # implicit prompt with task token
            "prompt": "<DETAILED_CAPTION>",
            "multi_modal_data": {
                "image": ImageAsset("stop_sign").pil_image
            },
        },
        {   # explicit encoder/decoder prompt
            "encoder_prompt": {
                "prompt": "Describe in detail what is shown in the image.",
                "multi_modal_data": {
                    "image": ImageAsset("cherry_blossom").pil_image
                },
            },
            "decoder_prompt": "",
        },
    ]

    return ModelRequestData(
        engine_args=engine_args,
        prompts=prompts,
    )


def run_mllama():
    engine_args = EngineArgs(
        model="meta-llama/Llama-3.2-11B-Vision-Instruct",
        max_model_len=4096,
        max_num_seqs=2,
        limit_mm_per_prompt={"image": 1},
        dtype="half",
    )

    prompts = [
        {   # Implicit prompt # 隐式提示
            "prompt": "<|image|><|begin_of_text|>What is the content of this image?",   # noqa: E501
            "multi_modal_data": {
                "image": ImageAsset("stop_sign").pil_image,
            },
        },
        {   # Explicit prompt # 显示提示
            "encoder_prompt": {
                "prompt": "<|image|>",
                "multi_modal_data": {
                    "image": ImageAsset("stop_sign").pil_image,
                },
            },
            "decoder_prompt": "<|image|><|begin_of_text|>Please describe the image.",   # noqa: E501
        },
    ]

    return ModelRequestData(
        engine_args=engine_args,
        prompts=prompts,
    )


def run_whisper():
    engine_args = EngineArgs(
        model="openai/whisper-large-v3-turbo",
        max_model_len=448,
        max_num_seqs=16,
        limit_mm_per_prompt={"audio": 1},
        dtype="half",
    )

    prompts = [
        {   # Test implicit prompt # 测试隐式提示
            "prompt": "<|startoftranscript|>",
            "multi_modal_data": {
                "audio": AudioAsset("mary_had_lamb").audio_and_sample_rate,
            },
        },
        {   # Test explicit encoder/decoder prompt # 测试显式 编码/解码提示
            "encoder_prompt": {
                "prompt": "",
                "multi_modal_data": {
                    "audio": AudioAsset("winning_call").audio_and_sample_rate,
                },
            },
            "decoder_prompt": "<|startoftranscript|>",
        }
    ]

    return ModelRequestData(
        engine_args=engine_args,
        prompts=prompts,
    )


model_example_map = {
    "florence2": run_florence2,
    "mllama": run_mllama,
    "whisper": run_whisper,
}


def main(args):
    model = args.model_type
    if model not in model_example_map:
        raise ValueError(f"Model type {model} is not supported.")

    req_data = model_example_map[model]()

    engine_args = asdict(req_data.engine_args) | {"seed": args.seed}
    llm = LLM(**engine_args)

    prompts = req_data.prompts


    # 创建一个采样参数对象。
    sampling_params = SamplingParams(
        temperature=0,
        top_p=1.0,
        max_tokens=64,
    )

    start = time.time()

    # 从提示中生成输出 token 。
    # 输出是包含提示的对象,生成了文本和其他信息。
    outputs = llm.generate(prompts, sampling_params)

    # 打印输出。
    for output in outputs:
        prompt = output.prompt
        generated_text = output.outputs[0].text
        print(f"Decoder prompt: {prompt!r}, "
              f"Generated text: {generated_text!r}")

    duration = time.time() - start

    print("Duration:", duration)
    print("RPS:", len(prompts) / duration)


if __name__ == "__main__":
    parser = FlexibleArgumentParser(
        description='Demo on using vLLM for offline inference with '
        'vision language models for text generation')
    parser.add_argument('--model-type',
                        '-m',
                        type=str,
                        default="mllama",
                        choices=model_example_map.keys(),
                        help='Huggingface "model_type".')
    parser.add_argument("--seed",
                        type=int,
                        default=None,
                        help="Set the seed when initializing `vllm.LLM`.")

    args = parser.parse_args()
    main(args)
Windows上用Docker部署PaddleOCR-VL+Blackwell+vLLM实战 多模态OCR是文档智能的核心技术,其本质是视觉编码器与语言模型的协同推理。vLLM凭借PagedAttention和多模态Backend扩展能力,成为高吞吐OCR服务的关键推理引擎;而PaddleOCR-VL作为国产开源方案,深度支持中文版面理解与结构化输出。在Blackwell架构GPU(如RTX 6000 Ada)日益普及的背景下,如何在主流交付终端Windows上实现CUDA栈可控、GPU直通可靠、模型服务开箱即用的部署,已成为政企本地化、工业质检、教学实验等场景的刚需。本文聚焦Windows Doc 阅读详情

相关推荐

个人GPU部署大模型:硬件诊断、量化选型与框架适配指南

大语言模型(LLM)本地部署的核心前提,是理解GPU的硬件能力边界与软件栈兼容性。显存容量、计算架构(如CUDA Compute Capability)、驱动与CUDA版本匹配,共同构成推理可行性的物理基础;而4-bit量化、GGUF/EXL2等格式支持、上下文长度与KV Cache的平方律关系,则决定了模型能否在消费级显卡上稳定运行。技术价值在于规避OOM崩溃、版本错配与框架黑盒陷阱,实现低延迟、高显存利用率的轻量推理。典型应用场景包括个人知识库问答、自动化办公助手及边缘端AI服务。本文聚焦RTX 306

hck341204的专栏 549

【vllm】(v1 Engine)vLLM V1 Engine 深度分析 — Part2: 客户端与异步引擎

vLLM V1 Engine 深度分析 — Part2: 客户端与异步引擎

zhonglinzhang 370

2024年大语言模型(LLM)面试全攻略:从核心原理到工程实践

大语言模型(LLM)作为人工智能领域的核心技术,其核心架构Transformer通过自注意力机制实现了对序列数据的强大建模能力。理解其原理是掌握LLM技术栈的基础,这包括对模型训练、优化以及应用落地的全面认知。在工程实践中,为了应对大模型部署的资源挑战,量化技术和高效推理框架(如vLLM)成为关键技术,它们能显著降低显存占用并提升服务吞吐量。同时,检索增强生成(RAG)架构通过结合外部知识库,有效缓解了模型的幻觉问题,是构建可靠AI应用的重要模式。这些技术共同推动着LLM在智能问答、内容生成等众多场景中的实

weixin_33788244的博客 354

【vllm】(v1 Engine)vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

zhonglinzhang 437

Gemma 4本地多模态部署实战:GPUStack+SGLang全链路指南

多模态大模型正从云端服务走向本地化落地,其核心在于视觉-语言联合编码、工具调用协议兼容性与推理引擎的硬件协同优化。Gemma 4通过深度对齐的ViT+LLM架构、原生OpenAI tools schema支持及可插拔思考模式,显著降低多模态智能体工程门槛。在双卡RTX 4090等消费级GPU上,需结合GPUStack资源纳管、SGLang多模态流式推理与CUDA Graph显存优化,才能实现图像识别、结构化输出与工具链闭环的低延迟响应。本文聚焦真实产线场景——如设备铭牌OCR解析、离线产品图谱问答与医疗影像

alexhill2009的博客 379

腾讯混元开源全栈AI中间件:训练-微调-推理-工具-多模态一体化实践

大模型工程落地长期受限于‘能下不能跑、能跑不能用、能用不能管’的断层困境。本文围绕可复现训练、稳定推理、结构化输出、工具调用与轻量多模态对齐五大核心能力,解析一种面向生产环境的全链路开源范式——它不再仅提供权重文件,而是交付统一架构、统一接口、统一许可证的企业级AI中间件参考实现。基于Apache 2.0协议保障商用安全,结合LoRA适配器、JSON Schema强制生成、Gated Cross-Attention等关键技术,显著降低7B级模型在A10服务器上的部署门槛与运维成本,适用于知识库构建、可控生成

weixin_30621711的博客 428

广义端到端(GE2E):自动驾驶从模块割裂到认知统一的架构革命

广义端到端(GE2E)是自动驾驶技术演进中 emerged 的核心范式,它超越传统‘图像到控制’的狭义端到端,转向以统一表征、联合优化和分层验证为特征的全链路认知架构。其原理根植于多模态token化、世界状态隐空间建模与VLA(Vision-Language-Action)驱动的因果推理,技术价值在于系统性消解模块化架构长期存在的语义割裂、坐标偏移与决策不可信等工程顽疾。典型应用场景覆盖雨天施工区通行、无标线路口博弈、V2X协同避让等长尾高危工况,并天然支撑ASIL-D功能安全与车规级实时性要求。本文聚焦G

weixin_33895657的博客 422

AI工程师实战能力成长地图:50篇可落地论文精读指南

大型语言模型(LLM)工程化落地正从理论探索转向系统性实践,核心挑战在于如何将前沿论文中的技术方案转化为稳定、高效、可维护的生产级能力。这涉及模型推理优化、RAG架构调优、Prompt工程编程化、量化压缩与自评估机制等关键技术原理;其技术价值体现在显著提升QPS、降低显存占用、增强线上稳定性与迭代效率;典型应用场景覆盖智能客服、实时翻译、金融研报摘要、电商搜索及边缘端部署等真实业务线。本文聚焦Jim Fan推荐的50篇高工程友好度论文,强调可运行代码、明确痛点解决与失败边界分析三大筛选标准,并深度拆解vLL

congsikuai0611的博客 323

生成式AI工程实践手册:可部署、可监控、可迭代的技术栈

生成式AI技术栈不是模型调用的简单组合,而是涵盖数据处理、模型选型、推理优化与服务封装的全链路工程体系。其核心原理在于分层解耦与可控性设计,通过数据层标准化、模型层许可证与架构适配、推理层内存与批处理优化,实现稳定低延迟输出。技术价值体现在显存压缩、QPS提升、幻觉抑制与合规保障等可量化指标上。典型应用场景包括电商文案生成、金融合同审核、客服对话系统及RAG知识服务。本文聚焦真实业务中验证过的vLLM+Qwen2+FastAPI生产级落地路径,深度融合AWQ量化、Grammar-Constrained De

angou6476的博客 469

LLM应用生产落地五层架构与选型决策手册

大语言模型应用并非简单调用API,而是涉及模型、量化、推理引擎、集成层与可观测性的系统工程。其核心原理在于各层协同决定性能、稳定性与可维护性:模型架构与tokenizer影响语义理解准确性,权重量化与KV Cache优化直接关系显存占用与吞吐,推理引擎如vLLM或Llama.cpp则主导延迟与并发能力。技术价值体现在降本(低比特量化)、提速(PagedAttention)、增稳(token级监控与安全网关)。典型应用场景包括金融合规审查、多语言客服、边缘端实时问答等。本文聚焦模型选型逻辑与框架适配原则,提供

weixin_30770783的博客 390

LLM工程实操指南:5篇高穿透力论文的复现与落地

大语言模型(LLM)工程化面临训练显存爆炸、推理延迟抖动、长上下文支持弱等核心挑战。解决这些问题需回归技术本质:从算子级优化(如FlashAttention内核改造)、模型结构轻量化(如稀疏门控MLP)、系统级调度(如KV Cache生命周期管理)到低比特量化稳定性(如LogN-Quant)等多维度协同。这些方案的价值不在于理论新颖性,而在于可验证的参数设定、开源可复现的最小可行路径(MVP),以及对真实硬件(A100/H100)和主流框架(vLLM、Transformers)的深度适配。本文聚焦五篇具备强

vanadiumlin 370

专业 英语

计算机、数学、机械等专业的专业英语词汇

Edward2022的博客 2948

Llama 4不存在?揭秘多模态落地的真相与实操路径

多模态大模型是当前AI工程落地的核心方向,其本质是文本与视觉等异构信号的协同建模。技术原理上,主流方案已从早期‘硬集成’转向解耦式架构——通过标准化token协议(如< img >)实现文本主干与专用编码器的松耦合协作,兼顾性能、可维护性与硬件适配性。这种设计显著提升推理效率、降低显存压力,并支撑企业级RAG、文档理解、UI自动化等真实场景。本文基于Chameleon、Idefics-2和Fuyu-8B等已开源、可验证的多模态模型,提供零幻觉的部署指南、视觉token压缩黄金法则及三维评估框架,助力开发者跳

chuanggangbo5551的博客 392

2026年LLM微调实战指南:从LoRA到生产部署

大型语言模型(LLM)微调是提升模型领域适应性的关键技术,通过调整预训练模型的参数使其适应特定任务。其核心原理是在保留原始知识的基础上,通过领域数据训练实现参数空间的局部优化。从技术价值看,微调能显著提升模型在专业领域的准确率(可达30-50%提升),同时降低计算成本。当前主流方法包括LoRA、QLoRA等参数高效微调技术,适用于从消费级GPU到数据中心的不同场景。在金融、医疗等行业中,经过专业微调的模型已能达到专家级水平。本文以2026年最新实践为基础,详解从数据工程到生产部署的全流程方案,特别包含QLo

weixin_34268843的博客 457

手把手教你搞定JBI投稿:从Statement of Significance到Declaration Statement的保姆级避坑指南

本文提供了一份详细的JBI投稿指南,重点解析Statement of Significance和Declaration of Interests的撰写技巧,帮助研究者避开常见格式陷阱。通过实战案例和检查清单,确保投稿符合JBI的学术严谨性和临床转化价值要求,提升稿件通过率。

weixin_29278805的博客 622

揭秘 Chat Template 如何驱动 AI Agent?以Qwen3为例详解LLM的聊天模板

bos_token: null (没有使用特殊的文档开始符)eos_token<|im_end|>(作为每个对话回合的结束符)pad_token: 对话回合开始<|im_end|>: 对话回合结束非特殊但关键的控制 Token (在词汇表中定义): 包裹模型生成的工具调用请求。: 包裹外部工具返回的执行结果。<think></think>: 包裹模型的内部思考或推理过程。

ljp1919的专栏 1353

零基础 | 一文速通 AI 大模型常见术语

一文速通 AI 大模型常见术语

7DGroup,让技术更有价值! 1827

S32DS使用手把手教程:从零实现CAN通信配置

深入讲解S32DS使用过程中如何从零开始配置CAN通信,涵盖关键步骤与实用技巧,帮助开发者快速上手S32DS使用中的常见问题与调试方法。

weixin_42405592的博客 1126

大模型核心术语与Transformer架构实战指南

Transformer架构作为现代大模型的基石,通过自注意力机制实现动态上下文建模,其核心在于编码器-解码器结构与多头注意力机制。在自然语言处理领域,这种架构使模型能够并行处理序列数据,显著提升长距离依赖捕捉能力。技术价值体现在预训练-微调范式上,通过海量无监督预训练获得通用语言理解,再针对具体任务进行高效微调。典型应用场景涵盖文本生成、机器翻译和智能问答系统,其中提示工程(Prompt Engineering)和模型量化技术成为优化推理效率的关键手段。随着LLM(Large Language Model)

tyygming的专栏 186

用友U8 API开发实战:手把手教你使用API资源管理器完成单据操作

本文详细介绍了用友U8 API开发实战,重点讲解如何使用API资源管理器完成采购订单、销售出库单等核心业务单据的全生命周期管理。从开发环境搭建到单据查询、新增、修改、删除等基础操作,再到高级功能如审核状态管理、业务事件处理和自定义项扩展,帮助开发者快速掌握用友U8接口开发技巧,提升企业数字化转型效率。

weixin_28607671的博客 596

修改Windows hosts文件的解决方案

本文主要介绍了修改Windows hosts文件解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 安装软件 2.2 修改hosts文件

weixin_43178406的博客 1万+

图像伪造识别和定位

水印在这里既是**“身份证”

nanjifengzi的博客 482

CANape a2l文件的编辑教程

编辑a2l文件

wsq119的博客 1万+

开源大模型选型实战:Qwen 2.5、Pixtral 12B与GRIN-MoE工程落地指南

大语言模型(LLM)选型已从参数竞赛转向架构效能比拼。当前主流开源模型正通过动态稀疏前馈网络、轻量级CNN-Transformer混合视觉编码器、梯度驱动的MoE路由等关键技术,显著提升‘有效计算密度’。这类创新使模型在有限显存(如24GB RTX 4090)、边缘设备(Jetson Orin)甚至多图长上下文(128K tokens)场景下仍保持高推理效率与低延迟。Qwen 2.5系列以GQA+动态稀疏FFN实现72B模型的28B级FLOPs消耗;Pixtral 12B通过可变视觉token机制降低多模态

weixin_34314962的博客 432

OData Request:Create Entity 在 ABAP OData Client Proxy 中的工程化实践

文章摘要 本文针对具备 SAP Gateway 与 ABAP 开发经验的读者,详细讲解如何通过 ABAP OData Client Proxy 实现 OData 服务的 Create 操作。首先对比了 OData V2 与 V4 的 Create 规范差异,强调键、集合 URL 和请求体的标准化要求。随后介绍了 ABAP Client Proxy 的编程模型,包括 Client Proxy、Entity List Resource 和 Create Request/Response 三个核心对象,并提供了完

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

手把手教你学simulink(90.1)--直流电动机实例:基于Simulink的基本模型的直流电动机(DC Motor)建模

直流电动机(DC Motor)因其结构简单、控制方便和良好的调速性能,广泛应用于各种工业自动化、机器人技术、家用电器以及航空航天等领域。为了更好地理解和应用直流电动机的工作原理及其控制系统,本项目旨在通过Simulink对直流电动机进行基本模型的建模与仿真。

MHD0815的博客 439
上一篇: 【Triton 教程】triton_language.zeros_like
下一篇: 英伟达实现原子级蛋白质设计突破,高精度生成多达800个残基的蛋白质
HyperAI超神经
博客等级 码龄7年 8873粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值