【推理加速】vLLM加速部署LLM重要参数

大模型MySQLService Mesh

部署简单示例


        
          
from vllm import LLM, SamplingParams  
  
prompts = [  
    "Hello, my name is",  
    "The president of the United States is",  
    "The capital of France is",  
    "The future of AI is",  
]  
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)  
  
llm = LLM(  
model="qwen/Qwen-7B-Chat", revision="v1.1.8", trust_remote_code=True)  
  
outputs = llm.generate(prompts, sampling_params)  
  
for output in outputs:  
    prompt = output.prompt  
    generated_text = output.outputs[0].text  
    print(f"Prompt: {prompt!r}, Generated text: {generated\_text!r}")  
  

      

SamplingParams()重要传参

  • temperature:Temperature 参数是文本生成模型中用于控制生成文本的随机性和创造性的一个重要的超参数。Temperature参数通常设置为 0.1 到 1.0 之间。
  • top_k:模型预测的前k个最可能的下一个词。
  • max_tokens:模型生成的最大长度。
  • stop_token_ids:生成模型停止生成的token id。如:GLM-4的停止token id为:[151329, 151336, 151338]

LLM()中重要传参

  • model:LLM模型路径。
  • tensor_parallel_size:并行处理的大小。
  • gpu_memory_utilization:默认为0.9, cpu_swap_space默认4个G。若gpu_memory_utilization参数过小(分配的内存大小低于模型使用内存)或者过大(接近1.0)时,代码会崩溃。
  • request_rate:请求速率
  • max_num_seqs:一次推理最多能处理的sequences数量,默认值是256。max_num_seqs越大,能处理的请求数量就会越大,但提升也会有上限,不一定是越大越好:
  • 2卡时,max_num_seqs设置为1024,相较于256,速度提升19%。
  • 4卡时,max_num_seqs设置为2048,相较于256,速度提升35%;max_num_seqs设置为4096,相较于256,速度提升33%。
  • max_model_len:模型的最大生成长度,包含prompt长度和generated长度。这个值需要根据实际情况输入。
  • max_num_batched_tokens:一次推理最多能处理的tokens数量,默认值是2048。max_num_batched_tokens越大,能处理的tokens数量也就越大,但vllm内部会根据max_model_len自动计算max_num_batched_tokens,所以可以不设置这个值。

参考文献

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论