chaofan

Results 117 comments of chaofan

> > 您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.[bge-reranker-v2-gemma](https://huggingface.co/BAAI/bge-reranker-v2-gemma) 2.[BAAI/bge-reranker-v2-minicpm-layerwise](https://huggingface.co/BAAI/bge-reranker-v2-minicpm-layerwise) > > 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 > > 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗? > > 你好,第一种原理时:计算query和doc的相关性,先输出yes或者no这样的标志,然后对这个标志上的数据做logits吗? 第二种原理中的最后一个词的向量进行映射是什么意思?不是逐句进行映射吗?针对以上两种原理不是很明白,期待您的回复,谢谢。 只使用yes的logits作为score,并不会输出yes或者no这样的标志 其实使用yes的logits也是对最后一个token的hidden states经过一个线性层的映射,在embedder中这个hidden states会作为embedding,而在reranker中这个hidden states会经过一个线性层转换为一个score(也就是这里的yes的logits)

> > > > 您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.[bge-reranker-v2-gemma](https://huggingface.co/BAAI/bge-reranker-v2-gemma) 2.[BAAI/bge-reranker-v2-minicpm-layerwise](https://huggingface.co/BAAI/bge-reranker-v2-minicpm-layerwise) > > > > 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 > > > > 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗? > > > > > > > > >...

> > > > > > 您好,请教一下,基于llm-based的reranker,贵团队发布了两个版本: 1.[bge-reranker-v2-gemma](https://huggingface.co/BAAI/bge-reranker-v2-gemma) 2.[BAAI/bge-reranker-v2-minicpm-layerwise](https://huggingface.co/BAAI/bge-reranker-v2-minicpm-layerwise) > > > > > > 计算query和doc的相关性, 第一种使用的是输出yes的概率值。 第二种使用的是最后一个词的向量通过一个mlp映射到1的分值,可以使用layerwise,如果不layerwise的话,可以使用一些现成的库来做比如:MiniCPMForSequenceClassification。 > > > > > > 请问下: 1.在相同的数据下,有比较过两种方法的差异吗? 2.在相同的数据下,同一种方法,过加不加prompt描述的差异吗? > > >...

是一开始就为0吗,还是训练的过程中变为0的 训练的过程中变为0的话可以尝试将fp16换为bf16

训练的时候加上参数--finetune_type from_raw_model from_finetuned_model 学习率应该是2e-4的,设置--deepspeed stage1.json看看是否还会出现上述问题

> > 训练的时候加上参数--finetune_type from_raw_model from_finetuned_model 学习率应该是2e-4的,设置--deepspeed stage1.json看看是否还会出现上述问题 > > 我添加了这个参数还是同样的问题,损失还是很大。 还是从500多开始下降吗

是2选一,from_finetuned_model 就可以,最后loss是所有层loss的累加,所以会显得比较大 可以对比从reranker开始微调和直接从原始模型开始微调的loss差距。如果从微调好的模型开始的loss比直接从原始模型开始的loss小很多,那就说明没有问题

> > 是2选一,from_finetuned_model 就可以,最后loss是所有层loss的累加,所以会显得比较大 可以对比从reranker开始微调和直接从原始模型开始微调的loss差距。如果从微调好的模型开始的loss比直接从原始模型开始的loss小很多,那就说明没有问题 > > 你好,这个是我的从原始模型微调的loss变化: warnings.warn( {'loss': 514.8239, 'grad_norm': 538.07861328125, 'learning_rate': 0.00019964850615114237, 'epoch': 0.0} {'loss': 466.7511, 'grad_norm': 598.7839965820312, 'learning_rate': 0.00019929701230228473, 'epoch': 0.0} {'loss': 321.3008, 'grad_norm': 395.62548828125, 'learning_rate':...

> https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/llm_reranker/finetune_for_layerwise/run.py#L88 > > layerwise-reranker的微调代码是不是不对,怎么还是BiEncoderModel和交叉熵loss? 很抱歉这里命名有点问题,loss是没问题的,reranker用的也是交叉熵loss

We trained for 4 days on 8 * 40G A100 GPUs. During training, the total length of query plus passage was 1024, and the batch size was 128.