Press "Enter" to skip to content

Tag: Large Language Models

使用LangChain表达语言和LLM的验证实现链 (shǐyòng LangChain biǎodá yǔyán hé LLM de yànzhèng shíxiàn liàn)

介绍 在人工智能(AI)领域中,对精准度和可靠性的不断追求带来了突破性的创新。这些策略对于引领生成模型提供相关答案至关重要。生成AI在不同复杂应用中的使用的最大障碍之一就是幻觉。Meta AI研究发布的最新论文《链式验证减少大型语言模型中的幻觉》介绍了一种简单的技术,可以直接减少文本生成时的幻觉。 本文将探讨幻觉问题,并介绍论文中提到的CoVe概念,以及如何使用LLMs、LangChain框架和LangChain表达语言(LCEL)来实现它以创建自定义链。 学习目标 了解LLMs中的幻觉问题。 了解缓解幻觉的链式验证(CoVe)机制。 了解CoVe的优点和缺点。 学习使用LangChain来实现CoVe,并理解LangChain表达语言。 本文是作为数据科学博文马拉松的一部分发表的。 LLMs中的幻觉问题是什么? 让我们首先尝试了解LLM中的幻觉问题。使用自回归生成方法,LLM模型根据之前的上下文来预测下一个单词。对于频繁主题,模型已经看过足够多的示例,可以自信地为正确的标记分配高概率。然而,由于模型没有接受过关于异常或陌生主题的训练,它可能会以高置信度提供不准确的标记。这导致了看似合理但错误的幻觉信息。 下面是Open AI的ChatGPT中出现幻觉的一个例子,我询问了一本由印度作者于2020年出版的书籍《Small Things的经济学》,但模型却带着充分的自信回答错误,并将其与另一位诺贝尔奖获得者阿比吉特·巴纳吉的书《Poor Economics》混淆。 链式验证(CoVe)技术 CoVe机制结合了提示和一致性检查,为LLMs创建了一个自我验证系统。下面是论文中列出的主要步骤。我们将逐一详细了解每个步骤。 链式过程概述 生成基线响应:给定查询,使用LLM生成响应。 计划验证:给定查询和基线响应,生成一系列验证问题的列表,这些问题可以帮助自我分析是否存在原始响应中的任何错误。 执行验证:依次回答每个验证问题,因此检查答案与原始响应之间的一致性或错误。 生成最终经过验证的响应:根据发现的不一致性(如果有的话),生成一个经过修订的响应,并纳入验证结果。 使用详细示例理解链式过程 生成初始响应…

Leave a Comment

“Hugging Face 上十大大型语言模型”

介绍 Hugging Face已经成为自然语言处理爱好者和开发人员的宝库,提供了各种预训练语言模型的多样集合,可以轻松集成到各种应用中。在大语言模型(LLM)的世界中,Hugging Face作为首选平台脱颖而出。本文探讨了Hugging Face上提供的前十个LLM模型,每个模型都对语言理解和生成的发展格局做出了贡献。 让我们开始吧! Mistral-7B-v0.1 Mistral-7B-v0.1是一个拥有70亿参数的大语言模型(LLM)。它被设计为预训练生成文本模型,并以在各个测试领域超越Llama 2 13B设置的基准而著称。该模型基于变形器架构,并采用了一些特定的注意机制选择,如分组查询注意力和滑动窗口注意力。Mistral-7B-v0.1还使用了字节回退的BPE标记器。 用途和应用 文本生成:Mistral-7B-v0.1非常适合需要高质量文本生成的应用,如内容创作、创意写作或自动化叙事。 自然语言理解:凭借其先进的变形器架构和注意机制,该模型可应用于涉及自然语言理解的任务,包括情感分析和文本分类。 语言翻译:鉴于其生成能力和大参数规模,该模型在语言翻译任务中可能表现出色,其中细致入微且上下文准确的翻译至关重要。 研究和开发:研究人员和开发人员可以将Mistral-7B-v0.1作为基础模型,用于各种自然语言处理项目的进一步实验和微调。 您可以在此处访问此LLM。 Starling-LM-11B-alpha 这个大型语言模型(LLM)有110亿参数,来自NurtureAI。它利用OpenChat 3.5模型作为基础,并通过AI反馈增强学习(RLAIF)进行微调,这是一种新颖的奖励训练和策略调整流程。该方法依赖于人工标记的排序数据集来指导训练过程。 用途和应用 Starling-LM-11B-alpha是一个有潜力改变我们与机器互动方式的大型语言模型。其开源特性、强大的性能和多样化的功能使其成为研究人员、开发人员和创意专业人员的宝贵工具。 自然语言处理(NLP)应用:为聊天机器人和虚拟助手生成逼真的对话、编写创意文本格式、翻译语言和总结文本。 机器学习研究:为新的NLP算法和技术的发展做出贡献。 教育和培训:提供个性化学习体验和生成互动内容。 创意产业:生成剧本、诗歌、歌词和其他创意内容。…

Leave a Comment

LLM革命:改变语言模型

介绍 在过去几年中,语言模型领域经历了一场巨大的演变,特别是随着大规模语言模型(LLMs)的出现。这些模型具备数十亿个参数和对自然语言的深刻理解,对于改变人工智能领域起到了关键作用。今天,我们将探索这场革命,重点介绍从闭源到开源LLMs的转变,精细调整的重要性以及最近出现的高效调整技术的发展。 学习目标: 了解闭源和开源LLMs的区别。 了解LLMs中的传统和参数高效调整。 探索不同的参数高效调整策略。 学习使用Ludwig进行高效调整。 闭源vs开源LLMs:选择正确的方法 语言模型领域存在着闭源模型(如OpenAI的ChatGPT、GPT 3.5和GPT 4)和开源变种(如Meta、Google和各种研究实验室提供的)之间的两极分化。闭源LLMs由于其管理基础设施和快速概念验证能力,成为一个引人注目的起点。这些模型提供高质量的预训练数据集,并且无需设置基础设施,使得那些探索LLMs能力的人可以轻松入门。 然而,尽管闭源LLMs易于获取,但它们存在根本性的局限性。它们缺乏模型所有权和极少的自定义能力,特别是对于数据隐私和模型控制至关重要的领域,这使得闭源LLMs不太适合长期投资。相比之下,开源LLMs提供了一个有希望的替代方案。它们使得完全拥有模型和自定义成为可能,并便利地获得开源空间中的创新发展。而付出的代价则是主机费用和困难。 传统微调和参数高效微调 微调成为了最大化LLMs潜力的关键过程,特别是考虑到特定领域任务的情况下。闭源模型常常缺乏所需的灵活性进行微调,而开源模型则可以完全控制这个过程。微调允许通过更新模型权重将预训练的LLMs适应于特定任务,从而提高性能。这是将这些通用模型个性化为专用应用的手段,为独特任务优化性能。 关于微调和类似检索增强生成(RAG)模型之间的辩论,重点在于是否需要针对具体任务进行定制的模型,而非通用智能模型。开源LLMs的性质允许自定义和高效微调以实现卓越的任务特定性能。 传统微调涉及更新所有模型参数,这一过程已被证明是资源密集型、耗时且不总能获得最佳的任务特定性能。然而,参数高效微调的最新创新取得了突破。通过冻结预训练LLM并仅训练一小部分特定任务层(不到总模型权重的1%),高效微调变得既节约资源又更有效。 向参数高效微调的转变显著影响了LLMs如何适应特定任务。通过仅关注训练少量特定任务层,这个过程变得更具成本效益和高效性。这种创新方法在较小数据集上实现了最佳任务特定性能,展示了开源LLMs相对于闭源模型的潜力。 Meta等人的LIMA论文等研究支持了在较小数据集上进行微调可以超越GPT 4等闭源模型性能的观点。这种通过较少数据实现更多的概念的概念突出了开源LLMs在适当微调下的效率和效果。 理解高效训练策略 在利用预训练模型进行特定任务时,LoRA(低秩自适应)和QLoRA(量化低秩自适应)已经成为有效微调大型语言模型(LLMs)的创新方法。这些方法对于将预训练模型定制为专用任务而最小化附加参数非常重要。 LoRA:对体系结构的深入研究 LoRA的体系结构涉及低秩分解,通过将变压器架构中的大型权重矩阵分解为较小矩阵来实现。在变压器的上下文中,LoRA专注于查询,键和值线性投影。 通常,这些线性投影具有大的权重矩阵,例如1024×1024,LoRA将其分解为较小的矩阵,例如1024×8和8×1024。这些较小的矩阵相乘,可以产生原始的维度。这种压缩大大减少了可调参数的数量,约为总LLM参数的一半到1%。 在变压器体系结构的上下文中,LoRA为键和查询投影层集成了适配器模块。这些通过低秩分解构造的适配器保持了原始形状,同时使其能够插入到变压器层中。基本层保持冻结状态,只有适配器权重是可训练的。…

Leave a Comment

“机器学习工程师的LLMOps入门指南”

介绍 OpenAI发布的ChatGPT引发了人们对大型语言模型(LLMs)的兴趣,现在人人都在谈论人工智能。但这不仅仅是友好的对话;机器学习(ML)社区引入了一个新术语叫做LLMOps。我们都听说过MLOps,但LLMOps又是什么呢?嗯,这就是关于如何在整个生命周期中处理和管理这些强大的语言模型的一切。 LLMs正在改变我们创建和维护基于人工智能的产品的方式,这种转变导致了对新工具和最佳实践的需求。在本文章中,我们将详述LLMOps及其背景。我们还将探讨如何使用LLMs构建人工智能产品与传统机器学习模型的区别。此外,由于这些区别,我们还将比较MLOps(机器学习运营)与LLMOps的不同之处。最后,我们将讨论在LLMOps领域可以预期的令人兴奋的发展。 学习目标: 深入了解LLMOps及其发展。 通过示例学习使用LLMOps构建模型。 了解LLMOps与MLOps的区别。 对LLMOps的未来有所了解。 本文作为数据科学博文马拉松的一部分发表。 什么是LLMOps? LLMOps代表着大型语言模型操作,类似于MLOps,但专门为大型语言模型(LLMs)设计。它需要使用新的工具和最佳实践来处理与LLM驱动的应用程序有关的一切,从开发到部署和持续维护。 为了更好地理解这个概念,让我们来解释一下LLMs和MLOps的含义: LLMs是可以生成人类语言的大型语言模型。它们拥有数十亿的参数,并且是在数十亿的文本数据上进行训练的。 MLOps(机器学习运营)是一组用于管理机器学习驱动应用程序生命周期的工具和实践。 现在我们已经解释了基本概念,让我们更深入地探讨这个话题。 关于LLMOps的热潮是什么? 首先,像BERT和GPT-2这样的LLMs自2018年以来就已经存在。然而,现在,在近五年后,我们才遇到了LLMOps这个概念的迅猛崛起。主要原因是LLMs在2022年12月发布ChatGPT时受到了很多媒体的关注。 自那时以来,我们看到了许多不同类型的应用程序充分利用LLMs的强大能力。这包括从熟悉的ChatGPT之类的聊天机器人,到用于编辑或摘要的更个人化的写作助手(例如Notion AI),以及用于文案撰写的高效助手(例如Jasper和copy.ai)。它还包括用于编写和调试代码的编程助手(例如GitHub Copilot)、测试代码的助手(例如Codium AI)以及识别安全问题的助手(例如Socket AI)。 随着越来越多的人将LLM驱动的应用程序开发和投入生产,人们开始贡献他们的经验。 “用LLMs做一些酷炫的东西很容易,但让它们适合投入生产非常困难。” –…

Leave a Comment

“文本转语音 – 训练您的大型语言模型”

介绍 想象一个世界,人工智能可以接受音乐家的语音指令,并将其转化为美妙的、旋律优美的吉他声音。这不是科幻小说,而是源自于开源社区“AI之声”的突破性研究。在本文中,我们将探讨在生成式人工智能吉他声音的“文本到声音”领域创建大型语言模型(LLM)的旅程。我们将讨论所面临的挑战以及为实现这个愿景所开发的创新解决方案。 学习目标: 了解在“文本到声音”领域创建大型语言模型的挑战和创新解决方案。 探索在开发基于语音指令生成吉他声音的人工智能模型时面临的主要挑战。 深入了解使用ChatGPT和QLoRA模型等人工智能进展改进生成式人工智能的未来方法。 问题陈述:音乐家的意图识别 问题是使人工智能能够根据音乐家的语音指令生成吉他声音。例如,当音乐家说“给我你明亮的吉他声音”时,生成式人工智能模型应该理解意图并产生明亮的吉他声音。这需要上下文和领域特定的理解,因为像“明亮”这样的词在一般语言中有不同的含义,但在音乐领域代表特定的音色质量。 数据集挑战和解决方案 训练大型语言模型的第一步是拥有与模型的输入和期望输出相匹配的数据集。在确定正确的数据集以训练我们的LLM以理解音乐家的指令并以正确的吉他声音作出回应时,我们遇到了几个问题。以下是我们如何处理这些问题。 挑战1:吉他音乐领域数据集准备 一个重大的挑战是缺乏特定于吉他音乐的可用数据集。为了克服这个问题,团队不得不创建自己的数据集。这个数据集需要包括音乐家之间讨论吉他声音的对话,以提供上下文。他们利用了Reddit的讨论等资源,但发现需要扩大这个数据池。他们采用了数据增强、使用BiLSTM深度学习模型和生成基于上下文的增强数据集等技术。 挑战2:数据注释和创建标记数据集 第二个挑战是对数据进行注释以创建一个带有标签的数据集。像ChatGPT这样的大型语言模型通常在通用数据集上进行训练,需要对特定领域的任务进行微调。例如,“明亮”可以指光线或音乐质量。团队使用了一种名为Doccano的注释工具,教会模型正确的上下文。音乐家为乐器和音色质量给数据打上了标签。由于需要领域专业知识,注释工作具有挑战性,但团队通过应用主动学习方法对数据进行自动标注来部分解决了这个问题。 挑战3:建模作为机器学习任务-命名实体识别(NER)方法 确定正确的建模方法是另一个障碍。它应该被视为识别主题还是实体?团队确定了命名实体识别(NER)方法,因为它使模型能够识别和提取与音乐相关的实体。他们采用了spaCy的自然语言处理流水线,利用了HuggingFace的RoBERTa等转换器模型。这种方法使生成式人工智能能够在音乐领域中识别像“明亮”和“吉他”这样的词的上下文,而不是它们的一般含义。 模型训练的挑战和解决方案 模型训练对于开发有效和准确的人工智能和机器学习模型至关重要。然而,它通常会带来一些挑战。在我们的项目背景下,当我们训练我们的转换器模型时,我们遇到了一些独特的挑战,我们不得不找到创新的解决方案来克服这些挑战。 过拟合和内存问题 在模型训练过程中,我们遇到的主要挑战之一是过拟合。过拟合是指模型过于专注于拟合训练数据,导致在未见或真实世界数据上表现不佳。由于我们的训练数据有限,过拟合是一个真正的问题。为了解决这个问题,我们需要确保我们的模型能够在各种真实世界场景中表现良好。 为了解决这个问题,我们采用了数据增强技术。我们创建了四个不同的测试集:一个用于原始训练数据,另外三个用于在不同上下文中进行测试。在基于内容的测试集中,我们改变了整个句子,而在基于上下文的测试集中保留了音乐领域的实体。使用未见过的数据集进行测试也对验证模型的鲁棒性起到了至关重要的作用。 然而,我们的旅程并不没有遇到与内存相关的障碍。使用流行的自然语言处理库spaCy训练模型会引发内存问题。最初,由于内存限制,我们仅为评估分配了2%的训练数据。将评估集扩大到5%仍然导致内存问题。为了解决这个问题,我们将训练集分成了四部分并分别进行训练,既解决了内存问题又保持了模型的准确性。 模型性能和准确性 我们的目标是确保模型在实际场景中表现良好,并且我们所达到的准确性不仅仅是由于过拟合造成的。由于在广泛的数据上进行了预训练的大型语言模型RoBERTa,训练过程非常快速。spaCy进一步帮助我们找到了适合我们任务的最佳模型。 结果是令人鼓舞的,准确率始终超过95%。我们使用了各种测试集进行了测试,包括基于上下文和基于内容的数据集,结果准确率令人印象深刻。这证实了尽管训练数据有限,模型学习能力快速。…

Leave a Comment