chaofan
chaofan
这里用了dataloader来加载数据,所以每次都会加载这些,可以将所有要计算的数据一起输入进去,这样会更节省时间
因为llm-based reranker引入了prompt,所以每次都得用dataloader、分批pad保证长度一致 但是base模型直接使用query和passagee就可以了,不需要prompt,所以避免了这一过程
提速只能从dataloader下手,我们会尝试优化这部分功能
现在代码已经更新,在compute_score的时候可以传参`use_dataloader=False`来解决这个问题
可以将模型换成bge-reranker-large,或者将文本全部转换成小写,我们后续会重点关注这个问题 bge-reranker-large的结果: ``` reranker.compute_score(['Jc Sweet House', 'Candy House'], normalize=True) # 0.9874236517231209 reranker.compute_score(['jc sweet house', 'candy house'], normalize=True) # 0.992988204618503 ```
可以拿领域相关的数据继续对`bge-reranker-v2-m3`进行微调,效果应该会更好点
deepspeed和pytorch用最新版的就行 transformers可以用4.38.1
全量大概需要30G左右的GPU memory 可以在加载`AutoModelForCausalLM.from_pretrained`的时候引入参数`torch_dtype=torch.float16`,这样大概需要11G的GPU memory就可以加载了
使用FlagEmbedding的时候可以在compute_score的时候指定使用哪一个prompt,不指定的话就会加载默认的prompt
This will fine-tune `google/gemma-2b`, if you want to fine-tune `bge-reranker-v2-gemma`, just set `model_name_or_path` to `bge-reranker-v2-gemma`