当前位置:   article > 正文

使用Quarkus和LangChain4j,LLM在Java中使用_langchain4j 类似

langchain4j 类似

ChatGPT以及类似的聊天机器人是被称为大型语言模型(LLM)的一种特殊类型的软件,它极大地改变了自然语言处理(NLP)领域,以提供更新和不太常见的任务,例如问答、文本生成和摘要等。所有这些术语听起来非常复杂,虽然很多文章致力阐明LLM的巨大飞跃,但本文试图了解LLM的工作原理,特别是如何在Java中使用它们,突出LLM引人注目的可能性以及存在的一些潜在问题。

LLM发展历史

自然语言处理(NLP)指的是构建能够识别、理解和生成人类语言文本的机器。对于许多人来说,这听起来像是一种新技术,但实际上它与计算机诞生在同一时期。在信息时代初期,能够自动将一种人类语言翻译成另一种语言是程序员的梦想。

艾伦·图灵在1950年发表的一篇论文中指出,如果一台机器能产生与人类无法区别的响应,那么它就可以被认为是“智能机器”。这种被称为图灵测试的方法,现在被认为是所谓的机器“智能”的一种不完整案例,因为它很容易被现代程序实现,这些程序是为了模仿人类的语言而设计的。

世界上首个NLP程序采用了一种简单的方法,使用一组规则和启发式来模仿会话。1966年,麻省理工学院(MIT)教授Joseph Weizenbaum发布了历史上第一个聊天机器人Eliza。基于通用语言模式匹配,该程序通过提出开放式的问题,并对它不“理解”的句子给出通用的回答,例如“请继续”,创造了一种与人会话的假象。

在接下来的几十年,基于规则的文本解析和模式匹配仍然是最常见的NLP方法。到20世纪90年代,NLP发生了一个重要的范式转变,包括采用统计方法取代基于规则的方法。与试图定义和构建语法的原有模型不同,新模型旨在通过“训练”来“学习”语言模式。现在,大量文档被用来为NLP程序提供数据,以便“教授”它们一个给定的语言模型。因此,人们开始为文本生成、分类或其他自然语言任务“训练”程序,一开始,这个过程是基于输入序列的,模型将这些输入序列分解为令牌,通常是单词或部分单词,然后再转换为训练算法给出的相关数学表示。最后,将这种特殊的表示形式转换回令牌,以生成可读的结果。这种来回的令牌化过程称为“编码-解码”。

NLP研究人员在2014年发现了另一种替代传统方法,即通过编码器-解码器模型逐条传递序列。这一新方法引起了人们的注意,它包括让解码器搜索完整的输入序列,并试图从语言模型的角度找到最相关的的部分。几年后,谷歌公司发表了一篇题为《注意力就是你所需要的一切》的论文。其研究结果表明,基于这种新的注意力原理的模型速度更快,并且可以并行化,它们被称为Transformers。

Transformers标志着LLM的诞生,因为它们使得训练更大数据集的模型成为可能。2018年,OpenAI公司推出了第一个名为生成式预训练Transformers (GPT)的LLM。这个LLM是一个基于Transformers的LLM,它使用大量未标记的数据进行训练,然后根据特定任务进行微调,例如机器翻译、文本分类、情感分析等。而在这一年,谷歌公司推出了另一个LLM ——BERT (基于Transformers的双向编码器表示),它使用了更大的训练数据量,包括数十亿个单词和1亿多个参数。

与以前的NLP程序不同,这些LLM并不针对特定任务。与其相反,它们只是被训练来预测最适合给定模型特定场景的令牌。它们被应用于不同的领域,并正在成为人们日常生活中不可或缺的一部分。例如苹果的Siri、亚马逊的Alexa或Google Home这些会话代理能够倾听用户的询

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/787033
推荐阅读
相关标签
  

闽ICP备14008679号