华为开发者空间-赋能昇腾 AI 进行大模型评估

举报
JaneConan 发表于 2025/08/02 14:15:01 2025/08/02
【摘要】 大模型评估是指对大规模预训练语言模型的能力、性能、局限性等进行系统性测量和分析的过程。它是确保大模型在实际应用中可靠、有效且符合预期的关键环节。一、评估目的性能验证:确认模型在各类任务上的处理能力,如文本生成、问答、翻译等。发现缺陷:识别模型在逻辑推理、常识理解、偏见等方面的不足。优化方向:为模型迭代提供数据支持(如调整训练策略、增强特定能力)。应用适配:判断模型是否适合特定场景(如医疗、金...

大模型评估是指对大规模预训练语言模型的能力、性能、局限性等进行系统性测量和分析的过程。

它是确保大模型在实际应用中可靠、有效且符合预期的关键环节。

一、评估目的

性能验证:确认模型在各类任务上的处理能力,如文本生成、问答、翻译等。

发现缺陷:识别模型在逻辑推理、常识理解、偏见等方面的不足。

优化方向:为模型迭代提供数据支持(如调整训练策略、增强特定能力)。

应用适配:判断模型是否适合特定场景(如医疗、金融等领域的垂直应用)。

二、评估维度与常见任务

1. 基础能力评估

维度

典型任务示例

评估重点

语言理解

文本分类、命名实体识别、语义角色标注

对语义、语法结构的理解准确性

语言生成

文本续写、摘要生成、对话系统

内容连贯性、逻辑性、多样性

知识推理

常识问答(如 冬天为什么会下雪?)、逻辑谜题

对世界知识的掌握及推理能力

跨语言能力

机器翻译(如中译英)、跨语言问答

多语言理解与生成的一致性

2. 复杂能力评估

上下文理解:在长文本或多轮对话中保持语义一致性(如回答依赖前文的问题)。

多模态融合:结合图像、音频等信息进行处理(如根据图片生成描述)。

工具使用:调用外部工具(如计算器、知识库)解决问题的能力。

3. 伦理与安全性评估

偏见与公平性:检查模型输出是否存在性别、种族、地域等偏见(如 医生都是男性的错误关联)。

有害内容生成:测试模型是否会输出仇恨言论、虚假信息或恶意指令。

隐私保护:评估模型是否会泄露训练数据中的敏感信息(如个人隐私)。

4. 效率与实用性评估

计算资源消耗:模型推理的速度、内存占用、能耗等(影响实际部署成本)。

小样本 / 零样本学习:在少量或无标注数据下的学习能力(如仅通过示例完成新任务)。

1、实验介绍

1.1、实验平台介绍

本实验描述了如何在华为开发者空间 AI NoteBook 上进行大模型评估。

1.1.1、华为开发者空间简介

华为开发者空间官网地址:https://developer.huaweicloud.com/space 

图片1.png

在华为开发者空间,每位注册的开发者都将享有年度内数百小时的云主机使用权,配备5GB云存储容量和定制化的场景模拟沙箱,辅以丰富详实的技术培训课程和专业认证资料,确保开发者能够无缝接入并持续拓展自己的技能树。该空间特别设计了以华为云CodeArts IDE为中心的全方位开发工具生态,整合了鲲鹏、昇腾、鸿蒙等核心生态的开发资源,提供广泛的开源软件库、实用开发插件,全面覆盖从代码托管到应用运维的各个阶段,极大地提升了开发效率和应用构建的便捷性。

加入华为开发者空间,开发者将额外收获如下关键支持:

应用全周期管理:一站式服务涵盖应用构建、存档、验证、配置等环节,助力开发者高效完成云端应用搭建。

沃土云创计划:多维度激励方案,鼓励开发者探索新技术边界,推动创新应用的孵化与发展。

生态共建激励:设立开源贡献、市场线索共享等奖励机制,激发开发者参与生态建设的热情,共享成长成果。

个性化技术支持:通过多种渠道如工单系统、云声反馈、问题跟踪等,为开发者提供及时的技术指导和解决方案,确保项目顺利推进。

1.1.2、华为开发者空间 AI NoteBook 简介

华为开发者空间 AI NoteBook 是基于华为云 ModelArts JupyterLab NoteBook 虚拟环境。

ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端--云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。

 

wechat_2025-08-02_140826_854.png

华为开发者空间 AI NoteBook 地址:

https://developer.huaweicloud.com/space/devportal/notebook-tool 

AI NoteBook 支持通过 JupyterLab 工具在线打开 Notebook ,开发基于昇腾的Ascend C算子。

具体操作流程如下图所示:

图片3.png

 

AI NoteBook 给用户提供了两组预置镜像,用户可以直接使用预置镜像创建 Notebook 实例,在实例中进行依赖安装与配置后,保存为自定义镜像,可直接用于Ascend C算子开发。 

图片4.png

 

AI NoteBook 平台中预置的基础镜像:

引擎类型

版本名称

Ascend-Powered-Engine

NPU basic  1 * NPU 910B

8v CPU  24GB

euler2.9-py310-torch2.1.0-cann8.0-openmind0.9.1

euler2.9-py3.8-torch2.1.0-cann8.0-openmind0.9.0

 

例如:我们选择 euler2.9-py310-torch2.1.0-cann8.0-openmind0.9.1 然后,点击立即启动,

稍等片刻后环境启动完成。

图片5.png

 

点击查看 NoteBook 即可进入刚刚创建好的环境中。

 

图片6.png

 

2、软件介绍

2.1.1 软件版本介绍

本实验所使用的系统和软件版本如下表,对于操作界面差异不大的版本没有列出。

环境信息:

类别

版本

说明

Python

Python3.10

面向对象编程语言

CANN

8.1.RC1.beta1

昇腾异构计算架构

系统镜像

euleros_2.9

服务器操作系统

CPU架构

aarch64

CPU架构

大模型微调套件

OpenMind

openMind是一个大模型微调套件

通过命令行接口或SDK原生支持在昇腾NPU上进行微调、推理、评估和部署。

训练环境系统/软件版本

 

2.1.2 OpenMind 简介

官方源代码地址:https://gitee.com/ascend/openmind

openMind Library是一个大模型微调套件,通过命令行接口或SDK原生支持在昇腾NPU上进行微调、推理、评估和部署。通过简化使用流程,充分利用NPU的独特优势,为大模型应用提供高效、可扩展的解决方案。

为什么使用 openMind Library

基于Transformers框架,openMind Library实现了高效的微调流程。它集成了PyTorch生态中常用的工具库功能,提供数据预处理、权重加载、低参微调、量化适配以及训练跟踪等全流程的一键式解决方案。此外,库内融合了针对昇腾NPU的优化算子,可大幅提升模型训练效率。

openMind Library提供了统一的Pipeline SDK,提供更快速、更高效的推理体验。

模型部署方面,openMind Library基于LMDeployMindIE,提供多后端部署支持,极大地简化了部署流程,使得模型部署更加便捷。

openMind Library目前支持的特性如下:

· 模型类型:支持Qwen2Qwen2.5Qwen1.5Internlm2Internlm3Llama3.1Glm4Skywork等系列模型

· 微调训练:SFT训练

· 混合精度训练: BF16FP16

· 高效微调:LoRA微调、DoRA微调、PiSSA微调、4bit QLoRA微调

· 分布式训练:native DDPDeepSpeed

· 微调加速:npu_fusion_attention融合算子、npu_rms_norm融合算子、RoPE融合算子、SwiGLU融合算子

· 训练监控:SwanLab

· 多轮对话:Transformers/Mindformersbackend

· 推理:Transformers/Diffusersbackendtext-generation/text-to-image多任务

· 部署:LMDeployMindIE

· 评估:lm_eval

2、体验在NPU上使用OpenCompass进行模型评估

可参考官方仓库地址

https://gitee.com/ascend/openmind/blob/master/docs/zh/best_practice/opencompass.md

OpenCompass是一个LLM评估平台,它提供全面的大模型评测功能,包括广泛的模型支持、高效的评测速度、主观的评测能力、数据污染检查和丰富的长文本评测能力。本教程介绍如何使用OpenCompass第三方套件在npu上对本地模型完成评测。

3.1.1 环境准备

本实验所使用的模型和OpenCompass版本可能会有更新,最新请以官方仓库 README 为准。

git clone https://github.com/open-compass/opencompass.git
cd opencompass
git checkout -b v0.4.2 tags/0.4.2
pip install -e .

 

 

图片7.png

 

接下来,将基于qwen-2.5-7b-instruct模型和gsm8k数据集进行演示。

3.1.2 模型准备

可通过带lfsgit 从魔乐社区进行模型下载。

 

git clone https://modelers.cn/AI-Research/Qwen2.5-7B-Instruct.git

 

由于模型路径后续会使用到,这里假设下载后模型的位置在 /model/Qwen2.5-7B-Instruct/

图片8.png

 

3.1.3 数据集准备

大部分数据集会随着评测的启动自动下载,部分数据集需要手动下载。

可通过/opt/huawei/edu-apaas/src/init/opencompass/opencompass/utils/datasets_info.py

文件查看数据集下载链接,下载后将文件存在/root/.cache/opencompass/data/

 

本示例使用的gsm8k数据集会由OpenCompass自动下载。

 

可通过以下命令查看或过滤当前可用的模型和数据集配置。

 

python tools/list_configs.py llama mmlu

 

目前已验证的数据集配置包括aime2024_gen_6e39a4gpqa_gen_4baadbmath_500_genmmlu_gen_a484b3gsm8k_gen。其他数据集配置以用户使用为准。

 

图片9.png

图片10.png

 

 

3.1.4 数据集准备

可通过以下命令启动评测,时间会比较长,完整评估大约需要 1 个半小时。

cd opencompass
pip install mmengine
pip install prettytable
pip install jieba
pip install rouge_chinese
pip install rank_bm25
pip install tree_sitter
pip install tree_sitter_languages
pip install openai
pip install fuzzywuzzy
pip install timeout_decorator
pip install h5py
python run.py \
    --datasets gsm8k_gen \
    --hf-type chat \
    --hf-path /model/Qwen2.5-7B-Instruct/ \
    --tokenizer-kwargs padding_side="left" truncation="left" trust_remote_code="True" \
    --model-kwargs device_map="auto" \
    --max-seq-len 1024 \
    --max-out-len 2048 \
    --min-out-len 16 \
    --batch-size 32 \
--max-num-workers 2

图片11.png

图片12.png

datasets中可以传入多个数据集,从而一次评估多个数据集。

若有需要,可通过添加generation-kwargs参数,使得模型输出具有一定的随机性。

--generation-kwargs do_sample="True" temperature=0.7 top_k=50 top_p=0.8

可视化评估结果

 

评估完成后,评估结果表格将打印如下:

dataset    version    metric     mode       _hf

--------   --------   --------   ------   -----

gsm8k      1d7fe4     accuracy   gen      80.52

恭喜!至此您成功完成了大模型的评估实验!

 

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。