qq_34566203/nbroad--ESG-BERT-ascend
模型介绍文件和版本Pull Requests讨论分析

ESG-BERT (nbroad-ESG-BERT) on Ascend NPU

1. 简介

本文档记录 nbroad/ESG-BERT 在 Ascend 910B3 NPU 环境下的适配与验证结果。该模型是一个基于 BERT 的 ESG(环境、社会、治理)文本分类模型,可将文本分类到 26 个 ESG 主题类别中。

本仓库提供:

  • inference.py:NPU 推理脚本,支持单条/批量文本 ESG 分类
  • eval.py:精度与性能评测脚本,对比 NPU 与 CPU 输出差异
  • log.txt:评测运行日志

相关获取地址:

  • 模型权重(HuggingFace):https://huggingface.co/nbroad/ESG-BERT
  • 镜像加速:https://hf-mirror.com

2. 验证环境

组件版本
torch2.8.0
torch_npu2.8.0.post4
transformers4.57.6
  • NPU:Ascend 910B3,1 逻辑卡
  • 模型架构:BertForSequenceClassification(12 层,768 隐藏维,12 注意力头)
  • 分类数:26 种 ESG 主题

3. 推理启动

环境准备

pip install torch torch_npu transformers
export ASCEND_RT_VISIBLE_DEVICES=0

单条文本推理

python inference.py --text "The company reduced carbon emissions by 30%."

批量推理

python inference.py --input-file texts.txt

输出格式

{
  "model": "nbroad--ESG-BERT",
  "device": "npu:0",
  "num_texts": 1,
  "results": [
    {
      "text": "The company reduced carbon emissions by 30%.",
      "prediction": "GHG_Emissions",
      "confidence": 0.9821,
      "probabilities": {
        "GHG_Emissions": 0.9821,
        "Energy_Management": 0.0102,
        ...
      }
    }
  ]
}

4. Smoke 验证

python inference.py --text "We implemented new data privacy protocols."

5. 性能参考

指标CPUNPU
平均推理时间0.4512 s0.0215 s
吞吐量22.16 texts/s465.91 texts/s
加速比-20.99x

6. 精度评测

指标数值
测试样本数10
最大概率绝对误差5.2015e-03
平均概率绝对误差1.0806e-04
预测一致率10/10 (100.00%)
错误率0.00%
精度要求(错误率 < 1%)通过

结论:NPU 与 CPU 的分类预测结果完全一致(100%),概率误差极小,精度通过验证。

7. 注意事项

  1. ESG 类别:涵盖 26 个 ESG 主题,包括 GHG_Emissions、Data_Security、Labor_Practices 等。
  2. 输出选项:可通过 --topk N 参数控制输出概率数量,默认展示 Top-5。
  3. 序列长度:默认最大序列长度为 512 token。
下载使用量0