当前位置: 首页 > article >正文

【杂谈】-50+个生成式人工智能面试问题(二)

文章目录

    • 2、生成式AI面试问题与大型语言模型(LLM)相关
      • Q5.什么是大语言模型(LLM)?
      • Q6. LLMs用于什么?
      • Q7. LLMs的一些优势和局限性是什么?
      • Q8. 不同的LLM架构有哪些?
      • Q9. LLMs中的幻觉是什么?
      • Q10. 如何使用幻觉?
      • Q11. 如何减轻幻觉?

2、生成式AI面试问题与大型语言模型(LLM)相关

Q5.什么是大语言模型(LLM)?

答案:大型语言模型(LLM)是一种可以识别和生成文本等任务的人工智能(AI)程序。LLMs在庞大的数据集上进行训练——因此得名“大型”。LLMs基于机器学习技术构建;具体来说,它们使用一种称为变换器模型的神经网络类型。

简单来说,LLM是一个计算机程序,它已经通过大量实例学习,能够识别和理解复杂的数据,如人类语言。成千上万甚至数百万兆字节的互联网文本被用来训练大量的LLMs。然而,LLM的程序员可能会选择使用更加精心挑选的数据集,因为样本的质量影响LLM成功学习自然语言的效果。

基础LLM(大型语言模型)是一种预训练模型,它在庞大且多样的文本数据语料库上进行训练,以理解和生成人类语言。这种预训练使模型能够学习语言的结构、细微差别和模式,但这只是一般意义上的,没有针对任何特定任务或领域进行定制。例如GPT-3和GPT-4就是基础LLM的例子。

微调后的LLM是经过额外训练的基础LLM,它在更小的特定任务数据集上进行训练,以提高其在特定应用或领域的性能。这种微调过程调整了模型的参数,使其更好地处理特定任务,如情感分析、机器翻译或问答,从而更加有效和准确。

Q6. LLMs用于什么?

答案:LLMs可以用于训练执行众多任务。它们在生成式AI中的应用是最著名的应用之一,其中它们可以根据提示或问题生成文本。例如,公开可用的LLM ChatGPT可以根据用户输入生成诗歌、文章和其他文本格式。

任何大型、复杂的数据集都可以用来训练LLMs,包括编程语言。一些LLMs可以帮助程序员编写代码。它们可以根据请求编写函数——或者,给定一些代码作为起点,它们可以完成程序的编写。LLMs还可以用于以下领域:

  • 情感分析
  • DNA研究
  • 客户服务
  • 聊天机器人
  • 在线搜索

现实世界中的LLMs示例包括OpenAI的ChatGPT、Google的Gemini和Meta的Llama。GitHub的Copilot也是一个例子,但它针对的是编码而不是自然人类语言。

Q7. LLMs的一些优势和局限性是什么?

答案:LLMs的一个关键特点是它们能够响应不可预测的查询。传统计算机程序接收用户的命令,这些命令必须符合其接受的语法或来自特定输入集合。一个视频游戏有一组有限的按钮;一个应用程序有一组有限的事情供用户点击或输入,而编程语言是由精确的if/then语句组成的。

另一方面,LLM可以利用数据分析和自然语言响应,对非结构化提示或查询提供逻辑回答。例如,LLM可能会回答“历史上最伟大的四支放克乐队是哪些?”这样的问题,并给出四个这样的乐队以及为什么它们是最佳乐队的有力论证,但标准计算机程序无法识别此类提示。

然而,LLM提供的信息准确性仅取决于它们所消费的数据质量。如果它们被提供了错误信息,它们将对用户的询问作出误导性回应。LLM偶尔也会“幻想”,在无法提供精确回答时编造事实。例如,2022年新闻媒体Fast Company向ChatGPT询问特斯拉最近的财务季度情况。尽管ChatGPT给出了一篇可理解的新闻文章,但其中很大一部分信息是虚构的。

Q8. 不同的LLM架构有哪些?

答案:Transformer架构因其并行性和容量被广泛用于LLMs,使得语言模型能够扩展到数十亿甚至数万亿个参数。

现有的LLMs大致可以分为三类:编码器-解码器、因果解码器和前缀解码器。

1)编码器-解码器架构
基于标准的Transformer模型,编码器-解码器架构由两个堆叠的Transformer块组成——一个编码器和一个解码器。

编码器利用多头自注意力层来编码输入序列并生成潜在表示。解码器对这些表示进行交叉注意力处理并生成目标序列。

像T5和BART这样的编码器-解码器PLMs在各种NLP任务中表现出了有效性。然而,只有少数LLMs(如Flan-T5)是使用这种架构构建的。

2)因果解码器架构
因果解码器架构引入了一个单向注意力掩码,允许每个输入标记只能关注过去的标记和自己。解码器以相同的方式处理输入和输出标记。

GPT系列模型,包括GPT-1、GPT-2和GPT-3,都是基于这种架构构建的代表语言模型。GPT-3展示了卓越的上下文学习能力。

包括OPT、BLOOM和Gopher在内的各种LLMs广泛采用了因果解码器。

3)前缀解码器架构
前缀解码器架构,也称为非因果解码器,修改了因果解码器的掩码机制,以实现对前缀标记的双向注意力和对生成标记的单向注意力。

与编码器-解码器架构类似,前缀解码器可以双向编码前缀序列,并使用共享参数自回归地预测输出标记。

与其从头开始训练,不如将因果解码器转换为前缀解码器以更快收敛。基于前缀解码器的LLMs包括GLM130B和U-PaLM。

所有三种架构类型都可以使用专家混合(MoE)扩展技术进行扩展,该技术为每个输入稀疏激活一部分神经网络权重。

这种方法已在Switch Transformer和GLaM等模型中使用,增加专家数量或总参数量已显示出显著的性能提升。

4)仅编码器架构
仅编码器架构只使用编码器堆栈的Transformer块,通过自注意力机制专注于理解和表示输入数据。这种架构适用于需要分析和解释文本而非生成文本的任务。

关键特点:

  • 利用自注意力层编码输入序列。
  • 为每个标记生成丰富的上下文嵌入。
  • 针对文本分类和命名实体识别(NER)等任务进行了优化。
  • 仅编码器模型示例:
    • BERT(来自Transformer的双向编码器表示):通过联合左右上下文来理解上下文表现出色。
    • RoBERTa(稳健优化的BERT预训练方法):通过优化训练程序提高了BERT的性能。
    • DistilBERT:BERT的一个更小、更快、更高效的版本。

Q9. LLMs中的幻觉是什么?

答案:大型语言模型(LLMs)被认为会有“幻觉”。这种行为是指模型说出虚假的知识,就像它是准确的一样。大型语言模型是一种经过训练的机器学习模型,它基于你的提示生成文本。模型的训练提供了一些从我们提供的培训数据中获取的知识。很难判断模型记住了哪些知识或没有记住哪些知识。当模型生成文本时,它无法判断生成的内容是否准确。

在LLMs的背景下,“幻觉”指的是模型生成错误、荒谬或不真实的文本的现象。由于LLMs不是数据库或搜索引擎,它们不会引用其响应的依据。这些模型根据你提供的提示生成文本,作为推断的结果。推断的结果不一定由任何培训数据支持,但与提示最相关。

即使模型非常复杂,LLMs中的幻觉也不过如此。从高层次来看,幻觉是由于模型对上下文的理解有限造成的,因为模型必须将提示和培训数据转化为抽象,其中可能会丢失一些信息。此外,培训数据中的噪声也可能提供有偏差的统计模式,导致模型以你意想不到的方式响应。

Q10. 如何使用幻觉?

答案:幻觉可以被视为大型语言模型的一个特点。如果你希望模型具有创造力,你希望看到它们产生幻觉。例如,如果你要求ChatGPT或其他大型语言模型为你提供一个幻想故事的情节,你希望它创造一个新颖的角色、场景和故事情节,而不是复制已有的一个。这只有在模型不搜索培训数据的情况下才是可行的。

当你寻求多样性时,你可能也希望出现幻觉,例如在征求想法时。这类似于要求模型为你提出想法。尽管不完全一样,你希望提供在培训集中可以找到的当前概念的变化。幻觉让你可以考虑替代选项。

许多语言模型都有一个“温度”参数。你可以通过API而不是网络界面来控制ChatGPT中的温度。这是一个随机参数。较高的温度可以引入更多的幻觉。

Q11. 如何减轻幻觉?

答案:语言模型不是数据库或搜索引擎。幻觉是不可避免的。让我感到恼怒的是,模型在文本中产生了难以发现的错误。

如果错觉是由受污染的训练数据引起的,你可以清理数据并重新训练模型。然而,大多数模型太大而无法独立训练。使用通用硬件甚至可能无法对既定模型进行微调。如果出现严重错误,要求模型重新生成并在结果中加入人工审核将是最好的缓解措施。

控制创作是防止幻觉的另一种方法。它包括在提示中给予模型足够的信息和限制。这样,模型产生幻觉的能力就受到了限制。提示工程用于定义模型的角色和上下文,指导生成过程并防止无限制的幻觉。


http://www.kler.cn/a/501356.html

相关文章:

  • GRE技术的详细解释
  • 微信小程序实现长按录音,点击播放等功能,CSS实现语音录制动画效果
  • 用vscode写latex-1
  • java项目之房屋租赁系统源码(springboot+mysql+vue)
  • MySQL 如何实现可重复读?
  • Java 继承
  • POI在word中插入图片
  • git去除.idea
  • 向量检索的算法-精确向量检索
  • 线程安全问题介绍
  • 什么是卷积网络中的平移不变性?平移shft在数据增强中的意义
  • 1月11日
  • JuiceFS 2024:开源与商业并进,迈向 AI 原生时代
  • MVC执行流程
  • 如何将文件从 C 盘传输到 D 盘/移动硬盘
  • 【MySQL数据库】基础总结
  • TCP/IP 前传:破晓与传奇
  • 基于单片机的公交车报站系统设计
  • windows:下RabbitMQ安装后,无法进入web管理页面
  • 青少年编程与数学 02-006 前端开发框架VUE 22课题、状态管理
  • 基于大语言模型的组合优化
  • 【Java 学习】Java的生命之源:走进Object类的神秘花园,解密Object类的背后故事
  • go语言学习(数组,切片,字符串)
  • ES6的高阶语法特性
  • OpenCV相机标定与3D重建(51)对 3x3 矩阵进行 RQ 分解(RQ Decomposition)函数RQDecomp3x3()的使用
  • Oracle Dataguard(主库为双节点集群)配置详解(3):配置主库