可观测性和监控#

使用内置指标、仪表板和日志记录来监控您的 LLM 部署。

Ray Serve LLM 提供全面的可观测性,具有以下功能:

  • 服务级别指标:跨已部署模型的请求和 Token 行为。

  • 引擎指标:vLLM 特定的性能指标,例如 TTFT 和 TPOT。

  • Grafana 仪表板:专为 LLM 可视化而预先构建的仪表板。

  • Prometheus 集成:所有指标的导出功能,用于自定义监控和警报。

服务级别指标#

Ray 默认启用 LLM 服务级别日志记录,这些统计信息可通过 Grafana 和 Prometheus 访问。有关配置 Grafana 和 Prometheus 的更多详细信息,请参阅 收集和监控指标

这些更高级别的指标会跟踪跨已部署模型的请求和 Token 行为。

  • 每个请求的平均总 Token 数

  • 输入 Token 与生成 Token 的比率

  • 每秒峰值 Token 数

  • 请求延迟和吞吐量

  • 特定模型的请求计数

Grafana 仪表板#

Ray 包含一个特定于 Serve LLM 的仪表板,该仪表板在 Grafana 中自动可用。

仪表板包含以下内容的视觉效果:

  • 请求指标:吞吐量、延迟和错误率。

  • Token 指标:输入/输出 Token 计数和比率。

  • 性能指标:首次 Token 时间 (TTFT)、每个输出 Token 的时间 (TPOT)。

  • 资源指标:GPU 缓存利用率、内存使用情况。

引擎指标#

所有引擎指标,包括 vLLM,都可以通过 Ray 指标导出端点访问,并可使用 Prometheus 进行查询。有关完整列表,请参阅 vLLM 指标。Serve LLM Grafana 仪表板也可视化了这些指标。

关键引擎指标包括:

  • 首次 Token 时间 (TTFT):生成第一个 Token 之前的延迟。

  • 每个输出 Token 的时间 (TPOT):每个生成 Token 的平均延迟。

  • GPU 缓存利用率:KV 缓存内存使用情况。

  • 批处理大小:当前和平均批处理大小。

  • 吞吐量:每秒请求数和每秒 Token 数。

配置引擎指标#

从 Ray 2.51 开始,引擎指标日志记录默认开启。要禁用引擎级别指标日志记录,请在配置 LLM 部署时将 log_engine_metrics: False 设置为 False

from ray import serve
from ray.serve.llm import LLMConfig, build_openai_app

llm_config = LLMConfig(
    model_loading_config=dict(
        model_id="qwen-0.5b",
        model_source="Qwen/Qwen2.5-0.5B-Instruct",
    ),
    deployment_config=dict(
        autoscaling_config=dict(
            min_replicas=1, max_replicas=2,
        )
    ),
    log_engine_metrics=False  # Disable engine metrics
)

app = build_openai_app({"llm_configs": [llm_config]})
serve.run(app, blocking=True)
# config.yaml
applications:
- args:
    llm_configs:
        - model_loading_config:
            model_id: qwen-0.5b
            model_source: Qwen/Qwen2.5-0.5B-Instruct
        accelerator_type: A10G
        deployment_config:
            autoscaling_config:
                min_replicas: 1
                max_replicas: 2
        log_engine_metrics: false  # Disable engine metrics
  import_path: ray.serve.llm:build_openai_app
  name: llm_app
  route_prefix: "/"

使用数据收集#

Ray 团队收集使用数据以改进 Ray Serve LLM。该团队收集有关以下功能和属性的数据:

  • 用于服务的模型架构。

  • 是否使用了 JSON 模式。

  • 是否使用了 LoRA,以及部署时最初加载了多少 LoRA 权重。

  • 是否使用了自动缩放,以及 min 和 max 副本的设置。

  • 使用的张量并行大小。

  • 初始副本计数。

  • 使用的 GPU 类型和 GPU 数量。

要选择退出使用数据收集,请参阅 Ray 使用统计信息,了解如何禁用它。

另请参阅#