这是基于原始 LLaVA 项目添加了时间评估功能的版本。
- LLaVA 原有功能: 大型语言和视觉助手,支持视觉指令调优
- 新增时间评估: 在模型推理过程中测量和记录以下指标:
- 首个 token 生成时间 (First token time)
- 总生成时间 (Total generation time)
- 平均性能统计
llava/eval/timing.py: 时间评估核心模块,包含:generate_with_timing(): 带时间测量的生成函数TimingStats: 统计和打印平均性能数据
以下脚本已集成时间评估功能:
llava/eval/model_vqa.pyllava/eval/model_qa.pyllava/eval/model_vqa_loader.pyllava/eval/model_vqa_mmbench.pyllava/eval/model_vqa_science.py
评估完成后会在结果中包含时间信息:
{
"question_id": 123,
"text": "生成的回答...",
"metadata": {
"first_token_time": 0.1234,
"total_generation_time": 2.5678
}
}并在控制台输出平均性能统计:
Average first token time: 0.1234s
Average total generation time: 2.5678s
conda create -n llava python=3.10 -y
conda activate llava
pip install --upgrade pip # enable PEP 660 support
pip install -e .可选:
pip install -e ".[train]"
pip install flash-attn --no-build-isolation