大模型算法面试题
1、现在的大语言模型为什么基本都用decoder-only结构?
2、训练一个大语言模型的整条路线是什么?
3、介绍下LoRA. Adapter, prefix-tuningP-tuning和lPrompt-tun
ing?
4、你觉得OPENAI对齐为什么要用强化学习方法RLHF,用别的方法
不可以吗?
5、介绍inference的几种方式?
6、介绍下tokenizer?怎么训练的?
7、SFT后LLM 会出现哪些问题?
8、目前的大语言模型是怎么解决或者改善长度外推问题的?
9、目前大语言模型应用到端侧应用有哪些挑战?
10、GPT,llama,T5,GLM在模型上的架构是什么?分别有什么优势?
11、介绍下lora和q-lora?
12、LLaMA模型为什么要用旋转位置编码?
13、LLaMA模型使用了哪种激活了图数,为什么?
14、LLaMA模型在训练过程中如何处理梯度消失和梯度爆炸问题?
15、预训练和微调任务有什么区别?两者的目的是什么?
16、你训练的时候用float16,还是bfloat16,float32?为什么?
17、怎么解决训练使用float16导致溢出的问题?
如何训练自己的大模型?
解答:
-
选择合适的预训练目标和任务:确定模型将学习哪些通用的语言知识,以及针对哪些特定任务
进行优化。 -
收集和准备数据:收集大量、多样化的数据,包括通用数据和特定领域的数据进行消洗和预处
理。 -
选择模型架构:选择一个适合的模型架构,如Transformer,并确定模型的规模和层数。
-
定义训练流程:设置训练参数, 如学习率、批量大小、训练轮数等,并选择合适的优化器和损失函数。
-
训练模型:使用准备好的数据和训练流程开始训练模型,监控训练过程中的性能和资源使用。
-
评估和调优:在训练过程中定期评估模型的性能,并根据需要调整训练参数和模型架构。
-
微调和优化:在模型达到一定的性能后,进行微调以适应特定的应用场景和任务
目前大模型模型结构有哪些
解答:
- Transformer:基于自注意力机制的模型,包括编码器、解码器和编码器-解码器结构。
- GPT系列:基于自注意力机制的生成式预训练模型,采用解码器结构。
- BERT系列:基于自注意力机制的转换式预训练模型,采用编码结构。
- T5系列:基于Transformmer的编码器-解码器模型。
涌现能力的原因
解答:
涌现能力(Emergent Ability)是指模型在训练过程中突然表现出的新的、之前未曾预料到的能力。这种现象通常发生在大型模型中,原因是大型模型具有更高的表示能力和更多的参数,可以更好地捕捉数据中的模式和关联。随着模型规模的增加,它们能够自动学习到更复杂、更抽象的概念和规律,从而展现出涌现能力。
如何评价大模型的性能指标,除了准确率之外,还有哪些关键指标
解答:
包括但不限于 perplexity、BLEU、ROUGE、Fl 分数、AUC-ROC曲线等,以及对计算效率、
模型大小的考量。
哪些因素可能导致大模型(LLMS)出现偏见,如何减轻这些偏见
包括数据偏差、算法设计、训练过程中的强化等,减轻偏见的方法可能涉及数据多样化、去
偏算法公平性评估工具等.
如何在大模型训练中解决计算资源和成本问题
解答: 解决资源和成本问题的策略包括:使用更高效的硬件(如TPU、高性能 GPU),分布式训
练以分散计算负担,模型并行化技术,以及模型压缩和量化技术减少模型大小和运算需求。
此外,使用数据增强和活跃学习策略减少所需数据量也是有效手段,
解释Transformer 架构,并说明为什么它在大模型中如此重要
解答: Transformer 是一种基于自注意力机制的深度学习模型,它通过并行处理输入序列的所
有位置显著提高了处理速度。它放弃了传统 RNN或 LSTM 中的循环结构,使用多头自注意力
和位置编码来捕获序列中的长距离依赖关系。在大模型中,Transformer 架构因其高效并行
计算能力和强大的语言理解能力而成为首选。
请简述Tokenizer 的作用及其在NLP 模型中的重要性
解答:Tokenizer 在 NLP 模型中起着至关重要的作用。它负责将原始的文本数据转换为模型能
够理解和处理的数值序列。这种转换是模型训练和推理的基础,因为它使得模型能够捕捉文本
中的语义信息和上下文依赖。没有Tokenizer,模型将无法处理原始的文本数据。
幻觉在哪些不同类型
解答: 幻觉主要可以分为两类:即内在幻觉和外在幻觉。
:内在幻觉:生成的内容与源内容相矛盾。
“外部幻觉:生成的内容不能从源内容中得到验证,既不受源内容支持也不受其反驳。
分布式训练框架选择
解答: 多用 DeepSpeed,少用 Pytorch 原生的 torchrun。在节点数量较少的情况下,
使用何种训练框架并不是特别重要;然而,一旦涉及到数百个节点,DeepSpeed显现出其强
大之处,其简便的启动和便于性能分析的特点使其成为理想之选。
BERT和GPT有什么区别
解答: BERT(Bidirectional Encoder RepresentationsfromTransformers)和GPT
(Generative Pretrained Transformen)是两种不同类型的预训练语言模型。主要区别在于
BERT是一个双向编码器,它预测输入序列中的缺失部分,因此可以用于多种任务,如文本分
类、命名实体识别等。
GPT是一个单向解码器,它生成文本的下一个单词,因此主要用于生成型任务,如文本生成
对话生成等。
训练中文大模型有啥经验
解答: .使用大量高质量的中文数据,包括文本、对话、新闻、社交体帖子等。
:考虑语言的特点,如词序、语法结构、多义性等,并设计相应的预训练任务。
:使用适合中文的语言模型架构,如BERT或GPT,并进行适当的调整以优化性能。
:考虑中文的特殊字符和标点,确保模型能够正确处理这些字符。
“进行多任务学习,同时训练多个相关任务,以提高模型的泛化能力。