liangyi_LLaMA_Factory / evaluation /async_evaluation_example.md
Mickey25's picture
Upload folder using huggingface_hub
46b244e verified

异步并发评测脚本使用指南

概述

评测脚本已经升级为异步并发版本,大幅提升了评测速度。主要改进包括:

  1. 异步API调用:使用 aiohttp 替代 requests 进行异步HTTP请求
  2. 并发处理:支持多个对话和pairs的并发评估
  3. 可配置并发数:通过命令行参数控制并发级别
  4. 保持兼容性:保持原有的断点续传和实时指标功能

性能提升

  • API调用并发:多个API请求可以同时进行
  • 对话并发:多个对话可以并行处理
  • Pair并发:同一对话内的多个pairs可以并发评估
  • 预期速度提升:3-10倍(取决于API响应时间和并发配置)

新增命令行参数

--max_concurrent_conversations INT    最大并发对话数(默认: 5)
--max_concurrent_pairs INT           最大并发pair数(默认: 10)
--max_concurrent_api_calls INT       最大并发API调用数(默认: 20)

使用示例

基本使用(使用默认并发配置)

python data_evaluation.py \
    --input_file data/dataset/demo.json \
    --output_file evaluation/result.json \
    --start_idx 0 \
    --end_idx 100

高并发配置(适合性能较强的服务器)

python data_evaluation.py \
    --input_file data/dataset/demo.json \
    --output_file evaluation/result.json \
    --max_concurrent_conversations 10 \
    --max_concurrent_pairs 20 \
    --max_concurrent_api_calls 50 \
    --start_idx 0 \
    --end_idx 100

保守并发配置(适合资源受限的环境)

python data_evaluation.py \
    --input_file data/dataset/demo.json \
    --output_file evaluation/result.json \
    --max_concurrent_conversations 2 \
    --max_concurrent_pairs 5 \
    --max_concurrent_api_calls 10 \
    --start_idx 0 \
    --end_idx 100

多模型评估

python data_evaluation.py \
    --input_file data/dataset/demo.json \
    --models "my_lora,/data/models/Qwen3-8B" \
    --max_concurrent_conversations 3 \
    --max_concurrent_pairs 8 \
    --max_concurrent_api_calls 15

并发配置建议

根据服务器配置调整

高性能服务器(16+ CPU核心,32+ GB内存)

--max_concurrent_conversations 10-15
--max_concurrent_pairs 20-30
--max_concurrent_api_calls 50-100

中等性能服务器(8 CPU核心,16 GB内存)

--max_concurrent_conversations 5-8
--max_concurrent_pairs 10-15
--max_concurrent_api_calls 20-30

低性能服务器(4 CPU核心,8 GB内存)

--max_concurrent_conversations 2-3
--max_concurrent_pairs 5-8
--max_concurrent_api_calls 10-15

根据API服务能力调整

如果API服务有并发限制,建议:

  • 降低 max_concurrent_api_calls
  • 相应调整 max_concurrent_conversationsmax_concurrent_pairs

环境变量支持

也可以通过环境变量设置并发配置:

export MAX_CONCURRENT_CONVERSATIONS=8
export MAX_CONCURRENT_PAIRS=15
export MAX_CONCURRENT_API_CALLS=30

python data_evaluation.py --input_file data/dataset/demo.json

注意事项

  1. 内存使用:并发数越高,内存使用越多
  2. API限制:确保API服务能处理配置的并发请求数
  3. 网络稳定性:高并发可能对网络稳定性要求更高
  4. 错误处理:异步版本有完善的错误处理和重试机制
  5. 断点续传:异步版本完全支持断点续传功能

监控和调试

异步版本提供详细的日志输出,包括:

  • 并发配置信息
  • 每个对话和pair的处理状态
  • API调用统计
  • 错误和重试信息

可以通过日志监控评估进度和性能表现。