- 博客(218)
- 资源 (9)
- 收藏
- 关注
原创 37-大模型(LLMs)强化学习——RLHF及其变种篇
本文详细介绍了大模型(LLMs)的强化学习方法,包括预训练、有监督微调、对齐、RLHF及其变种等多个方面。通过这些方法,大模型在提高预训练模型在新任务上的性能方面展示了巨大的潜力。
2024-11-30 15:51:10
904
原创 36-大模型(LLMs)强化学习篇
本文介绍了强化学习和基于人工反馈的强化学习(RLHF),并探讨了RLHF在实践中的不足之处,包括人工偏好数据集成本高、训练过程长、计算资源要求高等问题。针对这些问题,提出了三种解决方法:AI专家替代派(如RLAIF和RRHF)、微调数据优化派(如LIMA和0.5%数据需求)、训练过程改造派(如RAFT和DPO)。这些方法通过不同的策略,如使用AI模型监督其他AI模型、优化数据集、简化训练过程等,来提高RLHF的效率和降低成本。通过这些改进,可以在有限的计算资源下高效训练和推理大模型,使其具备更好的自适应学习
2024-11-30 15:41:03
1002
原创 35-大模型评测篇
本文详细介绍了大模型(LLMs)的评测方法和工具,包括理解能力、语言生成能力、知识面广度、适应性、长文本理解、长文本生成、多样性、情感分析和推断、情感表达、逻辑推理能力、问题解决能力、道德和伦理、对话和聊天等多个维度。通过这些方法,大模型在提高预训练模型在新任务上的性能方面展示了巨大的潜力。
2024-11-25 20:00:00
1014
原创 基于lora的llama2二次预训练
本文介绍了如何对llama2模型进行基于lora的二次预训练和微调,以增加模型对中文的支持。通过添加额外的网络层并仅训练这些新增的网络层参数,实现大模型的高效微调。预训练和微调过程中,详细介绍了数据集的构建、参数设置、训练启动命令等。通过这些步骤,可以在有限的计算资源下高效训练和推理大模型,使其具备更好的中文处理能力。
2024-11-25 00:00:00
1416
原创 大模型(LLMs)增量预训练篇
本文详细介绍了大模型(LLMs)增量预训练的各个方面,包括模型底座选型、数据收集、数据清洗、训练框架选择、训练流程、数据量需求、loss变化、学习率设置、warmup_ratio设置、warmup步数影响、学习率大小影响以及在初始预训练中使用Rewarmup的影响。通过这些方法,增量预训练在提高预训练模型在新任务上的性能方面展示了巨大的潜力。
2024-11-24 00:00:00
2244
原创 增量预训练(Pretrain)样本拼接篇
本文讨论了在增量预训练(Pretrain)阶段,为了提高训练效率和拓展LLM最大长度,常见的样本拼接方法。介绍了四种拼接方式:Random Concatenate、Random Concatenate + NoiseMask、Random Concatenate + Cluster和IN-CONTEXT PRETRAINING。每种方法都有其优缺点,如Random Concatenate可能导致噪音共现,NoiseMask限制了相对位置信息的反馈,Cluster面临信息重复和泄露问题,而IN-CONTEXT
2024-11-24 00:00:00
1804
原创 大模型(LLMs)推理篇
本文讨论了大模型(LLMs)推理时的显存占用、推理速度、推理能力、生成参数设置以及省内存的训练/微调/推理方法。大模型推理时显存占用高主要因为序列长和缓存K/V加速解码。推理速度在GPU和CPU上差异显著,int8模式推理速度较慢。大模型具有推理能力,如ChatGPT的in-context correction。生成参数设置需调整top_p, num_beams, repetition_renalty, temperature等。省内存方法包括fp16混合精度、int8量化、LoRA、梯度检查点和Torch
2024-11-23 08:10:57
1134
原创 如何使用 PEFT库 中 LoRA
本文详细介绍了如何使用PEFT库中的LoRA模块对大模型进行高效参数微调,包括配置LoraConfig、模型加载策略、显存优化策略、LoRA模块的代码实现、模型存储和推理加载等多个方面。通过这些方法,LoRA在提高预训练模型在新任务上的性能方面展示了巨大的潜力。
2024-11-23 07:09:27
2278
原创 LoRA 系列篇
本文介绍了LoRA系列微调方法,包括LoRA、QLoRA和AdaLoRA。LoRA通过低秩分解模拟参数改变量,显著减少微调参数量,适用于大模型训练。QLoRA通过量化技术进一步降低显存需求,但训练速度较慢。AdaLoRA根据重要性评分动态分配参数预算,优化LoRA性能。LoRA微调优点包括节省参数存储、不增加推理延迟、与其它高效微调方法正交等。然而,LoRA参数量有限,效果可能不如全量微调。本文还讨论了LoRA的初始化、Rank选取、alpha参数调整等技术细节,以及如何在已有LoRA模型上继续训练和避免过
2024-11-22 08:57:40
1041
原创 提示学习(Prompting)篇
本文详细介绍了提示学习(Prompting)的各个方法,包括前缀微调(Prefix-tining)、指示微调(Prompt-tuning)、P-tuning和P-tuning v2。每种方法都有其独特的思路和实现方式,展示了提示学习在不同任务和模型中的应用和优化策略。通过这些方法,提示学习在提高预训练模型在新任务上的性能方面展示了巨大的潜力。
2024-11-22 08:57:06
706
原创 适配器微调(Adapter-tuning)篇
本文介绍了适配器微调(Adapter-tuning)及其变体,旨在解决预训练模型在特定任务下全量微调的昂贵和耗时问题。Adapter-tuning通过在Transformer层中嵌入Adapter结构,固定预训练模型参数,只对新增的Adapter结构进行微调,从而提高训练效率。AdapterFusion通过融合多任务信息优化Adapter,AdapterDrop则动态移除Adapter以减少计算开销。MAM Adapter结合了Adapter、Prefix Tuning和LoRA,形成统一的微调方法,效果优
2024-11-21 08:49:12
810
原创 大模型(LLMs)参数高效微调(PEFT)
本文介绍了参数高效微调(PEFT)技术,旨在通过最小化微调参数的数量和计算复杂度,提高预训练模型在新任务上的性能。PEFT技术包括全参微调和部分参数微调方法,如LoRA、AdaLoRA等。文章比较了不同微调方法的优缺点,指出PEFT在提高模型效果的同时,大大缩短了训练时间和计算成本。然而,当前的高效微调技术存在参数计算口径不一致、缺乏模型大小考虑、测量基准和评价标准不统一、代码实现可读性差等问题。为了解决这些问题,文章提出了高效微调技术的最佳实践,并总结了各种参数高效微调方法的类型和差异。
2024-11-21 08:48:21
1113
原创 基于知识图谱的大模型检索增强实现策略 —— Graph RAG
本文介绍了Graph RAG,一种基于知识图谱的检索增强技术,旨在利用知识图谱提高检索的相关性和减少不准确性。Graph RAG通过将知识图谱等价于一个超大规模的词汇表,将实体和关系作为单元进行联合建模,从而在检索时提取实体并构造子图形成上下文,最后送入大模型完成生成。文章通过代码和示例展示了Graph RAG的工作流程,并讨论了其排序优化方式,包括粗排和精排阶段,以提高检索结果的准确性和相关性。通过这种方式,Graph RAG能够有效减少基于嵌入的语义搜索所导致的不准确性,并提供更全面和准确的检索结果。
2024-11-20 20:45:00
865
原创 大模型(LLMs)RAG 优化策略 ------ RAG-Fusion篇
本文探讨了RAG(检索增强生成)的优点和局限性,并介绍了RAG-Fusion作为一种优化策略。RAG-Fusion通过生成多个用户查询并重新排序结果,解决了RAG的固有限制。核心技术包括多查询生成和逆向排名融合(RRF),通过提示工程和自然语言模型拓宽搜索视野,提升结果质量。RAG-Fusion的优势在于提供更优质的源材料、增强用户意图、结构化输出、自动纠正用户查询、处理复杂查询和促进意外发现。然而,它也面临过于冗长、上下文窗口压力和伦理用户体验考虑等挑战。通过平衡这些因素,RAG-Fusion旨在提供更全
2024-11-20 20:38:57
1205
原创 大模型(LLMs)RAG ------ 关键痛点及对应解决方案
本文探讨了在开发检索增强生成(RAG)系统时常见的12个痛点,并提供了相应的解决方案。这些痛点包括内容缺失、错过排名靠前的文档、脱离上下文、未能提取答案、格式错误、特异性错误、回答不全面、数据处理能力的挑战、结构化数据查询的难题、从复杂PDF文件中提取数据、备用模型和大语言模型(LLM)的安全挑战。通过优化数据源、改进提示方式、重新排名检索结果、微调嵌入模型、提示压缩、输出解析、查询优化、并行技术、链式表格处理、嵌入式表格检索、备用模型路由和内容分类等方法,本文为解决这些痛点提供了全面的指导。
2024-11-20 20:33:44
1328
原创 检索增强生成(RAG) 优化策略篇
本文详细介绍了检索增强生成(RAG)技术的各个优化策略,包括文档块切分、文本嵌入模型、提示工程、大模型迭代、架构优化、索引优化、索引数据优化等多个方面。通过这些优化策略,RAG 技术在处理复杂查询和生成信息丰富回应方面展示了巨大的潜力。未来,RAG 技术将在垂直优化、横向扩展以及生态系统构建等方面继续发展,为多领域应用提供更低的训练成本和更优的性能表现。
2024-11-18 23:18:08
3557
原创 RAG(Retrieval-Augmented Generation)评测篇
本文详细介绍了RAG(检索增强生成)系统的评估方法和框架。首先,文章解释了为什么需要对RAG进行评测,并介绍了如何合成RAG测试集。接着,文章探讨了RAG的两种主要评估方法:独立评估和端到端评估,分别涉及检索模块和生成模块的评估。文章还介绍了RAG的关键指标和能力,包括答案的准确性、相关性和上下文的相关性。最后,文章介绍了两种新的RAG评估框架:RAGAS和ARES,它们通过自动化和合成数据集来提高评估的准确性和效率。通过这些内容,文章为RAG系统的开发和优化提供了全面的评估指南。
2024-11-18 23:06:03
963
原创 20-大模型外挂知识库优化——负样本样本挖掘篇
负样本样本挖掘在大模型外挂知识库优化中至关重要。通过构建高质量的负例,可以显著提升检索模型的性能。本文介绍了多种负样本构建方法,包括随机采样、Top-K负例采样、困惑负样本采样、对比学习微调、基于批内负采样的对比学习、相同文章采样以及LLM辅助生成软标签及蒸馏。每种方法都有其优缺点和适用场景。通过这些方法,可以有效提高模型对负例的区分能力,从而提升整体检索效果。
2024-11-18 22:51:32
1584
原创 大模型外挂知识库优化——如何利用大模型辅助召回
大模型外挂知识库优化旨在通过利用大模型辅助召回,提高文档召回和模型回答的质量。HYDE策略通过生成假答案并结合用户问题进行向量召回,增强召回效果,但在微调过的向量化模型上效果不佳。FLARE策略提出主动多次召回,通过设计prompt让模型在需要时自动触发召回,解决了传统一次召回的不足。策略1通过增加生成主动召回标识的概率来促进召回,策略2则基于生成词的概率进行召回,提高了召回的准确性和效率。总体而言,这些策略通过优化召回过程,显著提升了大模型外挂知识库的性能和回答质量。
2024-11-18 22:35:30
1377
原创 大模型(LLMs)RAG 版面分析------文本分块面
本文详细介绍了大模型(LLMs)在RAG(Retrieval-Augmented Generation)应用中的文本分块技术。文章首先阐述了为什么需要对文本进行分块,强调了信息丢失和分块大小限制的问题。接着,文章介绍了多种常见的文本分块方法,包括一般的文本分块方法、正则拆分的文本分块方法、Spacy Text Splitter方法、基于langchain的CharacterTextSplitter和递归字符切分方法、HTML文本拆分方法、Markdown文本拆分方法、Python代码拆分方法和LaTex文本
2024-11-18 22:26:11
1036
原创 大模型(LLMs)RAG 版面分析——表格识别方法篇
本文介绍了大模型(LLMs)RAG 版面分析中的表格识别方法。首先,阐述了表格识别的重要性及其面临的挑战。接着,详细介绍了表格识别任务的两个子任务:表格检测和表格结构识别。随后,列举了多种表格识别方法,包括传统方法、pdfplumber表格抽取、以及多种深度学习方法如TableNet、CascadeTabNet、SPLERGE和DeepDeSRT。每种方法都有其独特的思路和实现方式,展示了表格识别领域的多样性和复杂性。
2024-11-18 22:15:00
2110
原创 LLM文档对话 —— pdf解析关键问题
本文探讨了利用LLM实现文档助手时,对pdf进行解析的重要性及其方法。pdf解析主要分为基于规则和基于AI两种方法,各有优缺点。长文档解析中,分块索引法和文本摘要法是常见策略,但存在语义破坏和内容丢失问题。提取标题和多级标题对于LLM理解文档至关重要。此外,本文还讨论了如何区分单栏和双栏pdf、提取表格和图片数据,以及基于AI的文档解析的优缺点。建议根据pdf类型进行特定处理,以提高解析效率和准确性。
2024-11-18 22:08:35
1470
原创 15-大模型 RAG 经验篇
RAG(Retrieval Augmented Generation)是一种通过检索增强生成的方法,旨在提高大语言模型(LLM)的回答准确性和信息丰富度。RAG 的核心在于在生成回答之前,先从大量文档中检索出相关信息,然后基于这些信息生成回答。这种方法解决了 LLM 存在的幻觉问题、时效性问题和数据安全问题。RAG 的实现包括数据索引、检索和生成三个主要步骤,通过优化检索器和生成器的性能,提高检索结果的质量和生成文本的流畅性。RAG 的优势在于其可扩展性、准确性、可控性、可解释性、多功能性、及时性、定制性和
2024-11-18 22:03:03
831
原创 基于LLM+向量库的文档对话 经验篇
本文详细介绍了基于LLM(大语言模型)和向量库的文档对话系统的设计与实现。首先,文章讨论了为什么大模型需要外挂知识库,并提出了利用外部知识对大模型进行微调的方法,但指出了其成本高昂的缺点。接着,文章介绍了基于LLM和向量库的文档对话系统的核心思路和技术,包括文件加载、文本分割、向量化、问句匹配、prompt设计等。文章还深入探讨了文档分割粒度、向量化模型、prompt模板等关键问题,并提供了多种解决方案和优化策略。最后,文章提供了工程示例和避坑记录,帮助读者更好地理解和实现这一技术。
2024-11-18 07:29:05
821
原创 基于langchain RAG问答应用实战
本文介绍了如何基于langchain框架实现一个简单的RAG问答应用。首先,从百度百科获取藜麦数据,并将其保存到本地文件中。接着,使用langchain的文档加载器和分割器对文档进行处理,将文档分割成固定长度的块。然后,对分割后的数据进行向量化处理,并将其存储到向量数据库中。在问答应用的实现过程中,设计了prompt模板,并使用ConversationalRetrievalChain来处理多轮对话场景。最后,通过示例代码展示了如何构建和运行这个问答应用,并介绍了如何在多轮对话中处理历史对话记录。
2024-11-18 07:14:29
591
原创 多轮对话中让AI保持长期记忆的8种优化方式篇
在多轮对话中,AI保持长期记忆的优化方式包括:获取全量历史对话、滑动窗口获取最近部分对话内容、获取历史对话中实体信息、利用知识图谱获取实体及其联系、对历史对话进行阶段性总结摘要、兼顾最新对话和较早历史对话、回溯最近和最关键的对话信息、基于向量检索对话信息。这些方法在不同场景中应用,如客服、商品咨询、法律咨询、医疗咨询、教育辅导、技术支持、金融咨询和新闻事件查询,帮助AI提供更连贯、快速、准确和个性化的服务。
2024-11-16 23:10:06
2201
原创 大模型(LLMs)langchain篇
LangChain 是一个强大的框架,用于构建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序。它包含多个核心概念,如 Components、Chains、Prompt Templates、Example Selectors、Output Parsers、Indexes、Retrievers、Chat Message History、Agents 和 Toolkits。LangChain 支持多种功能,如针对特定文档的问答、聊天机器人和 Agents。LangChain 模型分为 LLM、聊天模型和
2024-11-16 23:04:53
928
原创 LLMs 训练经验篇
在分布式训练框架选择上,推荐使用 DeepSpeed 而非 Pytorch 原生的 torchrun,尤其在多节点训练时。训练大模型时,建议采用弹性容错和自动重启机制,定期保存模型,并关注 GPU 使用效率。选择模型大小应从小规模开始,逐步尝试大规模模型。环境搭建时注意 Python 和依赖库版本,避免轻易升级 GLIBC 等底层库。对于 AI 加速卡,优先选择 Nvidia 产品,避免国产加速卡的潜在问题。
2024-11-16 22:55:57
395
原创 大模型(LLMs)微调篇
大模型(LLMs)微调面涵盖了从显存需求到优化器选择等多个方面。全参数微调需16-20倍模型大小的显存。SFT后模型“变傻”因数据量少和领域知识灌注不当。指令微调数据应具代表性、适量且平衡。领域模型Continue PreTrain需高质量数据,如技术标准文档。通用能力下降可通过混合通用数据缓解。MIP(Multi-Task Instruction PreTraining)可提升预训练知识量。SFT基座模型选择取决于资源。领域评测集需选择题和开放题结合。词表扩增主要提升解码效率。训练自定义大模型分两阶段:领
2024-11-16 22:41:41
2767
原创 大模型(LLMs)进阶篇
生成式大模型(LLMs)通过大规模参数和上下文引导生成多样化内容。LLMs面临复读机问题,表现为字符、语句和章节级别重复。解决方案包括Unlikelihood Training、引入噪声、Repetition Penalty等。LLaMA模型理论上可处理无限长文本,但受计算资源和模型结构限制。不同领域需各自的大模型以处理特定知识和语言风格。扩展大模型处理长文本的方法包括LongChat、position等比例缩放和Linear Attention。
2024-11-16 22:11:12
1526
原创 LLMs 损失函数篇
该文档系统讲解了深度学习中常见的损失函数,包括其原理、区别、用途以及具体计算方式,并针对潜在问题提供了解决方法,内容涵盖KL散度、交叉熵、信息增益、Softmax等核心概念。
2024-11-16 21:40:18
834
原创 transformers 操作篇
shape是(batch_size, sequence_length, hidden_size),hidden_size=768, 它是模型最后一层输出的隐藏状态。:shape是(batch_size, hidden_size),这是序列的第一个token(classification token)的最后一层的隐藏状态,它是由线性层和Tanh激活函数进一步处理的,这个输出不是对输入的语义内容的一个很好的总结,对于整个输入序列的隐藏状态序列的平均化或池化通常更好。
2024-11-16 21:14:00
352
原创 Attention 升级篇
这类方法减少了查询或键值记忆对的数量,以减少注意力矩阵的大小;训练过程:不会显著影响训练过程,训练速度不变,会引起非常细微的模型效果损失;该系列研究探索了不同的替代多头机制。矩阵与内核特征图,然后以相反的顺序计算。的大小,减少显存占用,提升推理速度。导致 内存开销大,性能是内存受限;参数量规模,会有轻微的模型效果损失。参数量规模,就不会损失模型效果。用并行公式替换了串行,提升了。:每个注意力头都有各自的。,阿联酋推出的开源大模型。都使用了该技术来加速训练。机制可以降低了复杂性;在所有的注意力头上共享。
2024-11-16 21:09:42
813
原创 Layer normalization 篇
可以缓解爆炸式模型更新的问题,把模型更新限制在常数,使得模型训练过程更稳定。效果基本相当,甚至略有提升。缺点:训练不稳定,可能会导致训练崩溃。在深层的梯度范式逐渐增大,导致使用。在深层的梯度范式近似相等,所以使用。,去除掉计算均值进行平移的部分。练更稳定,可以缓解训练不稳定问题。但可能会带来很大的性能损失。的基础上,额外插入了一个。,有利于提升训练稳定性。用来避免值爆炸的问题。
2024-11-16 20:35:33
518
原创 1-大模型(LLMs)基础篇
可以利用生成式人工智能技术来产生新颖和有价值的内容,例如图像、文本、音乐等。需要面对数据质量和安全性的问题,例如数据偏见、数据泄露、数据滥用等。确性和稳定性、如何平衡模型的效益和风险等。需要考虑可解释性、可靠性、可持续性等方面的挑战,例如如何理解和控制模型的行为、如何保证模型。这种预训练和微调的方法可以减少数据标注的成本和时间,提高模型的泛化能力;可以利用大量的无标注数据来训练一个通用的模型,然后再用少量的有标注。去噪自编码器的实现难度更高。自回归语言模型,预训练和下游应用是完全一致的,严格遵守。
2024-11-14 20:15:00
600
1
原创 07-Nginx 日志管理及自动切割
对于程序员、运维来说,日志非常得重要。通过日志可以查看到很多请求访问信息,及异常信息。Nginx 也提供了对日志的强大支持。
2022-11-21 23:54:32
5257
原创 06-Nginx配置详解
用于指定Nginx 缓存的存放路径及相关配置。指定用于存放缓存 key 内存区域名称。其值为 http{}模块中 proxy_cache_path 中的keys_zone 的值。由于Nginx 配置文件是 perl 脚本,所以其是可以使用如下方式自定义变量的。
2022-11-17 08:34:29
705
原创 05-Nginx性能调优
一般情况下并发处理机制有三种:多进程、多线程,与异步机制。Nginx 对于并发的处理同时采用了三种机制。当然,其异步机制使用的是异步非阻塞方式。我们知道Nginx 的进程分为两类:master 进程与 worker 进程。每个 master 进程可以生成多个 worker 进程,所以其是多进程的。每个 worker 进程可以同时处理多个用户请求,每个用户请求会由一个线程来处理,所以其是多线程的。那么,如何解释其“异步非阻塞”并发处理机制呢?
2022-11-09 08:35:45
6508
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人