随着 Docker 技术的广泛应用,使用容器化技术来管理数据库变得更加简单和高效。MySQL 是最流行的关系型数据库管理系统之一,通过 Docker 部署 MySQL 能够为开发人员提供便捷的环境部署和管理方式。在本文中,我们将介绍如何通过 Docker 来部署 MySQL 数据库。
看到一个资料:
https://github.com/QwenLM/Qwen2.5/blob/main/docs/source/framework/LlamaIndex.rst
微调模型的时候有加一些标记,所以后面用的时候给入标记会是一种很强的监督:
bashfrom sentence_transformers import SentenceTransformer
model = SentenceTransformer("/data/xiedong/Conan-embedding-v1")
sentences = [
"今天天气真好。",
"外面的阳光真灿烂!",
"他开车去了体育馆。",
"The weather is really nice today."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities)
print(similarities.shape)
预训练阶段用对比学习,清洗后的数据用于预训练。题目-内容文本对、输入-输出文本对、问题-答案文本对、提示-响应文本对,都是训练数据。
动态困难负样本挖掘:训练过程中,困难样本会不断改变,重新挖掘。
跨GPU批次平衡损失:以往都是不同embedding任务交替训练,认为这样会震荡,直接多个任务一起BP。
随着RAG(检索增强生成)技术的日益流行,嵌入模型的能力也引起了越来越多的关注。嵌入模型通常通过对比学习进行训练,其中负样本是关键组成部分。以往的研究提出了多种困难负样本挖掘策略,但这些策略通常作为预处理步骤来应用。在本文中,我们提出了conan-embedding模型,旨在最大化利用更多、更高质量的负样本。具体来说,由于模型处理预处理负样本的能力会随着训练的进行而演变,我们提出了动态困难负样本挖掘方法,旨在使模型在训练过程中暴露于更多具有挑战性的负样本。其次,对比学习需要尽可能多的负样本,但由于GPU内存的限制,这一需求受到了制约。因此,我们使用跨GPU平衡损失(Cross-GPU balancing Loss)来提供更多的负样本进行嵌入训练,并平衡多个任务的批量大小。此外,我们还发现来自大型语言模型(LLM)的提示-响应对(prompt-response pairs)可以用于嵌入训练。我们的方法有效提升了嵌入模型的能力,目前在中文大规模文本嵌入基准(MTEB)排行榜上排名第一。