大模型的经典面试问题及答案
大语言模型(LLM)在人工智能中变得越来越重要,在各个行业都有应用。随着对大语言模型专业人才需求的增长,本文提供了一套全面的面试问题和答案,涵盖了基本概念、先进技术和实际应用。如果你正在为面试做准备,或者想扩展你的知识,这篇文章也许可以帮助到你。
一、基础面试问题
要理解LLM,重要的是从基本概念开始。这些基础问题涵盖了架构、关键机制和典型挑战等方面,为学习更高级主题提供了坚实的基础。
问题1:什么是Transformer架构,它在LLM中是如何使用的?
Transformer架构是Vaswani等人于2017年推出的一种深度学习模型,旨在以比递归神经网络(RNN)和长短期记忆(LSTM)等先前模型更高的效率和性能处理顺序数据。它依赖于自注意力机制(self-attention mechanisms)来并行处理输入数据,使其具有高度的可扩展性,并能够捕获长期依赖关系。在LLM中,Transformer架构构成了骨干,使模型能够高效地处理大量文本数据,并生成上下文相关和连贯的文本输出。
问题2:请解释LLM中“上下文窗口”的概念及其含义?
LLM中的上下文窗口是指模型在生成或理解语言时可以一次考虑的文本范围(就标记或单词而言)。上下文窗口的意义在于它对模型生成逻辑和相关响应的能力的影响。更大的上下文窗口允许模型考虑更多的上下文,从而更好地理解和生成文本,特别是在复杂或冗长的对话中。然而,它也增加了计算要求,使其在性能和效率之间取得了平衡。
问题3:大模型的预训练目标是什么,它们是如何工作的?
LLM的常见预训练目标包括掩码语言建模(MLM)和自回归语言建模。在MLM中,对句子中的随机单词进行掩码,并训练模型根据周围上下文预测掩码单词。这有助于模型理解双向上下文。
自回归语言建模涉及预测序列中的下一个单词,并训练模型一次生成一个标记的文本。这两个目标都使模型能够从大型语料库中学习语言模式和语义,为微调特定任务提供了坚实的基础。
问题4:什么是微调(fine-tuning),为什么它很重要?
LLM中的微调(fine-tuning)是依据预训练的模型,在较小的特定任务数据集上对其进行进一步训练。此过程有助于模型理解并适应在特定应用程序的细微差别,从而提高性能。这是一项重要的技术,因为它利用了在预训练期间获得的广泛语言知识,同时修改模型以在特定应用程序上表现良好,如情感分析、文本摘要或问答。
问题5:使用LLM有哪些常见的挑战?
使用LLM带来了一些挑战,包括:
-
计算资源:LLM需要大量的计算能力和内存,使训练和部署资源密集。
-
偏见和公平性:LLM可能会无意中学习和传播训练数据中存在的偏见,导致不公平或有偏见的输出。
-
可解释性:由于LLM的复杂性和不透明性,理解和解释LLM做出的决定可能很困难。
-
数据隐私:使用大型数据集进行训练可能会引发对数据隐私和安全的担忧。
-
成本:LLM的开发、训练和部署可能很昂贵,限制了小型组织的可访问性。
问题6:LLM如何处理词汇表外(out-of-vocabulary , OOV)单词或tokens?
LLM使用子词标记化(例如字节对编码或BPE以及WordPiece)等技术处理词汇表外(OOV)单词或标记。这些技术将未知单词分解为模型可以处理的更小的已知子单词单元。这种方法确保了即使在训练过程中看不到单词,模型仍然可以根据其组成部分理解和生成文本,从而提高了灵活性和鲁棒性。
问题7:嵌入层是什么,为什么他们在LLM如此重要?
嵌入层是LLM中的一个重要组成部分,用于将分类数据(如单词)转换为密集的向量表示。这些嵌入通过在连续向量空间中表示单词来捕捉单词之间的语义关系,其中相似的单词表现出更强的邻近性。在LLM中嵌入层的重要性包括:
-
降维:它们降低了输入数据的维度,使模型更易于处理。
-
语义理解:嵌入捕获了单词之间细微的语义含义和关系,增强了模型理解和生成类人文本的能力。
-
迁移学习:预训练的嵌入可以在不同的模型和任务中使用,为语言理解提供了坚实的基础,可以针对特定的应用进行微调。
二、中级面试问题
基于基本概念,中级问题深入研究了用于优化LLM性能的实用技术,并解决了与计算效率和模型可解释性相关的挑战。
问题8:解释LLM中的注意力概念及其实现方式?
LLM中的注意力概念是一种方法,它允许模型在进行预测时专注于输入序列的不同部分。它动态地为输入标记分配权重,突出显示与当前任务最相关的标记。这是使用自我注意实现的,其中模型计算每个tokens相对于序列中所有其他tokens的注意分数,使其能够捕获依赖关系,而不管它们的距离如何。自注意力机制(self-attention mechanism)是Transformer架构的核心组件,使其能够高效地处理信息并捕获长期关系。
问题9:在LLM处理过程中,标记化(tokenization)的作用是什么?
Tokenization将原始文本转换为称为tokens的较小单位,可以是单词、子单词或字符。Tokenization在LLM处理中的作用至关重要,因为它将文本转换为模型可以理解和处理的格式。有效的tokenization确保模型能够处理各种输入,包括罕见词和不同语言,通过将它们分解为可管理的部分。这一步对于优化训练和推理是必要的,因为它使输入标准化,并帮助模型学习数据中有意义的模式。
问题10:如何衡量大模型的表现?
研究人员和从业者已经开发了许多评估指标来衡量大模型的表现。常见指标包括:
-
困惑度:衡量模型预测样本的能力,通常用于语言建模任务。
-
准确性:用于文本分类等任务,以衡量正确预测的比例。
-
F1分数:精确度和召回率的调和平均值,用于命名实体识别等任务。
-
BLEU(Bilingual Evaluation Understudy)评分:衡量机器生成的文本与参考翻译的质量,参考翻译通常用于机器翻译。
-
ROUGE(Recall-Oriented Understudy for Gisting Evaluation):一组用于评估生成文本和参考文本之间重叠的指标,通常用于摘要任务。它们有助于量化模型的有效性,并指导进一步的改进。
问题11:控制LLM输出的一些技术是什么?
可以使用几种技术来控制LLM的输出,包括:
-
温度:在采样过程中调整此参数可以控制输出的随机性。较低的温度会产生更确定的输出,而较高的值会返回更多不同的结果。
-
Top-K采样:将采样池限制在前K个最可能的标记上,降低生成相关性较低或无意义文本的可能性。
-
Top-P(核)采样:从累积概率超过阈值P的最小集合中选择令牌,平衡多样性和一致性。
-
提示工程:通过提供上下文或示例,精心设计特定的提示,引导模型生成所需的输出。
-
控制标记:使用特殊标记向模型发出信号,以生成特定样式、格式或内容类型的文本。
问题12:有哪些方法可以降低LLM的计算成本?
为了降低LLM的计算成本,我们可以采用:
-
模型修剪:从模型中删除不太重要的权重或神经元,以减少其大小和计算要求。
-
量化:将模型权重从高精度(例如32位浮点)转换为低精度(例如8位整数)可以减少内存使用并加快推理速度。
-
蒸馏:训练一个较小的模型(学生)来模仿一个较大的、预先训练好的模型(教师)的行为,以更少的资源实现类似的性能。
-
稀疏注意力:使用稀疏变换器等技术将注意力机制限制在tokens的子集上,可以减少计算负载。
-
高效架构:开发和使用专门设计用于在保持性能的同时最小化计算需求的高效模型架构,如Reformer或Longformer。
问题13:LLM中,模型可解释性的重要性是什么,如何实现?
模型的可解释性对于理解大模型如何做出决策至关重要,这对于建立信任、确保问责制以及识别和减轻偏见非常重要。实现可解释性可能涉及不同的方法,例如:
-
注意力可视化:分析注意力权重,看看模型关注的是输入的哪些部分。
-
突出图:突出显示对模型输出影响最大的输入特征。
-
模型不可知方法:使用LIME(局部可解释模型不可知解释)等技术来解释单个预测。
-
逐层相关性传播:将模型的预测分解为每一层或神经元的贡献。
问题14:LLM如何处理文本中的长期依赖关系?
LLM通过其架构处理文本中的长期依赖关系,特别是自注意力机制,该机制允许它们同时考虑输入序列中的所有标记。这种处理远距离tokens的能力有助于LLM在长上下文中捕获关系和依赖关系。此外,Transformer XL和Longformer等高级模型是专门为扩展上下文窗口和更有效地管理较长序列而设计的,可确保更好地处理长期依赖关系。
三、高级面试问题
了解LLM中的高级概念对于那些旨在突破这些模型所能实现的界限的专业人士来说非常有用。本节探讨了该领域面临的复杂主题和共同挑战。
问题15:解释大模型中“few-shot learning”的概念及其优势?
LLM中的few-shot learning是指模型仅使用几个例子学习和执行新任务的能力。这种能力利用了LLM广泛的预训练知识,使其能够从少数实例中进行概括。few-shot learning的主要优点包括减少数据需求,因为对大型任务特定数据集的需求被最小化,增加了灵活性,允许模型以最小的微调适应各种任务,以及成本效益,因为较低的数据需求和减少的训练时间转化为数据收集和计算资源的显著成本节约。
问题16:自回归和掩码语言模型之间有什么区别?
自回归和掩码语言模型的主要区别在于它们的预测方法和任务适用性。自回归模型,如GPT-3和GPT-4,根据前面的单词预测序列中的下一个单词,一次生成一个标记的文本。这些模型特别适合文本生成任务。
相比之下,掩蔽语言模型,如BERT,随机掩蔽句子中的单词,并训练模型根据周围的上下文预测这些掩蔽的单词。这种双向方法有助于模型从两个方向理解上下文,使其成为文本分类和问答任务的理想选择。
问题17:如何将外部知识融入大模型中?
将外部知识融入大模型可以通过多种方法实现:
-
知识图谱集成:用结构化知识图谱中的信息增强模型的输入,以提供上下文信息。
-
检索增强生成(RAG):将检索方法与生成模型相结合,在文本生成过程中从外部来源获取相关信息。
-
使用特定领域的数据进行微调:在包含所需知识的其他数据集上训练模型,使其专门用于特定任务或领域。
-
提示工程:设计提示,引导模型在推理过程中有效地利用外部知识。
问题18: 在生产中部署LLM有哪些挑战?
在生产中部署LLM涉及各种挑战:
-
可扩展性:确保模型能够有效地处理大量请求,通常需要大量的计算资源和优化的基础设施。
-
延迟:最小化响应时间以提供实时或接近实时的输出对于聊天机器人和虚拟助理等应用程序至关重要。
-
监控和维护:持续监控模型性能并对其进行更新以处理不断变化的数据和任务需要强大的监控系统和定期更新。
-
伦理和法律考虑:解决与偏见、隐私和遵守法规有关的问题对于避免伦理陷阱和法律后果至关重要。
-
资源管理:管理推理所需的大量计算资源可确保成本效益,并涉及优化硬件和软件配置。
问题19:您如何处理部署的LLM模型随时间退化的问题?
当LLM的性能因底层数据分布的变化而随时间下降时,就会发生模型退化。处理模型退化涉及使用更新的数据进行定期再训练以保持性能。持续监测对于跟踪模型的性能和检测退化迹象是必要的。增量学习技术允许模型从新数据中学习,而不会忘记以前学习过的信息。此外,A/B测试将当前模型的性能与新版本进行比较,并在全面部署之前帮助确定潜在的改进。
问题20:有哪些技术可以确保LLM的伦理?
为了确保LLM的伦理,可以采用几种技术:
-
偏差缓解:应用策略来识别和减少训练数据和模型输出中的偏差,例如使用平衡数据集和偏差检测工具。
-
透明度和可解释性:开发提供可解释和可解释输出的模型,以促进信任和问责制,包括使用注意力可视化和显著性图。
-
用户同意和隐私:确保用于训练和推理的数据符合隐私法规,并在必要时获得用户同意。
-
公平性审计:定期进行审计,以评估模型行为的公平性和道德影响。
-
负责任的部署:为负责任的人工智能部署制定指导方针和政策,包括处理模型生成的有害或不适当的内容。
问题21:如何确保LLM使用的数据安全性?
保护LLM使用的数据需要实施各种措施。这些措施包括对静止和传输中的数据使用加密技术,以防止未经授权的访问。严格的访问控制是必要的,以确保只有授权人员才能访问敏感数据。在将数据用于训练或推理之前,对数据进行匿名以删除个人身份信息(PII)也至关重要。此外,遵守GDPR或CCPA等数据保护法规对于避免法律问题至关重要。
这些措施有助于保护数据的完整性、机密性和可用性。这种保护对于维护用户信任和遵守监管标准至关重要。
问题22:你能解释一下如何使用人类反馈强化学习(RLHF)等技术来提高LLM输出的质量和安全性吗?这种方法有哪些挑战?
RLHF是一种技术,它涉及通过整合人类评估者的反馈来训练LLM,使其输出与人类偏好相一致。这种迭代过程有助于模型学习生成不仅准确而且安全、无偏见和有用的响应。然而,RLHF也面临着挑战:
-
一个挑战是人类反馈中可能存在偏见,因为不同的评估者可能有不同的偏好和解释。
-
另一个挑战是反馈过程的可扩展性,因为收集和整合大量的人工反馈可能既耗时又昂贵。此外,确保RLHF中使用的奖励模型准确捕捉到所需的行为和价值观可能很棘手。
尽管存在这些挑战,RLHF在提高LLM输出的质量和安全性方面取得了可喜的成果,使其成为快速工程领域的重要研发领域。最近,RLHF的替代方案出现了:从AI反馈中强化学习(Reinforcement Learning From AI Feedback, RLAIF)。
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

二、AI大模型视频教程

三、AI大模型各大学习书籍

四、AI大模型各大场景实战案例

五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。
相关文章:
大模型的经典面试问题及答案
大语言模型(LLM)在人工智能中变得越来越重要,在各个行业都有应用。随着对大语言模型专业人才需求的增长,本文提供了一套全面的面试问题和答案,涵盖了基本概念、先进技术和实际应用。如果你正在为面试做准备,…...
nodejs环境搭建
1.准备工作 将他解压到指定路径(我是在D:\tools)并在解压文件下建立node_global和node_cache这两个目录 注1:新建目录说明(自带的比较难找,较麻烦) node_global:npm全局安装位置 node_cache:npm缓存路径 如图: 2.配置环境变量 …...
C#基础:LINQ表达式的单独定义和编译使用
//编写表达式 Expression<Func<AlarmGroupInfo, bool>> express x > x.DataSource 1 && x.AlarmStatus2;// 编译表达式 Func<AlarmGroupInfo, bool> compiledExpression express.Compile();// 应用到 LINQ 查询 var resultlistss alarmgroupl…...
前端面试:八股文系列(一)
更多详情:爱米的前端小笔记(csdn~xitujuejin~zhiHu~Baidu~小红shu)同步更新,等你来看!都是利用下班时间整理的,整理不易,大家多多👍💛➕🤔哦!你们…...
设施农业“AutoML“时代:大模型自动调参,让农业算法模型更简单易用
(于景鑫 北京市农林科学院智能装备技术研究中心)设施农业是现代农业的重要发展方向,但在数字化、智能化的进程中仍面临诸多挑战。传统的农业算法模型虽然可以为设施农业提供一定的决策支持,但在实际应用中往往受限于参数调优复杂、模型泛化能力差等因素。…...
LinkedList接口源码解读
LinkedList 接口源码解读 前言 因为追求质量,所以写的较慢。大概在接下来的三天内会把LinkedList源码解析出完。已经出完啦!废话不多说,正片开始! (文章最后面有后记哦~) 大家都知道,LinkedL…...
nohup将代码放到后端运行查看nohup命令
tail -f nohup.outnohup python your_script.py > /path/to/your/directory/output.log 2>&1 &...
MacOS的100个超实用技巧
目录 1. 界面和导航 1.1 使用热角 1.2 多桌面切换 1.3 快速访问应用 1.4 隐藏/显示菜单栏 1.5 使用Mission Control 2. 文件管理 2.1 使用Finder标签 2.2 快速查看文件 2.3 标签式窗口管理 2.4 使用Smart Folders 2.5 文件重命名 3. 系统设置 3.1 自定义Dock 3.…...
本地调试指引文档
在开发组件库时,我们经常需要在真实的项目中测试组件库的功能,所以需要进行本地调试,本文介绍两种组件库本地调试流程, 1.使用beta版本 2.使用npm link 两种都可以作为本地调试的方案,本文作为一个参考资料࿰…...
【C++】一堆数组 冒泡排序
冒泡排序,一种很常见的排序法师 这章要划重点,很重要!! 排序思路为前一个元素与后一个元素比大小,一直循环一轮,找出最大/最小的那个元素后,进行下一轮,找到第二大/小的元素......…...
[最短路SPFA]--启动!!!!!
基础模板 #include<bits/stdc.h> #define ll long long #define fi first #define se second #define pb push_back #define PII pair<int,int > #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) using namespace std; const int N 1e610; int …...
大模型是否潜在地进行多跳推理?
人工智能咨询培训老师叶梓 转载标明出处 以往的研究表明,基于Transformer的LLMs能够在参数中存储和检索事实信息,以完成简单提示,例如“Stevie Wonder的母亲是谁”。此外,当必要信息明确给出时,LLMs表现出了显著的上下…...
人为什么不能长期待在家里?三个原因告诉你答案
在现代社会的快节奏生活中,人们时常渴望能够拥有一段长时间待在家里的闲暇时光,幻想这会是一段惬意、舒适且自由的经历。然而,实际情况往往并非如此。许多人在经历了数日甚至更长时间的居家生活后,会逐渐感受到诸多负面情绪和不良影响。以下将详细阐述人为什么不能长期待在…...
MATLAB画散点密度图(附代码和测试数据的压缩包)
1. 有关 Matlab 获取代码关注WZZHHH回复关键词,或者咸鱼关注:WZZHHH123 怀俄明探空站数据解算PWV和Tm:怀俄明探空站数据解算PWV和Tm 怀俄明多线程下载探空站数据(包括检查和下载遗漏数据的代码):怀俄明多线…...
SSH配置命令
前置环境:端口配置IP地址,client和server之间可ping通,此处省略 server端: 开启stelnet [Huawei]stelnet server enable Info: Succeeded in starting the Stelnet server. aaa模式相关配置 #进入aaa模式 [Huawei]aaa # 添加用户admin和…...
谷粒商城实战记录-虚拟机开启密码认证登录
文章目录 一,虚拟机无法用用户名密码登录二,解决方案1,修改配置2,重启sshd服务3,测试SSH登录注意事项结论 参考文献 一,虚拟机无法用用户名密码登录 当使用Vagrant创建和管理虚拟机时,通常会通…...
C语言程序设计-[1] 基础语法
1、字符集 字符集:是ASCII字符集的一个子集。 注:基本上就是电脑键盘可以输入的一些字符。 2、标识符 标识符:用来命名程序中的一些实体,如:变量、常量、函数、数组名、类型名、文件名等。由一个或多个字符组成。 —…...
JavaSE第11篇:设计模式
一、创建型模式 1、工厂方法模式 2、抽象工厂模式 3、单例模式singleton /*** 单例* 饿汉式(线程安全的):在加载类的时候就会创建类的单例,并保存在类中。* 1.定义类变量实例并直接实例化,在类加载的时候就完成了实例化并保存在类中;* 2.定义无参构造…...
【Unity Shader】切线空间下计算凹凸映射
// Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*)Shader "Unlit/NormalTangent" {Properties{_Color("Color Tint", Color) (1, 1, 1, 1)_MainTex("Main Tex", 2D) "While"{}//法线纹理_BumpMap(&q…...
解决Ubuntu/Kali手动创建的启动器在dock上没有图标,且不能“添加到dock中“的问题
文章目录 问题描述问题解决解决方案 1 | 添加StartupWMClass字段解决方案 2 | 重命名文件名 如何获取 WM 值?方式 1 | xprop 命令方式 2 | 直接查看 问题描述 这个启动器无论是在菜单还是桌面都是正常的,只有在dock中没有图标,且不像其他APP…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...
学习 Hooks【Plan - June - Week 2】
一、React API React 提供了丰富的核心 API,用于创建组件、管理状态、处理副作用、优化性能等。本文档总结 React 常用的 API 方法和组件。 1. React 核心 API React.createElement(type, props, …children) 用于创建 React 元素,JSX 会被编译成该函数…...
Redis——Cluster配置
目录 分片 一、分片的本质与核心价值 二、分片实现方案对比 三、分片算法详解 1. 范围分片(顺序分片) 2. 哈希分片 3. 虚拟槽分片(Redis Cluster 方案) 四、Redis Cluster 分片实践要点 五、经典问题解析 C…...
RabbitMQ work模型
Work 模型是 RabbitMQ 最基础的消息处理模式,核心思想是 多个消费者竞争消费同一个队列中的消息,适用于任务分发和负载均衡场景。同一个消息只会被一个消费者处理。 当一个消息队列绑定了多个消费者,每个消息消费的个数都是平摊的&a…...
