From 19d070d70753e430cc89574ea55d027832cb0740 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Wed, 21 Aug 2024 23:01:53 +0800 Subject: [PATCH 01/16] add text_embedding models --- .../bge_large_zh_v1.5/README.md | 104 ++++++++++++++++ .../bge_large_zh_v1.5/compile.py | 24 ++++ .../text_embedding/bge_large_zh_v1.5/infer.py | 40 +++++++ .../text_embedding/bge_large_zh_v1.5/trace.py | 20 ++++ .../bge_reranker_large/README.md | 105 +++++++++++++++++ .../bge_reranker_large/compile.py | 23 ++++ .../bge_reranker_large/infer.py | 39 ++++++ .../bge_reranker_large/trace.py | 20 ++++ .../gte_large_en_v1.5/README.md | 111 ++++++++++++++++++ .../gte_large_en_v1.5/compile.py | 24 ++++ .../text_embedding/gte_large_en_v1.5/infer.py | 40 +++++++ .../text_embedding/gte_large_en_v1.5/trace.py | 26 ++++ .../jina_embedding_v2_base_code/README.md | 108 +++++++++++++++++ .../jina_embedding_v2_base_code/compile.py | 23 ++++ .../jina_embedding_v2_base_code/infer.py | 39 ++++++ .../jina_embedding_v2_base_code/trace.py | 23 ++++ .../jina_embedding_v2_base_en/README.md | 93 +++++++++++++++ .../jina_embedding_v2_base_en/infer.py | 60 ++++++++++ .../multilingual_e5_large_instruct/README.md | 92 +++++++++++++++ .../multilingual_e5_large_instruct/compile.py | 23 ++++ .../multilingual_e5_large_instruct/infer.py | 39 ++++++ .../multilingual_e5_large_instruct/trace.py | 23 ++++ .../nomic_embed_text_v1.5/README.md | 106 +++++++++++++++++ .../nomic_embed_text_v1.5/compile.py | 24 ++++ .../nomic_embed_text_v1.5/infer.py | 40 +++++++ .../nomic_embed_text_v1.5/trace.py | 20 ++++ .../nomic_embed_text_v1/README.md | 105 +++++++++++++++++ .../nomic_embed_text_v1/compile.py | 23 ++++ .../nomic_embed_text_v1/infer.py | 39 ++++++ .../nomic_embed_text_v1/trace.py | 19 +++ 30 files changed, 1475 insertions(+) create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py create mode 100644 MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md new file mode 100644 index 0000000000..ced6b65d32 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md @@ -0,0 +1,104 @@ +# bge_large_zh_v1.5模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署 bge_large_zh_v1.5 模型 + +- 模型路径: + ```bash + https://huggingface.co/BAAI/bge-large-zh + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/BAAI/bge-large-zh + ``` + +3. 获取模型依赖transformers, 并修改 + ``` + pip install transformers==4.44.0 + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + + 目录结构 + ``` + bge_large_zh_v1.5 + ├── bge-large-zh + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +环境:800I A2 + +|输入batch size | 输入 seqlen | 推理时延 | +| ---- | ---- | ----- | +| 8 | 512 | 30ms| +| 128 | 512 | 721 ms| + + + + diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py new file mode 100644 index 0000000000..94b526a9ea --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py @@ -0,0 +1,24 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py new file mode 100644 index 0000000000..aa92d80a04 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py @@ -0,0 +1,40 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 3 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + token_type_ids = inputs["token_type_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)[0] + npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + last_hiddens_states = npu_outputs[0].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py new file mode 100644 index 0000000000..bbbe96ebd9 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py @@ -0,0 +1,20 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch +sentences = ["样例数据-1", "样例数据-2"] + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 3 inputs +input_ids = encoded_input["input_ids"] +token_type_ids = encoded_input["token_type_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask)) +traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md new file mode 100644 index 0000000000..f6e27c6167 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md @@ -0,0 +1,105 @@ +# bge_reranker_large模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署 bge_reranker_large 模型 + +- 模型路径: + ```bash + https://huggingface.co/BAAI/bge-reranker-large + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/BAAI/bge-reranker-large + ``` + +3. 获取模型依赖transformers, 并修改 + ``` + pip install transformers==4.44.0 + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + + 目录结构 + ``` + bge_reranker_large + ├── bge-reranker-large + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理样例 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +环境:800I A2 + +|输入batch size | 输入 seqlen | 推理时延 | +| ---- | ---- | ----- | +| 20 | 512 | 98ms| + + + + + + diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py new file mode 100644 index 0000000000..5dd36b51a2 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py @@ -0,0 +1,23 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py new file mode 100644 index 0000000000..8be554ac1a --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py @@ -0,0 +1,39 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 2 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)[0] + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) + last_hiddens_states = npu_outputs[0].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py new file mode 100644 index 0000000000..d09b36c63a --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py @@ -0,0 +1,20 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = ["样例数据-1", "样例数据-2"] + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 2 inputs +input_ids = encoded_input["input_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, attention_mask)) +traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md new file mode 100644 index 0000000000..ec4f203982 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -0,0 +1,111 @@ +# gte-large-en-v1.5 模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署gte-large-en-v1.5模型 + +- 模型路径: + ```bash + https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5 + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5 gtelargeenv15 + ``` + +3. 获取模型源码, 并把模型脚本放到权重目录下 + ``` + pip install transformers==4.44.0 + cd gtelargeenv15 + + # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 + cp /root/.cache/huggingface/modules/transformers_modules/Alibaba-NLP/new-impl/*/configuration.py ./ + cp /root/.cache/huggingface/modules/transformers_modules/Alibaba-NLP/new-impl/*/modeling.py ./ + + # 修改config.json中auto_map一项为: + "auto_map": { + "AutoConfig": "configuration.NewConfig", + "AutoModel": "modeling.NewModel", + "AutoModelForMaskedLM": "modeling.NewForMaskedLM", + "AutoModelForMultipleChoice": "modeling.NewForMultipleChoice", + "AutoModelForQuestionAnswering": "modeling.NewForQuestionAnswering", + "AutoModelForSequenceClassification": "modeling.NewForSequenceClassification", + "AutoModelForTokenClassification": "modeling.NewForTokenClassification" + } + ``` + + 目录结构 + ``` + nomic_embed_text_v1.5 + ├── nomicembedtextv15 + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 101.94| 127.50 | +| 8 | 128 | 24.08| 55.86 | + diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py new file mode 100644 index 0000000000..94b526a9ea --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py @@ -0,0 +1,24 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py new file mode 100644 index 0000000000..d8e7f834b9 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py @@ -0,0 +1,40 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 3 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + token_type_ids = inputs["token_type_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)["last_hiddens_states"] + npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py new file mode 100644 index 0000000000..dabe3f1067 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -0,0 +1,26 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = [ + "what is the capital of China?", + "how to implement quick sort in python?", + "Beijing", + "sorting algorithms" +] + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 3 inputs +input_ids = encoded_input["input_ids"] +token_type_ids = encoded_input["token_type_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask), strict=False) +traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md new file mode 100644 index 0000000000..be95d41a96 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -0,0 +1,108 @@ +# jina_embedding_v2_base_code模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署jina_embedding_v2_base_code模型 + +- 模型路径: + ```bash + https://huggingface.co/jinaai/jina-embeddings-v2-base-code + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code jinaembeddingsv2basecode + ``` + +3. 获取模型源码, 并把模型脚本放到权重目录下 + ``` + pip install transformers==4.44.0 + cd jinaembeddingsv2basecode + + # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 + cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/configuration_bert.py ./ + cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/modeling_bert.py ./ + + # 修改config.json中auto_map一项为: + "auto_map": { + "AutoConfig": "configuration_bert.JinaBertConfig", + "AutoModel": "modeling_bert.JinaBertModel", + "AutoModelForMaskedLM": "modeling_bert.JinaBertForMaskedLM", + "AutoModelForSequenceClassification": "jmodeling_bert.JinaBertForSequenceClassification"} + ``` + + 目录结构 + ``` + jina_embedding_v2_base_code + ├── jinaembeddingsv2basecode + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 237.69 | 287.21 | +| 8 | 128 | 57.15 | 127.19 | + + diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py new file mode 100644 index 0000000000..5dd36b51a2 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py @@ -0,0 +1,23 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py new file mode 100644 index 0000000000..b5abfb6946 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py @@ -0,0 +1,39 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 2 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)["last_hiddens_states"] + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) + last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py new file mode 100644 index 0000000000..a2b1a403c4 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -0,0 +1,23 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = [ + 'How do I access the index while iterating over a sequence with a for loop?', + '# Use the built-in enumerator\nfor idx, x in enumerate(xs):\n print(idx, x)', + ] + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 2 inputs +input_ids = encoded_input["input_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md new file mode 100644 index 0000000000..b65b6bcb88 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -0,0 +1,93 @@ +# jina_embedding_v2_base_en模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署jina_embedding_v2_base_en模型 + +- 模型路径: + ```bash + https://huggingface.co/jinaai/jina-embeddings-v2-base-en + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-en jinaembeddingsv2baseen + ``` + +3. 获取模型源码, 并把模型脚本放到权重目录下 + ``` + pip install transformers==4.44.0 + cd jinaembeddingsv2baseen + + # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 + cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/configuration_bert.py ./ + cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/modeling_bert.py ./ + + # 修改config.json中auto_map一项为: + "auto_map": { + "AutoConfig": "configuration_bert.JinaBertConfig", + "AutoModelForMaskedLM": "modeling_bert.JinaBertForMaskedLM", + "AutoModel": "modeling_bert.JinaBertModel", + "AutoModelForSequenceClassification": "modeling_bert.JinaBertForSequenceClassification"} + ``` + + 目录结构 + ``` + jina_embedding_v2_base_code + ├── jinaembeddingsv2baseen + └── config.json + └── ... + ├── README.md + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 270.68 | 416.12 | +| 8 | 128 | 61.86 | 208.15 | diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py new file mode 100644 index 0000000000..5b07d51455 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py @@ -0,0 +1,60 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +# compile +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + ir="dynamo", + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + + +# infer +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + +cpu_model = model + +device_id = 1 +mindietorch.set_device(device_id) +npu_model = compiled_module + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 2 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)["last_hiddens_states"] + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) + last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md new file mode 100644 index 0000000000..377dc32444 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md @@ -0,0 +1,92 @@ +# intfloat/multilingual-e5-large模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署multilingual模型 + +- 模型路径: + ```bash + https://huggingface.co/intfloat/multilingual-e5-large + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/intfloat/multilingual-e5-large + ``` + +3. 获取模型源码 + ``` + pip install transformers==4.44.0 + ``` + ``` + multilingual_e5_large_instruct + ├── multilingual-e5-large + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 90.80 | 240.24 | +| 8 | 128 | 30.88 | 97.96 | \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py new file mode 100644 index 0000000000..6d53b7747d --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py @@ -0,0 +1,23 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) + +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("multilingual_compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py new file mode 100644 index 0000000000..85523fd548 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py @@ -0,0 +1,39 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "multilingual_compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 2 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)[0] + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) + last_hiddens_states = npu_outputs[0].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py new file mode 100644 index 0000000000..1174302a4e --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py @@ -0,0 +1,23 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = ['query: how much protein should a female eat', + 'query: 南瓜的家常做法', + "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.", + "passage: 1.清炒南瓜丝 原料:嫩南瓜半个 调料:葱、盐、白糖、鸡精 做法: 1、南瓜用刀薄薄的削去表面一层皮,用勺子刮去瓤 2、擦成细丝(没有擦菜板就用刀慢慢切成细丝) 3、锅烧热放油,入葱花煸出香味 4、入南瓜丝快速翻炒一分钟左右,放盐、一点白糖和鸡精调味出锅 2.香葱炒南瓜 原料:南瓜1只 调料:香葱、蒜末、橄榄油、盐 做法: 1、将南瓜去皮,切成片 2、油锅8成热后,将蒜末放入爆香 3、爆香后,将南瓜片放入,翻炒 4、在翻炒的同时,可以不时地往锅里加水,但不要太多 5、放入盐,炒匀 6、南瓜差不多软和绵了之后,就可以关火 7、撒入香葱,即可出锅"] + +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 2 inputs +input_ids = encoded_input["input_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, attention_mask)) +traced_model.save("multilingual__traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md new file mode 100644 index 0000000000..c3c115e085 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -0,0 +1,106 @@ +# nomic_embed_text_v1.5 模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署nomic_embed_text_v1.5模型 + +- 模型路径: + ```bash + https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 nomicembedtextv15 + ``` + +3. 获取模型源码, 并把模型脚本放到权重目录下 + ``` + pip install transformers==4.44.0 + cd nomicembedtextv15 + + # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 + cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/configuration_hf_nomic_bert.py ./ + cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/modeling_hf_nomic_bert.py ./ + + # 修改config.json中auto_map一项为: + "auto_map": { + "AutoConfig": "configuration_hf_nomic_bert.NomicBertConfig", + "AutoModel": "modeling_hf_nomic_bert.NomicBertModel", + "AutoModelForMaskedLM": "modeling_hf_nomic_bert.NomicBertForPreTraining" + } + ``` + + 目录结构 + ``` + nomic_embed_text_v1.5 + ├── nomicembedtextv15 + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 268.92 | 274.23 | +| 8 | 128 | 79.27 | 155.58 | \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py new file mode 100644 index 0000000000..94b526a9ea --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py @@ -0,0 +1,24 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py new file mode 100644 index 0000000000..d8e7f834b9 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py @@ -0,0 +1,40 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 3 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + token_type_ids = inputs["token_type_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)["last_hiddens_states"] + npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py new file mode 100644 index 0000000000..2bee2c8db2 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -0,0 +1,20 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = ['search_document: TSNE is a dimensionality reduction algorithm created by Laurens van Der Maaten'] +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 3 inputs +input_ids = encoded_input["input_ids"] +token_type_ids = encoded_input["token_type_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask), strict=False) +traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md new file mode 100644 index 0000000000..4b333c4874 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -0,0 +1,105 @@ +# nomic_embed_text_v1 模型-推理指导 + +- [概述](#概述) +- [推理环境准备](#推理环境准备) +- [快速上手](#快速上手) + - [获取源码](#获取源码) + - [模型推理](#模型推理) + +# 概述 + +该工程使用mindietorch部署 nomic_embed_text_v1 模型 + +- 模型路径: + ```bash + https://huggingface.co/nomic-ai/nomic-embed-text-v1 + ``` + + +# 推理环境准备 + +- 该模型需要以下插件与驱动 + + **表 1** 版本配套表 + + | 配套 | 版本 | 环境准备指导 | + | ------ | ------- | ------------ | + | Python | 3.10.13 | - | + | torch | 2.1.0+cpu | - | + | torch_audio | 2.1.0+cpu | - | + | CANN | 8.0.RC2 | - | + | MindIE | 1.0.RC3.B030 | - | + +# 快速上手 +## 获取源码 + +1. 安装mindie包 + + ```bash + # 安装mindie + chmod +x ./Ascend-mindie_xxx.run + ./Ascend-mindie_xxx.run --install + source /usr/local/Ascend/mindie/set_env.sh + ``` + +2. 获取模型权重 + + ``` + git lfs install + git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1 nomicembedtextv1 + ``` + +3. 获取模型源码, 并把模型脚本放到权重目录下 + ``` + pip install transformers==4.44.0 + cd nomicembedtextv1 + + # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 + cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/configuration_hf_nomic_bert.py ./ + cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/modeling_hf_nomic_bert.py ./ + + # 修改config.json中auto_map一项为: + "auto_map": { + "AutoConfig": "configuration_hf_nomic_bert.NomicBertConfig", + "AutoModel": "modeling_hf_nomic_bert.NomicBertModel", + "AutoModelForMaskedLM": "modeling_hf_nomic_bert.NomicBertForPreTraining" + } + ``` + + 目录结构 + ``` + nomic_embed_text_v1 + ├── nomicembedtextv1 + └── config.json + └── ... + ├── README.md + ├── trace.py + ├── compile.py + └── infer.py + + ``` +4. 获取数据集 +使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 + +## 模型推理 +1. 将模型转成torchsript格式 +``` +python trace.py +``` + +2. 模型编译优化 +``` +python compile.py +``` + +3. 模型推理 +``` +# 请指定数据集路径 +python infer.py +``` + +## 性能 +|输入batch size | 输入 seqlen | 300I Pro 性能(FPS) | 800I A2 性能(FPS)| +| ---- | ---- | ----- |---- | +| 1 | 128 | 270.82 | 276.86 | +| 8 | 128 | 85.76 | 156.87 | diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py new file mode 100644 index 0000000000..5dd36b51a2 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py @@ -0,0 +1,23 @@ +import torch +import mindietorch + +traced_model_path = "traced.ts" +model = torch.jit.load(traced_model_path) +# 2 inputs +inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + +compiled_module = mindietorch.compile( + model, + inputs = inputs, + precision_policy=mindietorch.PrecisionPolicy.FP16, + truncate_long_and_double=True, + require_full_comilation=False, + allow_tensor_replace_int=False, + min_blocks_size=3, + torch_executed_ops=[], + soc_version="Ascend910B4", + optimization_level=0 +) + +compiled_module.save("compiled.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py new file mode 100644 index 0000000000..b5abfb6946 --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py @@ -0,0 +1,39 @@ +import torch +import mindietorch +import pandas as pd +from transformers import AutoTokenizer, AutoModel + +test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") +test_texts = test_dataset['text'].tolist() +test_labels = test_dataset['label'].tolist() + + +path = "path_to_your_model_weights" +tokenizer = AutoTokenizer.from_pretrained(path) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) + +compiled_model_path = "compiled.ts" +device_id = 1 +mindietorch.set_device(device_id) +npu_model = torch.jit.load(compiled_model_path) + + +cossim_list = [] + +for text in test_texts: + inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) + + # 2 inputs + input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") + attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") + + + with torch.no_grad(): + pred_cpu = cpu_model(**inputs)["last_hiddens_states"] + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) + last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") + + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim_list.append(cossim) + +print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py new file mode 100644 index 0000000000..780964242a --- /dev/null +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py @@ -0,0 +1,19 @@ +from transformers import AutoTokenizer, AutoModel +from torch import Tensor +import torch + +sentences = ['search_document: TSNE is a dimensionality reduction algorithm created by Laurens van Der Maaten'] +path = "path-to-your-model" +tokenizer = AutoTokenizer.from_pretrained(path) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model.eval() + +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +with torch.no_grad(): + model_output= model(**encoded_input) +# 2 inputs +input_ids = encoded_input["input_ids"] +attention_mask = encoded_input["attention_mask"] + +traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model.save("traced.ts") -- Gitee From 585d8ba77e58bf311baf0bae95445aa22946dd30 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Wed, 28 Aug 2024 17:57:43 +0800 Subject: [PATCH 02/16] fix --- .../text_embedding/bge_reranker_large/infer.py | 17 +++-------------- .../text_embedding/bge_reranker_large/trace.py | 14 +++++--------- .../text_embedding/gte_large_en_v1.5/README.md | 7 ++++--- .../jina_embedding_v2_base_code/README.md | 9 ++++++--- .../jina_embedding_v2_base_en/README.md | 7 ++++--- .../nomic_embed_text_v1.5/README.md | 7 ++++--- .../nomic_embed_text_v1/README.md | 7 ++++--- 7 files changed, 30 insertions(+), 38 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py index 8be554ac1a..2f9bd8371a 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/infer.py @@ -1,16 +1,13 @@ import torch import mindietorch import pandas as pd -from transformers import AutoTokenizer, AutoModel +from transformers import AutoTokenizer test_dataset = pd.read_parquet("/path/to/your/local/banking77/test-00000-of-00001.parquet") test_texts = test_dataset['text'].tolist() -test_labels = test_dataset['label'].tolist() - path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) compiled_model_path = "compiled.ts" device_id = 1 @@ -18,8 +15,6 @@ mindietorch.set_device(device_id) npu_model = torch.jit.load(compiled_model_path) -cossim_list = [] - for text in test_texts: inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128) @@ -27,13 +22,7 @@ for text in test_texts: input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") - with torch.no_grad(): - pred_cpu = cpu_model(**inputs)[0] npu_outputs = npu_model(input_ids_npu, attention_mask_npu) - last_hiddens_states = npu_outputs[0].to("cpu") - - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) - cossim_list.append(cossim) - -print(cossim) \ No newline at end of file + last_hiddens_states = npu_outputs["logits"].to("cpu") + \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py index d09b36c63a..5130b7d600 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py @@ -1,20 +1,16 @@ -from transformers import AutoTokenizer, AutoModel -from torch import Tensor +from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch -sentences = ["样例数据-1", "样例数据-2"] +pairs = [['what is panda?', 'hi'], ['what is panda?', 'The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China.']] path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModelForSequenceClassification.from_pretrained(path) model.eval() -encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') -with torch.no_grad(): - model_output= model(**encoded_input) -# 2 inputs +encoded_input = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512) input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask)) +traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md index ec4f203982..e99020abe1 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -54,9 +54,10 @@ pip install transformers==4.44.0 cd gtelargeenv15 - # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 - cp /root/.cache/huggingface/modules/transformers_modules/Alibaba-NLP/new-impl/*/configuration.py ./ - cp /root/.cache/huggingface/modules/transformers_modules/Alibaba-NLP/new-impl/*/modeling.py ./ + # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 + git clone https://huggingface.co/Alibaba-NLP/new-impl + cp new-impl/configuration.py ./ + cp new-impl/modeling.py ./ # 修改config.json中auto_map一项为: "auto_map": { diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index be95d41a96..c434ee7766 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -54,9 +54,10 @@ pip install transformers==4.44.0 cd jinaembeddingsv2basecode - # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 - cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/configuration_bert.py ./ - cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/modeling_bert.py ./ + # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 + git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm + cp jina-bert-v2-qk-post-norm/modeling_bert.py ./ + cp jina-bert-v2-qk-post-norm/configuration_bert.py ./ # 修改config.json中auto_map一项为: "auto_map": { @@ -71,6 +72,8 @@ jina_embedding_v2_base_code ├── jinaembeddingsv2basecode └── config.json + └── modeling_bert.py + └── configuration_bert.py └── ... ├── README.md ├── trace.py diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md index b65b6bcb88..cfd4b00917 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -54,9 +54,10 @@ pip install transformers==4.44.0 cd jinaembeddingsv2baseen - # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 - cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/configuration_bert.py ./ - cp /root/.cache/huggingface/modules/transformers_modules/jinaai/jina-bert-implementation/*/modeling_bert.py ./ + # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 + git clone https://huggingface.co/jinaai/jina-bert-implementation + cp jina-bert-implementation/modeling_bert.py ./ + cp jina-bert-implementation/configuration_bert.py ./ # 修改config.json中auto_map一项为: "auto_map": { diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index c3c115e085..c778ad6627 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -54,9 +54,10 @@ pip install transformers==4.44.0 cd nomicembedtextv15 - # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 - cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/configuration_hf_nomic_bert.py ./ - cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/modeling_hf_nomic_bert.py ./ + # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 + git clone https://huggingface.co/nomic-ai/nomic-bert-2048 + cp nomic-bert-2048/configuration_hf_nomic_bert.py ./ + cp nomic-bert-2048/modeling_hf_nomic_bert.py ./ # 修改config.json中auto_map一项为: "auto_map": { diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index 4b333c4874..bd88d3bdae 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -54,9 +54,10 @@ pip install transformers==4.44.0 cd nomicembedtextv1 - # 把模型脚本放到当前目录下, 由于脚本所在目录名称随机, 请根据实际情况修改以下命令 - cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/configuration_hf_nomic_bert.py ./ - cp /root/.cache/huggingface/modules/transformers_modules/nomic-ai/nomic-bert-2048/*/modeling_hf_nomic_bert.py ./ + # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 + git clone https://huggingface.co/nomic-ai/nomic-bert-2048 + cp nomic-bert-2048/configuration_hf_nomic_bert.py ./ + cp nomic-bert-2048/modeling_hf_nomic_bert.py ./ # 修改config.json中auto_map一项为: "auto_map": { -- Gitee From 58947af95227625591bdf48f4cd19f2ab78b9553 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Wed, 28 Aug 2024 18:08:31 +0800 Subject: [PATCH 03/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/infer.py | 2 +- .../built-in/text_embedding/bge_large_zh_v1.5/trace.py | 2 +- .../built-in/text_embedding/bge_reranker_large/README.md | 1 + .../built-in/text_embedding/gte_large_en_v1.5/infer.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/compile.py | 1 - .../built-in/text_embedding/nomic_embed_text_v1.5/infer.py | 3 +-- .../built-in/text_embedding/nomic_embed_text_v1.5/trace.py | 5 ++--- 8 files changed, 8 insertions(+), 10 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py index aa92d80a04..2ac36ec90f 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py @@ -31,7 +31,7 @@ for text in test_texts: with torch.no_grad(): pred_cpu = cpu_model(**inputs)[0] - npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + npu_outputs = npu_model(input_ids_npu, attention_mask_npu, token_type_ids) last_hiddens_states = npu_outputs[0].to("cpu") cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py index bbbe96ebd9..34e034dee0 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py @@ -16,5 +16,5 @@ input_ids = encoded_input["input_ids"] token_type_ids = encoded_input["token_type_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask)) +traced_model= torch.jit.trace(model, (input_ids, attention_mask, token_type_ids)) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md index f6e27c6167..9537312625 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md @@ -75,6 +75,7 @@ ## 模型推理样例 1. 将模型转成torchsript格式 +注意, 如果使用arm架构机器cpu, 由于pytorch2.1.0版本问题, 需要将pytorch版本升级到2.2.0, 然后执行trace.py脚本, 之后将pytorch版本降级到2.1.0再进行下面的编译优化和推理 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py index d8e7f834b9..3fbbbf95a7 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py @@ -31,7 +31,7 @@ for text in test_texts: with torch.no_grad(): pred_cpu = cpu_model(**inputs)["last_hiddens_states"] - npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + npu_outputs = npu_model(input_ids_npu, attention_mask_npu, token_type_ids) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py index dabe3f1067..ffd31d16d5 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -22,5 +22,5 @@ input_ids = encoded_input["input_ids"] token_type_ids = encoded_input["token_type_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask), strict=False) +traced_model= torch.jit.trace(model, (input_ids, attention_mask, token_type_ids), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py index 94b526a9ea..5dd36b51a2 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py @@ -5,7 +5,6 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] compiled_module = mindietorch.compile( diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py index d8e7f834b9..d1ce7e3a52 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py @@ -25,13 +25,12 @@ for text in test_texts: # 3 inputs input_ids_npu = inputs["input_ids"].to(f"npu:{device_id}") - token_type_ids = inputs["token_type_ids"].to(f"npu:{device_id}") attention_mask_npu = inputs["attention_mask"].to(f"npu:{device_id}") with torch.no_grad(): pred_cpu = cpu_model(**inputs)["last_hiddens_states"] - npu_outputs = npu_model(input_ids_npu, token_type_ids, attention_mask_npu) + npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py index 2bee2c8db2..350e7bbfeb 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -11,10 +11,9 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') with torch.no_grad(): model_output= model(**encoded_input) -# 3 inputs + input_ids = encoded_input["input_ids"] -token_type_ids = encoded_input["token_type_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, token_type_ids, attention_mask), strict=False) +traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") -- Gitee From d2e2c45a979df98fa3345bed67de507f6f28ec0e Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Fri, 30 Aug 2024 10:37:57 +0800 Subject: [PATCH 04/16] fix --- .../text_embedding/jina_embedding_v2_base_code/README.md | 2 +- .../text_embedding/multilingual_e5_large_instruct/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index c434ee7766..c391b6b5d6 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -64,7 +64,7 @@ "AutoConfig": "configuration_bert.JinaBertConfig", "AutoModel": "modeling_bert.JinaBertModel", "AutoModelForMaskedLM": "modeling_bert.JinaBertForMaskedLM", - "AutoModelForSequenceClassification": "jmodeling_bert.JinaBertForSequenceClassification"} + "AutoModelForSequenceClassification": "modeling_bert.JinaBertForSequenceClassification"} ``` 目录结构 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md index 377dc32444..9105f4d999 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md @@ -46,7 +46,7 @@ ``` git lfs install - git clone https://huggingface.co/intfloat/multilingual-e5-large + git clone https://huggingface.co/intfloat/multilingual-e5-large-instruct ``` 3. 获取模型源码 -- Gitee From c626cba6ecbf2bd85e3c25c4143dd62a598db626 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Thu, 26 Sep 2024 15:08:21 +0800 Subject: [PATCH 05/16] fix --- .../built-in/text_embedding/gte_large_en_v1.5/README.md | 3 +++ .../text_embedding/jina_embedding_v2_base_code/README.md | 3 +++ .../text_embedding/jina_embedding_v2_base_en/README.md | 3 +++ .../built-in/text_embedding/nomic_embed_text_v1.5/README.md | 3 +++ .../built-in/text_embedding/nomic_embed_text_v1.5/trace.py | 1 - .../built-in/text_embedding/nomic_embed_text_v1/README.md | 3 +++ 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md index e99020abe1..0a7f898f3d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -56,6 +56,9 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/Alibaba-NLP/new-impl + cd new-impl/ + git checkout 40ced75c3017eb27626c9d4ea981bde21a2662f4 + cd - cp new-impl/configuration.py ./ cp new-impl/modeling.py ./ diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index c391b6b5d6..8498e0bd38 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -56,6 +56,9 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm + cd jina-bert-v2-qk-post-norm/ + git checkout 3baf9e3ac750e76e8edd3019170176884695fb94 + cd - cp jina-bert-v2-qk-post-norm/modeling_bert.py ./ cp jina-bert-v2-qk-post-norm/configuration_bert.py ./ diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md index cfd4b00917..97b4d1d602 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -56,6 +56,9 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/jinaai/jina-bert-implementation + cd jina-bert-implementation/ + git checkout f3ec4cf7de7e561007f27c9efc7148b0bd713f81 + cd - cp jina-bert-implementation/modeling_bert.py ./ cp jina-bert-implementation/configuration_bert.py ./ diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index c778ad6627..7070577304 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -56,6 +56,9 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/nomic-ai/nomic-bert-2048 + cd nomic-bert-2048/ + git checkout e55a7d4324f65581af5f483e830b80f34680e8ff + cd - cp nomic-bert-2048/configuration_hf_nomic_bert.py ./ cp nomic-bert-2048/modeling_hf_nomic_bert.py ./ diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py index 350e7bbfeb..e82e29c427 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -1,5 +1,4 @@ from transformers import AutoTokenizer, AutoModel -from torch import Tensor import torch sentences = ['search_document: TSNE is a dimensionality reduction algorithm created by Laurens van Der Maaten'] diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index bd88d3bdae..e20ec38200 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -56,6 +56,9 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/nomic-ai/nomic-bert-2048 + cd nomic-bert-2048/ + git checkout e55a7d4324f65581af5f483e830b80f34680e8ff + cd - cp nomic-bert-2048/configuration_hf_nomic_bert.py ./ cp nomic-bert-2048/modeling_hf_nomic_bert.py ./ -- Gitee From 84525205d801b5a57339244a54787569e7896403 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Fri, 27 Sep 2024 15:43:38 +0800 Subject: [PATCH 06/16] fix --- .../built-in/text_embedding/gte_large_en_v1.5/README.md | 2 ++ .../text_embedding/jina_embedding_v2_base_code/README.md | 2 ++ .../built-in/text_embedding/jina_embedding_v2_base_en/README.md | 2 ++ .../built-in/text_embedding/nomic_embed_text_v1.5/README.md | 2 ++ .../built-in/text_embedding/nomic_embed_text_v1/README.md | 2 ++ 5 files changed, 10 insertions(+) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md index 0a7f898f3d..7c6e764c5d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -47,6 +47,8 @@ ``` git lfs install git clone https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5 gtelargeenv15 + cd gtelargeenv15 + git checkout 104333d6af6f97649377c2afbde10a7704870c7b ``` 3. 获取模型源码, 并把模型脚本放到权重目录下 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index 8498e0bd38..468d730b08 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -47,6 +47,8 @@ ``` git lfs install git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-code jinaembeddingsv2basecode + cd jinaembeddingsv2basecode + git checkout fa8baa2e34f0fe28aae07f9bd7bcd1215de41dce ``` 3. 获取模型源码, 并把模型脚本放到权重目录下 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md index 97b4d1d602..f8299ab010 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -47,6 +47,8 @@ ``` git lfs install git clone https://huggingface.co/jinaai/jina-embeddings-v2-base-en jinaembeddingsv2baseen + cd jinaembeddingsv2baseen + git checkout 6e85f575bc273f1fd840a658067d0157933c83f0 ``` 3. 获取模型源码, 并把模型脚本放到权重目录下 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index 7070577304..ad3a288a88 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -47,6 +47,8 @@ ``` git lfs install git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1.5 nomicembedtextv15 + cd nomicembedtextv15 + git checkout c4f06e01594879a8ccc5c40b0b0a0e2ad46e3a62 ``` 3. 获取模型源码, 并把模型脚本放到权重目录下 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index e20ec38200..7308668477 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -47,6 +47,8 @@ ``` git lfs install git clone https://huggingface.co/nomic-ai/nomic-embed-text-v1 nomicembedtextv1 + cd nomicembedtextv1 + git checkout ec7a86b7066613e0a8acf87e1fcaaf23f8733dd6 ``` 3. 获取模型源码, 并把模型脚本放到权重目录下 -- Gitee From 31786a2e06c83dcc10e1056487ffcfbc1efe6efb Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Thu, 17 Oct 2024 16:08:15 +0800 Subject: [PATCH 07/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/infer.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/infer.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/infer.py | 2 +- .../built-in/text_embedding/jina_embedding_v2_base_en/infer.py | 2 +- .../text_embedding/multilingual_e5_large_instruct/infer.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/infer.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/infer.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py index 2ac36ec90f..7d9bfbb743 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py @@ -34,7 +34,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu, token_type_ids) last_hiddens_states = npu_outputs[0].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py index 3fbbbf95a7..78d8074c94 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py @@ -34,7 +34,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu, token_type_ids) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py index b5abfb6946..5e1f77905f 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py @@ -33,7 +33,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py index 5b07d51455..3660163742 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py @@ -54,7 +54,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py index 85523fd548..cebd4b16b8 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py @@ -33,7 +33,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs[0].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py index d1ce7e3a52..886b87b7bf 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py @@ -33,7 +33,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py index b5abfb6946..5e1f77905f 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py @@ -33,7 +33,7 @@ for text in test_texts: npu_outputs = npu_model(input_ids_npu, attention_mask_npu) last_hiddens_states = npu_outputs["last_hiddens_states"].to("cpu") - cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(-1, -1), last_hiddens_states.reshape(-1, -1)) + cossim = torch.nn.functional.cosine_similarity(pred_cpu.reshape(1, -1), last_hiddens_states.reshape(1, -1)) cossim_list.append(cossim) print(cossim) \ No newline at end of file -- Gitee From 5891b7606b76fb85d3959ad2e5c44f043294b6a0 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Tue, 26 Nov 2024 17:05:50 +0800 Subject: [PATCH 08/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/compile.py | 2 +- .../built-in/text_embedding/bge_reranker_large/compile.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/compile.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/compile.py | 2 +- .../built-in/text_embedding/jina_embedding_v2_base_en/infer.py | 2 +- .../text_embedding/multilingual_e5_large_instruct/compile.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/compile.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/compile.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py index 94b526a9ea..1f9fb83489 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py @@ -17,7 +17,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py index 5dd36b51a2..2ec6a2906e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py @@ -16,7 +16,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py index 94b526a9ea..1f9fb83489 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py @@ -17,7 +17,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py index 5dd36b51a2..2ec6a2906e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py @@ -16,7 +16,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py index 3660163742..0da8b9ba70 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py @@ -22,7 +22,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py index 6d53b7747d..5f0c1a507e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py @@ -16,7 +16,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py index 5dd36b51a2..2ec6a2906e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py @@ -16,7 +16,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py index 5dd36b51a2..2ec6a2906e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py @@ -16,7 +16,7 @@ compiled_module = mindietorch.compile( allow_tensor_replace_int=False, min_blocks_size=3, torch_executed_ops=[], - soc_version="Ascend910B4", + soc_version="Ascendxxx", # supports Atlas 300I Duo 推理卡, Atlas 800I A2推理产品 optimization_level=0 ) -- Gitee From f36bb6604e5d2311e3bd4cc185b97ca89e478311 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Tue, 26 Nov 2024 17:12:24 +0800 Subject: [PATCH 09/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/trace.py | 2 +- .../built-in/text_embedding/bge_reranker_large/trace.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/trace.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/trace.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py index 34e034dee0..c3cc45e9c1 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py @@ -8,7 +8,7 @@ tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) model.eval() -encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): model_output= model(**encoded_input) # 3 inputs diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py index 5130b7d600..c1055811da 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py @@ -8,7 +8,7 @@ tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModelForSequenceClassification.from_pretrained(path) model.eval() -encoded_input = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512) +encoded_input = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=128) input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py index ffd31d16d5..34be38cff2 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -14,7 +14,7 @@ tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) model.eval() -encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): model_output= model(**encoded_input) # 3 inputs diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py index a2b1a403c4..15648832c6 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -12,7 +12,7 @@ tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) model.eval() -encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): model_output= model(**encoded_input) # 2 inputs -- Gitee From ddaea50cc5d7613dffc085a1686543b91f506b30 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Fri, 29 Nov 2024 17:19:43 +0800 Subject: [PATCH 10/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/README.md | 2 +- .../built-in/text_embedding/bge_large_zh_v1.5/infer.py | 2 +- .../built-in/text_embedding/bge_large_zh_v1.5/trace.py | 2 +- .../built-in/text_embedding/bge_reranker_large/README.md | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/README.md | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/infer.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/trace.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/README.md | 2 +- .../text_embedding/jina_embedding_v2_base_code/infer.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/trace.py | 2 +- .../built-in/text_embedding/jina_embedding_v2_base_en/infer.py | 2 +- .../text_embedding/multilingual_e5_large_instruct/README.md | 2 +- .../text_embedding/multilingual_e5_large_instruct/infer.py | 2 +- .../text_embedding/multilingual_e5_large_instruct/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/README.md | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/infer.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/README.md | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/infer.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/trace.py | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md index ced6b65d32..31c04e6f09 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md @@ -74,7 +74,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py index 7d9bfbb743..d0beb47ff5 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py index c3cc45e9c1..f87a92e3a9 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py @@ -5,7 +5,7 @@ sentences = ["样例数据-1", "样例数据-2"] path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md index 9537312625..3ee3dc99e5 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md @@ -74,7 +74,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理样例 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 注意, 如果使用arm架构机器cpu, 由于pytorch2.1.0版本问题, 需要将pytorch版本升级到2.2.0, 然后执行trace.py脚本, 之后将pytorch版本降级到2.1.0再进行下面的编译优化和推理 ``` python trace.py diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md index 7c6e764c5d..ffb3df436e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -92,7 +92,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py index 78d8074c94..dc3558b53f 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py index 34be38cff2..c652194ea6 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -11,7 +11,7 @@ sentences = [ path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index 468d730b08..51bd8d1f88 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -90,7 +90,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py index 5e1f77905f..1e080190a3 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py index 15648832c6..a7ff47e171 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -9,7 +9,7 @@ sentences = [ path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py index 0da8b9ba70..a5b5d5f6c7 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py @@ -5,7 +5,7 @@ from transformers import AutoTokenizer, AutoModel path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() # compile diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md index 9105f4d999..4dcf5a6efe 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md @@ -68,7 +68,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py index cebd4b16b8..bd403942fc 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "multilingual_compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py index 1174302a4e..a6b121ab57 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py @@ -9,7 +9,7 @@ sentences = ['query: how much protein should a female eat', path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index ad3a288a88..8eed20480c 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -88,7 +88,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py index 886b87b7bf..df20118617 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py index e82e29c427..69bac0b19d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -4,7 +4,7 @@ import torch sentences = ['search_document: TSNE is a dimensionality reduction algorithm created by Laurens van Der Maaten'] path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index 7308668477..6d5ec43fd1 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -88,7 +88,7 @@ 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -1. 将模型转成torchsript格式 +1. 将模型转成torchscript格式 ``` python trace.py ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py index 5e1f77905f..1e080190a3 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/infer.py @@ -10,7 +10,7 @@ test_labels = test_dataset['label'].tolist() path = "path_to_your_model_weights" tokenizer = AutoTokenizer.from_pretrained(path) -cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +cpu_model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) compiled_model_path = "compiled.ts" device_id = 1 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py index 780964242a..effd9faa16 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py @@ -5,7 +5,7 @@ import torch sentences = ['search_document: TSNE is a dimensionality reduction algorithm created by Laurens van Der Maaten'] path = "path-to-your-model" tokenizer = AutoTokenizer.from_pretrained(path) -model = AutoModel.from_pretrained(path, trust_remote_code=True, torchsript=True) +model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') -- Gitee From 762be30db140aa76dfabf23f28a299d1c02f6f79 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Wed, 4 Dec 2024 10:27:19 +0800 Subject: [PATCH 11/16] fix --- .../jina_embedding_v2_base_code/README.md | 11 ++++++++++- .../jina_embedding_v2_base_en/README.md | 10 +++++++++- .../multilingual_e5_large_instruct/README.md | 12 ++++++++++-- .../text_embedding/nomic_embed_text_v1.5/README.md | 11 ++++++++++- .../text_embedding/nomic_embed_text_v1/README.md | 10 +++++++++- 5 files changed, 48 insertions(+), 6 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index 51bd8d1f88..31151bea12 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -86,7 +86,16 @@ └── infer.py ``` -4. 获取数据集 + +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md index f8299ab010..3da3e5c927 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -82,7 +82,15 @@ └── infer.py ``` -4. 获取数据集 +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md index 4dcf5a6efe..27ecd252f8 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md @@ -53,7 +53,7 @@ ``` pip install transformers==4.44.0 ``` - ``` + ``` multilingual_e5_large_instruct ├── multilingual-e5-large └── config.json @@ -64,7 +64,15 @@ └── infer.py ``` -4. 获取数据集 +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index 8eed20480c..62f4ad4a84 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -84,7 +84,16 @@ └── infer.py ``` -4. 获取数据集 + +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index 6d5ec43fd1..e30fa001cd 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -84,7 +84,15 @@ └── infer.py ``` -4. 获取数据集 +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 -- Gitee From 660b26df01b2e4cc3188097657726a7126ef8519 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Wed, 4 Dec 2024 10:47:01 +0800 Subject: [PATCH 12/16] fix --- .../text_embedding/bge_large_zh_v1.5/README.md | 2 +- .../text_embedding/bge_reranker_large/README.md | 2 +- .../text_embedding/gte_large_en_v1.5/README.md | 11 ++++++++++- .../jina_embedding_v2_base_code/README.md | 2 +- .../jina_embedding_v2_base_en/README.md | 2 +- .../multilingual_e5_large_instruct/README.md | 2 +- .../text_embedding/nomic_embed_text_v1.5/README.md | 2 +- .../text_embedding/nomic_embed_text_v1/README.md | 2 +- 8 files changed, 17 insertions(+), 8 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md index 31c04e6f09..df1020205a 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md @@ -56,7 +56,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 目录结构 ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md index 3ee3dc99e5..ed77a66e00 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md @@ -56,7 +56,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 目录结构 ``` diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md index ffb3df436e..1e46a65a38 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/README.md @@ -88,7 +88,16 @@ └── infer.py ``` -4. 获取数据集 + +4. 获取模型依赖transformers, 并修改 + ``` + pip show transformers + ``` + 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 + 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + +5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 ## 模型推理 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index 31151bea12..2819866d5d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -93,7 +93,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md index 3da3e5c927..4493b929eb 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/README.md @@ -88,7 +88,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md index 27ecd252f8..140bdda91b 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/README.md @@ -70,7 +70,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md index 62f4ad4a84..29241045d0 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/README.md @@ -91,7 +91,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md index e30fa001cd..162d7c7c49 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/README.md @@ -90,7 +90,7 @@ ``` 找到transformers 的安装路径,并修改transformers/modeling_utils.py文件 将1129行的 `extended_attention_mask = (1.0 - extended_attention_mask) * torch.finfo(dtype).min` - 修改为`extened_attention_mask = (1.0 - extended_attention_mask) * (-1000)` + 修改为`extended_attention_mask = (1.0 - extended_attention_mask) * (-1000)` 5. 获取数据集 使用[banking77](https://huggingface.co/datasets/legacy-datasets/banking77)数据集进行测试,手动将其data目录下的test-00000-of-00001.parquet 数据集 下载到本地。 -- Gitee From 39f4faa98dddcc2fe31fb1da5a6abbe6de7e9d07 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Fri, 10 Jan 2025 16:57:49 +0800 Subject: [PATCH 13/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/README.md | 1 + .../built-in/text_embedding/bge_reranker_large/README.md | 1 + .../text_embedding/jina_embedding_v2_base_code/README.md | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md index df1020205a..03034a222e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/README.md @@ -47,6 +47,7 @@ ``` git lfs install git clone https://huggingface.co/BAAI/bge-large-zh + git checkout b5d9f5c027e87b6f0b6fa4b614f8f9cdc45ce0e8 ``` 3. 获取模型依赖transformers, 并修改 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md index ed77a66e00..d669f16daf 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/README.md @@ -47,6 +47,7 @@ ``` git lfs install git clone https://huggingface.co/BAAI/bge-reranker-large + git checkout 55611d7bca2a7133960a6d3b71e083071bbfc312 ``` 3. 获取模型依赖transformers, 并修改 diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md index 2819866d5d..8c7f5c5012 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/README.md @@ -59,7 +59,7 @@ # 拉取源码仓库, 并将模型源码和配置脚本放到权重目录下 git clone https://huggingface.co/jinaai/jina-bert-v2-qk-post-norm cd jina-bert-v2-qk-post-norm/ - git checkout 3baf9e3ac750e76e8edd3019170176884695fb94 + git checkout 2122141789228461a7a8b8d373d36283b567e3b4 cd - cp jina-bert-v2-qk-post-norm/modeling_bert.py ./ cp jina-bert-v2-qk-post-norm/configuration_bert.py ./ -- Gitee From f17f6e7eed6fd32400a994a948ba780601516c14 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Fri, 24 Jan 2025 17:40:19 +0800 Subject: [PATCH 14/16] fix --- .../built-in/text_embedding/bge_large_zh_v1.5/compile.py | 4 ++-- .../built-in/text_embedding/bge_large_zh_v1.5/trace.py | 4 ++-- .../built-in/text_embedding/bge_reranker_large/compile.py | 4 ++-- .../built-in/text_embedding/bge_reranker_large/trace.py | 2 +- .../built-in/text_embedding/gte_large_en_v1.5/compile.py | 4 ++-- .../built-in/text_embedding/gte_large_en_v1.5/trace.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/compile.py | 4 ++-- .../text_embedding/jina_embedding_v2_base_code/trace.py | 2 +- .../text_embedding/jina_embedding_v2_base_en/infer.py | 4 ++-- .../text_embedding/multilingual_e5_large_instruct/compile.py | 4 ++-- .../text_embedding/multilingual_e5_large_instruct/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/compile.py | 4 ++-- .../built-in/text_embedding/nomic_embed_text_v1.5/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/compile.py | 4 ++-- 14 files changed, 23 insertions(+), 23 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py index 1f9fb83489..3061831885 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/compile.py @@ -6,11 +6,11 @@ model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py index f87a92e3a9..647f8e036d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_large_zh_v1.5/trace.py @@ -10,11 +10,11 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) # 3 inputs input_ids = encoded_input["input_ids"] token_type_ids = encoded_input["token_type_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask, token_type_ids)) +traced_model = torch.jit.trace(model, (input_ids, attention_mask, token_type_ids)) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py index 2ec6a2906e..512bd94b42 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/compile.py @@ -5,11 +5,11 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py index c1055811da..93e7fe839b 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/bge_reranker_large/trace.py @@ -12,5 +12,5 @@ encoded_input = tokenizer(pairs, padding=True, truncation=True, return_tensors=' input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model = torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py index 1f9fb83489..3061831885 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/compile.py @@ -6,11 +6,11 @@ model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py index c652194ea6..caf94fa213 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -22,5 +22,5 @@ input_ids = encoded_input["input_ids"] token_type_ids = encoded_input["token_type_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask, token_type_ids), strict=False) +traced_model = torch.jit.trace(model, (input_ids, attention_mask, token_type_ids), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py index 2ec6a2906e..512bd94b42 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/compile.py @@ -5,11 +5,11 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py index a7ff47e171..ebab93dc5a 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -19,5 +19,5 @@ with torch.no_grad(): input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model = torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py index a5b5d5f6c7..8bf5959817 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_en/infer.py @@ -10,11 +10,11 @@ model.eval() # compile inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, ir="dynamo", precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py index 5f0c1a507e..dc563046ae 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/compile.py @@ -5,11 +5,11 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py index a6b121ab57..c75c3d0fd4 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py @@ -19,5 +19,5 @@ with torch.no_grad(): input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask)) +traced_model = torch.jit.trace(model, (input_ids, attention_mask)) traced_model.save("multilingual__traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py index 2ec6a2906e..512bd94b42 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/compile.py @@ -5,11 +5,11 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py index 69bac0b19d..92beea2388 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -14,5 +14,5 @@ with torch.no_grad(): input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model = torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py index 2ec6a2906e..512bd94b42 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/compile.py @@ -5,11 +5,11 @@ traced_model_path = "traced.ts" model = torch.jit.load(traced_model_path) # 2 inputs inputs = [mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64), - mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64),] + mindietorch.Input(min_shape=(1, 1), max_shape=(1, 200), dtype=mindietorch.dtype.INT64)] compiled_module = mindietorch.compile( model, - inputs = inputs, + inputs=inputs, precision_policy=mindietorch.PrecisionPolicy.FP16, truncate_long_and_double=True, require_full_comilation=False, -- Gitee From b41b729dca1b7a90b2590605c0ce0ee798ec1381 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Sat, 25 Jan 2025 11:28:37 +0800 Subject: [PATCH 15/16] fix --- .../built-in/text_embedding/gte_large_en_v1.5/trace.py | 2 +- .../text_embedding/jina_embedding_v2_base_code/trace.py | 2 +- .../text_embedding/multilingual_e5_large_instruct/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1.5/trace.py | 2 +- .../built-in/text_embedding/nomic_embed_text_v1/trace.py | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py index caf94fa213..278a04976d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/gte_large_en_v1.5/trace.py @@ -16,7 +16,7 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) # 3 inputs input_ids = encoded_input["input_ids"] token_type_ids = encoded_input["token_type_ids"] diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py index ebab93dc5a..908034aae8 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -12,7 +12,7 @@ tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModel.from_pretrained(path, trust_remote_code=True, torchscript=True) model.eval() -encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) +encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): model_output= model(**encoded_input) # 2 inputs diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py index c75c3d0fd4..abeea5604d 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/multilingual_e5_large_instruct/trace.py @@ -14,7 +14,7 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) # 2 inputs input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py index 92beea2388..680a95add6 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1.5/trace.py @@ -9,7 +9,7 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py index effd9faa16..4990f30faa 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/nomic_embed_text_v1/trace.py @@ -10,10 +10,10 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) # 2 inputs input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -traced_model= torch.jit.trace(model, (input_ids, attention_mask), strict=False) +traced_model = torch.jit.trace(model, (input_ids, attention_mask), strict=False) traced_model.save("traced.ts") -- Gitee From 6bb68e2a27e7e3c159c53f3f4da93d7e7ade8321 Mon Sep 17 00:00:00 2001 From: fanrong29 Date: Sat, 25 Jan 2025 23:41:43 +0800 Subject: [PATCH 16/16] fix --- .../text_embedding/jina_embedding_v2_base_code/trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py index 908034aae8..3eb8bca64e 100644 --- a/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py +++ b/MindIE/MindIE-Torch/built-in/text_embedding/jina_embedding_v2_base_code/trace.py @@ -14,7 +14,7 @@ model.eval() encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt', max_length=128) with torch.no_grad(): - model_output= model(**encoded_input) + model_output = model(**encoded_input) # 2 inputs input_ids = encoded_input["input_ids"] attention_mask = encoded_input["attention_mask"] -- Gitee