大语言模型上车, 软硬结合是关键

  • 2025-07-25 09:31:29
  • 459

随着汽车行业的飞速发展,当乘用车从交通工具向智能移动终端不断进化,舱驾智能化水平已成为衡量整车厂竞争力的核心标尺,而其中车载平台算力更是端侧舱驾 AI 进化的核心燃料。

其中,以智驾视角来看,从 L2 级辅助驾驶,到 L2+ 高级辅助驾驶,再到 L3/ L4 级自动驾驶,车载计算平台的算力需求正以指数级增长,这种增长不仅源于传感器数量与分辨率的提升,更来自 AI 算法复杂度带来的能力上限的爆炸式演进。

NVIDIA DRIVE AGX 系列芯片以领先行业的算力规模,架构创新以及丰富数字生态,已成为定义智能驾驶时代的“数字算力引擎”,其构建的从云端训练到车端推理的完整算力体系,正在逐步重塑汽车产业的技术发展格局。

而以智舱角度来看,随着生成式 AI 技术的迅猛发展,舱内 AI 端侧部署正从简单的语音助手交互向多模态甚至全模态智能座舱体验跃迁。端侧大模型凭借本地实时推理能力,可实现极低延迟的自然语言交互,个性化的主动式 AI 服务以及舱内外环境感知应用。开发者可通过 CUDA 生态复用云端大模型开发优化经验,大幅缩短端侧开发周期同时极大提高推理速度和用户体验。

目前已有头部车企基于 NVIDIA DRIVE AGX 系列芯片部署端到端舱内 AI Agent,从而实现被动响应到主动服务的体验升级。

自动驾驶技术的每一次技术跨越与性能体验升级,都伴随着算力需求的几何级增长。L2 级辅助驾驶仅需 10TOPS 以下算力,即可完成车道保持、自适应巡航等基础功能;而 L2+ 级高级辅助驾驶对算力的需求骤升至 100TOPS 以上,以应对复杂城市道路的多目标检测与决策规划;当迈向 L3/L4 级自动驾驶,系统需要同时处理数十路传感器的多并发数据流量,所需算力已突破 1000TOPS 大关。

那么, 从技术发展和落地的角度来看,究竟该如何进一步应对汽车智能化发展带来的 AI 算力部署的挑战?

DRIVE AGX SoC 系列

从硬件的角度来看,为了应对汽车在快速演变为智能终端的过程中对于 AI 算力的飞速增加的需求,NVIDIA 先后推出了 DRIVE AGX SoC 系列的 DRIVE AGX Orin SoC 和 DRIVE AGX Thor SoC。

NVIDIA DRIVE AGX Orin SoC 可提供高达 254 TOPS(每秒万亿次运算)的性能,是智能车辆的中央计算平台。它为辅助驾驶功能、置信视图以及 AI 座舱提供高算力支持。

NVIDIA DRIVE AGX Thor SoC 是 NVIDIA 最新一代,专为汽车行业日益重要的生成式 AI 应用而打造的集中式车载计算机。作为 NVIDIA DRIVE AGX Orin SoC 的后续产品,DRIVE AGX Thor SoC 采用了 NVIDIA 最新的 CPU 和 GPU 技术,包括 NVIDIA Blackwell GPU 架构,用于 Transformer 和生成式 AI 功 能。DRIVE AGX Thor SoC 支持 4 位浮点数(FP4)和 8 位浮点数(FP8),可提供前所未有的 2,000 FP4 TOPS/1,000 INT8 TOPS/1,000 FP8 TFLOPS/500 FP16 TFLOPS 性能。这一平台不仅提供丰富的座舱功能、安全可靠的辅助驾驶功能,还能够将所有功能整合至同一个集中式平台上,极大地提高了系统的运行效率和可靠性,并降低了整体系统成本。

高算力平台为 AI 上车奠定基础,为算法迭代预留了充足空间。新一代集中式车载计算平台将赋能整车厂的高阶智能驾驶方案,发挥其在硬件、软件算法和算力优化方面的优势,推动辅助驾驶技术的全面升级,并覆盖高速、城市、泊车等全场景的高阶辅助驾驶功能,助力其向高端算力辅助驾驶转型,共同探索大模型、世界模型的路径,持续优化和提升高速领航、城市记忆领航及更高的旗舰级城市领航功能。

DriveOS 软件架构和软件开发包

当然,在基于硬件层面推出上述高算力平台的基础上,NVIDIA 也在软件层面推出了一系列适用于这些高算力平台的软件架构和软件开发包,从而形成了一整套软硬结合的车端系统级 AI 开发方案,更好地满足客户在大语言模型时代的需求。

1. DriveOS 软件架构

DriveOS 是 NVIDIA 提供的软件板级支持包,包括 NVIDIA 自研的 Type-1 虚拟机,虚拟机之上不同的操作系统(Linux 或者 QNX),操作系统上的丰富的 SDK。这些 SDK 包括大家熟悉的 CUDA,TensorRT,Vulkan,还有特意为支持大语言模型的软件开发包 DriveOS LLM SDK。这些 SDK 可以使开发者更容易的访问 SOC 中的各种硬件加速引擎,快速的部署应用在 NVIDIA 的平台。

2. DriveOS LLM SDK 介绍

DriveOS LLM SDK 是 NVIDIA 为嵌入式端特别推出的大语言模型软件开发包,包含多个专为高效 LLM 推理而设计的关键组件。这些组件可确保在汽车平台上高效部署 LLM,包括:

插件库:LLMs 需要专用插件来实现高级功能和优化性能。DriveOS LLM SDK 包含这些自定义插件,以及一组用于处理上下文相关组件的内核,例如旋转位置嵌入、multihead attention 和 KV-cache 管理。AttentionPlugin 还支持动态批量大小和动态输入序列长度。

标记器/detokenizer:该 SDK 为 LLM 推理提供高效的标记器 /detokenizer,遵循 Llama 式字节对编码(BPE)标记器,并带有正则表达式匹配。此模块将多模态用户输入(例如文本或图像)转换为令牌流,从而实现不同数据类型之间的无缝集成。

采样器:采样器对于文本生成、翻译和对话等任务至关重要,因为它控制着模型在推理过程中如何生成文本和选择标记。DriveOS LLM SDK 实现了基于 CUDA 的采样器来优化此过程。为了平衡推理效率和输出多样性,采样器使用单束采样方法和 Top-K 选项。这种方法可提供快速且合理多样化的输出,而不会产生探索多个束所需的计算成本。这对于汽车应用非常重要,因为需要考虑延迟和效率。

解码器 :在 LLM 推理期间,解码器模块根据模型的预测迭代生成 token,从而生成文本或序列。DriveOS LLM SDK 提供灵活的解码循环,支持静态批量大小、填充输入序列,以及生成批量中最长的序列。

这些组件共同支持在多个 NVIDIA DRIVE 平台上实现灵活、轻量级的高性能 LLM 部署和定制(图 1)。

a)支持的模型、精度格式和平台

DriveOS LLM SDK 在 DRIVE 平台上支持一系列先进的 LLM,包括 NVIDIA DRIVE AGX Orin 和 NVIDIA DRIVE AGX Thor。作为预览功能,该 SDK 还可以在 x86 系统上运行,这对于开发非常有用。目前支持的模型包括以下内容,未来预计还会有其他模型:

Llama 3 8B Instruct

Llama 3.1 8B

Llama 3.2 3B

Qwen2.5 7B Instruct

Qwen2 7B Instruct

Qwen2 VL

Intern3 VL

Phi4 VL

该 SDK 支持多种精度格式,可在不同平台(包括 FP16、FP8、NVFP4 和 INT4)上解锁大型 LLM。对于 INT4(W4A16)精度,使用 AWQ recipe 将模型权重量化为 INT4,并在 FP16 中执行计算。这种方法可显著减少内存占用。该 SDK 还在 NVIDIA DRIVE AGX Thor 平台上支持 TensorRT 版本大于 10.4 的 FP8(W8A8)精度,以及 TensorRT 版本大于 10.8 的 NVFP4 精度。

这些精度可以进一步减少 LLM 推理期间的内存占用,同时增强内核性能。在此配置中,权重和 GEMM 运算采用 FP8 或 NVFP4 格式,而 LayerNorm、KV 缓存、LM 头和注意力层保留在 FP16 中。总体而言,DriveOS LLM SDK 旨在高效支持各种 LLM,包括多模态输入和跨多个平台的各种精度格式。

b)DriveOS LLM SDK 的关键 feature

c)LLM 部署工作流

LLM 部署通常是一个复杂的过程,需要大量的工程工作,尤其是在边缘设备上。DriveOS LLM SDK 为在 DRIVE 平台上部署 LLM 提供了简化的解决方案。所提议的 SDK 将部署工作流程简化为两个简单的步骤:导出 ONNX 模型和构建引擎(图 2)。此过程与使用 TensorRT 部署深度学习模型的标准程序十分相似。

量化在优化 LLM 部署方面发挥着至关重要的作用,尤其是对于资源受限的平台而言。它可以显著提高 LLM 的效率和可扩展性。DriveOS LLM SDK 通过在 ONNX 模型导出阶段提供多个量化选项来满足这一需求,您可以通过一条命令轻松调用这些量化选项:

python3 llm_export.py --torch_dir $TORCH_DIR --dtype [fp16|fp8|int4] --output_dir $ONNX_DIR

此命令可将 Hugging Face 格式的 LLM 转换为具有指定量化精度的 ONNX 模型。建议在 x86 数据中心 GPU 上执行此步骤,以避免内存不足(OOM)问题。

将模型导出到 ONNX 后,可以使用 llm_build 二进制文件来创建相应的 TensorRT 引擎。构建过程与特定模型或精度无关,因为 IO 接口在所有 ONNX 模型中保持标准化。应使用以下命令在 DRIVE 平台上构建引擎:

./build/examples/llm/llm_build --onnxPath=model.onnx --enginePath=model.engine --batchSize=B --maxInputLen=N --maxSeqLen=M

该 SDK 还包括交叉编译构建系统,支持在 x86 机器上编译 AArch64 目标。此功能可加速部署并简化边缘计算平台上的特征验证。

除了其用户友好型部署流程外,DriveOS LLM SDK 还提供各种 C++ 代码示例,用于端到端 LLM 推理、性能基准测试和实时聊天实现。这些示例使开发者能够使用静态批量大小和输入/输出序列长度来评估 DRIVE 平台上不同模型的准确性和性能,或自定义自己的应用程序。

要使用 SDK 提供的 C++ 代码来启用 LLM 聊天机器人,请使用以下示例命令:

./build/examples/llm/llm_chat --tokenizerPath=llama-v3-8b-instruct-hf/ --enginePath=llama3_fp16.engine --maxLength=64

此命令的整个推理工作流如图 3 所示,其中与 DriveOS LLM SDK 相关的组件以蓝色块表示。

d)多模态 LLM 部署的性能

总结

当前,整个汽车行业在持续追求辅助驾驶快速发展的同时,也在不断推进大语言模型在车端的落地,这就对车端 AI 算力的多样化部署,尤其是对大语言模型的部署和适配能力,提出了更加复杂和多样化的要求。

NVIDIA DriveOS LLM SDK 简化了 LLM 和 VLM 在 DRIVE 平台上的部署。通过利用强大的 NVIDIA TensorRT 推理引擎以及 LLM 特定优化技术,如量化,先进的 LLM 和 VLM 可以在 DRIVE 平台上轻松的部署,并取得此 SDK 为在生产环境中部署强大的 LLM 奠定了基础,最终提高了 AI 驱动的应用的性能。

对于 NVIDIA 来说,通过软硬件结合的方式来持续推进并引领最新的技术进展,一直是 NVIDIA 面向汽车行业进行技术赋能的核心逻辑——由此,面对大语言模型快速上车的大趋势,DRIVE 平台更好地支持 LLM 的部署,成为这一逻辑落地的关键一环。

从长远的视角来看,伴随着智能驾驶和智能座舱在大模型时代的不断演进,二者之间也正在呈现出相互融合和相互赋能的发展态势,这将会使得汽车终端在持续拥抱大算力的同时,也将会越来越意识到相应的软件适配能力的重要性。

由此,更加紧密和深层次的软硬结合,已经成为 AI 在车端进一步落地的必由之路。