Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
FlagEmbedding_pytorch
Commits
77ee3a32
"examples/vscode:/vscode.git/clone" did not exist on "4c823480e6fcf86206590ab935d3337165fdeebc"
Commit
77ee3a32
authored
Aug 20, 2024
by
chenych
Browse files
Fix bugs in llm_reranker and update READMES
parent
acf54ee3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
22 additions
and
23 deletions
+22
-23
FlagEmbedding/llm_reranker/README.md
FlagEmbedding/llm_reranker/README.md
+7
-1
README.md
README.md
+9
-9
examples/finetune/README.md
examples/finetune/README.md
+4
-1
examples/reranker/README.md
examples/reranker/README.md
+2
-2
finetune.sh
finetune.sh
+0
-10
No files found.
FlagEmbedding/llm_reranker/README.md
View file @
77ee3a32
...
...
@@ -21,7 +21,13 @@
## Usage
### 使用 FlagEmbedding
确认环境配置完成,请参考
[
环境配置
](
../../README.md#环境配置
)
1.
确认环境配置完成,请参考
[
环境配置
](
../../README.md#环境配置
)
2.
`We couldn't connect to 'https://huggingface.co' to load this file`
报错,需要先修改huggingface镜像源,修改方法如下:
```
pip install -U huggingface_hub hf_transfer
export HF_ENDPOINT=https://hf-mirror.com
```
#### 常规 reranker (bge-reranker-base / bge-reranker-large / bge-reranker-v2-m3 )
计算相关性得分(得分越高,相关性越强):
...
...
README.md
View file @
77ee3a32
...
...
@@ -56,21 +56,21 @@ export LD_LIBRARY_PATH=/path/of/site-packages/faiss/:$LD_LIBRARY_PATH
```
## 已经适配的项目
### [BGE Reranker](
./
FlagEmbedding/reranker)
### [BGE Reranker](FlagEmbedding/reranker)
-
交叉编码器将对查询和答案实时计算相关性分数,这比向量模型(即双编码器)更准确,但比向量模型更耗时。
因此,它可以用来对嵌入模型返回的前k个文档重新排序。
我们在多语言数据上训练了交叉编码器,数据格式与向量模型相同,因此您可以根据我们的
[
示例
](
./
examples/reranker
)
轻松地对其进行微调。
更多细节请参考
[
这里
](
./
FlagEmbedding/reranker/README.md
)
我们在多语言数据上训练了交叉编码器,数据格式与向量模型相同,因此您可以根据我们的
[
示例
](
examples/reranker
)
轻松地对其进行微调。
更多细节请参考
[
这里
](
FlagEmbedding/reranker/README.md
)
-
我们提供了新版的交叉编码器,支持更多的语言以及更长的长度。使用的数据格式与向量模型类似,但是新增了prompt用于微调以及推理。您可以使用特定的层进行推理或使用完整的层进行推理,您可以根根据我们的
[
示例
](
./
FlagEmbedding/llm_reranker
#fine-tune
)
轻松地对其进行微调。
更多细节请参考
[
llm_reranker/README.md
](
./examples
/llm_reranker/README.md
)
-
我们提供了新版的交叉编码器,支持更多的语言以及更长的长度。使用的数据格式与向量模型类似,但是新增了prompt用于微调以及推理。您可以使用特定的层进行推理或使用完整的层进行推理,您可以根根据我们的
[
示例
](
FlagEmbedding/llm_reranker
/README.md#微调
)
轻松地对其进行微调。
更多细节请参考
[
llm_reranker/README.md
](
FlagEmbedding
/llm_reranker/README.md
)
### [BGE Embedding](
./
FlagEmbedding/baai_general_embedding)
### [BGE Embedding](FlagEmbedding/baai_general_embedding)
BGE Embedding是一个通用向量模型。 我们使用
[
retromae
](
https://github.com/staoxiao/RetroMAE
)
对模型进行预训练,再用对比学习在大规模成对数据上训练模型。
**你可以按照我们的[示例](
./
examples/finetune)在本地数据上微调嵌入模型。**
我们还提供了一个
[
预训练示例
](
./
examples/pretrain
)
。
**你可以按照我们的[示例](examples/finetune)在本地数据上微调嵌入模型。**
我们还提供了一个
[
预训练示例
](
examples/pretrain
)
。
请注意,预训练的目标是重构文本,预训练后的模型无法直接用于相似度计算,需要进行微调之后才可以用于相似度计算。
更多关于bge的训练情况请参阅
[
论文
](
https://arxiv.org/pdf/2309.07597.pdf
)
和
[
代码
](
.
/baai_general_embedding/README.md
)
.
更多关于bge的训练情况请参阅
[
论文
](
https://arxiv.org/pdf/2309.07597.pdf
)
和
[
代码
](
FlagEmbedding
/baai_general_embedding/README.md
)
.
**注意BGE使用CLS的表征作为整个句子的表示,如果使用了错误的方式(如mean pooling)会导致效果很差。**
...
...
examples/finetune/README.md
View file @
77ee3a32
...
...
@@ -21,6 +21,9 @@
## 微调
### Hard Negatives
**TIPS: 只能单卡,不可多卡**
Hard negatives是一种广泛使用的提高句子嵌入质量的方法,使用方法如下:
```
bash
python
-m
FlagEmbedding.baai_general_embedding.finetune.hn_mine
\
...
...
@@ -84,7 +87,7 @@ torchrun --nproc_per_node {number of gpus} \
通过合并微调模型和基本模型,LM-Cocktail可以显著提高下游任务的效果,同时在其他不相关的任务中保持性能。
```
python
from
LM_Cocktail
import
mix_models
,
mix_models_with_data
from
LM_Cocktail
.LM_Cocktail
import
mix_models
,
mix_models_with_data
# Mix fine-tuned model and base model; then save it to output_path: ./mixed_model_1
model
=
mix_models
(
...
...
examples/reranker/README.md
View file @
77ee3a32
...
...
@@ -6,7 +6,7 @@
## 数据格式
reranker的数据格式与
[
embedding fine-tune
](
../../examples/finetune/README.md#数据集
)
一样。
此外,我们强烈建议参考
[
mine hard negatives
](
../../xamples/finetune/README.md
)
中的Hard Negatives去微调reranker。
此外,我们强烈建议参考
[
mine hard negatives
](
../../
e
xamples/finetune/README.md
)
中的Hard Negatives去微调reranker。
## 训练
```
...
...
@@ -40,7 +40,7 @@ torchrun --nproc_per_node {number of gpus} \
通过合并微调模型和基本模型,LM-Cocktail可以显著提高下游任务的效果,同时在其他不相关的任务中保持性能。
```
python
from
LM_Cocktail
import
mix_models
,
mix_models_with_data
from
LM_Cocktail
.LM_Cocktail
import
mix_models
,
mix_models_with_data
# Mix fine-tuned model and base model; then save it to output_path: ./mixed_model_1
model
=
mix_models
(
...
...
finetune.sh
View file @
77ee3a32
...
...
@@ -21,13 +21,3 @@ torchrun --nproc_per_node {number of gpus} \
--logging_steps
10
\
--save_steps
1000
\
--query_instruction_for_retrieval
""
### Hard Negatives
# python -m FlagEmbedding.baai_general_embedding.finetune.hn_mine \
# --model_name_or_path BAAI/bge-base-en-v1.5 \
# --input_file toy_finetune_data.jsonl \
# --output_file toy_finetune_data_minedHN.jsonl \
# --range_for_sampling 2-200 \
# --negative_number 15 \
# --use_gpu_for_searching
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment