Improving Text Embeddings with Large Language Models

828 篇文章

已下架不支持订阅

本文提出一种新方法,通过大型语言模型(LLM)生成合成数据,使用对比损失对开源解码器进行微调,实现高质量文本嵌入。在不依赖大量标记数据和复杂训练流程的情况下,该方法在多个基准测试上展现出优秀性能,且在MTEB上创下了新纪录。未来计划将聚焦于提升多语言性能和研究使用开源LLM的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是LLM系列文章,针对《Improving Text Embeddings with Large Language Models》的翻译。

用大型语言模型改进文本嵌入

摘要

在本文中,我们介绍了一种新的简单方法,仅使用合成数据和小于1k的训练步骤来获得高质量的文本嵌入。与现有方法不同,现有方法通常依赖于使用数十亿个弱监督文本对进行多阶段中间预训练,然后使用一些标记的数据集进行微调,我们的方法不需要构建复杂的训练管道,也不需要依赖于手动收集的数据集,这些数据集往往受到任务多样性和语言覆盖率的限制。我们利用专有LLM为近100种语言的数十万文本嵌入任务生成各种合成数据。然后,我们使用标准对比损失对合成数据上的仅限开源解码器的LLM进行微调。实验表明,我们的方法在不使用任何标记数据的情况下,在竞争激烈的文本嵌入基准测试上实现了强大的性能。此外,当使用合成和标记数据的混合物进行微调时,我们的模型在BEIR和MTEB基准上设定了新的最先进的结果。

1 引言

2 相关工作

3 方法

4 实验

5 分析

6 结论

本文表明,利用LLM可以显著提高文本嵌入的质量。我们提示GP

已下架不支持订阅

### Chain-of-Thought Prompting Mechanism in Large Language Models In large language models, chain-of-thought prompting serves as a method to enhance reasoning capabilities by guiding the model through structured thought processes. This approach involves breaking down complex problems into simpler components and providing step-by-step guidance that mirrors human cognitive processing. The creation of these prompts typically includes selecting examples from training datasets where each example represents part of an overall problem-solving process[^2]. By decomposing tasks into multiple steps, this technique encourages deeper understanding and more accurate predictions compared to traditional methods. For instance, when faced with multi-hop question answering or logical deduction challenges, using such chains allows models not only to generate correct answers but also articulate intermediate thoughts leading up to those conclusions. Such transparency facilitates better interpretability while improving performance on various NLP benchmarks. ```python def create_chain_of_thought_prompt(task_description, examples): """ Creates a chain-of-thought prompt based on given task description and examples. Args: task_description (str): Description of the task at hand. examples (list): List containing tuples of input-output pairs used for demonstration purposes. Returns: str: Formatted string representing the final prompt including both instructions and sample cases. """ formatted_examples = "\n".join([f"Input: {ex[0]}, Output: {ex[1]}" for ex in examples]) return f""" Task: {task_description} Examples: {formatted_examples} Now try solving similar questions following above pattern. """ # Example usage examples = [ ("What color do you get mixing red and blue?", "Purple"), ("If it rains tomorrow, will we have our picnic?", "No") ] print(create_chain_of_thought_prompt("Solve logic puzzles", examples)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值