netease-youdao / BCEmbedding

Netease Youdao's open-source embedding and reranker models for RAG products.
Apache License 2.0
1.35k stars 90 forks source link

这个模型输出维度是768吗?怎么修改成1024? #20

Open DAAworld opened 6 months ago

DAAworld commented 6 months ago

model_name = 'maidalun1020/bce-embedding-base_v1' model_kwargs = {'device': 'cuda'} encode_kwargs = {'batch_size': 64, 'normalize_embeddings': True, 'show_progress_bar': False}

embed_model = HuggingFaceEmbeddings( model_name=model_name, model_kwargs=model_kwargs, encode_kwargs=encode_kwargs ) 我按照上面的示例,得到的结果维度是768,但我们系统是1024,怎么调整参数呢?

shenlei1020 commented 6 months ago

感谢您对bce的关注,是这样的: 1、我们bce的embedding和reranker模型都是base规模,embedding输出向量是768纬度的,这个变不了。 2、这么设置的原因是,相对其他开源的large规模的embedding和reranker,bce速度更快,显存占用更小。 3、更重要的一点是,768维度向量在存到向量数据库(比如milvus)时,768比1024更节省存储资源(大约25%),因为维度小了,检索速度也更快。 4、后续我们会有embedding维度更小的版本,进一步加速和节省存储。 5、关于您的维度问题,建议改成768维的,可以节省存储,以及加速搜索。

DAAworld commented 6 months ago

感谢您对bce的关注,是这样的: 1、我们bce的embedding和reranker模型都是base规模,embedding输出向量是768纬度的,这个变不了。 2、这么设置的原因是,相对其他开源的large规模的embedding和reranker,bce速度更快,显存占用更小。 3、更重要的一点是,768维度向量在存到向量数据库(比如milvus)时,768比1024更节省存储资源(大约25%),因为维度小了,检索速度也更快。 4、后续我们会有embedding维度更小的版本,进一步加速和节省存储。 5、关于您的维度问题,建议改成768维的,可以节省存储,以及加速搜索。

非常感谢。