From 6c24d919b575b781142544b459628fe73852a2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=B1=9F=E6=B1=9F?= Date: Mon, 16 Jun 2025 15:06:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E5=9C=A8readme=E4=B8=AD=E6=A0=87?= =?UTF-8?q?=E6=B3=A8torchair=E6=8E=A8=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ACL_PyTorch/built-in/audio/CosyVoice/CosyVoice2/README.md | 4 ++-- ACL_PyTorch/built-in/audio/CosyVoice/README.md | 4 ++-- ACL_PyTorch/built-in/audio/whisper/README.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ACL_PyTorch/built-in/audio/CosyVoice/CosyVoice2/README.md b/ACL_PyTorch/built-in/audio/CosyVoice/CosyVoice2/README.md index 48d2b3a600..661d8377a3 100755 --- a/ACL_PyTorch/built-in/audio/CosyVoice/CosyVoice2/README.md +++ b/ACL_PyTorch/built-in/audio/CosyVoice/CosyVoice2/README.md @@ -1,6 +1,6 @@ -# CosyVoice-推理指导 +# CosyVoice(TorchAir)-推理指导 -- [CosyVoice-推理指导](#cosyvoice-推理指导) +- [CosyVoice-推理指导](#cosyvoice(TorchAir)-推理指导) - [概述](#概述) - [推理环境准备](#推理环境准备) - [快速上手](#快速上手) diff --git a/ACL_PyTorch/built-in/audio/CosyVoice/README.md b/ACL_PyTorch/built-in/audio/CosyVoice/README.md index a835df476a..5ea84d2336 100755 --- a/ACL_PyTorch/built-in/audio/CosyVoice/README.md +++ b/ACL_PyTorch/built-in/audio/CosyVoice/README.md @@ -1,6 +1,6 @@ -# CosyVoice-推理指导 +# CosyVoice(TorchAir)-推理指导 -- [CosyVoice-推理指导](#cosyvoice-推理指导) +- [CosyVoice-推理指导](#cosyvoice(TorchAir)-推理指导) - [概述](#概述) - [推理环境准备](#推理环境准备) - [快速上手](#快速上手) diff --git a/ACL_PyTorch/built-in/audio/whisper/README.md b/ACL_PyTorch/built-in/audio/whisper/README.md index 73573fd933..0e2b164d03 100644 --- a/ACL_PyTorch/built-in/audio/whisper/README.md +++ b/ACL_PyTorch/built-in/audio/whisper/README.md @@ -1,4 +1,4 @@ -# Whisper模型推理指导 +# Whisper模型(TorchAir)-推理指导 - [概述](#概述) - [插件与驱动准备](#插件与驱动准备) -- Gitee From b630e3e83a7116ab96e99b3ee084451a859a7539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=B1=9F=E6=B1=9F?= Date: Mon, 16 Jun 2025 16:05:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E5=9C=A8readme=E4=B8=AD=E6=A0=87?= =?UTF-8?q?=E6=B3=A8torchair=E6=8E=A8=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../built-in/cv/GroundingDINO/README.md | 302 +++++++++--------- ACL_PyTorch/built-in/cv/MuseTalk/README.md | 4 +- .../built-in/cv/ViTDet_for_Pytorch/README.md | 2 +- .../built-in/embedding/bge-m3/README.md | 172 +++++----- .../embedding/bge-reranker-v2-m3/README.md | 162 +++++----- .../jina-embeddings-v2-base-code/README.md | 234 +++++++------- .../jina-embeddings-v2-base-zh/README.md | 232 +++++++------- 7 files changed, 554 insertions(+), 554 deletions(-) diff --git a/ACL_PyTorch/built-in/cv/GroundingDINO/README.md b/ACL_PyTorch/built-in/cv/GroundingDINO/README.md index a912428a95..21f607c87c 100644 --- a/ACL_PyTorch/built-in/cv/GroundingDINO/README.md +++ b/ACL_PyTorch/built-in/cv/GroundingDINO/README.md @@ -1,151 +1,151 @@ -# GroundingDINO-推理指导 - -- [GroundingDINO-推理指导](#groundingdino-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - - [FAQ](#faq) - -****** - -# 概述 -  ‌`GroundingDINO` 是一种最先进的开放集检测模型,可解决多项视觉任务,包括开放词汇检测(OVD)、Phrase Grounding(PG)、和指代性表达式理解(REC)。它的有效性已使其被广泛采用,成为各种下游应用的主流架构。 - -- 版本说明: - ``` - url=https://github.com/open-mmlab/mmdetection - commit_id=cfd5d3a9 - model_name=MM-GroundingDINO - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.8 | - | - | PyTorch | 2.1.0 | - | - | Ascend Extension PyTorch | 2.1.0.post10 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/cv/GroundingDINO - ``` - -1. 获取开源模型源码 - ``` - git clone https://github.com/open-mmlab/mmdetection - cd mmdetection - git reset --hard cfd5d3a9 - ``` -2. 下载相关权重和图片 - - 下载[BERT权重](https://huggingface.co/google-bert/bert-base-uncased/tree/main),并放置于mmdetection目录下 - - 下载[MM-GroundingDINO权重](https://download.openmmlab.com/mmdetection/v3.0/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth),并放置于weights目录下 - - 下载[animals.png](https://github.com/microsoft/X-Decoder/tree/main/inference_demo/images),并放置于images目录下 - - 下载NLTK权重(可选)。MM-GroundingDINO在进行Phrase Grounding推理时可能会进行名词短语提取,虽然会在运行时下载特定的模型,但是考虑到有些用户运行环境无法联网,因此可以提前下载。 - - 方式一:下载[模型](https://www.nltk.org/nltk_data)到`~/nltk_data`路径下。 - - 方式二:采用如下命令下载 - ``` - import nltk - nltk.download('punkt', download_dir='~/nltk_data') - nltk.download('averaged_perceptron_tagger', download_dir='~/nltk_data') - ``` - -3. 本地下载完成后的目录树如下,检查依赖项和脚本是否归档正确。 - ```shell - mmdetection - ├── demo - │ ├── image_demo.py - │ ├── video_demo.py - │ ├── image_demo_npu.py //本仓提供单图推理脚本 - │ ├── video_demo_npu.py //本仓提供视频推理脚本 - │ ├── register_im2col_to_torchair.py //本仓提供torchair算子注册文件 - │ ├── register_roll_to_torchair.py //本仓提供torchair算子注册文件 - │ ├── requirements.txt //本仓提供 - │ └── install_requirements.sh //本仓提供依赖一键安装脚本 - ├── diff_patch - │ ├── mmdetection_diff.patch //本仓提供 - │ ├── mmengine_diff.patch //本仓提供 - │ └── mmcv_diff.patch //本仓提供 - ├── bert-base-uncased //BERT权重 - ├── weights - │ └── grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth //MM-GroundingDINO权重 - ├── images - │ └── animals.png - ├── mmdet - ├── resources - ├── README.md - ├── tests - ├── tools - ├── config - └── ... - ``` - - -4. 安装依赖 - ``` - conda create -n groundingdino python=3.8 - conda activate groundingdino - - #在mmdetection目录下执行依赖一键安装脚本,会在自动拉取依赖仓并应用diff patch文件 - source demo/install_requirements.sh - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - - # 执行图片推理命令 - python demo/image_demo_npu.py images/animals.png configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py --weight weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth --texts '$: coco' --device npu (--loop 10) - - # 执行视频推理命令 - python demo/video_demo_npu.py demo/demo_mot.mp4 configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth (--batch_size 16) - ``` - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和性能数据。 - -### 2 性能 - - - 单图性能,以animals.png为例,测得以下数据: - - - |模型|芯片|E2E|forward| - |------|------|------|---| - |MM-GroundingDINO|Atlas 800I A2|877ms|274ms| - |MM-GroundingDINO|Atlas 300I DUO|1378ms|740ms| - - - forward性能在`mmdet/apis/det_inferencer.py`中的`preds = self.forward(data, **forward_kwargs)`前后打点得到。 - - - 视频性能: - - |模型|芯片|视频分辨率|batch_size|forward| - |------|----|---|---|---| - |MM-GroundingDINO|Atlas 800I A2|1080P|1bs|140ms| - |MM-GroundingDINO|Atlas 800I A2|1080P|16bs|124ms| - - - forward性能从`demo/video_demo_npu.py`执行结束打屏信息获取,对应单针耗时`per frame infer time` - - config配置文件`configs\mm_grounding_dino\grounding_dino_swin-t_pretrain_obj365.py`中的`scale=(800, 1333)`控制图片缩放,减小缩放比例可提升模型性能,已经测试coco数据集精度在(800, 1152)配置下精度mAP为0.522,(800, 1024)配置下精度mAP为0.52,具体配置选择由用户自行评估。 - -## FAQ -1. mmcv源码安装报错参考:https://mmcv.readthedocs.io/zh-cn/2.x/faq.html - +# GroundingDINO(TorchAir)-推理指导 + +- [GroundingDINO-推理指导](#groundingdino(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + - [FAQ](#faq) + +****** + +# 概述 +  ‌`GroundingDINO` 是一种最先进的开放集检测模型,可解决多项视觉任务,包括开放词汇检测(OVD)、Phrase Grounding(PG)、和指代性表达式理解(REC)。它的有效性已使其被广泛采用,成为各种下游应用的主流架构。 + +- 版本说明: + ``` + url=https://github.com/open-mmlab/mmdetection + commit_id=cfd5d3a9 + model_name=MM-GroundingDINO + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.8 | - | + | PyTorch | 2.1.0 | - | + | Ascend Extension PyTorch | 2.1.0.post10 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/cv/GroundingDINO + ``` + +1. 获取开源模型源码 + ``` + git clone https://github.com/open-mmlab/mmdetection + cd mmdetection + git reset --hard cfd5d3a9 + ``` +2. 下载相关权重和图片 + - 下载[BERT权重](https://huggingface.co/google-bert/bert-base-uncased/tree/main),并放置于mmdetection目录下 + - 下载[MM-GroundingDINO权重](https://download.openmmlab.com/mmdetection/v3.0/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth),并放置于weights目录下 + - 下载[animals.png](https://github.com/microsoft/X-Decoder/tree/main/inference_demo/images),并放置于images目录下 + - 下载NLTK权重(可选)。MM-GroundingDINO在进行Phrase Grounding推理时可能会进行名词短语提取,虽然会在运行时下载特定的模型,但是考虑到有些用户运行环境无法联网,因此可以提前下载。 + - 方式一:下载[模型](https://www.nltk.org/nltk_data)到`~/nltk_data`路径下。 + - 方式二:采用如下命令下载 + ``` + import nltk + nltk.download('punkt', download_dir='~/nltk_data') + nltk.download('averaged_perceptron_tagger', download_dir='~/nltk_data') + ``` + +3. 本地下载完成后的目录树如下,检查依赖项和脚本是否归档正确。 + ```shell + mmdetection + ├── demo + │ ├── image_demo.py + │ ├── video_demo.py + │ ├── image_demo_npu.py //本仓提供单图推理脚本 + │ ├── video_demo_npu.py //本仓提供视频推理脚本 + │ ├── register_im2col_to_torchair.py //本仓提供torchair算子注册文件 + │ ├── register_roll_to_torchair.py //本仓提供torchair算子注册文件 + │ ├── requirements.txt //本仓提供 + │ └── install_requirements.sh //本仓提供依赖一键安装脚本 + ├── diff_patch + │ ├── mmdetection_diff.patch //本仓提供 + │ ├── mmengine_diff.patch //本仓提供 + │ └── mmcv_diff.patch //本仓提供 + ├── bert-base-uncased //BERT权重 + ├── weights + │ └── grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth //MM-GroundingDINO权重 + ├── images + │ └── animals.png + ├── mmdet + ├── resources + ├── README.md + ├── tests + ├── tools + ├── config + └── ... + ``` + + +4. 安装依赖 + ``` + conda create -n groundingdino python=3.8 + conda activate groundingdino + + #在mmdetection目录下执行依赖一键安装脚本,会在自动拉取依赖仓并应用diff patch文件 + source demo/install_requirements.sh + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + + # 执行图片推理命令 + python demo/image_demo_npu.py images/animals.png configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py --weight weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth --texts '$: coco' --device npu (--loop 10) + + # 执行视频推理命令 + python demo/video_demo_npu.py demo/demo_mot.mp4 configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth (--batch_size 16) + ``` + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和性能数据。 + +### 2 性能 + + - 单图性能,以animals.png为例,测得以下数据: + + + |模型|芯片|E2E|forward| + |------|------|------|---| + |MM-GroundingDINO|Atlas 800I A2|877ms|274ms| + |MM-GroundingDINO|Atlas 300I DUO|1378ms|740ms| + + - forward性能在`mmdet/apis/det_inferencer.py`中的`preds = self.forward(data, **forward_kwargs)`前后打点得到。 + + - 视频性能: + + |模型|芯片|视频分辨率|batch_size|forward| + |------|----|---|---|---| + |MM-GroundingDINO|Atlas 800I A2|1080P|1bs|140ms| + |MM-GroundingDINO|Atlas 800I A2|1080P|16bs|124ms| + + - forward性能从`demo/video_demo_npu.py`执行结束打屏信息获取,对应单针耗时`per frame infer time` + - config配置文件`configs\mm_grounding_dino\grounding_dino_swin-t_pretrain_obj365.py`中的`scale=(800, 1333)`控制图片缩放,减小缩放比例可提升模型性能,已经测试coco数据集精度在(800, 1152)配置下精度mAP为0.522,(800, 1024)配置下精度mAP为0.52,具体配置选择由用户自行评估。 + +## FAQ +1. mmcv源码安装报错参考:https://mmcv.readthedocs.io/zh-cn/2.x/faq.html + diff --git a/ACL_PyTorch/built-in/cv/MuseTalk/README.md b/ACL_PyTorch/built-in/cv/MuseTalk/README.md index 9f813493bb..2f97a5fffc 100644 --- a/ACL_PyTorch/built-in/cv/MuseTalk/README.md +++ b/ACL_PyTorch/built-in/cv/MuseTalk/README.md @@ -1,6 +1,6 @@ -# MuseTalk-推理指导 +# MuseTalk(TorchAir)-推理指导 -- [MuseTalk-推理指导](#musetalk-推理指导) +- [MuseTalk-推理指导](#musetalk(TorchAir)-推理指导) - [概述](#概述) - [推理环境准备](#推理环境准备) - [快速上手](#快速上手) diff --git a/ACL_PyTorch/built-in/cv/ViTDet_for_Pytorch/README.md b/ACL_PyTorch/built-in/cv/ViTDet_for_Pytorch/README.md index 5a3c36024f..c66e374f70 100755 --- a/ACL_PyTorch/built-in/cv/ViTDet_for_Pytorch/README.md +++ b/ACL_PyTorch/built-in/cv/ViTDet_for_Pytorch/README.md @@ -1,4 +1,4 @@ -# ViTDet 推理指导 +# ViTDet(TorchAir)-推理指导 - [概述](#summary) diff --git a/ACL_PyTorch/built-in/embedding/bge-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-m3/README.md index 6290df26b8..1475504212 100644 --- a/ACL_PyTorch/built-in/embedding/bge-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-m3/README.md @@ -1,87 +1,87 @@ -# BGE-M3模型适配 - -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [开始推理验证](#开始推理验证) - - [性能](#性能) - -****** - -# 概述 -```BGE-M3```模型是BAAI General Embedding提出的先进的多语言、多功能文本Embedding模式。该模型基于Transformers Encoder,引入稀疏注意力和多向量检索,支持3种语义表示,同时还可以支持超过100种语言,最长可以处理8192序列长度,适合处理长文本。```BGE-M3```可以快速高效地生成3种不同的文本语义表示,通过语义表示间的不同组合,可以支持多种检索方式,在多语言、跨语言、长本文信息检索领域表现出色,为开发者提供了使用的工具。 - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-m - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/BAAI/bge-m3 - cd bge-m3 - git reset --hard 5617a9f - ``` - 本地下载完成后的目录树如下: - ```TEXT - bge-m3/ - ├── colbert_linear.pt - ├── config.json - ├── config_sentence_transformers.json - ├── infer.py # 本仓库提供的自定义推理脚本 - ├── modules.json - ├── pytorch_model.bin - ├── sentence_bert_config.json - ├── sentencepiece.bpe.model - ├── sparse_linear.pt - ├── special_tokens_map.json - ├── tokenizer.json - └── tokenizer_config.json - ``` -2. 安装依赖 - ```SHELL - pip3 install FlagEmbedding transformers==4.51.1 - ``` - 其他基础依赖信息可参考`requirements.txt`文件。 - -## 模型推理 -### 开始推理验证 -设置环境变量,执行推理命令 -```SHELL -# 指定使用NPU ID,默认为0 -export ASCEND_RT_VISIBLE_DEVICES=0 -# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 -# python3 infer.py --model_path=BAAI/bge-m3 -python3 infer.py # 可以使用 --model_path 指定权重路径 -``` -在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\embedder\encoder_only\m3.py` 文件423行 `outputs = self.model(...)` 前后添加时间打点。 -> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 - - -### 性能 - | 模型 | 芯片 | E2E | forward | - |--------|----------------|----------|---------| - | bge-m3 | Atlas 300I DUO | 137.59ms | 23.23ms | +# BGE-M3模型适配(TorchAir)-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [开始推理验证](#开始推理验证) + - [性能](#性能) + +****** + +# 概述 +```BGE-M3```模型是BAAI General Embedding提出的先进的多语言、多功能文本Embedding模式。该模型基于Transformers Encoder,引入稀疏注意力和多向量检索,支持3种语义表示,同时还可以支持超过100种语言,最长可以处理8192序列长度,适合处理长文本。```BGE-M3```可以快速高效地生成3种不同的文本语义表示,通过语义表示间的不同组合,可以支持多种检索方式,在多语言、跨语言、长本文信息检索领域表现出色,为开发者提供了使用的工具。 + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-m + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/BAAI/bge-m3 + cd bge-m3 + git reset --hard 5617a9f + ``` + 本地下载完成后的目录树如下: + ```TEXT + bge-m3/ + ├── colbert_linear.pt + ├── config.json + ├── config_sentence_transformers.json + ├── infer.py # 本仓库提供的自定义推理脚本 + ├── modules.json + ├── pytorch_model.bin + ├── sentence_bert_config.json + ├── sentencepiece.bpe.model + ├── sparse_linear.pt + ├── special_tokens_map.json + ├── tokenizer.json + └── tokenizer_config.json + ``` +2. 安装依赖 + ```SHELL + pip3 install FlagEmbedding transformers==4.51.1 + ``` + 其他基础依赖信息可参考`requirements.txt`文件。 + +## 模型推理 +### 开始推理验证 +设置环境变量,执行推理命令 +```SHELL +# 指定使用NPU ID,默认为0 +export ASCEND_RT_VISIBLE_DEVICES=0 +# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 +# python3 infer.py --model_path=BAAI/bge-m3 +python3 infer.py # 可以使用 --model_path 指定权重路径 +``` +在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\embedder\encoder_only\m3.py` 文件423行 `outputs = self.model(...)` 前后添加时间打点。 +> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 + + +### 性能 + | 模型 | 芯片 | E2E | forward | + |--------|----------------|----------|---------| + | bge-m3 | Atlas 300I DUO | 137.59ms | 23.23ms | | bge-m3 | Atlas 800I A2 | 103.88ms | 14.71ms | \ No newline at end of file diff --git a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md index c215e5ceb8..9d8fcbcd85 100644 --- a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md @@ -1,82 +1,82 @@ -# BGE-M3模型适配 - -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [开始推理验证](#开始推理验证) - - [性能](#性能) - -****** - -# 概述 -```bge-reranker-v2-m3```模型以问题和文档作为输入,直接输出相似度而非Embedding向量。输入`[query, passage]`,就可以获得`query`和`passage`之间的相关性分数,该分数可通过`sigmoid`激活函数映射成在`[0,1]`范围内的浮点值。该模型专为优化检索结果排序设计,能更精准识别query-document的相关性,适合需要精细排序的应用场景(如搜索引擎、问答系统),单次计算即可获得相关性评估,无需二次计算,降低系统复杂度。 - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3 - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/BAAI/bge-reranker-v2-m3 - cd bge-reranker-v2-m3 - git reset --hard 953dc6f - ``` - 本地下载完成后的目录树如下: - ```TEXT - bge-reranker-v2-m3/ - ├── config.json - ├── infer.py # 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── sentencepiece.bpe.model - ├── special_tokens_map.json - ├── tokenizer.json - └── tokenizer_config.json - ``` -2. 安装依赖 - ```SHELL - pip3 install FlagEmbedding transformers==4.51.1 - ``` - 其他基础依赖信息可参考`requirements.txt`文件。 - -## 模型推理 -### 开始推理验证 -设置环境变量,执行推理命令 -```SHELL -# 指定使用NPU ID,默认为0 -export ASCEND_RT_VISIBLE_DEVICES=0 -# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 -# python3 infer.py --model_path=BAAI/bge-reranker-v2-m3 -python3 infer.py # 可以使用 --model_path 指定权重路径 -``` -在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\reranker\encoder_only\base.py` 文件186行 `scores = self.model(...)` 前后添加时间打点。 -> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 - - -### 性能 - | 模型 | 芯片 | E2E | forward | - |--------|----------------|---------|---------| - | bge-m3 | Atlas 300I DUO | 60.47ms | 22.57ms | +# BGE-M3模型适配(TorchAir)-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [开始推理验证](#开始推理验证) + - [性能](#性能) + +****** + +# 概述 +```bge-reranker-v2-m3```模型以问题和文档作为输入,直接输出相似度而非Embedding向量。输入`[query, passage]`,就可以获得`query`和`passage`之间的相关性分数,该分数可通过`sigmoid`激活函数映射成在`[0,1]`范围内的浮点值。该模型专为优化检索结果排序设计,能更精准识别query-document的相关性,适合需要精细排序的应用场景(如搜索引擎、问答系统),单次计算即可获得相关性评估,无需二次计算,降低系统复杂度。 + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3 + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/BAAI/bge-reranker-v2-m3 + cd bge-reranker-v2-m3 + git reset --hard 953dc6f + ``` + 本地下载完成后的目录树如下: + ```TEXT + bge-reranker-v2-m3/ + ├── config.json + ├── infer.py # 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── sentencepiece.bpe.model + ├── special_tokens_map.json + ├── tokenizer.json + └── tokenizer_config.json + ``` +2. 安装依赖 + ```SHELL + pip3 install FlagEmbedding transformers==4.51.1 + ``` + 其他基础依赖信息可参考`requirements.txt`文件。 + +## 模型推理 +### 开始推理验证 +设置环境变量,执行推理命令 +```SHELL +# 指定使用NPU ID,默认为0 +export ASCEND_RT_VISIBLE_DEVICES=0 +# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 +# python3 infer.py --model_path=BAAI/bge-reranker-v2-m3 +python3 infer.py # 可以使用 --model_path 指定权重路径 +``` +在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\reranker\encoder_only\base.py` 文件186行 `scores = self.model(...)` 前后添加时间打点。 +> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 + + +### 性能 + | 模型 | 芯片 | E2E | forward | + |--------|----------------|---------|---------| + | bge-m3 | Atlas 300I DUO | 60.47ms | 22.57ms | | bge-m3 | Atlas 800I A2 | 46.64ms | 15.08ms | \ No newline at end of file diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md index a36416d312..c2f7c53215 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md @@ -1,117 +1,117 @@ -# jina-embeddings-v2-base-code-推理指导 - -- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - -****** - -# 概述 -  ‌`jina-embeddings-v2-base-code` 是一款支持英语和30种常用编程语言的代码嵌入模型。它采用Bert架构和ALiBi技术,支持8192序列长度,适合处理长文档。该模型经过大规模代码数据训练,拥有1.61亿参数,可快速高效地生成嵌入。它在技术问答和代码搜索等场景表现出色,为开发者提供了实用的工具。 - -- 版本说明: - ``` - url=https://huggingface.co/jinaai/jina-embeddings-v2-base-code - commit_id=516f4ba - model_name=jina-embeddings-v2-base-code - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code - cd jina-embeddings-v2-base-code - git reset --hard 516f4ba - - git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm - cd jina-bert-v2-qk-post-norm - git reset --hard 3baf9e3 - cd .. - mv jina-bert-v2-qk-post-norm bertV2qkPostNorm - ``` - 本地下载完成后的目录树如下 - ```shell - jina-embeddings-v2-base-code - ├── bertV2qkPostNorm // import jina-bert-v2-qk-post-norm 会报 SyntaxError,所以修改文件名 - │ ├── config.json - │ ├── configuration_bert.py - │ ├── modeling_bert.py - │ ├── special_tokens_map.json - │ ├── tokenizer_config.json - │ └── vocab.txt - ├── config.json - ├── generation_config.json - ├── infer.py // 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── modules.json - ├── README.md - ├── sentence_bert_config.json - ├── special_tokens_map.json - ├── tokenizer_config.json - ├── tokenizer.json - ├── trainer_state.json - ├── train_results.json - └── vocab.json - ``` - - -2. 安装依赖 - ``` - pip3 install transformers==4.35.2 - - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 - # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-code - python3 infer.py --model_path=./ - ``` - - --model_path: 权重路径 - - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 - -### 2 性能 - - |模型|芯片|E2E|forward| - |------|------|------|---| - |jina-embeddings-v2-base-code|Atlas 800I A2|9.4ms|5.5ms| - +# jina-embeddings-v2-base-code(TorchAir)-推理指导 + +- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + +****** + +# 概述 +  ‌`jina-embeddings-v2-base-code` 是一款支持英语和30种常用编程语言的代码嵌入模型。它采用Bert架构和ALiBi技术,支持8192序列长度,适合处理长文档。该模型经过大规模代码数据训练,拥有1.61亿参数,可快速高效地生成嵌入。它在技术问答和代码搜索等场景表现出色,为开发者提供了实用的工具。 + +- 版本说明: + ``` + url=https://huggingface.co/jinaai/jina-embeddings-v2-base-code + commit_id=516f4ba + model_name=jina-embeddings-v2-base-code + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code + cd jina-embeddings-v2-base-code + git reset --hard 516f4ba + + git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm + cd jina-bert-v2-qk-post-norm + git reset --hard 3baf9e3 + cd .. + mv jina-bert-v2-qk-post-norm bertV2qkPostNorm + ``` + 本地下载完成后的目录树如下 + ```shell + jina-embeddings-v2-base-code + ├── bertV2qkPostNorm // import jina-bert-v2-qk-post-norm 会报 SyntaxError,所以修改文件名 + │ ├── config.json + │ ├── configuration_bert.py + │ ├── modeling_bert.py + │ ├── special_tokens_map.json + │ ├── tokenizer_config.json + │ └── vocab.txt + ├── config.json + ├── generation_config.json + ├── infer.py // 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── modules.json + ├── README.md + ├── sentence_bert_config.json + ├── special_tokens_map.json + ├── tokenizer_config.json + ├── tokenizer.json + ├── trainer_state.json + ├── train_results.json + └── vocab.json + ``` + + +2. 安装依赖 + ``` + pip3 install transformers==4.35.2 + + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 + # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-code + python3 infer.py --model_path=./ + ``` + - --model_path: 权重路径 + + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 + +### 2 性能 + + |模型|芯片|E2E|forward| + |------|------|------|---| + |jina-embeddings-v2-base-code|Atlas 800I A2|9.4ms|5.5ms| + diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md index ccd3826fc5..80af04983f 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md @@ -1,116 +1,116 @@ -# jina-embeddings-v2-base-zh-推理指导 - -- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - -****** - -# 概述 -  ‌`jina-embeddings-v2-base-zh` 基于Transformer架构的中文文本向量模型,支持句子相似度计算、文本分类、检索和重排序功能。在MTEB中文基准测试中完成了医疗问答、电商等领域的评估,支持中英双语处理,采用Apache-2.0开源许可证。 - -- 版本说明: - ``` - url=https://huggingface.co/jinaai/jina-embeddings-v2-base-zh - commit_id=c1ff908 - model_name=jina-embeddings-v2-base-zh - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-zh - cd jina-embeddings-v2-base-zh - git reset --hard c1ff908 - - git clone https://huggingface.co/jinaai/jina-bert-implementation - cd jina-bert-implementation - git reset --hard f3ec4cf - cd .. - mv jina-bert-implementation jinaBertImplementation - ``` - 本地下载完成后的目录树如下 - ```shell - jina-embeddings-v2-base-zh - ├── jinaBertImplementation // import jina-bert-implementation 会报 SyntaxError,所以修改文件名 - │ ├── README.md - │ ├── configuration_bert.py - │ ├── modeling_bert.py - │ ├── special_tokens_map.json - │ ├── tokenizer_config.json - │ └── vocab.txt - ├── config.json - ├── config_sentence_transformers.json - ├── merges.txt - ├── infer.py // 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── modules.json - ├── README.md - ├── sentence_bert_config.json - ├── special_tokens_map.json - ├── tokenizer_config.json - ├── tokenizer.json - └── vocab.json - ``` - - -2. 安装依赖 - ``` - pip3 install transformers==4.35.2 torch==2.5.1 torch_npu==2.5.1 protobuf numpy==1.26.4 decorator attrs psutil scipy - - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 - # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-zh - python3 infer.py --model_path=./ - ``` - - --model_path: 权重路径 - - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 - -### 2 性能 - - |模型|芯片|E2E|forward| - |------|------|------|---| - |jina-embeddings-v2-base-zh|Atlas 800I A2|7.9ms|4.4ms| - +# jina-embeddings-v2-base-zh(TorchAir)-推理指导 + +- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + +****** + +# 概述 +  ‌`jina-embeddings-v2-base-zh` 基于Transformer架构的中文文本向量模型,支持句子相似度计算、文本分类、检索和重排序功能。在MTEB中文基准测试中完成了医疗问答、电商等领域的评估,支持中英双语处理,采用Apache-2.0开源许可证。 + +- 版本说明: + ``` + url=https://huggingface.co/jinaai/jina-embeddings-v2-base-zh + commit_id=c1ff908 + model_name=jina-embeddings-v2-base-zh + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-zh + cd jina-embeddings-v2-base-zh + git reset --hard c1ff908 + + git clone https://huggingface.co/jinaai/jina-bert-implementation + cd jina-bert-implementation + git reset --hard f3ec4cf + cd .. + mv jina-bert-implementation jinaBertImplementation + ``` + 本地下载完成后的目录树如下 + ```shell + jina-embeddings-v2-base-zh + ├── jinaBertImplementation // import jina-bert-implementation 会报 SyntaxError,所以修改文件名 + │ ├── README.md + │ ├── configuration_bert.py + │ ├── modeling_bert.py + │ ├── special_tokens_map.json + │ ├── tokenizer_config.json + │ └── vocab.txt + ├── config.json + ├── config_sentence_transformers.json + ├── merges.txt + ├── infer.py // 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── modules.json + ├── README.md + ├── sentence_bert_config.json + ├── special_tokens_map.json + ├── tokenizer_config.json + ├── tokenizer.json + └── vocab.json + ``` + + +2. 安装依赖 + ``` + pip3 install transformers==4.35.2 torch==2.5.1 torch_npu==2.5.1 protobuf numpy==1.26.4 decorator attrs psutil scipy + + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 + # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-zh + python3 infer.py --model_path=./ + ``` + - --model_path: 权重路径 + + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 + +### 2 性能 + + |模型|芯片|E2E|forward| + |------|------|------|---| + |jina-embeddings-v2-base-zh|Atlas 800I A2|7.9ms|4.4ms| + -- Gitee From 6002aa56274039782d24801b57533ef64ec57557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=B1=9F=E6=B1=9F?= Date: Mon, 16 Jun 2025 16:09:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E5=9C=A8readme=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0torchiar=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ACL_PyTorch/built-in/embedding/bge-m3/README.md | 2 +- ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md | 2 +- .../built-in/embedding/jina-embeddings-v2-base-code/README.md | 4 ++-- .../built-in/embedding/jina-embeddings-v2-base-zh/README.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ACL_PyTorch/built-in/embedding/bge-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-m3/README.md index 1475504212..55634eb225 100644 --- a/ACL_PyTorch/built-in/embedding/bge-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-m3/README.md @@ -1,4 +1,4 @@ -# BGE-M3模型适配(TorchAir)-推理指导 +# BGE-M3模型适配 - [概述](#概述) - [推理环境准备](#推理环境准备) diff --git a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md index 9d8fcbcd85..e43334ae77 100644 --- a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md @@ -1,4 +1,4 @@ -# BGE-M3模型适配(TorchAir)-推理指导 +# BGE-M3模型适配 - [概述](#概述) - [推理环境准备](#推理环境准备) diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md index c2f7c53215..22928d49b7 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md @@ -1,6 +1,6 @@ -# jina-embeddings-v2-base-code(TorchAir)-推理指导 +# jina-embeddings-v2-base-code-推理指导 -- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code(TorchAir)-推理指导) +- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code-推理指导) - [概述](#概述) - [推理环境准备](#推理环境准备) - [快速上手](#快速上手) diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md index 80af04983f..0a08161c27 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md @@ -1,6 +1,6 @@ -# jina-embeddings-v2-base-zh(TorchAir)-推理指导 +# jina-embeddings-v2-base-zh**-推理指导** -- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh(TorchAir)-推理指导) +- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh-推理指导) - [概述](#概述) - [推理环境准备](#推理环境准备) - [快速上手](#快速上手) -- Gitee From a9d6a8a26adf9b6bf88bb530e6c1df3b162b3599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=B1=9F=E6=B1=9F?= Date: Mon, 16 Jun 2025 16:17:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E5=9C=A8readme=E4=B8=AD=E6=A0=87?= =?UTF-8?q?=E6=B3=A8torchair=E6=8E=A8=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../built-in/cv/GroundingDINO/README.md | 302 +++++++++--------- .../built-in/embedding/bge-m3/README.md | 172 +++++----- .../embedding/bge-reranker-v2-m3/README.md | 162 +++++----- .../jina-embeddings-v2-base-code/README.md | 234 +++++++------- .../jina-embeddings-v2-base-zh/README.md | 232 +++++++------- 5 files changed, 551 insertions(+), 551 deletions(-) diff --git a/ACL_PyTorch/built-in/cv/GroundingDINO/README.md b/ACL_PyTorch/built-in/cv/GroundingDINO/README.md index 21f607c87c..f0f418ba3c 100644 --- a/ACL_PyTorch/built-in/cv/GroundingDINO/README.md +++ b/ACL_PyTorch/built-in/cv/GroundingDINO/README.md @@ -1,151 +1,151 @@ -# GroundingDINO(TorchAir)-推理指导 - -- [GroundingDINO-推理指导](#groundingdino(TorchAir)-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - - [FAQ](#faq) - -****** - -# 概述 -  ‌`GroundingDINO` 是一种最先进的开放集检测模型,可解决多项视觉任务,包括开放词汇检测(OVD)、Phrase Grounding(PG)、和指代性表达式理解(REC)。它的有效性已使其被广泛采用,成为各种下游应用的主流架构。 - -- 版本说明: - ``` - url=https://github.com/open-mmlab/mmdetection - commit_id=cfd5d3a9 - model_name=MM-GroundingDINO - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.8 | - | - | PyTorch | 2.1.0 | - | - | Ascend Extension PyTorch | 2.1.0.post10 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/cv/GroundingDINO - ``` - -1. 获取开源模型源码 - ``` - git clone https://github.com/open-mmlab/mmdetection - cd mmdetection - git reset --hard cfd5d3a9 - ``` -2. 下载相关权重和图片 - - 下载[BERT权重](https://huggingface.co/google-bert/bert-base-uncased/tree/main),并放置于mmdetection目录下 - - 下载[MM-GroundingDINO权重](https://download.openmmlab.com/mmdetection/v3.0/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth),并放置于weights目录下 - - 下载[animals.png](https://github.com/microsoft/X-Decoder/tree/main/inference_demo/images),并放置于images目录下 - - 下载NLTK权重(可选)。MM-GroundingDINO在进行Phrase Grounding推理时可能会进行名词短语提取,虽然会在运行时下载特定的模型,但是考虑到有些用户运行环境无法联网,因此可以提前下载。 - - 方式一:下载[模型](https://www.nltk.org/nltk_data)到`~/nltk_data`路径下。 - - 方式二:采用如下命令下载 - ``` - import nltk - nltk.download('punkt', download_dir='~/nltk_data') - nltk.download('averaged_perceptron_tagger', download_dir='~/nltk_data') - ``` - -3. 本地下载完成后的目录树如下,检查依赖项和脚本是否归档正确。 - ```shell - mmdetection - ├── demo - │ ├── image_demo.py - │ ├── video_demo.py - │ ├── image_demo_npu.py //本仓提供单图推理脚本 - │ ├── video_demo_npu.py //本仓提供视频推理脚本 - │ ├── register_im2col_to_torchair.py //本仓提供torchair算子注册文件 - │ ├── register_roll_to_torchair.py //本仓提供torchair算子注册文件 - │ ├── requirements.txt //本仓提供 - │ └── install_requirements.sh //本仓提供依赖一键安装脚本 - ├── diff_patch - │ ├── mmdetection_diff.patch //本仓提供 - │ ├── mmengine_diff.patch //本仓提供 - │ └── mmcv_diff.patch //本仓提供 - ├── bert-base-uncased //BERT权重 - ├── weights - │ └── grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth //MM-GroundingDINO权重 - ├── images - │ └── animals.png - ├── mmdet - ├── resources - ├── README.md - ├── tests - ├── tools - ├── config - └── ... - ``` - - -4. 安装依赖 - ``` - conda create -n groundingdino python=3.8 - conda activate groundingdino - - #在mmdetection目录下执行依赖一键安装脚本,会在自动拉取依赖仓并应用diff patch文件 - source demo/install_requirements.sh - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - - # 执行图片推理命令 - python demo/image_demo_npu.py images/animals.png configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py --weight weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth --texts '$: coco' --device npu (--loop 10) - - # 执行视频推理命令 - python demo/video_demo_npu.py demo/demo_mot.mp4 configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth (--batch_size 16) - ``` - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和性能数据。 - -### 2 性能 - - - 单图性能,以animals.png为例,测得以下数据: - - - |模型|芯片|E2E|forward| - |------|------|------|---| - |MM-GroundingDINO|Atlas 800I A2|877ms|274ms| - |MM-GroundingDINO|Atlas 300I DUO|1378ms|740ms| - - - forward性能在`mmdet/apis/det_inferencer.py`中的`preds = self.forward(data, **forward_kwargs)`前后打点得到。 - - - 视频性能: - - |模型|芯片|视频分辨率|batch_size|forward| - |------|----|---|---|---| - |MM-GroundingDINO|Atlas 800I A2|1080P|1bs|140ms| - |MM-GroundingDINO|Atlas 800I A2|1080P|16bs|124ms| - - - forward性能从`demo/video_demo_npu.py`执行结束打屏信息获取,对应单针耗时`per frame infer time` - - config配置文件`configs\mm_grounding_dino\grounding_dino_swin-t_pretrain_obj365.py`中的`scale=(800, 1333)`控制图片缩放,减小缩放比例可提升模型性能,已经测试coco数据集精度在(800, 1152)配置下精度mAP为0.522,(800, 1024)配置下精度mAP为0.52,具体配置选择由用户自行评估。 - -## FAQ -1. mmcv源码安装报错参考:https://mmcv.readthedocs.io/zh-cn/2.x/faq.html - +# GroundingDINO(TorchAir)-推理指导 + +- [GroundingDINO-推理指导](#GroundingDINO(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + - [FAQ](#faq) + +****** + +# 概述 +  ‌`GroundingDINO` 是一种最先进的开放集检测模型,可解决多项视觉任务,包括开放词汇检测(OVD)、Phrase Grounding(PG)、和指代性表达式理解(REC)。它的有效性已使其被广泛采用,成为各种下游应用的主流架构。 + +- 版本说明: + ``` + url=https://github.com/open-mmlab/mmdetection + commit_id=cfd5d3a9 + model_name=MM-GroundingDINO + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.8 | - | + | PyTorch | 2.1.0 | - | + | Ascend Extension PyTorch | 2.1.0.post10 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/cv/GroundingDINO + ``` + +1. 获取开源模型源码 + ``` + git clone https://github.com/open-mmlab/mmdetection + cd mmdetection + git reset --hard cfd5d3a9 + ``` +2. 下载相关权重和图片 + - 下载[BERT权重](https://huggingface.co/google-bert/bert-base-uncased/tree/main),并放置于mmdetection目录下 + - 下载[MM-GroundingDINO权重](https://download.openmmlab.com/mmdetection/v3.0/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth),并放置于weights目录下 + - 下载[animals.png](https://github.com/microsoft/X-Decoder/tree/main/inference_demo/images),并放置于images目录下 + - 下载NLTK权重(可选)。MM-GroundingDINO在进行Phrase Grounding推理时可能会进行名词短语提取,虽然会在运行时下载特定的模型,但是考虑到有些用户运行环境无法联网,因此可以提前下载。 + - 方式一:下载[模型](https://www.nltk.org/nltk_data)到`~/nltk_data`路径下。 + - 方式二:采用如下命令下载 + ``` + import nltk + nltk.download('punkt', download_dir='~/nltk_data') + nltk.download('averaged_perceptron_tagger', download_dir='~/nltk_data') + ``` + +3. 本地下载完成后的目录树如下,检查依赖项和脚本是否归档正确。 + ```shell + mmdetection + ├── demo + │ ├── image_demo.py + │ ├── video_demo.py + │ ├── image_demo_npu.py //本仓提供单图推理脚本 + │ ├── video_demo_npu.py //本仓提供视频推理脚本 + │ ├── register_im2col_to_torchair.py //本仓提供torchair算子注册文件 + │ ├── register_roll_to_torchair.py //本仓提供torchair算子注册文件 + │ ├── requirements.txt //本仓提供 + │ └── install_requirements.sh //本仓提供依赖一键安装脚本 + ├── diff_patch + │ ├── mmdetection_diff.patch //本仓提供 + │ ├── mmengine_diff.patch //本仓提供 + │ └── mmcv_diff.patch //本仓提供 + ├── bert-base-uncased //BERT权重 + ├── weights + │ └── grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth //MM-GroundingDINO权重 + ├── images + │ └── animals.png + ├── mmdet + ├── resources + ├── README.md + ├── tests + ├── tools + ├── config + └── ... + ``` + + +4. 安装依赖 + ``` + conda create -n groundingdino python=3.8 + conda activate groundingdino + + #在mmdetection目录下执行依赖一键安装脚本,会在自动拉取依赖仓并应用diff patch文件 + source demo/install_requirements.sh + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + + # 执行图片推理命令 + python demo/image_demo_npu.py images/animals.png configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py --weight weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth --texts '$: coco' --device npu (--loop 10) + + # 执行视频推理命令 + python demo/video_demo_npu.py demo/demo_mot.mp4 configs/mm_grounding_dino/grounding_dino_swin-b_pretrain_obj365_goldg_v3det.py weights/grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth (--batch_size 16) + ``` + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和性能数据。 + +### 2 性能 + + - 单图性能,以animals.png为例,测得以下数据: + + + |模型|芯片|E2E|forward| + |------|------|------|---| + |MM-GroundingDINO|Atlas 800I A2|877ms|274ms| + |MM-GroundingDINO|Atlas 300I DUO|1378ms|740ms| + + - forward性能在`mmdet/apis/det_inferencer.py`中的`preds = self.forward(data, **forward_kwargs)`前后打点得到。 + + - 视频性能: + + |模型|芯片|视频分辨率|batch_size|forward| + |------|----|---|---|---| + |MM-GroundingDINO|Atlas 800I A2|1080P|1bs|140ms| + |MM-GroundingDINO|Atlas 800I A2|1080P|16bs|124ms| + + - forward性能从`demo/video_demo_npu.py`执行结束打屏信息获取,对应单针耗时`per frame infer time` + - config配置文件`configs\mm_grounding_dino\grounding_dino_swin-t_pretrain_obj365.py`中的`scale=(800, 1333)`控制图片缩放,减小缩放比例可提升模型性能,已经测试coco数据集精度在(800, 1152)配置下精度mAP为0.522,(800, 1024)配置下精度mAP为0.52,具体配置选择由用户自行评估。 + +## FAQ +1. mmcv源码安装报错参考:https://mmcv.readthedocs.io/zh-cn/2.x/faq.html + diff --git a/ACL_PyTorch/built-in/embedding/bge-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-m3/README.md index 55634eb225..c8e4debfe7 100644 --- a/ACL_PyTorch/built-in/embedding/bge-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-m3/README.md @@ -1,87 +1,87 @@ -# BGE-M3模型适配 - -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [开始推理验证](#开始推理验证) - - [性能](#性能) - -****** - -# 概述 -```BGE-M3```模型是BAAI General Embedding提出的先进的多语言、多功能文本Embedding模式。该模型基于Transformers Encoder,引入稀疏注意力和多向量检索,支持3种语义表示,同时还可以支持超过100种语言,最长可以处理8192序列长度,适合处理长文本。```BGE-M3```可以快速高效地生成3种不同的文本语义表示,通过语义表示间的不同组合,可以支持多种检索方式,在多语言、跨语言、长本文信息检索领域表现出色,为开发者提供了使用的工具。 - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-m - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/BAAI/bge-m3 - cd bge-m3 - git reset --hard 5617a9f - ``` - 本地下载完成后的目录树如下: - ```TEXT - bge-m3/ - ├── colbert_linear.pt - ├── config.json - ├── config_sentence_transformers.json - ├── infer.py # 本仓库提供的自定义推理脚本 - ├── modules.json - ├── pytorch_model.bin - ├── sentence_bert_config.json - ├── sentencepiece.bpe.model - ├── sparse_linear.pt - ├── special_tokens_map.json - ├── tokenizer.json - └── tokenizer_config.json - ``` -2. 安装依赖 - ```SHELL - pip3 install FlagEmbedding transformers==4.51.1 - ``` - 其他基础依赖信息可参考`requirements.txt`文件。 - -## 模型推理 -### 开始推理验证 -设置环境变量,执行推理命令 -```SHELL -# 指定使用NPU ID,默认为0 -export ASCEND_RT_VISIBLE_DEVICES=0 -# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 -# python3 infer.py --model_path=BAAI/bge-m3 -python3 infer.py # 可以使用 --model_path 指定权重路径 -``` -在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\embedder\encoder_only\m3.py` 文件423行 `outputs = self.model(...)` 前后添加时间打点。 -> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 - - -### 性能 - | 模型 | 芯片 | E2E | forward | - |--------|----------------|----------|---------| - | bge-m3 | Atlas 300I DUO | 137.59ms | 23.23ms | +# BGE-M3模型适配(TorchAir)-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [开始推理验证](#开始推理验证) + - [性能](#性能) + +****** + +# 概述 +```BGE-M3```模型是BAAI General Embedding提出的先进的多语言、多功能文本Embedding模式。该模型基于Transformers Encoder,引入稀疏注意力和多向量检索,支持3种语义表示,同时还可以支持超过100种语言,最长可以处理8192序列长度,适合处理长文本。```BGE-M3```可以快速高效地生成3种不同的文本语义表示,通过语义表示间的不同组合,可以支持多种检索方式,在多语言、跨语言、长本文信息检索领域表现出色,为开发者提供了使用的工具。 + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-m + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/BAAI/bge-m3 + cd bge-m3 + git reset --hard 5617a9f + ``` + 本地下载完成后的目录树如下: + ```TEXT + bge-m3/ + ├── colbert_linear.pt + ├── config.json + ├── config_sentence_transformers.json + ├── infer.py # 本仓库提供的自定义推理脚本 + ├── modules.json + ├── pytorch_model.bin + ├── sentence_bert_config.json + ├── sentencepiece.bpe.model + ├── sparse_linear.pt + ├── special_tokens_map.json + ├── tokenizer.json + └── tokenizer_config.json + ``` +2. 安装依赖 + ```SHELL + pip3 install FlagEmbedding transformers==4.51.1 + ``` + 其他基础依赖信息可参考`requirements.txt`文件。 + +## 模型推理 +### 开始推理验证 +设置环境变量,执行推理命令 +```SHELL +# 指定使用NPU ID,默认为0 +export ASCEND_RT_VISIBLE_DEVICES=0 +# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 +# python3 infer.py --model_path=BAAI/bge-m3 +python3 infer.py # 可以使用 --model_path 指定权重路径 +``` +在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\embedder\encoder_only\m3.py` 文件423行 `outputs = self.model(...)` 前后添加时间打点。 +> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 + + +### 性能 + | 模型 | 芯片 | E2E | forward | + |--------|----------------|----------|---------| + | bge-m3 | Atlas 300I DUO | 137.59ms | 23.23ms | | bge-m3 | Atlas 800I A2 | 103.88ms | 14.71ms | \ No newline at end of file diff --git a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md index e43334ae77..3cc5c67fc1 100644 --- a/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md +++ b/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3/README.md @@ -1,82 +1,82 @@ -# BGE-M3模型适配 - -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [开始推理验证](#开始推理验证) - - [性能](#性能) - -****** - -# 概述 -```bge-reranker-v2-m3```模型以问题和文档作为输入,直接输出相似度而非Embedding向量。输入`[query, passage]`,就可以获得`query`和`passage`之间的相关性分数,该分数可通过`sigmoid`激活函数映射成在`[0,1]`范围内的浮点值。该模型专为优化检索结果排序设计,能更精准识别query-document的相关性,适合需要精细排序的应用场景(如搜索引擎、问答系统),单次计算即可获得相关性评估,无需二次计算,降低系统复杂度。 - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3 - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/BAAI/bge-reranker-v2-m3 - cd bge-reranker-v2-m3 - git reset --hard 953dc6f - ``` - 本地下载完成后的目录树如下: - ```TEXT - bge-reranker-v2-m3/ - ├── config.json - ├── infer.py # 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── sentencepiece.bpe.model - ├── special_tokens_map.json - ├── tokenizer.json - └── tokenizer_config.json - ``` -2. 安装依赖 - ```SHELL - pip3 install FlagEmbedding transformers==4.51.1 - ``` - 其他基础依赖信息可参考`requirements.txt`文件。 - -## 模型推理 -### 开始推理验证 -设置环境变量,执行推理命令 -```SHELL -# 指定使用NPU ID,默认为0 -export ASCEND_RT_VISIBLE_DEVICES=0 -# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 -# python3 infer.py --model_path=BAAI/bge-reranker-v2-m3 -python3 infer.py # 可以使用 --model_path 指定权重路径 -``` -在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\reranker\encoder_only\base.py` 文件186行 `scores = self.model(...)` 前后添加时间打点。 -> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 - - -### 性能 - | 模型 | 芯片 | E2E | forward | - |--------|----------------|---------|---------| - | bge-m3 | Atlas 300I DUO | 60.47ms | 22.57ms | +# BGE-M3模型适配(TorchAir)-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [开始推理验证](#开始推理验证) + - [性能](#性能) + +****** + +# 概述 +```bge-reranker-v2-m3```模型以问题和文档作为输入,直接输出相似度而非Embedding向量。输入`[query, passage]`,就可以获得`query`和`passage`之间的相关性分数,该分数可通过`sigmoid`激活函数映射成在`[0,1]`范围内的浮点值。该模型专为优化检索结果排序设计,能更精准识别query-document的相关性,适合需要精细排序的应用场景(如搜索引擎、问答系统),单次计算即可获得相关性评估,无需二次计算,降低系统复杂度。 + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + |--------------------------------------------------------------| ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/bge-reranker-v2-m3 + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/BAAI/bge-reranker-v2-m3 + cd bge-reranker-v2-m3 + git reset --hard 953dc6f + ``` + 本地下载完成后的目录树如下: + ```TEXT + bge-reranker-v2-m3/ + ├── config.json + ├── infer.py # 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── sentencepiece.bpe.model + ├── special_tokens_map.json + ├── tokenizer.json + └── tokenizer_config.json + ``` +2. 安装依赖 + ```SHELL + pip3 install FlagEmbedding transformers==4.51.1 + ``` + 其他基础依赖信息可参考`requirements.txt`文件。 + +## 模型推理 +### 开始推理验证 +设置环境变量,执行推理命令 +```SHELL +# 指定使用NPU ID,默认为0 +export ASCEND_RT_VISIBLE_DEVICES=0 +# 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 +# python3 infer.py --model_path=BAAI/bge-reranker-v2-m3 +python3 infer.py # 可以使用 --model_path 指定权重路径 +``` +在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏E2E性能数据。如果想测试模型推理耗时,可以在 `YOUR_ENV\FlagEmbedding\inference\reranker\encoder_only\base.py` 文件186行 `scores = self.model(...)` 前后添加时间打点。 +> 其中 YOUR_ENV 是你当前的环境路径,可以通过 ```pip show FlagEmbedding | grep Location``` 查看 + + +### 性能 + | 模型 | 芯片 | E2E | forward | + |--------|----------------|---------|---------| + | bge-m3 | Atlas 300I DUO | 60.47ms | 22.57ms | | bge-m3 | Atlas 800I A2 | 46.64ms | 15.08ms | \ No newline at end of file diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md index 22928d49b7..40f88334b5 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code/README.md @@ -1,117 +1,117 @@ -# jina-embeddings-v2-base-code-推理指导 - -- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - -****** - -# 概述 -  ‌`jina-embeddings-v2-base-code` 是一款支持英语和30种常用编程语言的代码嵌入模型。它采用Bert架构和ALiBi技术,支持8192序列长度,适合处理长文档。该模型经过大规模代码数据训练,拥有1.61亿参数,可快速高效地生成嵌入。它在技术问答和代码搜索等场景表现出色,为开发者提供了实用的工具。 - -- 版本说明: - ``` - url=https://huggingface.co/jinaai/jina-embeddings-v2-base-code - commit_id=516f4ba - model_name=jina-embeddings-v2-base-code - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1.post2 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code - cd jina-embeddings-v2-base-code - git reset --hard 516f4ba - - git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm - cd jina-bert-v2-qk-post-norm - git reset --hard 3baf9e3 - cd .. - mv jina-bert-v2-qk-post-norm bertV2qkPostNorm - ``` - 本地下载完成后的目录树如下 - ```shell - jina-embeddings-v2-base-code - ├── bertV2qkPostNorm // import jina-bert-v2-qk-post-norm 会报 SyntaxError,所以修改文件名 - │ ├── config.json - │ ├── configuration_bert.py - │ ├── modeling_bert.py - │ ├── special_tokens_map.json - │ ├── tokenizer_config.json - │ └── vocab.txt - ├── config.json - ├── generation_config.json - ├── infer.py // 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── modules.json - ├── README.md - ├── sentence_bert_config.json - ├── special_tokens_map.json - ├── tokenizer_config.json - ├── tokenizer.json - ├── trainer_state.json - ├── train_results.json - └── vocab.json - ``` - - -2. 安装依赖 - ``` - pip3 install transformers==4.35.2 - - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 - # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-code - python3 infer.py --model_path=./ - ``` - - --model_path: 权重路径 - - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 - -### 2 性能 - - |模型|芯片|E2E|forward| - |------|------|------|---| - |jina-embeddings-v2-base-code|Atlas 800I A2|9.4ms|5.5ms| - +# jina-embeddings-v2-base-code(TorchAir)-推理指导 + +- [jina-embeddings-v2-base-code-推理指导](#jina-embeddings-v2-base-code(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + +****** + +# 概述 +  ‌`jina-embeddings-v2-base-code` 是一款支持英语和30种常用编程语言的代码嵌入模型。它采用Bert架构和ALiBi技术,支持8192序列长度,适合处理长文档。该模型经过大规模代码数据训练,拥有1.61亿参数,可快速高效地生成嵌入。它在技术问答和代码搜索等场景表现出色,为开发者提供了实用的工具。 + +- 版本说明: + ``` + url=https://huggingface.co/jinaai/jina-embeddings-v2-base-code + commit_id=516f4ba + model_name=jina-embeddings-v2-base-code + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1.post2 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-code + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code + cd jina-embeddings-v2-base-code + git reset --hard 516f4ba + + git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm + cd jina-bert-v2-qk-post-norm + git reset --hard 3baf9e3 + cd .. + mv jina-bert-v2-qk-post-norm bertV2qkPostNorm + ``` + 本地下载完成后的目录树如下 + ```shell + jina-embeddings-v2-base-code + ├── bertV2qkPostNorm // import jina-bert-v2-qk-post-norm 会报 SyntaxError,所以修改文件名 + │ ├── config.json + │ ├── configuration_bert.py + │ ├── modeling_bert.py + │ ├── special_tokens_map.json + │ ├── tokenizer_config.json + │ └── vocab.txt + ├── config.json + ├── generation_config.json + ├── infer.py // 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── modules.json + ├── README.md + ├── sentence_bert_config.json + ├── special_tokens_map.json + ├── tokenizer_config.json + ├── tokenizer.json + ├── trainer_state.json + ├── train_results.json + └── vocab.json + ``` + + +2. 安装依赖 + ``` + pip3 install transformers==4.35.2 + + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 + # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-code + python3 infer.py --model_path=./ + ``` + - --model_path: 权重路径 + + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 + +### 2 性能 + + |模型|芯片|E2E|forward| + |------|------|------|---| + |jina-embeddings-v2-base-code|Atlas 800I A2|9.4ms|5.5ms| + diff --git a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md index 0a08161c27..258f26943a 100644 --- a/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md +++ b/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh/README.md @@ -1,116 +1,116 @@ -# jina-embeddings-v2-base-zh**-推理指导** - -- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh-推理指导) -- [概述](#概述) -- [推理环境准备](#推理环境准备) -- [快速上手](#快速上手) - - [获取源码](#获取源码) - - [模型推理](#模型推理) - - [1 开始推理验证](#1-开始推理验证) - - [2 性能](#2-性能) - -****** - -# 概述 -  ‌`jina-embeddings-v2-base-zh` 基于Transformer架构的中文文本向量模型,支持句子相似度计算、文本分类、检索和重排序功能。在MTEB中文基准测试中完成了医疗问答、电商等领域的评估,支持中英双语处理,采用Apache-2.0开源许可证。 - -- 版本说明: - ``` - url=https://huggingface.co/jinaai/jina-embeddings-v2-base-zh - commit_id=c1ff908 - model_name=jina-embeddings-v2-base-zh - ``` - -# 推理环境准备 -- 该模型需要以下插件与驱动 - **表 1** 版本配套表 - - | 配套 | 版本 | 环境准备指导 | - | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | - | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | - | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | - | Python | 3.10 | - | - | PyTorch | 2.5.1 | - | - | Ascend Extension PyTorch | 2.5.1 | - | - | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | - - -# 快速上手 - -## 获取源码 -1. 获取本仓源码 - - ``` - git clone https://gitee.com/ascend/ModelZoo-PyTorch.git - cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh - ``` - -1. 获取开源模型源码和权重(可选) - > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 - ``` - # git模型下载,请确保已安装git lfs - git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-zh - cd jina-embeddings-v2-base-zh - git reset --hard c1ff908 - - git clone https://huggingface.co/jinaai/jina-bert-implementation - cd jina-bert-implementation - git reset --hard f3ec4cf - cd .. - mv jina-bert-implementation jinaBertImplementation - ``` - 本地下载完成后的目录树如下 - ```shell - jina-embeddings-v2-base-zh - ├── jinaBertImplementation // import jina-bert-implementation 会报 SyntaxError,所以修改文件名 - │ ├── README.md - │ ├── configuration_bert.py - │ ├── modeling_bert.py - │ ├── special_tokens_map.json - │ ├── tokenizer_config.json - │ └── vocab.txt - ├── config.json - ├── config_sentence_transformers.json - ├── merges.txt - ├── infer.py // 本仓库提供的自定义推理脚本 - ├── model.safetensors - ├── modules.json - ├── README.md - ├── sentence_bert_config.json - ├── special_tokens_map.json - ├── tokenizer_config.json - ├── tokenizer.json - └── vocab.json - ``` - - -2. 安装依赖 - ``` - pip3 install transformers==4.35.2 torch==2.5.1 torch_npu==2.5.1 protobuf numpy==1.26.4 decorator attrs psutil scipy - - ``` - - -## 模型推理 - -### 1 开始推理验证 - - 1. 设置环境变量,执行推理命令 - - ``` - # 指定使用NPU ID,默认为0 - export ASCEND_RT_VISIBLE_DEVICES=0 - # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 - # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-zh - python3 infer.py --model_path=./ - ``` - - --model_path: 权重路径 - - 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 - -### 2 性能 - - |模型|芯片|E2E|forward| - |------|------|------|---| - |jina-embeddings-v2-base-zh|Atlas 800I A2|7.9ms|4.4ms| - +# jina-embeddings-v2-base-zh(TorchAir)-推理指导 + +- [jina-embeddings-v2-base-zh-推理指导](#jina-embeddings-v2-base-zh(TorchAir)-推理指导) +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + - [1 开始推理验证](#1-开始推理验证) + - [2 性能](#2-性能) + +****** + +# 概述 +  ‌`jina-embeddings-v2-base-zh` 基于Transformer架构的中文文本向量模型,支持句子相似度计算、文本分类、检索和重排序功能。在MTEB中文基准测试中完成了医疗问答、电商等领域的评估,支持中英双语处理,采用Apache-2.0开源许可证。 + +- 版本说明: + ``` + url=https://huggingface.co/jinaai/jina-embeddings-v2-base-zh + commit_id=c1ff908 + model_name=jina-embeddings-v2-base-zh + ``` + +# 推理环境准备 +- 该模型需要以下插件与驱动 + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ | + | 固件与驱动 | 25.0.RC1 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) | + | CANN | 8.1.RC1 | 包含kernels包和toolkit包 | + | Python | 3.10 | - | + | PyTorch | 2.5.1 | - | + | Ascend Extension PyTorch | 2.5.1 | - | + | 说明:Atlas 800I A2 推理卡和Atlas 300I DUO 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ | + + +# 快速上手 + +## 获取源码 +1. 获取本仓源码 + + ``` + git clone https://gitee.com/ascend/ModelZoo-PyTorch.git + cd ModelZoo-PyTorch/ACL_PyTorch/built-in/embedding/jina-embeddings-v2-base-zh + ``` + +1. 获取开源模型源码和权重(可选) + > 如果您的设备可以方便的直接从hugging-hub下载权重和代码,则不需要执行这一步 + ``` + # git模型下载,请确保已安装git lfs + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-zh + cd jina-embeddings-v2-base-zh + git reset --hard c1ff908 + + git clone https://huggingface.co/jinaai/jina-bert-implementation + cd jina-bert-implementation + git reset --hard f3ec4cf + cd .. + mv jina-bert-implementation jinaBertImplementation + ``` + 本地下载完成后的目录树如下 + ```shell + jina-embeddings-v2-base-zh + ├── jinaBertImplementation // import jina-bert-implementation 会报 SyntaxError,所以修改文件名 + │ ├── README.md + │ ├── configuration_bert.py + │ ├── modeling_bert.py + │ ├── special_tokens_map.json + │ ├── tokenizer_config.json + │ └── vocab.txt + ├── config.json + ├── config_sentence_transformers.json + ├── merges.txt + ├── infer.py // 本仓库提供的自定义推理脚本 + ├── model.safetensors + ├── modules.json + ├── README.md + ├── sentence_bert_config.json + ├── special_tokens_map.json + ├── tokenizer_config.json + ├── tokenizer.json + └── vocab.json + ``` + + +2. 安装依赖 + ``` + pip3 install transformers==4.35.2 torch==2.5.1 torch_npu==2.5.1 protobuf numpy==1.26.4 decorator attrs psutil scipy + + ``` + + +## 模型推理 + +### 1 开始推理验证 + + 1. 设置环境变量,执行推理命令 + + ``` + # 指定使用NPU ID,默认为0 + export ASCEND_RT_VISIBLE_DEVICES=0 + # 如果可以方便快速从huggingface-hub下载权重,则可以使用如下命令 + # python3 infer.py --model_path=jinaai/jina-embeddings-v2-base-zh + python3 infer.py --model_path=./ + ``` + - --model_path: 权重路径 + + 在推理开始后,首先会默认执行warm_up,目的是执行首次编译,首次编译时间较长,在warm_up结束后,会执行推理操作,并打屏计算结果和E2E性能数据。如果想测试模型推理耗时,可以在 `bertV2qkPostNorm/modeling_bert.py` 文件 1179行 `token_embs = self.forward(**encoded_input)[0]` 前后添加时间打点。 + +### 2 性能 + + |模型|芯片|E2E|forward| + |------|------|------|---| + |jina-embeddings-v2-base-zh|Atlas 800I A2|7.9ms|4.4ms| + -- Gitee