【vLLM 学习】Vision Language

💡 原文中文,约27000字,阅读约需65分钟。
📝

内容提要

本文介绍了如何使用vLLM进行离线推理,特别是在视觉语言模型中采用正确的提示格式进行文本生成。示例展示了多种模型的提示格式和参数设置,以确保在不同GPU上有效运行。

🎯

关键要点

  • 本文介绍了如何使用vLLM进行离线推理,特别是在视觉语言模型中采用正确的提示格式进行文本生成。
  • 对于大多数模型,提示格式应参照HuggingFace模型库中对应的示例格式。
  • 示例代码展示了多种模型的提示格式和参数设置,以确保在不同GPU上有效运行。
  • 注意:默认的max_num_seqs和max_model_len可能会导致低端GPU出现内存溢出。
  • 每个模型的提示格式和参数设置可能有所不同,需根据具体模型进行调整。
  • 提供了多种模型的示例函数,包括Aria、BLIP-2、Chameleon等。
  • 每个模型的函数中都包含了模型名称、引擎参数和提示格式的设置。
  • 在使用模型时,需确保输入数据的模态(图像或视频)与模型要求一致。
  • 支持的输入模态包括图像和视频,且每种模态的处理方式不同。
  • 提供了一个主函数main,用于解析命令行参数并执行模型推理。
  • 在推理过程中,可以选择是否使用不同的提示,或在批处理推理中使用相同的图像。
  • 通过设置温度参数,可以控制生成文本的多样性。
  • 支持的模型类型包括llava、blip-2、gemma3等,用户可以根据需求选择。

延伸问答

如何使用vLLM进行离线推理?

使用vLLM进行离线推理时,需要采用正确的提示格式进行文本生成,并参考HuggingFace模型库中的示例格式。

在使用vLLM时,如何设置模型参数?

模型参数设置应根据具体模型进行调整,示例代码中提供了多种模型的提示格式和参数设置。

vLLM支持哪些输入模态?

vLLM支持的输入模态包括图像和视频,且每种模态的处理方式不同。

使用vLLM时如何避免内存溢出?

应注意默认的max_num_seqs和max_model_len设置,可能会导致低端GPU出现内存溢出,建议根据GPU性能调整这些参数。

vLLM中如何控制生成文本的多样性?

可以通过设置温度参数来控制生成文本的多样性,温度越高,生成的文本越多样。

vLLM支持哪些模型类型?

vLLM支持的模型类型包括llava、blip-2、gemma3等,用户可以根据需求选择合适的模型。

➡️

继续阅读