趋近智
追踪LLM特有的性能指标(如延迟和吞吐量)能帮助我们了解用户体验,而掌握底层基础设施的运行状态对于诊断问题、优化性能和控制成本同样重要。大型语言模型对硬件有极高要求,尤其是GPU和内存。资源使用效率低下会直接导致运营成本增加和潜在的性能瓶颈。因此,密切监控基础设施不是可选项;它是有效LLMOps的基本要点。
LLM工作负载,无论是用于训练还是推理,都根本上受限于可用的计算和内存资源。
监控基础设施使用情况有助于辨明:
将监控工作集中在最可能影响LLM性能和成本的资源上。
该指标通常衡量在一个特定时间样本内,一个或多个内核在GPU上执行的时间百分比。高使用率(在活动处理期间理想情况下接近100%)表明GPU的计算资源得到了有效利用。
nvidia-smi)是一个提供实时使用情况数据的标准命令行工具。云服务提供商(AWS CloudWatch、Azure Monitor、Google Cloud Monitoring)提供服务来追踪GPU随时间的使用情况,专业的监控平台通常与NVIDIA驱动程序或DCGM(数据中心GPU管理器)集成,以获取更精细的数据。# 示例:使用nvidia-smi检查GPU使用率
nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits
GPU使用率通常在活跃批处理期间飙升,并在空闲时段或批处理效率低下时在请求之间下降。
这衡量了GPU专用内存(VRAM)当前已分配的量。LLM需要大量VRAM来存储模型参数、中间激活,以及对推理来说非常重要的、随序列长度和批次大小增长的键值(KV)缓存。
nvidia-smi提供内存使用统计信息。性能分析工具(如PyTorch Profiler或TensorFlow Profiler)可以提供按操作更详细的内存分配明细。云监控服务也追踪GPU内存使用情况。# 示例:使用nvidia-smi检查GPU内存使用情况
nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits
随着请求的处理和KV缓存的增长,GPU内存使用量会增加,如果有效地使用分页注意力或连续批处理等技术,可能会趋于平稳。接近总可用内存时,需要进行调查或考虑扩容。
尽管GPU处理主要工作,CPU在LLM工作流中仍很活跃。它们管理数据加载和预处理、协调GPU操作、处理网络通信,并执行部分应用逻辑(例如,提示处理、后处理)。CPU瓶颈可能导致GPU“饥饿”,从而使得GPU使用率偏低。应监控CPU使用情况,尤其是在训练的数据密集阶段或推理期间请求率很高时。
标准系统RAM用于操作系统进程、应用程序代码、在数据传输到GPU之前进行缓冲,并可能存储不适合VRAM的数据结构。尽管对于LLM而言,它不像VRAM那样经常成为主要瓶颈,但RAM不足可能导致过度交换或性能下降。
在以下几种情况下,网络性能很重要:
netstat、iperf)或云服务提供商指标监控网络吞吐量(字节/秒)和延迟(毫秒)。磁盘I/O主要影响数据集和模型检查点的加载。尽管LLM通常在可能的情况下受益于将数据加载到RAM或直接加载到GPU内存,但缓慢的磁盘I/O会在训练的初始阶段或在为推理将大型模型加载到内存时造成瓶颈。如果数据加载显得缓慢,请监控磁盘读/写速度和队列长度。
借助多种工具进行全面的基础设施监控:
nvidia-smi、dcgm-exporter(用于Prometheus)、htop、iotop、iftop提供低级别指标的快照或连续流。dcgm-exporter等导出器获取GPU指标。有效的监控不仅仅是收集数据,更在于解读数据。为您的特定模型和工作负载在典型条件下建立基线性能特点。基于这些基线,配置有意义的告警:
避免过于敏感的告警,以免造成告警疲劳。关注那些预示着真实的性能下降、即将发生的故障或明显的成本效率低下的告警。
监控基础设施使用情况是一个持续的过程。所获得的了解直接指导优化工作,例如调整批次大小、选择不同硬件、实施量化或改进分布式训练策略,最终带来更稳定、更高性能和更具成本效益的LLM部署。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造