使用 vLLM 进行推理

最后更新: 2025-03-01 23:50:26 +0800 +0800
tags: Llm | Vllm | Pytorch
原文以英文撰写。您正在阅读AI翻译版本。
  • 生成模型:仅支持 llm = LLM(model=..., task="generate") (task=generate)
  • 池化模型:仅支持 llm = LLM(model=..., task="embed")(task={embed,classify,reward})
  • 成功后,生成模型返回文本,池化模型返回隐藏状态。

自定义模型集成 #

  1. git clone --depth 1 https://github.com/vllm-project/vllm/
  2. 在 Transformers 仓库中添加文件,并将其放入 vllm/model_executor/models 目录

现有模型执行器 #

https://github.com/vllm-project/vllm/tree/main/vllm/model_executor/models

hugging face transformer 仓库 #

  • .gitattributes

    配置 Git 行为,通常用于跟踪大型权重文件的 Git LFS。推理时不会使用它。

  • config.json

    定义模型架构和超参数:模型类型、层数、隐藏层大小、注意力头数量、词汇表大小、 位置编码、数据类型和架构类。

  • generation_config.json

    定义默认生成行为,例如 EOS/PAD 标记 ID、采样设置和最大输出长度。 调用时的参数可以覆盖这些设置。

  • model.safetensors 或 model-x-of-y.safetensors 模型权重的各个分片。分片可以避免生成一个巨大的文件;分片边界不一定对应层边界。

  • model.safetensors.index.json

    将每个参数名映射到包含它的分片,例如 model.layers.0… → model-00001-of-00024.safetensors。 通常还会记录权重总大小。

  • tokenizer_config.json

    分词器元数据:分词器类、最大长度、特殊标记、规范化选项,以及通常包含的聊天模板。

  • tokenizer.json

    完整序列化的“快速分词器”流水线,包括词汇表、切分、规范化、BPE 规则和后处理。

  • vocab.json

    将文本标记或字节表示映射到整数标记 ID。

  • merges.txt

    描述较小符号如何组合成较大符号的有序 BPE 合并规则。

评论

在 GitHub 上阅读或评论(发表评论需要登录)