第三章:模型加载¶
基础加载¶
从 HuggingFace 加载¶
from vllm import LLM
# 加载模型
llm = LLM(model="Qwen/Qwen2-7B-Instruct")
# 生成文本
outputs = llm.generate("你好,请介绍一下自己")
print(outputs[0].outputs[0].text)
从本地加载¶
# 下载模型到本地
# huggingface-cli download Qwen/Qwen2-7B-Instruct --local-dir ./models/qwen2-7b
llm = LLM(model="./models/qwen2-7b")
加载参数¶
llm = LLM(
model="Qwen/Qwen2-7B-Instruct",
# 并行配置
tensor_parallel_size=2, # 张量并行(多GPU)
pipeline_parallel_size=1, # 流水线并行
# 显存配置
gpu_memory_utilization=0.9, # GPU 显存利用率
max_model_len=4096, # 最大序列长度
# 量化配置
quantization="awq", # 量化方式
load_format="awq",
# 其他配置
trust_remote_code=True, # 信任远程代码
dtype="float16", # 数据类型
)
量化模型¶
AWQ 量化¶
GPTQ 量化¶
FP8 量化¶
多 GPU 加载¶
# 2 GPU 张量并行
llm = LLM(
model="Qwen/Qwen2-72B-Instruct",
tensor_parallel_size=2,
)
# 4 GPU 张量并行
llm = LLM(
model="Qwen/Qwen2-72B-Instruct",
tensor_parallel_size=4,
)
模型配置¶
from vllm import SamplingParams
sampling_params = SamplingParams(
temperature=0.7,
top_p=0.9,
max_tokens=512,
stop=["</s>", "###"],
)
outputs = llm.generate(["你好", "介绍一下Python"], sampling_params)
小结¶
本章学习了模型加载的各种方式。下一章学习 API 服务。