各种向量搜索工具 负责加载模型评测
参考资料 向量模型训练
- 启动
docker run -it -d --name custom_env \
-p 8015:22 -p 8001:8001 -p 8002:8002 -p 8003:8003 -p 8004:8004 -p 8005:8005 \
-v /data/zhangyj/custom_project:/workspace/custom_project \
--gpus all --shm-size 64g --restart=always \
-e NVIDIA_VISIBLE_DEVICES=all \
registry.cn-beijing.aliyuncs.com/zhangyj-n/paddle_torch:base-1.13.0-2.4.2-11.7 /bin/bash
工具环境
ES环境创建 小组成员解压镜像后使用
docker run -d --restart=always --name llm_es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" registry.cn-beijing.aliyuncs.com/sg-gie/es_hot:7.7
__
docker run -d --name es_hot -p 9200:9200 -p 9300:9300 \
-v $HOME/es_7/syn:/usr/share/elasticsearch/config/synonym \
-v $HOME/es_7/dic:/usr/share/elasticsearch/plugins/jieba/dic \
-v $HOME/es_7/stop:/usr/share/elasticsearch/config/stopwords \
-e "discovery.type=single-node" registry.cn-beijing.aliyuncs.com/sg-gie/es_hot:7.7
Milvus环境创建(该用GPU版本) 小组成员解压镜像后使用
docker run -d --name milvus_cpu_1.1.1 \
-p 19530:19530 \
-p 19121:19121 \
registry.cn-beijing.aliyuncs.com/sg-gie/milvus_cpu:1.1.1
wget http://raw.githubusercontent.com/milvus-io/milvus/v1.1.1/core/conf/demo/server_config.yaml
milvusdb/milvus:1.1.1-gpu-d061621-330cc6已经设置为true
docker pull milvusdb/milvus:1.1.1-gpu-d061621-330cc6
docker run -d --name milvus_gpu_1.1.1 --gpus all \
-p 19530:19530 \
-p 19121:19121 \
milvusdb/milvus:1.1.1-gpu-d061621-330cc6
-v /data/zhangyj/custom_project/vector_search/conf:/var/lib/milvus/conf \
Milvus可视化
docker run -d --restart=always --name milvus-display -p 3000:80 -e API_URL=http://10.0.79.103:3000 milvusdb/milvus-em:latest
可以支持1.1.1
http://10.0.79.103:3000/
-
先执行vector_extract.py 查看数据
-
再执行recall 提取向量文件
-
最后执行evaluate 获取评测结果
-
直接执行piplines.py 抽取向量,入库,召回,评测
参考 model.open_model.py
torch_model_list = [
'm3e-small',
'm3e-large',
'm3e-base',
'bge-small-zh',
'bge-base-zh',
'bge-large-zh',
'text2vec-base-chinese',
'text2vec-large-chinese',
'text2vec-base-chinese-sentence',
'text2vec-base-chinese-paraphrase',
'text2vec-bge-large-chinese',
'Ernie-model/ernie-1.0-base-zh',
'Ernie-model/ernie-1.0-large-zh-cw',
"Ernie-model/ernie-3.0-medium-zh",
'Ernie-model/ernie-3.0-base-zh',
'Ernie-model/rocketqa-zh-dureader-query-encoder',
'Ernie-model/rocketqa-zh-base-query-encoder'
]
结果
策略 | 模型 | Recall@1 | Recall@5 | Recall@10 | 备注 |
---|---|---|---|---|---|
- | m3e-small | 42.647 | 74.265 | 87.5 | 基础模型 |
- | m3e-base | 42.647 | 78.676 | 88.235 | 基础模型 |
- | m3e-base-custom | 31.618 | 72.059 | 86.765 | 基础模型 |
- | m3e-large | 36.029 | 61.765 | 72.059 | 基础模型 |
- | bge-small-zh | 36.765 | 65.441 | 74.265 | 基础模型 |
- | bge-base-zh | 38.235 | 64.706 | 78.676 | 基础模型 |
- | bge-large-zh | 38.971 | 68.382 | 82.353 | 基础模型 |
- | text2vec-base-chinese | 40.441 | 72.059 | 80.147 | 基础模型 |
- | text2vec-large-chinese | 38.235 | 77.941 | 88.971 | 基础模型 |
- | text2vec-base-chinese-sentence | 36.029 | 69.853 | 82.353 | 基础模型 |
- | text2vec-base-chinese-paraphrase | 40.441 | 64.706 | 78.676 | 基础模型 |
- | text2vec-bge-large-chinese | 15.441 | 36.765 | 44.853 | 基础模型 |
- | Ernie-model/ernie-1.0-base-zh | 2.206 | 6.618 | 16.912 | 基础模型 |
- | Ernie-model/ernie-1.0-large-zh-cw | 6.618 | 13.971 | 18.382 | 基础模型 |
- | Ernie-model/ernie-3.0-medium-zh | 0.735 | 5.147 | 7.353 | 基础模型 |
- | Ernie-model/ernie-3.0-base-zh | 0.0 | 0.0 | 0.735 | 基础模型 |
- | Ernie-model/rocketqa-zh-dureader-query-encoder | 47.794 | 78.676 | 93.382 | 基础模型 |
- | Ernie-model/rocketqa-zh-base-query-encoder | 32.353 | 63.235 | 72.794 | 基础模型 |
SimCSE+in-batch negative | rocketqa-zh-dureader-query-encoder(rocketqa-zh-dureader-query-encoder-256) | 41.176 | 79.412 | 92.647 | 基础模型+无监督+有监督训练↓ |
finetune | m3e-base-custom | 32.353 | 68.382 | 83.824 | 微调模型↓ |
日期 | 内容 | 备注 |
---|---|---|
20230906 | 增加open_model向量提取功能 增加milvus,faiss,hnswlib向量存储,向量召回功能 |
|
20230915 | 增加自定义paddle模型向量提取 |