K-ON111111/UAE-Large-V1
模型介绍
文件和版本
Pull Requests
讨论
分析

UAE-Large-V1 — 昇腾 NPU 适配模型

赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu 硬件: Ascend 910B4 标签: npu ascend pytorch transformers

📖 模型简介

属性值
原始模型WhereIsAI/UAE-Large-V1
参数量326 M
任务类型文本嵌入 / 语义向量(Universal AnglE Embedding)
输入格式自然语言文本
输出格式1024 维归一化语义向量

UAE-Large-V1 是基于 BERT-large 的通用文本嵌入模型,在 MTEB 基准上表现出色, 采用 CLS 池化输出 L2 归一化的语义向量,支持语义相似度计算与检索。 本适配在昇腾 NPU(Ascend 910B4)上完成推理,单句约 0.33 s。

🔧 环境依赖

⚠️ 本仓库不包含模型权重(交付件仅 inference.py / readme.md / requirements.txt / assets/), 推理前必须先从原始模型仓单独下载权重。

# 1. 下载模型权重(仓库不含权重,必须单独下载)
huggingface-cli download WhereIsAI/UAE-Large-V1 --local-dir ./ --local-dir-use-symlinks False

# 2. 安装依赖
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/

🚀 推理步骤

# 运行 NPU 推理(文本 -> 语义向量;--compare 计算余弦相似度)
python3 inference.py --model_path . --input "The weather is great today." \
    --compare "It is raining outside." --device npu:0

🧪 测试用例

用例 1: 语义相似度计算

python3 inference.py --model_path . --input "The weather is great today." \
    --compare "It is raining outside." --device npu:0

预期输出:

[Model Agent] NPU 设备就绪: Ascend910B4 (count=1)
[Model Agent] 模型加载完成 -> npu:0
[Model Agent] 嵌入向量: dim=1024, L2范数=1.0000
[Model Agent] 对比文本: 'It is raining outside.'
[Model Agent] 余弦相似度: 0.6705
[Model Agent] 推理时延: 327.0 ms

📁 目录结构

.
├── inference.py          # NPU 推理脚本
├── readme.md             # 本文件
├── requirements.txt      # 依赖清单
└── assets/               # 截图素材

📝 适配说明

本模型由 昇腾 Model Agent 自动完成 NPU 适配:

  • 代码迁移: 标准 BertModel + AutoTokenizer,CLS 池化 + L2 归一化, model.to('npu:0') + torch.no_grad() 推理,无 CUDA 依赖。
  • 验证: Ascend 910B4 上推理,1024 维向量 L2 范数=1,与 CPU 结果一致。