<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[the_3rd_bomb的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/the_3rd_bomb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; the_3rd_bomb]]></copyright><item><title><![CDATA[NCCL N卡通信机制]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875931</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875931</guid><author>the_3rd_bomb</author><pubDate>Sun, 11 May 2025 17:25:38 +0800</pubDate><description><![CDATA[转自我的博客：https://shar-pen.github.io/2025/05/05/torch-distributed-series/nccl_communication/]]></description><category></category></item><item><title><![CDATA[MNIST DDP 分布式数据并行]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875907</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875907</guid><author>the_3rd_bomb</author><pubDate>Sun, 11 May 2025 17:23:59 +0800</pubDate><description><![CDATA[转自我的个人博客：https://shar-pen.github.io/2025/05/04/torch-distributed-series/3.MNIST_DDP/DDP使用的是多进程multiprocessingDP 使用的是多线程（multithreading）Python 有个限制叫 GIL（Global Interpreter Lock）：DDP 的多进程模式就天然绕开了 GIL，每个进程有独立的 Python 解释器和 GIL，不会互相争抢锁。所以执行速度更快、效率更高、更适合大模型和多 GP]]></description><category></category></item><item><title><![CDATA[MNIST 数据并行 Data Parallel - DP]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875893</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875893</guid><author>the_3rd_bomb</author><pubDate>Sun, 11 May 2025 17:23:39 +0800</pubDate><description><![CDATA[用DP情况下虽然循环里每次的 batch 大小还是一样的, 但模型 forward 确实将 batch / len(device_ids), 原来 512 的 batch 变为 256, 两个卡上各自有一个模型分别跑了 1 / len(device_ids) 的数据。模型输出（outputs）来自多个子 GPU，但会 在主卡上 gather，因为 torch.nn.DataParallel 的默认行为是把所有子 GPU 的输出，gather 回主 GPU（device[0]）。数据并行 vs. 模型并行。]]></description><category></category></item><item><title><![CDATA[MNIST 手写数字分类]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875860</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147875860</guid><author>the_3rd_bomb</author><pubDate>Sun, 11 May 2025 17:21:49 +0800</pubDate><description><![CDATA[转自我的个人博客:  https://shar-pen.github.io/2025/05/04/torch-distributed-series/1.MNIST/]]></description><category></category></item><item><title><![CDATA[使用json_repair修复大模型的json输出错误]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147402086</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/147402086</guid><author>the_3rd_bomb</author><pubDate>Mon, 21 Apr 2025 20:38:28 +0800</pubDate><description><![CDATA[有些 LLM 在返回格式正确的 JSON 数据时会有些问题，有时会漏掉括号，有时会在数据中添加一些单词。不至于这种错误每次都要丢弃，再次生成太浪费时间了，因此能修复错误时还是要尽量修复。这就是的主要目的：修复 LLM 在生成 json 数据时的错误。]]></description><category></category></item><item><title><![CDATA[图谱三元组信息提取-Open IE]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145777281</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145777281</guid><author>the_3rd_bomb</author><pubDate>Fri, 21 Feb 2025 14:42:57 +0800</pubDate><description><![CDATA[Open Information Extraction (Open IE) 是一种自然语言处理技术，旨在从文本中自动提取结构化的事实或信息，而不依赖于特定的领域或预定义的关系。它的核心目标是从非结构化的文本中提取出简洁、易于理解的事实三元组（如：subject-predicate-object 结构）。这种方法通常用于从大规模文本中自动抽取信息，并为数据分析、知识图谱构建、问答系统等任务提供支持。]]></description><category></category></item><item><title><![CDATA[SFT数据指令评估-2.基于困惑度的5种指标(微调白盒模型)]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145739584</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145739584</guid><author>the_3rd_bomb</author><pubDate>Wed, 19 Feb 2025 21:39:06 +0800</pubDate><description><![CDATA[白盒大模型最基础的指标就是困惑度 perplexity (PPL)。低 PPL 表示模型对输出序列 y 的概率分布预测更精确，模型对数据的“困惑”更低。高 PPL 表示模型对输出序列 y 的概率分布预测不准确，困惑程度较高。同时 PPL 是长度归一化的，可以避免直接受到长度的影响。]]></description><category></category></item><item><title><![CDATA[SFT数据指令评估-1.AlpaGasus/基于强大模型直接评估数据]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145732740</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145732740</guid><author>the_3rd_bomb</author><pubDate>Wed, 19 Feb 2025 16:41:25 +0800</pubDate><description><![CDATA[这种情况下一般指的是文本理解能力很强的黑盒api大模型，如chatgpt。这种情况下，大模型对文本理解不会有什么大的问题，因此对于嵌套数据也能理解，例如我让大模型执行指令微调数据打分，以一个任务的prompt和output为输入。小模型可能会对这种包含了两个指令的文本理解错误，强模型基本能理解。因此，可以以强模型来直接对指令微调数据进行打分。]]></description><category></category></item><item><title><![CDATA[变相提高大模型上下文长度-RAG文档压缩-3.优化map-reduce(reranker过滤+社区聚类)]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145658264</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145658264</guid><author>the_3rd_bomb</author><pubDate>Sat, 15 Feb 2025 23:10:44 +0800</pubDate><description><![CDATA[我遇到的业务问题实际上是RAG需要处理很多同一对象的日常报告，不像常识类问题，它的相关Document更多而且更分散，日常报告代表数据库里有很多它的内容，而且对象可能只在段落中的几句话提及到。top-k数量受限于大模型长度，目前是top-10/15，明显一个月的情况都没法正常枚举，而且上下文中也有很多无关内容，既会干扰大模型又会占着token，所以必需对上下文进行过滤，到这一步后再压缩下文本。我的方法主要灵感来自于map-reduce总结方法，主要由于它可以并行处理的优点，利用小模型做简单任务。]]></description><category></category></item><item><title><![CDATA[变相提高大模型上下文长度-RAG文档压缩-2.带早停机制的map-refine]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145658230</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145658230</guid><author>the_3rd_bomb</author><pubDate>Sat, 15 Feb 2025 22:39:19 +0800</pubDate><description><![CDATA[我试过用map-refine方法来精炼上下文，由于它是线性的，运行时间随着文档数量线性增长。所以可以考虑通过判断上下文是否可以满足QA来提前结束过程。]]></description><category></category></item><item><title><![CDATA[RAG评估方法RAGAS的langchain实现-4]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145608799</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145608799</guid><author>the_3rd_bomb</author><pubDate>Thu, 13 Feb 2025 11:47:15 +0800</pubDate><description><![CDATA[原理：Context Relevance 指标用于评估一个回答的句子是否受到提供的上下文支持，以及上下文是否受到回答的支持。]]></description><category></category></item><item><title><![CDATA[RAG评估方法RAGAS的langchain实现-3]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145601502</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145601502</guid><author>the_3rd_bomb</author><pubDate>Wed, 12 Feb 2025 22:51:49 +0800</pubDate><description><![CDATA[dj​j12345dj​Top1​d1​d1​1d1​0，即前两个文档命中结果的平均值。比如Top2​10/20.5ScoreN1​∑i1N​Topi​∗di​。]]></description><category></category></item><item><title><![CDATA[RAG评估方法RAGAS的langchain实现-2]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145590825</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145590825</guid><author>the_3rd_bomb</author><pubDate>Wed, 12 Feb 2025 13:52:21 +0800</pubDate><description><![CDATA[指标原理通过大语言模型（LLM）根据给定答案生成多个潜在问题，将这些问题与原始问题进行相似度计算，利用相似度均值来衡量答案和原始问题的契合程度，进而评估回答相关性。具体计算方式为AR1n∑i1nsimqqiARn1​∑i1n​simqqi​，其中ARARAR是答案相关性得分，nnn是生成的潜在问题数量，simqqisimqqi​是原始问题qqq与生成的潜在问题qiq_{i}qi​的相似度。]]></description><category></category></item><item><title><![CDATA[变相提高大模型上下文长度-RAG文档压缩-1.常识]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145581738</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145581738</guid><author>the_3rd_bomb</author><pubDate>Tue, 11 Feb 2025 23:16:35 +0800</pubDate><description><![CDATA[之前遇到一个问题，公司大模型的长度不长，而且业务需要RAG返回不少的相关内容。通常RAG都是取top-10/15，文档由于长度限制不能太多，加上embedding效果不佳，返回的文档不多也不能保证都相关。我们考虑到返回的文档中真正能被用于求解的文本可能只占总文本的一部分，其他无关部分只会影响大模型，而且会占用上下文长度。因此我们对RAG文档进行问题相关的总计/query-focused summarization，一方面可以过滤无关内容，另一方面让文本更助于大模型回答问题。]]></description><category></category></item><item><title><![CDATA[RAG评估方法RAGAS的langchain实现-1]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145581700</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145581700</guid><author>the_3rd_bomb</author><pubDate>Tue, 11 Feb 2025 23:07:12 +0800</pubDate><description><![CDATA[指标原理:忠实度指标用于评估生成回答是否忠于提供的上下文信息。从回答中提取陈述：将回答拆解为多个可验证的原子化陈述。在上下文中验证陈述：检查这些陈述是否可以从上下文信息推导得出。计算忠实度得分：忠实度得分是可验证陈述的比例。背景原因:生成式模型可能会生成幻觉，即回答中包含超出提供上下文的信息。忠实度指标可以帮助检测这种情况，确保模型回答与上下文一致，提高模型的可靠性。解析回答：使用 LLM 提取回答中的关键陈述。验证陈述：使用 LLM 判断每个陈述是否可以在上下文中得到支持。计算评分。]]></description><category></category></item><item><title><![CDATA[langchain教程-12.Agent/工具定义/Agent调用工具/Agentic RAG]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483263</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483263</guid><author>the_3rd_bomb</author><pubDate>Thu, 06 Feb 2025 22:42:03 +0800</pubDate><description><![CDATA[除了 LangChain 提供的内置工具外，你还可以定义和使用自己的自定义工具。为此，可以使用模块提供的@tool装饰器将一个函数转换为工具。@tool 装饰器: 这个装饰器允许你将一个函数转换为工具。它提供了各种选项来定制工具的行为。使用方法在函数上方应用@tool装饰器。根据需要设置装饰器参数。使用这个装饰器，你可以轻松地将常规 Python 函数转换为强大的工具，从而实现自动化文档生成和灵活的接口创建。@tool@tool定义GoogleNews。]]></description><category></category></item><item><title><![CDATA[langchain教程-11.RAG管道/多轮对话RAG]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483246</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483246</guid><author>the_3rd_bomb</author><pubDate>Thu, 06 Feb 2025 22:37:30 +0800</pubDate><description><![CDATA[密集型步骤 8：链式连接。]]></description><category></category></item><item><title><![CDATA[langchain教程-10.Reranker/文档重排序]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483232</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483232</guid><author>the_3rd_bomb</author><pubDate>Thu, 06 Feb 2025 22:35:58 +0800</pubDate><description><![CDATA[我没有在 langchain 上找到基于 api 的 reranker 类，xinference有，它能部署embedding和reranker，也有对应的类来调用接口。只是对文档压缩, 现在起到过滤作用。对检索到的结果进行重新排序。]]></description><category></category></item><item><title><![CDATA[langchain教程-9.Retriever/检索器]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483212</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483212</guid><author>the_3rd_bomb</author><pubDate>Thu, 06 Feb 2025 22:34:05 +0800</pubDate><description><![CDATA[是一种文档检索系统，它利用向量存储根据文档的向量表示来进行搜索。这种方法使得基于相似度的搜索变得高效，特别适用于处理非结构化数据。一旦向量数据库创建完成，就可以使用检索方法，如和，加载并查询数据库，从中搜索相关的文本。方法允许你将一个向量数据库转换为一个检索器，从而实现从向量库中高效地搜索和检索文档。方法允许你配置高级检索策略，如和。]]></description><category></category></item><item><title><![CDATA[langchain教程-8.VectorStore/向量数据库存储和检索]]></title><link>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483198</link><guid>https://blog.youkuaiyun.com/the_3rd_bomb/article/details/145483198</guid><author>the_3rd_bomb</author><pubDate>Thu, 06 Feb 2025 22:32:55 +0800</pubDate><description><![CDATA[是专门设计的数据库，用于通过向量表示（嵌入）来和信息。它们通常用于通过识别语义相似的内容而非依赖精确的关键词匹配，来搜索非结构化数据，如文本、图像和音频。]]></description><category></category></item></channel></rss>