《百度算法工程师面试题8道含解析.docx》由会员分享,可在线阅读,更多相关《百度算法工程师面试题8道含解析.docx(3页珍藏版)》请在优知文库上搜索。
1、百度算法工程师面试题8道含解析问题1:讲一下Iora的原理1.ora方法指的是在大型语言模型上对指定参数增加额外的低秩矩阵,也就是在原始PLM旁边增加一个旁路,做一个降维再升维的操作。并在模型训练过程中,固定PLM的参数,只训练降维矩阵A与升维矩阵B。而模型的输入输出维度不变,输出时将BA与PLM的参数叠加。用随机高斯分布初始化A,用0矩阵初始化B。问题2:讲一下GBDT的原理GBDT(GradientBoostingDecisionTree)是一种集成学习方法,它通过迭代训练决策树,每一次迭代都试图修正前一次迭代的错误。具体而言,GBDT通过拟合残差(目标值与当前模型的预测之差)来逐步改进模
2、型。在每一轮迭代中,新的决策树被训练以捕捉残差中的模式。最终,所有树的预测被组合起来形成最终的预测模型。问题3:翻译任务一般用什么架构翻译任务主要使用的是seq2seq架构,目前主流的翻译架构是基于TranSfOrnler模型的,它采用自注意力机制(self-attention)来捕捉输入序列中不同位置的关联信息,并通过编码器-解码器结构来实现翻译。问题4:encoder-only,decoder-only,encoder-decoder区别Encoder-only:只有编码器,用于将输入序列编码成固定维度的表示,常用于特征提取。Decoder-only:只有解码器,用于从固定维度的表示生成输
3、出序列,通常在生成式任务中使用。Encoder-decoder:同时包含编码器和解码器,用于序列到序列的任务,如机器翻译。编码器将输入序列编码成上下文信息,解码器使用该信息生成输出序列。问题5:讲一下transformer的结构Transformer模型由编码器和解码器组成,其核心是自注意力机制。每个编码器和解码器均由多个相同的层叠加而成,每一层包含自注意力子层和全连接前馈网络子层。输入序列通过多头自注意力机制进行处理,然后通过前馈网络。每个子层后都有残差连接和层标准化。编码器和解码器之间通过编码器-解码器注意力连接。问题6:见一下FlashAttention的原理FlashAttention
4、从attention计算的GPUmemory的read和write方面入手来提高attention计算的效率。其主要思想是通过切块(tiling)技术,来减少GPUHBM和GPUSRAM之间的数据读写操作。问题7:fp32和fpl6的区别,混合精度的原理fp32:32位浮点数,占用4字节,提供高精度的数值表示。fpl6:16位浮点数,占用2字节,提供相对较低的数值表示精度,但在许多情况下仍足够。混合精度指的是在模型训练中同时使用fpl6和fp32,以在计算中提高效率。通常,模型参数使用fpl6表示,而梯度和累积值使用fp32表示。这样可以减少内存占用和计算开销,加速训练过程。问题8:BeamSearCh的原理Beamsearch是一种在序列生成任务中选择最优输出序列的搜索算法。在每一步,它保留概率最高的k个候选,然后根据下一个词的预测继续扩展这些候选。这个过程一直进行到生成完整序列为止。BeamSeareh允许在搜索空间中进行局部剪枝,以平衡搜索的广度和深度,提高生成的序列的质量。