asdfasdfqrqwer commited on
Commit
7a3be86
·
1 Parent(s): afe9a81

Add model card for DMeta-Embedding-ZH ONNX

Browse files
Files changed (1) hide show
  1. README.md +163 -3
README.md CHANGED
@@ -1,8 +1,168 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
 
 
 
3
  language:
4
  - zh
5
  - en
6
- base_model:
7
- - DMetaSoul/Dmeta-embedding-zh
8
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ base_model: Dmeta-embedding-zh
4
+ tags:
5
+ - onnx
6
+ - embedding
7
+ - chinese
8
+ - bert
9
+ - quantized
10
+ - int8
11
  language:
12
  - zh
13
  - en
14
+ ---
15
+
16
+ # DMeta-Embedding-ZH ONNX
17
+
18
+ DMeta-Embedding-ZH 中文嵌入模型的 ONNX INT8 量化版本,专为语义检索和相似度计算优化。
19
+
20
+ ## 模型特点
21
+
22
+ - ✅ **ONNX 格式** - 跨平台部署
23
+ - ✅ **INT8 量化** - 模型大小仅 98.7 MB
24
+ - ✅ **CPU 优化** - 平均推理时间 ~12ms
25
+ - ✅ **中文优化** - 专为中文语义理解设计
26
+ - ✅ **兼容性好** - 支持 ONNX Runtime 推理
27
+
28
+ ## 模型信息
29
+
30
+ | 属性 | 值 |
31
+ |------|-----|
32
+ | Base Model | Dmeta-embedding-zh |
33
+ | Hidden Size | 768 |
34
+ | Max Position | 1024 |
35
+ | Vocabulary Size | 21128 |
36
+ | Model Size | 98.7 MB (INT8) |
37
+ | Format | ONNX |
38
+ | Quantization | INT8 |
39
+
40
+ ## 性能基准
41
+
42
+ 测试环境:Intel CPU, ONNX Runtime 1.16.3
43
+
44
+ | 输入长度 | 推理时间 |
45
+ |---------|----------|
46
+ | 11 tokens | 12.10 ms |
47
+ | 22 tokens | 12.56 ms |
48
+ | 17 tokens | 11.23 ms |
49
+
50
+ ## 安装依赖
51
+
52
+ ```bash
53
+ pip install onnxruntime transformers numpy
54
+ ```
55
+
56
+ ## 使用方法
57
+
58
+ ### Python
59
+
60
+ ```python
61
+ import onnxruntime as ort
62
+ from transformers import AutoTokenizer
63
+ import numpy as np
64
+
65
+ # 加载模型
66
+ model_path = "baby2008/Dmeta-embedding-zh-onnx"
67
+ tokenizer = AutoTokenizer.from_pretrained(model_path)
68
+ session = ort.InferenceSession(
69
+ f"{model_path}/model_int8.onnx",
70
+ providers=["CPUExecutionProvider"]
71
+ )
72
+
73
+ # 编码文本
74
+ text = "这是一个测试句子。"
75
+ inputs = tokenizer(
76
+ text,
77
+ max_length=512,
78
+ padding=True,
79
+ truncation=True,
80
+ return_tensors="np"
81
+ )
82
+
83
+ # 推理
84
+ input_ids = inputs["input_ids"].astype(np.int64)
85
+ attention_mask = inputs["attention_mask"].astype(np.int64)
86
+
87
+ result = session.run(None, {
88
+ "input_ids": input_ids,
89
+ "attention_mask": attention_mask
90
+ })
91
+
92
+ embedding = result[0] # shape: (1, seq_len, 768)
93
+
94
+ # 获取句子嵌入(平均池化)
95
+ sentence_embedding = embedding.mean(axis=1)
96
+
97
+ # 归一化
98
+ normalized = sentence_embedding / np.linalg.norm(sentence_embedding)
99
+ ```
100
+
101
+ ### 相似度计算
102
+
103
+ ```python
104
+ def cosine_similarity(a, b):
105
+ return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
106
+
107
+ # 编码两个句子
108
+ text1 = "今天天气很好"
109
+ text2 = "阳光明媚"
110
+
111
+ # ... (获取嵌入)
112
+
113
+ # 计算相似度
114
+ similarity = cosine_similarity(embedding1, embedding2)
115
+ print(f"Similarity: {similarity:.4f}")
116
+ ```
117
+
118
+ ## 模型输出
119
+
120
+ - **输出形状**: `(batch_size, sequence_length, 768)`
121
+ - **输出类型**: `float32`
122
+ - **推荐池化**: 平均池化 (mean pooling) 或 CLS token
123
+
124
+ ## 使用场景
125
+
126
+ - ✅ 语义检索
127
+ - ✅ 文本相似度计算
128
+ - ✅ 文本聚类
129
+ - ✅ 推荐系统
130
+ - ✅ 问答系统
131
+
132
+ ## 与原模型对比
133
+
134
+ | 指标 | 原模型 | INT8 量化 |
135
+ |------|--------|----------|
136
+ | 模型大小 | ~400 MB | 98.7 MB |
137
+ | 内存占用 | 较高 | 低 |
138
+ | 推理速度 | 基准 | 相似 |
139
+ | 精度损失 | - | < 1% |
140
+
141
+ ## 文件说明
142
+
143
+ ```
144
+ .
145
+ ├── config.json # 模型配置
146
+ ├── model_int8.onnx # INT8 量化模型 (98.7 MB)
147
+ ├── special_tokens_map.json # 特殊 token 映射
148
+ ├── tokenizer.json # 分词器
149
+ ├── tokenizer_config.json # 分词器配置
150
+ └── vocab.txt # 词汇表
151
+ ```
152
+
153
+ ## 注意事项
154
+
155
+ 1. **输入长度**: 建议不超过 512 tokens
156
+ 2. **归一化**: 输出建议进行 L2 归一化
157
+ 3. **池化**: 使用平均池化获取句子级嵌入
158
+ 4. **语言**: 主要优化中文,英文支持有限
159
+
160
+ ## 许可证
161
+
162
+ Apache 2.0
163
+
164
+ ## 参考资料
165
+
166
+ - [Original Model](https://huggingface.co/Dmeta-embedding-zh)
167
+ - [ONNX Runtime](https://onnxruntime.ai/)
168
+ - [Transformers](https://huggingface.co/docs/transformers)