Vidur 项目介绍
Vidur是一个高精度且可扩展的LLM(大型语言模型)推理模拟器。对于从事机器学习和AI开发的人士来说,它是一个非常有用的工具。以下是Vidur的一些主要功能:
主要功能
-
容量规划和部署配置优化
Vidur可以帮助用户进行容量规划,找到最优的部署配置,使得LLM部署更加高效。而这一切不需要真正的GPU,仅需在初始阶段进行简单的性能分析。 -
测试新研究思路
用户可以利用Vidur测试新的研究想法,如探索新的调度算法和优化技术(例如投机解码等)。 -
系统性能研究
Vidur允许用户在不同的工作负载和配置下研究模型的系统性能。这对于了解模型在不同条件下的表现非常有帮助。
Vidur支持的模型
Vidur支持多种模型和设备配置,包括(但不限于)以下组合:
meta-llama/Meta-Llama-3-8B
在A100 80GB DGX和4xA100 80GB Pairwise NVLink Node上均被支持。meta-llama/Llama-2-7b-hf
、codellama/CodeLlama-34b-Instruct-hf
等多个模型在A100和H100 DGX以及其他配置节点上均有支持。- 支持的上下文长度为4k,
Llama3-8B
和Llama3-70B
则支持16k上下文长度。
支持管道并行技术(PP),用户可以根据需要选择合适的PP和TP(张量并行)组合。
使用指南
Vidur提供了多种设置方式以适应不同的开发环境:
- Mamba:用户可以使用
mamba
创建虚拟环境并安装必要的依赖。 - Venv:通过Python的
venv
模块创建和管理虚拟环境。 - Conda:虽然不被强烈推荐,但也可以使用
conda
进行设置。
运行和指标
要运行模拟器,用户只需在终端中输入特定的命令即可。Vidur支持多种参数配置,详细信息可以在相关文档中查阅。模拟的性能指标会被记录至wandb
或保存在simulator_output
目录中。
代码格式化和贡献
用户可以使用简单的命令对代码进行格式化。Vidur项目欢迎用户提供贡献,但提交前可能需要签署贡献者许可协议(CLA)。
相关资源
- Vidur的功能详见MLSys'24论文。
- 用户也可以通过在线演示了解Vidur的实际能力。
Vidur项目以其开放性和实用性,成为了研究和开发高效AI应用的强大工具。无论是初学者还是专家,都可以从中获得有价值的帮助和洞察。