跳到主要内容 2024 大模型算法岗常见面试题及参考答案 | 极客日志
Python AI 算法
2024 大模型算法岗常见面试题及参考答案 大模型算法岗位常见的面试题目,涵盖基础架构、微调策略、推理优化、评测方法及行业应用案例。内容涉及 Transformer 体系、LoRA、RAG、量化技术及多模态模型等核心技术点,旨在帮助求职者系统掌握大模型领域的关键知识点与实战经验。
筑梦师 发布于 2025/2/7 更新于 2026/4/20 2 浏览
2024 大模型算法岗常见面试题及参考答案
基础篇
1. 目前主流的开源模型体系有哪些?
Transformer 体系 :由 Google 提出的 Transformer 模型及其变体,如 BERT、GPT 等。
PyTorch Lightning :一个基于 PyTorch 的轻量级深度学习框架,用于快速原型设计和实验。
TensorFlow Model Garden :TensorFlow 官方提供的一系列预训练模型和模型架构。
Hugging Face Transformers :一个流行的开源库,提供了大量预训练模型和工具,用于 NLP 任务。
2. prefix LM 和 causal LM 区别是什么?
prefix LM (前缀语言模型) :在输入序列的开头添加一个可学习的任务相关的前缀,然后使用这个前缀和输入序列一起生成输出。这种方法可以引导模型生成适应特定任务的输出。
causal LM (因果语言模型) :也称为自回归语言模型,它根据之前生成的 token 预测下一个 token。在生成文本时,模型只能根据已经生成的部分生成后续部分,不能访问未来的信息。
3. 涌现能力是啥原因? 涌现能力 (Emergent Ability) 是指模型在训练过程中突然表现出的新的、之前未曾预料到的能力。这种现象通常发生在大型模型中,原因是大型模型具有更高的表示能力和更多的参数,可以更好地捕捉数据中的模式和关联。随着模型规模的增加,它们能够自动学习到更复杂、更抽象的概念和规律,从而展现出涌现能力。
4. 大模型 LLM 的架构介绍? 大模型 LLM (Large Language Models) 通常采用基于 Transformer 的架构。Transformer 模型由多个编码器或解码器层组成,每个层包含多头自注意力机制和前馈神经网络。这些层可以并行处理输入序列中的所有位置,捕获长距离依赖关系。大模型通常具有数十亿甚至数千亿个参数,可以处理大量的文本数据,并在各种 NLP 任务中表现出色。
前馈神经网络 (Feedforward Neural Network) 是一种最基础的神经网络类型,它的信息流动是单向的,从输入层经过一个或多个隐藏层,最终到达输出层。在前馈神经网络中,神经元之间的连接不会形成闭环,这意味着信号在前向传播过程中不会回溯。前馈神经网络的基本组成单元是神经元,每个神经元都会对输入信号进行加权求和,然后通过一个激活函数产生输出。激活函数通常是非线性的,它决定了神经元的输出是否应该被激活,从而允许网络学习复杂和非线性的函数。
前馈神经网络在模式识别、函数逼近、分类、回归等多个领域都有应用。例如,在图像识别任务中,网络的输入层节点可能对应于图像的像素值,而输出层节点可能代表不同类别的概率分布。
训练前馈神经网络通常涉及反向传播 (Backpropagation) 算法,这是一种有效的学习算法,通过计算输出层的误差,并将这些误差信号沿网络反向传播,以调整连接权重。通过多次迭代这个过程,网络可以逐渐学习如何减少输出误差,从而实现对输入数据的正确分类或回归。
在设计和训练前馈神经网络时,需要考虑多个因素,包括网络的层数、每层的神经元数目、激活函数的选择、学习速率、正则化策略等,这些都对网络的性能有重要影响。
5. 目前比较受欢迎的开源大模型有哪些?
GPT 系列 :由 OpenAI 开发的生成式预训练模型,如 GPT-3。
BERT 系列 :由 Google 开发的转换式预训练模型,如 BERT、RoBERTa 等。
T5 系列 :由 Google 开发的基于 Transformer 的编码器 - 解码器模型,如 T5、mT5 等。
6. 目前大模型模型结构都有哪些?
Transformer :基于自注意力机制的模型,包括编码器、解码器和编码器 - 解码器结构。
GPT 系列 :基于自注意力机制的生成式预训练模型,采用解码器结构。
BERT 系列 :基于自注意力机制的转换式预训练模型,采用编码器结构。
T5 系列 :基于 Transformer 的编码器 - 解码器模型。
7. prefix LM 和 causal LM、encoder-decoder 区别及各自有什么优缺点?
prefix LM :通过在输入序列前添加可学习的任务相关前缀,引导模型生成适应特定任务的输出。优点是可以减少对预训练模型参数的修改,降低过拟合风险;缺点是可能受到前缀表示长度的限制,无法充分捕捉任务相关的信息。
causal LM :根据之前生成的 token 预测下一个 token,可以生成连贯的文本。优点是可以生成灵活的文本,适应各种生成任务;缺点是无法访问未来的信息,可能生成不一致或有误的内容。
encoder-decoder :由编码器和解码器组成,编码器将输入序列编码为固定长度的向量,解码器根据编码器的输出生成输出序列。优点是可以处理输入和输出序列不同长度的任务,如机器翻译;缺点是模型结构较为复杂,训练和推理计算量较大。
8. 模型幻觉是什么?业内解决方案是什么? 模型幻觉是指模型在生成文本时产生的不准确、无关或虚构的信息。这通常发生在模型在缺乏足够信息的情况下进行推理或生成时。业内的解决方案包括:
使用更多的数据和更高质量的训练数据来提高模型的泛化和准确性。
引入外部知识源,如知识库或事实检查工具,以提供额外的信息和支持。
强化模型的推理能力和逻辑推理,使其能够更好地处理复杂问题和避免幻觉。
9. 大模型的 Tokenizer 的实现方法及原理? 大模型的 Tokenizer 通常使用字节对编码 (Byte-Pair Encoding, BPE) 算法。BPE 算法通过迭代地将最频繁出现的字节对合并成新的符号,来构建一个词汇表。在训练过程中,模型会学习这些符号的嵌入表示。Tokenizer 将输入文本分割成符号序列,然后将其转换为模型可以处理的数字表示。
这种方法可以有效地处理大量文本数据,并减少词汇表的规模。
10. ChatGLM3 的词表实现方法? ChatGLM3 使用了一种改进的词表实现方法。它首先使用字节对编码 (BPE) 算法构建一个基本的词表,然后在训练过程中通过不断更新词表来引入新的词汇。具体来说,ChatGLM3 在训练过程中会根据输入数据动态地合并出现频率较高的字节对,从而形成新的词汇。这样可以有效地处理大量文本数据,并减少词汇表的规模。
同时,ChatGLM3 还使用了一种特殊的词表分割方法,将词表分为多个片段,并在训练过程中逐步更新这些片段,以提高模型的泛化能力和适应性。
11. GPT3、LLAMA、ChatGLM 的 Layer Normalization 的区别是什么?各自的优缺点是什么?
GPT3 :采用了 Post-Layer Normalization (后标准化) 的结构,即先进行自注意力或前馈神经网络的计算,然后进行 Layer Normalization。这种结构有助于稳定训练过程,提高模型性能。
LLAMA :采用了 Pre-Layer Normalization (前标准化) 的结构,即先进行 Layer Normalization,然后进行自注意力或前馈神经网络的计算。这种结构有助于提高模型的泛化能力和鲁棒性。
ChatGLM :采用了 Post-Layer Normalization 的结构,类似于 GPT3。这种结构可以提高模型的性能和稳定性。
12. 大模型常用的激活函数有哪些?
ReLU (Rectified Linear Unit) :一种简单的激活函数,可以解决梯度消失问题,加快训练速度。
GeLU (Gaussian Error Linear Unit) :一种改进的 ReLU 函数,可以提供更好的性能和泛化能力。
Swish :一种自门控激活函数,可以提供非线性变换,并具有平滑和非单调的特性。
13. 多查询注意力与群查询注意力是否了解?区别是什么? Multi-query Attention 和 Grouped-query Attention 是两种不同的注意力机制变种,用于改进和扩展传统的自注意力机制。
Multi-query Attention :在 Multi-query Attention 中,每个查询可以与多个键值对进行交互,从而捕捉更多的上下文信息。这种机制可以提高模型的表达能力和性能,特别是在处理长序列或复杂关系时。
Grouped-query Attention :在 Grouped-query Attention 中,查询被分成多个组,每个组内的查询与对应的键值对进行交互。这种机制可以减少计算复杂度,提高效率,同时仍然保持较好的性能。
14. 多模态大模型是否有接触?落地案例? 多模态大模型是指可以处理和理解多种模态数据(如文本、图像、声音等)的模型。落地案例,例如:
OpenAI 的 DALL-E 和 GPT-3 :DALL-E 是一个可以生成图像的模型,而 GPT-3 可以处理和理解文本。两者结合可以实现基于文本描述生成图像的功能。
Google 的 Multimodal Transformer :这是一个可以同时处理文本和图像的模型,用于各种多模态任务,如图像字幕生成、视觉问答等。
进阶篇
1. llama 输入句子长度理论上可以无限长吗? LLaMA(Large Language Model Adaptation)模型的输入句子长度受到硬件资源和模型设计的限制。
理论上,如果硬件资源足够,模型可以处理非常长的输入句子。然而,实际上,由于内存和处理能力的限制,输入句子长度通常是有限制的。在实际应用中,开发者会根据具体需求和硬件配置来确定合适的输入句子长度。
2. 什么是 LLMs 复读机问题? LLMs 复读机问题是指在某些情况下,大型语言模型在生成文本时会重复之前已经生成的内容,导致生成的文本缺乏多样性和创造性。
3. 为什么会出现 LLMs 复读机问题? LLMs 复读机问题可能由多种因素引起,包括模型训练数据中的重复模式、模型在处理长序列时的注意力机制失效、或者模型在生成文本时对过去信息的过度依赖等。
4. 如何缓解 LLMs 复读机问题?
数据增强 :通过增加训练数据的多样性和复杂性,减少重复模式的出现。
模型改进 :改进模型的结构和注意力机制,使其更好地处理长序列和避免过度依赖过去信息。
生成策略 :在生成文本时采用多样化的策略,如抽样生成或引入随机性,以增加生成文本的多样性。
5. 什么情况用 Bert 模型,什么情况用 LLaMA、ChatGLM 类大模型? BERT 模型通常用于需要理解文本深层语义的任务,如文本分类、命名实体识别等。
LLaMA 和 ChatGLM 类大模型则适用于需要生成文本或进行更复杂语言理解的任务,如对话系统、文本生成等。选择哪种模型取决于任务的需求和可用资源。
6. 各个专业领域是否需要各自的大模型来服务? 不同的专业领域需要特定的大模型来更好地服务。专业领域的大模型可以针对特定领域的语言和知识进行优化,提供更准确和相关的回答和生成文本。
7. 如何让大模型处理更长的文本?
使用模型架构 :如 Transformer,它可以有效地处理长序列。
使用记忆机制 :如外部记忆或缓存,来存储和检索长文本中的信息。
使用分块方法 :将长文本分割成更小的部分,然后分别处理这些部分。
8. 如果想要在某个模型基础上做全参数微调,究竟需要多少显存? 全参数微调 (Full Fine-Tuning) 通常需要大量的显存,因为这种方法涉及到更新模型的所有参数。
显存的需求取决于模型的规模、批量大小、以及使用的硬件。例如,对于大型模型如 GPT-3,可能需要多个 GPU 甚至 TPU 来分配显存,每个 GPU 或 TPU 可能需要几十 GB 的显存。在实际操作中,需要进行试错法来确定合适的批量大小和硬件配置。
9. 为什么 SFT 之后感觉 LLM 傻了? SFT(Supervised Fine-Tuning)之后感觉 LLM(Large Language Model)'傻了',可能是因为微调过程中出现了以下问题:
过拟合 :模型可能过度适应训练数据,导致在新数据上的泛化能力下降。
数据质量 :如果训练数据质量不高,模型可能学到了错误的模式或偏见。
微调强度 :微调的强度可能不够,导致模型没有充分适应新的任务。在这种情况下,模型可能没有学习到足够的特定领域的知识,因此在执行相关任务时表现不佳。
10. SFT 指令微调数据如何构建?
收集或生成与特定任务相关的指令和数据对,其中指令是描述任务或要求的文本,数据是对应的输入输出示例。
清洗和预处理数据,以确保数据的质量和一致性。
根据任务需求,对数据进行增强,如使用数据增强技术生成更多的训练样本。
将数据格式化为模型训练所需的格式,例如,对于语言模型,通常需要将文本转化为模型可以理解的数字编码。
11. 领域模型 Continue PreTrain 数据选取? 领域模型继续预训练(Continue Pre-Training)的数据选取应该基于领域内的文本特点和应用需求。通常,需要选取大量、高质量、多样化的领域文本数据。数据可以来自专业文献、行业报告、在线论坛、新闻文章等。数据选取时应该注意避免偏见和不平衡,确保数据能够全面地代表领域内的知识和语言使用。
12. 领域数据训练后,通用能力往往会有所下降,如何缓解模型遗忘通用能力?
多任务学习 :在训练过程中同时包含领域内和通用的任务,使模型能够同时学习领域特定的和通用的知识。
控制微调强度 :通过调整微调的学习率或训练轮数来控制模型对领域数据的适应程度。
定期回炉 :在领域数据训练后,定期使用通用数据进行回炉训练,以保持模型的通用能力。
知识蒸馏 :使用一个预训练的通用模型来指导领域模型,帮助模型保持通用知识。
13. 领域模型 Continue PreTrain,如何让模型在预训练过程中就学习到更多的知识?
数据增强 :使用数据增强技术如回译、掩码语言模型等来生成更多的训练样本。
知识注入 :将领域特定的知识以文本、结构化数据或知识图谱的形式注入到预训练过程中。
多模态学习 :如果适用,可以使用多模态数据 (如文本和图像) 进行预训练,以丰富模型的知识表示。
14. 进行 SFT 操作的时候,基座模型选用 Chat 还是 Base? 在进行指令微调 (SFT) 操作时,选择基座模型 (Chat 或 Base) 取决于具体任务的需求和模型的性能。通常,如果任务需要生成对话或交互式响应,可以选择对话优化的模型 (Chat)。如果任务更注重理解和生成文本的能力,可以选择基础模型 (Base)。
在实际应用中,可能需要根据实验结果和模型性能来选择最合适的基座模型。
15. 领域模型微调指令&数据输入格式要求? 领域模型微调的指令和数据输入格式要求取决于所使用的模型和框架。一般来说,指令应该是清晰、具体的,能够指导模型完成特定的任务。数据输入格式通常需要与模型的输入接口相匹配,例如,对于文本模型,数据通常需要是字符串格式,并且可能需要经过特定的预处理,如分词、编码等。
16. 领域模型微调领域评测集构建? 构建领域模型微调的领域评测集时,应该确保评测集能够全面、准确地反映领域内的任务需求和性能指标。通常,需要从领域内的真实数据中收集或生成评测样本,并确保样本的多样性和代表性。此外,可以根据任务需求设计定制的评价指标,以评估模型在领域内的性能。
17. 领域模型词表扩增是不是有必要的? 领域模型词表扩增通常是有必要的,尤其是当领域内有大量的专业术语或特定词汇时。词表扩增可以帮助模型更好地理解和生成领域内的文本,提高模型的领域适应性。然而,词表扩增也需要谨慎进行,以避免引入过多的噪音或不相关的词汇。
18. 如何训练自己的大模型?
选择合适的预训练目标和任务 :确定模型将学习哪些通用的语言知识,以及针对哪些特定任务进行优化。
收集和准备数据 :收集大量、多样化的数据,包括通用数据和特定领域的数据,进行清洗和预处理。
选择模型架构 :选择一个适合的模型架构,如 Transformer,并确定模型的规模和层数。
定义训练流程 :设置训练参数,如学习率、批量大小、训练轮数等,并选择合适的优化器和损失函数。
训练模型 :使用准备好的数据和训练流程开始训练模型,监控训练过程中的性能和资源使用。
评估和调优 :在训练过程中定期评估模型的性能,并根据需要调整训练参数和模型架构。
微调和优化 :在模型达到一定的性能后,进行微调以适应特定的应用场景和任务需求。
19. 训练中文大模型有啥经验?
使用大量高质量的中文数据,包括文本、对话、新闻、社交媒体帖子等。
考虑语言的特点,如词序、语法结构、多义性等,并设计相应的预训练任务。
使用适合中文的语言模型架构,如 BERT 或 GPT,并进行适当的调整以优化性能。
考虑中文的特殊字符和标点,确保模型能够正确处理这些字符。
进行多任务学习,同时训练多个相关任务,以提高模型的泛化能力。
20. 指令微调的好处?
提高模型在特定任务上的性能,使其能够更好地理解和执行指令。
通过指令和示例数据的结合,使模型能够学习到更具体、更实用的知识。
减少了模型对大规模标注数据的依赖,通过少量的指令和示例数据就能进行有效的微调。
可以通过不同的指令和示例数据组合,快速适应不同的任务和应用场景。
21. 预训练和微调哪个阶段注入知识的? 在预训练阶段,模型通过大量的无监督数据学习通用的语言知识和模式。在微调阶段,模型通过与特定任务相关的监督数据学习特定领域的知识和任务特定的模式。因此,知识注入主要发生在微调阶段。
22. 想让模型学习某领域或行业知识,是应该预训练还是应该微调? 为了让模型学习某个领域或行业的知识,通常建议先进行预训练,以学习通用的语言知识和模式。预训练可以帮助模型建立强大的语言表示,并提高模型的泛化能力。
然后,可以通过微调来注入特定领域或行业的知识,使模型能够更好地适应特定的任务和应用场景。
23. 多轮对话任务如何微调模型?
收集多轮对话数据,包括用户查询、系统回复、以及可能的中间交互。
对数据进行预处理,如分词、编码等,使其适合模型输入格式。
设计多轮对话的微调目标,如序列到序列学习、生成式对话等。
微调模型,使其能够生成连贯、自然的对话回复,并考虑到对话上下文和用户意图。
24. 微调后的模型出现能力劣化,灾难性遗忘是怎么回事? 微调后的模型出现能力劣化,灾难性遗忘可能是因为模型在微调过程中学习到了过多的特定任务的知识,而忽略了通用的语言知识。这可能导致模型在训练数据上表现良好,但在未见过的数据上表现不佳。
为了解决这个问题,可以采取一些措施,如多任务学习、控制微调强度、定期使用通用数据进行回炉训练等。
25. 微调模型需要多大显存? 微调模型需要的显存取决于模型的规模、任务复杂度、数据量等因素。一般来说,微调模型需要的显存通常比预训练模型少,因为微调涉及到更新的参数较少。然而,具体需要的显存仍然需要根据实际情况进行评估和调整。
26. 大模型 LLM 进行 SFT 操作的时候在学习什么?
特定领域的语言模式和知识,包括专业术语、行业特定用语等。
针对特定任务的生成策略和响应模式。
对话上下文中的连贯性和逻辑性,对于多轮对话任务尤其重要。
指令理解和执行能力,使模型能够更准确地理解和执行用户的指令。
27. 预训练和 SFT 操作有什么不同? 预训练和 SFT 操作的主要区别在于目标和数据集。预训练通常是在大规模的无标签数据集上进行的,目的是让模型学习到通用的语言表示和模式。这个过程不需要人工标注数据,而是通过模型自己从数据中学习。
SFT 则是在有标签的数据集上进行的,目的是让模型适应特定的任务或领域。这个过程需要人工标注数据,以确保模型能够学习到正确的任务特定的模式和知识。
28. 样本量规模增大,训练出现 OOM 报错,怎么解决? 当样本量规模增大时,训练出现 OOM (Out of Memory) 错误可能是由于显存不足导致的。为了解决这个问题,可以尝试以下方法:
增加训练设备的显存,如使用更高性能的 GPU 或增加 GPU 数量。
调整批量大小,减少每次训练时处理的样本数量。
使用模型并行或数据并行技术,将模型或数据分片到多个设备上进行训练。
使用动态批处理,根据可用显存动态调整批量大小。
29. 大模型 LLM 进行 SFT 如何对样本进行优化?
数据增强 :通过对原始数据进行转换,如文本回译、添加噪声等,生成更多的训练样本。
样本选择 :选择与特定任务最相关的样本进行训练,以提高训练效率和性能。
样本权重 :根据样本的难易程度或重要性为样本分配不同的权重,以优化训练过程。
平衡采样 :在训练过程中,确保每个类别或子任务都有足够的样本被训练到。
30. 模型参数迭代实验步骤? 模型参数迭代实验是指在训练过程中,对模型的参数进行迭代调整和优化,以提高模型的性能。这通常涉及以下步骤:
选择一组初始参数。
在训练过程中,定期评估模型的性能。
根据评估结果,调整模型的参数,如学习率、批量大小、正则化参数等。
重复评估和调整参数,直到模型的性能达到预期的目标。
31. 为什么需要进行参数微调?参数微调的原因有哪些? 参数微调是指只对模型的一部分参数进行更新,以适应特定的任务或领域。进行参数微调的原因包括:
提高计算效率 :参数微调通常比全量微调需要更少的计算资源,因为只有部分参数需要更新。
减少过拟合风险 :只更新与特定任务相关的参数,可以减少模型对训练数据的过度依赖,降低过拟合的风险。
提高泛化能力 :参数微调可以使模型在保持通用语言能力的同时,适应特定的任务需求。
32. 模型参数微调的方式有那些?你最常用哪些方法?
权重共享 :在模型中,将部分参数设置为共享,这些参数同时用于多个任务或领域。
参数掩码 :在模型中,将部分参数设置为不可训练,这些参数保持预训练时的值不变。
参数分解 :将大型的参数矩阵分解为多个小型矩阵,只更新其中的部分矩阵。
参数共享微调 :在模型中,将部分参数设置为共享,这些参数用于多个相关任务。
33. prompt tuning 和 prefix tuning 在微调上的区别是什么? Prompt Tuning 和 Prefix Tuning 都是参数高效的微调方法,它们通过在模型输入中添加特定的提示或前缀来引导模型生成适应特定任务的输出。区别在于:
Prompt Tuning :在输入序列的末尾添加可学习的提示,提示可以是几个单词或短语,用于指导模型生成特定的输出。
Prefix Tuning :在输入序列的开头添加可学习的连续前缀表示,前缀表示包含了任务特定的信息,用于引导模型生成适应特定任务的输出。
34. LLaMA-adapter 如何实现稳定训练? LLaMA-adapter 是一种参数高效的微调方法,它通过在预训练模型的每个 Transformer 层中添加小型适配器模块来实现特定任务的适应。为了实现稳定训练,可以采取以下措施:
适配器初始化 :使用预训练模型的参数作为适配器模块的初始化,以保持模型的稳定性。
适配器正则化 :使用正则化技术,如权重衰减或 dropout,来减少适配器模块的过拟合风险。
逐步学习 :逐步调整适配器模块的参数,避免参数更新的幅度过大。
适配器优化 :选择合适的优化器和训练策略,如使用较小的学习率、较长的训练周期等,以实现稳定的训练过程。
35. LoRA 原理与使用技巧有那些? LoRA(Low-Rank Adaptation)是一种参数高效的微调方法,它通过引入低秩分解来减少需要更新的参数数量。LoRA 的工作原理是将预训练模型的注意力矩阵或前馈网络矩阵分解为两个低秩矩阵的乘积,其中这两个低秩矩阵被视为可学习的任务特定参数。
使用 LoRA 的技巧包括:
适配器初始化 :使用预训练模型的参数作为 LoRA 适配器模块的初始化,以保持模型的稳定性。
低秩分解 :选择合适的低秩分解方法,如奇异值分解 (SVD) 或随机矩阵分解,以实现低秩分解。
逐步学习 :逐步调整 LoRA 适配器模块的参数,避免参数更新的幅度过大。
适配器正则化 :使用正则化技术,如权重衰减或 dropout,来减少 LoRA 适配器模块的过拟合风险。
36. LoRA 微调优点是什么?
参数高效 :LoRA 只更新少量的低秩矩阵,相比全量微调,可以显著减少需要更新的参数数量。
计算效率 :由于只更新少量的低秩矩阵,LoRA 可以减少计算资源的需求,提高训练和推理的效率。
模型稳定性 :LoRA 适配器模块可以保持预训练模型的稳定性,减少过拟合风险。
性能提升 :LoRA 微调可以在不牺牲太多性能的情况下实现参数高效的微调。
37. AdaLoRA 的思路是怎么样的? AdaLoRA 是一种自适应的 LoRA 方法,它可以根据任务的需求和模型的性能动态调整 LoRA 适配器模块的参数。AdaLoRA 的思路是:
初始化 LoRA 适配器模块的参数,使用预训练模型的参数作为初始化。
在训练过程中,根据模型的性能和任务需求,动态调整 LoRA 适配器模块的参数。
通过调整 LoRA 适配器模块的参数,使模型能够更好地适应特定的任务需求。
38. LoRA 权重合入 chatglm 模型的方法?
在 chatGLM 模型的每个 Transformer 层中添加 LoRA 适配器模块。
使用预训练模型的参数作为 LoRA 适配器模块的初始化。
在训练过程中,更新 LoRA 适配器模块的参数,以适应特定的任务需求。
保持预训练模型的参数不变,避免对预训练模型产生负面影响。
39. P-tuning 讲一下?与 P-tuning v2 区别在哪里?优点与缺点? P-tuning 是一种参数高效的微调方法,它通过在模型输入中添加可学习的连续前缀来引导模型生成适应特定任务的输出。P-tuning v2 是 P-tuning 的改进版本,它使用了更多的连续前缀表示来引导模型生成适应特定任务的输出。
P-tuning 与 P-tuning v2 的区别在于:
P-tuning :在输入序列的开头添加一个可学习的连续前缀,前缀的长度较短。
P-tuning v2 :在输入序列的开头添加多个可学习的连续前缀,前缀的长度较长。
P-tuning 的优点是参数高效,计算资源需求较低,可以快速实现模型微调。P-tuning 的缺点可能是受到前缀表示长度的限制,无法充分捕捉任务相关的信息。P-tuning v2 通过使用更多的连续前缀,可以更充分地捕捉任务相关的信息,但可能需要更多的计算资源来更新多个前缀的参数。
40. 预训练和 SFT 操作有什么不同? 预训练和 SFT 操作的主要区别在于目标和数据集。预训练通常是在大规模的无标签数据集上进行的,目的是让模型学习到通用的语言表示和模式。这个过程不需要人工标注数据,而是通过模型自己从数据中学习。
SFT 则是在有标签的数据集上进行的,目的是让模型适应特定的任务或领域。这个过程需要人工标注数据,以确保模型能够学习到正确的任务特定的模式和知识。
41. 训练一个通用大模型的流程有那些?
数据收集 :收集大量的、多样化的、无标签的文本数据。
数据预处理 :对收集的数据进行清洗、分词、编码等预处理步骤。
模型设计 :选择合适的模型架构,如 Transformer,并确定模型的规模和层数。
预训练目标 :设计预训练任务,如语言建模、掩码语言模型、句子对齐等。
训练模型 :使用预训练数据集和预训练目标开始训练模型。
评估性能 :在预训练过程中定期评估模型的性能,并根据需要调整训练参数。
微调和优化 :在预训练完成后,使用有标签的数据集进行微调,以适应特定的任务或领域。
42. DDO 与 DPO 的区别是什么? DDO(Dual Data Objectives)和 DPO(Direct Preference Optimization)是两种不同的训练策略,用于提高大型语言模型的性能。
DDO :在训练过程中,同时优化两个数据集的目标,一个是通用数据集,另一个是特定领域数据集。这样可以让模型同时学习通用知识和特定领域的知识,提高模型的泛化能力和领域适应性。
DPO :在训练过程中,直接利用偏好数据优化模型,无需显式训练奖励模型。这样可以让模型在执行任务时,同时利用通用知识和特定领域的知识,提高模型在特定任务上的性能。
43. 是否接触过 embedding 模型的微调方法? 嵌入模型微调通常涉及调整模型中的嵌入层,以适应特定的任务或领域。这可能包括:
初始化 :使用特定领域的数据来初始化嵌入层,以便更好地捕捉领域特定的信息。
调整 :通过训练或优化嵌入层的参数,使其能够适应特定任务或领域的需求。
知识注入 :将领域特定的知识以向量的形式注入到嵌入层中,以增强模型对领域知识的理解和应用。
44. 有哪些省内存的大语言模型训练/微调/推理方法?
模型剪枝 :通过移除模型中的冗余结构和参数,减少模型的内存占用。
知识蒸馏 :使用一个大型教师模型来指导一个小型学生模型,使学生模型能够学习到教师模型的知识,同时减少内存占用。
量化 :将模型的权重和激活从浮点数转换为低精度整数,减少模型的内存占用和计算需求。
模型并行 :将大型模型分割到多个设备上进行训练和推理,减少单个设备的内存需求。
数据并行 :将训练数据分割到多个设备上,每个设备训练模型的一个副本,减少单个设备的内存需求。
动态批处理 :根据可用内存动态调整批量大小,以适应内存限制。
45. 大模型 (LLMs) 评测有那些方法?如何衡量大模型的效果?
准确性 :评估模型在特定任务上的预测准确性。
泛化能力 :评估模型在未见过的数据上的表现。
计算效率 :评估模型训练和推理的速度和资源需求。
安全性 :评估模型在对抗性输入下的稳定性和鲁棒性。
多样性和创造性 :评估模型生成文本的多样性和创造性。
人类评估 :通过人工评估来衡量模型的性能,特别是在对话和生成任务中。
自动评估指标 :使用如 BLEU、ROUGE、METEOR 等自动评估指标来衡量模型的语言生成和理解能力。
任务特定的指标 :使用任务特定的指标来衡量模型在特定任务上的性能,如准确率、F1 分数等。
用户反馈 :收集用户对模型生成内容的反馈,以评估模型的实际应用效果。
46. 如何解决三个阶段的训练(SFT->RM->PPO)过程较长,更新迭代较慢问题?
减少训练数据量 :如果训练数据量过大,可以考虑减少数据量,以加快训练速度。
优化训练流程 :优化训练流程,如使用更高效的训练算法、调整训练参数等,以加快训练速度。
并行训练 :使用多 GPU 或多服务器并行训练模型,以加快训练速度。
提前停止 :在训练过程中,如果模型性能不再提高,可以提前停止训练,以节省时间。
知识蒸馏 :使用一个大型教师模型来指导一个小型学生模型,使学生模型能够快速学习到教师模型的知识。
47. 模型训练的数据集问题:一般数据集哪里找?
公开数据集 :许多研究机构和组织会发布公开数据集,如 IMDb、Wikipedia、Common Crawl 等。
特定领域数据集 :针对特定领域的数据集,如医疗、金融、法律等,通常需要从相关的专业文献、报告、论坛等渠道获取。
合成数据 :通过自动化或半自动化方法生成数据,如文本合成、数据增强等。
用户生成数据 :通过众包、调查、游戏等方式收集用户生成的数据。
商业数据 :从商业公司或服务中获取数据,通常需要遵守相关的数据使用协议和隐私政策。
48. 为什么需要进行模型量化及原理? 模型量化是将模型中的权重和激活从高精度浮点数转换为低精度整数 (如 INT8、INT4、FP16 等) 的过程,目的是减少模型的大小、提高计算效率并降低内存需求。
模型量化的原理在于,低精度数值格式可以提供足够的精度来保持模型性能,同时显著减少数值的位数,从而减少存储和计算资源的使用。
49. 大模型词表扩充的方法及工具?
新增词汇 :手动添加领域特定的术语和词汇到词表中。
数据驱动 :通过分析大量文本数据自动识别和添加高频出现的词汇。
词汇映射 :将特定领域的词汇映射到现有的词表中,或者创建新的词汇条目。
Hugging Face Transformers :提供了一个预训练模型和词表管理的接口。
SentencePiece :一个用于构建词汇表的工具,支持 BPE 和其他子词分割方法。
Moses :一个开源的自然语言处理工具,包括用于词表构建和分词的工具。
50. 大模型应用框架及其功能? 大模型应用框架提供了一组工具和库,用于构建、训练和部署大型语言模型。这些框架通常包括以下功能:
模型加载和保存 :支持加载预训练模型和保存微调后的模型。
数据处理 :提供数据预处理、分词、编码等工具。
模型训练 :支持模型训练、评估和调试。
模型部署 :支持将模型部署到不同的环境和平台,如服务器、移动设备等。
API 接口 :提供模型预测的 API 接口,方便集成到其他应用中。
Hugging Face Transformers :一个流行的 NLP 研究工具,提供了大量预训练模型和工具。
PyTorch :一个开源的深度学习框架,支持大型语言模型的训练和部署。
TensorFlow :另一个流行的深度学习框架,也支持大型语言模型的训练和部署。
51. 搭建大模型应用遇到过那些问题?如何解决的?
资源限制 :计算资源不足,如显存不足、计算时间受限等。
模型稳定性 :模型在训练或部署过程中出现不稳定的行为。
数据质量 :训练数据质量不高,导致模型性能不佳。
模型部署 :将模型部署到生产环境中的技术挑战。
资源优化 :使用更高效的训练算法、调整训练参数、使用模型并行或数据并行技术。
模型调试 :使用调试工具和技术来分析模型行为,找出问题的根源。
数据处理 :进行数据清洗、增强和预处理,以提高数据质量。
部署策略 :选择合适的部署策略,如使用模型压缩技术、优化模型结构等。
52. 如何提升大模型的检索效果?
优化索引 :使用更高效的索引结构,如倒排索引、BM25 等。
特征工程 :提取和利用有效的特征,如文本向量、词频等。
模型选择 :选择合适的检索模型,如基于向量的相似度计算、基于排序的模型等。
训练策略 :使用训练策略,如多任务学习、知识蒸馏等,来提高模型的性能。
评估指标 :使用更准确的评估指标,如 MAP、NDCG 等,来衡量检索效果。
53. RAG (Retrieval-Augmented Generation) 的核心思想是什么? RAG 结合了检索系统和生成模型的优势。核心思想是:在生成回答之前,先从外部知识库中检索相关信息,然后将检索到的信息与用户的问题一起输入给生成模型,从而生成更准确、更有依据的回答。这有效缓解了模型幻觉问题,并增强了模型对最新知识的掌握。
54. 向量数据库在大模型中的应用场景有哪些? 向量数据库主要用于存储和检索高维向量嵌入。在大模型应用中,常用于:
语义搜索 :基于含义而非关键词进行搜索。
推荐系统 :根据用户历史行为向量推荐相似物品。
RAG 系统 :存储文档切片向量,供检索增强生成使用。
异常检测 :识别偏离正常模式的向量数据。
55. LangChain 框架的主要作用是什么? LangChain 是一个用于开发由语言模型驱动的应用程序的框架。它的主要作用包括:
链式调用 :将多个组件(如模型、提示词、工具)串联起来完成任务。
记忆管理 :管理对话历史,使模型具备长期记忆能力。
工具集成 :轻松集成外部 API 和工具,扩展模型能力。
代理 (Agent) :构建能够自主规划和使用工具的代理系统。
56. 什么是 Prompt Engineering? Prompt Engineering(提示词工程)是指通过设计和优化输入给大模型的提示词,以引导模型生成更符合预期的高质量输出。常见的技巧包括零样本提示、少样本提示、思维链 (CoT) 提示等。
57. 思维链 (Chain-of-Thought) 提示的作用是什么? 思维链提示要求模型在给出最终答案之前,先展示其推理步骤。这有助于模型解决复杂的逻辑、数学或推理问题,显著提高模型在复杂任务上的表现,并增加了输出的可解释性。
58. 大模型推理加速技术有哪些?
量化 :使用 FP16、INT8 或 INT4 等低精度格式减少显存占用和提升速度。
FlashAttention :优化注意力机制的计算和内存访问模式。
KV Cache :缓存键值对,避免重复计算历史 token 的注意力。
Speculative Decoding :使用小模型猜测,大模型验证,减少采样次数。
59. 什么是 RLHF? RLHF (Reinforcement Learning from Human Feedback) 是人类反馈强化学习。它通过三个阶段优化模型:
SFT :监督微调,让模型学会遵循指令。
Reward Modeling :训练奖励模型,评估模型输出的质量。
PPO :使用强化学习优化策略模型,最大化奖励模型的评分。
60. 大模型的安全对齐主要关注哪些方面?
有害内容过滤 :防止生成仇恨言论、暴力、色情等内容。
隐私保护 :防止泄露训练数据中的个人隐私信息。
偏见消除 :减少模型在性别、种族等方面的歧视性输出。
指令遵循安全 :防止模型被恶意提示词诱导执行危险操作。
61. 什么是 Agent (智能体) 在大模型中的应用? Agent 是指能够感知环境、做出决策并采取行动的实体。在大模型中,Agent 利用模型的理解和规划能力,结合工具使用(如搜索、代码执行),自主完成复杂任务,如自动编程、数据分析、客服机器人等。
62. 大模型部署时常见的瓶颈是什么?
显存带宽 :模型权重读取速度限制了推理吞吐量。
计算延迟 :单次推理耗时过长,影响用户体验。
并发处理 :高并发请求下资源竞争严重。
成本 :高性能 GPU 集群的维护成本高。
63. 如何评估大模型的幻觉程度?
事实一致性检查 :对比生成内容与权威知识库。
引用验证 :检查模型是否提供了可验证的来源链接。
人工评估 :专家打分生成内容的准确性和真实性。
自动化指标 :使用 FActScore 等专用指标进行量化评估。
64. 大模型微调中的数据配比原则是什么?
领域相关性 :优先选择与目标任务高度相关的领域数据。
质量优先 :高质量、干净的数据优于海量低质数据。
多样性 :覆盖不同风格、难度和类型的样本,避免过拟合。
平衡性 :正负样本、不同类别之间保持合理比例。
65. 什么是 MoE (Mixture of Experts) 架构? MoE 是一种稀疏混合专家架构。它包含多个专家网络,对于每个输入,路由网络只激活其中一部分专家进行处理。这使得模型在参数量巨大的同时,保持了较低的推理计算成本,提升了效率。
66. 大模型在代码生成方面的优势与挑战?
优势 :理解自然语言注释,自动生成样板代码,修复 Bug,解释复杂逻辑。
挑战 :代码逻辑严谨性要求高,容易生成看似正确实则错误的代码,难以处理私有库和内部规范。
67. 什么是 Context Window (上下文窗口)? Context Window 指模型在一次推理中能处理的最大 token 数量。更大的上下文窗口意味着模型能阅读更长的文档、记住更久的对话历史,但也带来了显存和计算成本的增加。
68. 如何处理长文本输入超出模型限制的问题?
滑动窗口 :分段处理,保留关键上下文。
摘要压缩 :先对长文本进行摘要,再输入模型。
分层检索 :先检索相关段落,再拼接输入。
模型升级 :使用支持更长上下文的模型版本。
69. 大模型微调中的 Loss 曲线异常可能是什么原因?
学习率过大 :Loss 震荡不收敛。
数据分布不均 :Loss 在某些 batch 剧烈波动。
梯度爆炸 :Loss 突然变为 NaN。
过拟合 :训练 Loss 持续下降,验证 Loss 上升。
70. 什么是 Embedding 模型? Embedding 模型将文本、图像等数据转换为稠密向量表示。这些向量保留了数据的语义信息,可用于相似度计算、聚类、检索等任务。常见的如 BGE、text2vec 等。
71. 大模型在医疗领域的应用注意事项?
合规性 :必须符合医疗法规,不能替代医生诊断。
准确性 :必须经过严格的临床验证。
隐私 :患者数据需脱敏处理。
可解释性 :诊断建议需有依据,便于医生审核。
72. 什么是 Knowledge Graph (知识图谱) 与大模型的结合? 将结构化知识图谱与非结构化文本结合。大模型负责理解自然语言,知识图谱提供精确的事实关系。结合后可用于问答系统,提高事实准确性,减少幻觉。
73. 大模型推理服务中 QPS 和 Latency 的权衡? QPS (每秒查询数) 代表吞吐量,Latency (延迟) 代表响应速度。通常增加 Batch Size 可提高 QPS 但会增加 Latency。需根据业务场景(如实时对话 vs 离线分析)进行权衡。
74. 什么是 Continuous Pre-training (持续预训练)? 在已有预训练模型的基础上,继续使用新数据或特定领域数据进行预训练。目的是让模型吸收新知识或适应新领域,而不必从头训练。
75. 大模型在金融风控中的应用场景?
反欺诈 :识别异常交易模式。
信用评估 :分析非结构化数据辅助征信。
合规审查 :自动审核合同条款风险。
市场情绪分析 :从新闻和社交数据预测趋势。
76. 什么是 Instruction Tuning (指令微调)? Instruction Tuning 是让模型学习如何遵循人类指令的训练过程。通过将任务描述为指令 + 输入 + 输出格式,使模型具备通用任务处理能力,是 SFT 的一种形式。
77. 大模型部署在边缘设备上的难点?
算力限制 :边缘设备 GPU/CPU 性能较弱。
内存限制 :无法加载大模型权重。
功耗限制 :长时间运行发热严重。
解决方案 :模型量化、剪枝、蒸馏,或使用专用 NPU。
78. 什么是 Few-Shot Learning (少样本学习)? 在提示词中提供少量示例,让模型模仿示例的模式完成任务。相比 Zero-Shot,Few-Shot 通常能获得更好的性能,且无需额外训练。
79. 大模型在客服系统中的应用价值?
全天候服务 :7x24 小时响应。
多轮对话 :理解上下文,解决复杂问题。
情感分析 :识别用户情绪,调整回复语气。
降本增效 :减少人工客服压力。
80. 什么是 Model Zoo (模型仓库)? Model Zoo 是托管预训练模型和微调模型的集合平台,如 Hugging Face Model Hub。开发者可以在此下载、分享和协作开发模型,加速 AI 应用落地。
81. 大模型训练中的分布式策略有哪些?
数据并行 :数据分片,各 GPU 计算相同模型副本,同步梯度。
模型并行 :模型分片,不同 GPU 处理不同层或参数。
流水线并行 :按层切分模型,GPU 间流水线传输激活值。
张量并行 :将矩阵运算切分到多个 GPU 上。
82. 什么是 Hallucination Mitigation (幻觉缓解)? 通过技术手段减少模型生成虚假信息的概率。方法包括引入检索增强、约束解码、自我反思机制、事实校验模块等。
83. 大模型在内容创作中的伦理问题?
版权争议 :生成内容版权归属不明。
虚假信息 :可能被用于制造谣言。
偏见放大 :训练数据中的偏见可能被模型继承并放大。
就业影响 :可能替代部分创意工作者岗位。
84. 什么是 Parameter Efficient Fine-Tuning (PEFT)? PEFT 是一类仅更新少量参数即可实现微调的技术,如 LoRA、Adapter、P-tuning。旨在降低显存需求和训练成本,同时保持模型性能。
85. 大模型在数据分析中的角色?
SQL 生成 :Text-to-SQL,将自然语言转为查询语句。
图表解读 :分析图表数据并生成结论。
异常发现 :自动识别数据中的异常点。
报告生成 :基于数据自动生成分析报告。
86. 什么是 Temperature 参数? Temperature 控制生成文本的随机性。值越高,输出越多样化但可能不稳定;值越低,输出越确定但可能重复。通常设为 0.7 左右。
87. 大模型在多语言支持上的挑战?
数据不平衡 :英语数据远多于小语种。
文化差异 :不同语言背后的文化语境不同。
资源稀缺 :小语种预训练模型较少。
解决方案 :跨语言迁移学习、多语言预训练。
88. 什么是 System Prompt (系统提示)? System Prompt 是设定模型角色、行为和约束的指令,通常在对话开始前发送给模型。它定义了模型的'人设',影响后续所有回复的风格和内容边界。
89. 大模型在软件开发中的辅助作用?
代码补全 :IDE 插件自动补全代码。
单元测试 :自动生成测试用例。
文档编写 :根据代码生成注释和文档。
Bug 修复 :分析错误日志并提供修复建议。
90. 什么是 Top-K Sampling 和 Top-P Sampling?
Top-K :从概率最高的 K 个 token 中采样。
Top-P (Nucleus Sampling) :从累积概率达到 P 的最小 token 集合中采样。Top-P 通常比 Top-K 更灵活,能适应不同分布。
91. 大模型在个性化推荐中的潜力? 利用大模型理解用户深层兴趣,结合多模态数据(文本、图像、行为),生成更精准的推荐列表,并能解释推荐理由,提升用户信任度。
92. 什么是 Model Collapse (模型崩溃)? 当模型在自身生成的数据上进行训练时,性能逐渐下降的现象。这是因为生成数据分布逐渐偏离真实数据分布,导致模型能力退化。需警惕使用合成数据训练的风险。
93. 大模型在科研领域的应用?
文献综述 :快速总结大量论文。
假设生成 :基于现有知识提出新假设。
实验设计 :辅助设计实验方案。
代码复现 :帮助理解复杂算法实现。
94. 什么是 Constrained Decoding (约束解码)? 在生成过程中强制模型输出符合特定格式或规则的内容。例如,强制输出 JSON 格式,或限制只能输出特定词汇表中的词,常用于结构化任务。
95. 大模型在网络安全中的应用?
威胁情报分析 :从海量日志中提取攻击特征。
漏洞扫描 :分析代码寻找潜在漏洞。
钓鱼邮件检测 :识别恶意邮件内容。
入侵检测 :实时监控网络流量异常。
96. 什么是 Chain-of-Hub (CoH)? (注:此处应为 CoT 或类似概念,若指特定技术需核实,此处泛指复杂任务分解) 将复杂任务分解为多个子任务链,依次执行。类似于 CoT,但更强调任务间的依赖关系和状态传递。
97. 大模型在教育和培训中的价值?
个性化辅导 :根据学生水平调整教学内容和节奏。
智能答疑 :随时解答学科问题。
作文批改 :自动评分并提供修改建议。
虚拟导师 :模拟真人互动进行技能训练。
98. 什么是 Self-Consistency (自洽性)? 让模型对同一问题生成多个答案,然后投票选择最常见的答案。这利用了大模型的多路径推理能力,提高了复杂推理任务的准确率。
99. 大模型在物联网 (IoT) 中的集成方式?
云端协同 :IoT 设备采集数据,云端大模型分析。
边缘推理 :轻量化模型部署在网关设备。
语音交互 :智能家居中的语音助手核心。
异常预警 :实时监测设备状态并预警。
100. 未来大模型的发展趋势是什么?
多模态融合 :文本、图像、视频、音频的统一理解。
自主智能 :更强的 Agent 能力,自主完成复杂工作流。
垂直深化 :针对医疗、法律、金融等行业的深度定制。
绿色 AI :降低能耗,提高能效比。
人机协作 :从替代转向增强人类能力。
本文整理自行业常见面试题库,旨在提供技术参考。实际面试中请结合具体岗位需求准备。
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online