AI开发平台MODELARTS-推理精度测试:Step1 配置精度测试环境
时间:2025-01-03 09:38:46
Step1 配置精度测试环境
- 获取精度测试代码。精度测试代码存放在代码包AscendCloud-LLM的llm_tools/llm_evaluation目录中,代码目录结构如下。
benchmark_eval ├──opencompass.sh #运行opencompass脚本 ├──install.sh #安装opencompass脚本 ├──vllm_api.py #启动vllm api服务器 ├──vllm.py #构造vllm评测配置脚本名字
- 确保Notebook内通网,已通网可以跳过这一步,未通网需要配置$config_proxy_str,$config_pip_str设置对应的代理和pip源,来确保当前代理和pip源可用。
- 精度评测新建一个conda环境,确保之前启动服务为vllm接口,进入到benchmark_eval目录下,执行如下命令。命令中的$work_dir 是benchmark_eval的绝对路径。
conda activate python-3.9.10 #如果没有该conda环境需要手动建立一个 export work_dir=${work_dir} #指定work_dir路径 bash install.sh
- 在benchmark_eval目录下安装依赖。
cd opencompass #在benchmark_eval目录下 pip install -e . #下载对应依赖 cd ../human-eval #在benchmark_eval目录下 (可选,如果选择使用humaneval数据集) pip install -e . # 可选,如果选择使用humaneval数据集
- (可选)如果需要在humaneval数据集上评估模型代码能力,请执行此步骤,否则忽略这一步。原因是通过opencompass使用humaneval数据集时,需要执行模型生成的代码。请仔细阅读human_eval/execution.py文件第48-57行的注释,内容参考如下。了解执行模型生成代码可能存在的风险,如果接受这些风险,请取消第58行的注释,执行下面步骤6进行评测。
# WARNING # This program exists to execute untrusted model-generated code. Although # it is highly unlikely that model-generated code will do something overtly # malicious in response to this test suite, model-generated code may act # destructively due to a lack of model capability or alignment. # Users are strongly encouraged to sandbox this evaluation suite so that it # does not perform destructive actions on their host or network. For more # information on how OpenAI sandboxes its code, see the accompanying paper. # Once you have read this disclaimer and taken appropriate precautions, # uncomment the following line and proceed at your own risk: # exec(check_program, exec_globals) #第58行
- 执行精度测试启动脚本opencompass.sh,具体操作命令如下,可以根据参数说明修改参数。请确保${work_dir} 已经通过export设置。
vllm_path=${vllm_path} \ service_port=${service_port} \ max_out_len=${max_out_len} \ batch_size=${batch_size} \ eval_datasets=${eval_datasets} \ model_name=${model_name} \ benchmark_type=${benchmark_type} \ bash -x opencompass.sh
参数说明:
- vllm_path:构造vllm评测配置脚本名字,默认为vllm。
- service_port:服务端口,与启动服务时的端口保持,比如8080。
- max_out_len:在运行类似mmlu、ceval等判别式回答时,max_out_len建议设置小一些,比如16。在运行human_eval等生成式回答(生成式回答是对整体进行评测,少一个字符就可能会导致判断错误)时,max_out_len设置建议长一些,比如512,至少包含第一个回答的全部字段。
- batch_size:输入的batch_size大小,不影响精度,只影响得到结果速度。
- eval_datasets:评测数据集和评测方法,比如ceval_gen、mmlu_gen 。
- model_name:评测模型名称,不需要与启动服务时的模型参数保持一致。
- benchmark_type:评测数据集类型,分为eval、static、awq,也就是精度、静态和量化数据集,默认eval。
参考命令:vllm_path=vllm service_port=8080 max_out_len=16 batch_size=2 eval_datasets=mmlu_gen model_name=llama_7b benchmark_type=eval bash -x opencompass.sh
- 客户端显示运行过程,通过run.py运行。如果同时运行多个数据集,需要将不同数据集通过空格分开,加入到eval_datasets中,比如eval_datasets=ceval_gen mmlu_gen。运行命令如下所示。
cd opencompass python run.py --models vllm --datasets mmlu_gen ceval_gen -w ${output_path}
output_path: 要保存的结果路径。
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1990.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- 性能测试使用教程_性能测试操作步骤_性能测试快速入门-华为云
- 软件测试流程_测试计划CodeArts TestPlan_测试平台-华为云
- 性能测试使用流程_性能测试怎么样_性能测试 CodeArts PerfTest-华为云
- 性能测试产品优势_性能测试应用场景_性能测试CodeArts PerfTest-华为云
- GaussDB测试_GaussDB数据库测试_高斯数据库测试-华为云
- 测试管理平台有什么优势_测试计划CodeArts TestPlan_软件测试-华为云
- 什么是性能测试_性能测试作用_性能测试 CodeArts PerfTest-华为云
- ModelArts推理部署_OBS导入_模型包规范-华为云
- ModelArts自动学习是什么_自动学习简介_零代码完成AI开发
- 性能测试有哪些特性_性能测试特点_性能测试 CodeArts PerfTest-华为云