Skip to content

Latest commit

 

History

History
70 lines (50 loc) · 2.18 KB

README_zh_CN.md

File metadata and controls

70 lines (50 loc) · 2.18 KB

Open-Retrievals 示例

export HF_ENDPOINT=https://hf-mirror.com

数据格式

  • 文本对:用于批次内负样本微调
{'query': TEXT_TYPE, 'positive': List[TEXT_TYPE]}
...
  • 文本三元组:硬负样本(或混合批次内负样本)微调
{'query': TEXT_TYPE, 'positive': List[TEXT_TYPE], 'negative': List[TEXT_TYPE]}
...
  • 带分数的文本对:
{(query, positive, label), (query, negative, label), ...}

微调

  • 向量模型pairwise微调
  • decoder大模型向量模型pairwise微调
    • 设置 query_instruction
      • "给定一个查询和一个相关文档,检索与查询相关的文档\n查询: "
    • 使用适当的 pooling_method
      • last
    • 由于模型尺寸较大,可能需要减少批次大小
    • 如果想要使用 lora 减少训练内存,设置 use_loraTrue

3. RAG

4. 数据全流程示例

5. 常见问题

  1. 训练过程中的 grad_norm 始终为零?
  • 考虑更改 fp16 或 bf16
  • 训练时,在TrainingArguments中设置bf16fp16;推理时,在AutoModelForEmbeddingLLMRanker中设置use_fp16=True
  1. 推理过程中微调后的嵌入性能比原始模型差?
  • 检查 pooling_method 是否正确
  • 检查LLM大模型使用的提示词或instruction是否与训练时一致
  1. 如何微调 BAAI/bge-m3 ColBERT 模型?
  • open-retrievals 支持直接微调 BAAI/bge-m3 colbert,只需在微调时不设置 use_fp16=True,并将学习率设置得更小