LLM推理运行时 - 概览
type
status
date
slug
summary
tags
category
icon
password
网址
Hugging Face LLM 服务运行时¶
Hugging Face 服务运行时实现了两个后端,即
Hugging Face
和 vLLM
,可以直接服务 Hugging Face 模型。基于不同的机器学习任务,预处理和后处理程序已经实现,例如文本分类、标记分类、文本生成、文本到文本生成、填充掩码。KServe Hugging Face 运行时默认使用
vLLM
后端来服务 文本生成
和 文本到文本生成
LLM 模型,相比 Hugging Face API 具有更快的首个标记生成时间(TTFT)和更高的标记生成吞吐量。vLLM 采用了常见的推理优化技术,如 PagedAttention、连续批处理和优化的 CUDA 内核。如果 vLLM 引擎不支持该模型,KServe 会回退到 Hugging Face 后端作为备选方案。支持的机器学习任务
Hugging Face 运行时支持以下机器学习任务:
- 文本生成
- 文本到文本生成
- 填充掩码
- 标记分类
- 序列分类(文本分类)
关于 vLLM 后端支持的模型信息,请访问 vLLM 的文档。
API 端点
两个后端都支持使用 OpenAI 的 Completion 和 Chat Completion API 来服务生成式模型(文本生成和文本到文本生成)。
示例
以下示例演示了如何使用 Hugging Face 运行时部署和执行不同机器学习任务的推理:
注意
Hugging Face 运行时镜像默认设置了以下环境变量:
SAFETENSORS_FAST_GPU
默认设置以提高模型加载性能。
HF_HUB_DISABLE_TELEMETRY
默认设置以禁用遥测。
Hugging Face 运行时参数
以下是 Hugging Face 运行时支持的命令行参数说明。vLLM 后端引擎参数也可以在命令行中指定,将由 Hugging Face 运行时解析。
-model_name
:在端点路径上使用的模型名称。
-model_dir
:模型下载到的本地路径。如果提供了model_id
,此参数将被忽略。
-model_id
:Hugging Face 模型 ID。
-model_revision
:Hugging Face 模型版本。
-tokenizer_revision
:Hugging Face 分词器版本。
-dtype
:加载权重的数据类型。可以是 'auto'、'float16'、'float32'、'bfloat16'、'float'、'half' 之一。GPU 系统默认为 float16,CPU 系统默认为 float32。'auto' 在有 GPU 时使用 float16,否则使用 float32,以确保 vLLM 和 HuggingFace 后端之间的一致性。编码器模型默认为 'float32'。'float' 是 'float32' 的简写。'half' 是 'float16'。其余的含义与名称相同。
-task
:机器学习任务名称。可以是 'text_generation'、'text2text_generation'、'fill_mask'、'token_classification'、'sequence_classification' 之一。如果未提供,模型服务器将尝试从模型架构推断任务。
-backend
:用于加载模型的后端。可以是 'auto'、'huggingface'、'vllm' 之一。
-max_length
:分词器的最大序列长度。
-disable_lower_case
:禁用分词器的小写转换。
-disable_special_tokens
:序列将不会使用与模型相关的特殊标记进行编码。
-trust_remote_code
:允许加载带有自定义代码的模型和分词器。
-tensor_input_names
:传递给 triton 推理服务器后端的张量输入名称。
-return_token_type_ids
:返回标记类型 ID。
-return_probabilities
:返回预测索引的概率。这仅适用于 'sequence_classification'、'token_classification' 和 'fill_mask' 任务。
上一篇
概念 - 推理运行时
下一篇
LLM推理运行时 - 文本生成
Loading...