
1. 回顾1. 回顾模型选择回顾第一期选择了RF随机森林做完之后效果83.74%第二期方案选择了轻量化的 FastText效果远超预期从83.74%左右调到字符级别分词的效果是91.65%虽然提升很大但还是有很大的优化空间所以有了第三期项目分类任务算是最简单的任务对其要求都很高一般都是四个99999即99.99%工作中91.65%肯定不是最好的至少要优化到95%以上尽量减少误差第三期使用Bert原因是 Bert优势① Bert参数量大可以拟合更丰富的特征② Bert后期优化时更丰富如 做压缩、量化、蒸馏包含了Transformer架构的特征 如并行、文本长度处理前面的RNN、LSTM、GRU都是在解决文本长距离依赖问题对于一个特别长的文本RNN不行用LSTM不行用GRU、最后可以用Transformer2. Transformer理解Transformer由四部分构成输入、输出、编码器、解码器输入包括token embedding ➕ PE(Position Encoding位置编码BERT的3个embedding中有一个是Position embedding位置嵌入 )这里偶数位(0 2 4 6 8)用正弦、奇数位用余弦面试Transformer重点介绍① 带掩码的多头自注意力它适合做生成任务因为后面的内容被掩盖掉了根据前面的预测后面的如今的大模型叫做 生成式AI所以现在大模型几乎都使用纯Decoder-only面试题为什么现在大模型都用Decoder-only因为如今的大模型叫做 生成式AIDecoder本身是带有掩码的多头自注意力后面的内容被掩盖掉了根据前面的内容预测后面的适合做生成任务② 多头自注意力机制2018年谷歌颠覆性的提出自注意力机制公式QKT/根号dk再进行softmax再乘以V面试题注意力体现在公式中的哪一块Softmax后的这一部分因为softmax后是概率值V相当于答案在答案上给定概率值哪个概率值高就关注哪个地方、哪个概率值低默认可以忽视对于QKVQ-Query是问题、V-Value是答案、中间的K-Key是提示信息即 通过Key的提示把Query的问题回答成Value③PE(Position Encoding位置编码BERT的3个embedding中有一个是Position embedding位置嵌入 )这里偶数位(0 2 4 6 8)用正弦、奇数位用余弦3. BERT理解BERT用到Encoder结构由12个encoder堆叠而成叫base、由24个encoder堆叠而成叫large。面试题主要说出Bert核心是encoder的堆叠多少个encoder堆叠多头注意力多少加上embedding_dim词嵌入维度是多大这三点。Bert的网络结构有堆叠了12层encoder、多头注意力的头数是多少embedding_dim 词嵌入维度有768维现在用的多的1024、2048如下Bert架构图Bert的基础构建块 即通过 BertLayer块进行堆叠堆叠了12个4. 深度学习框架1. 深度学习框架偏向做训练也可以做预测TensorFlow(Google) 、Pytorch(Meta 前Facebook) 、PaddlePaddle(百度)最早期谷歌的tensorflow到meta的pytorch再到百度的飞桨paddlepaddle不同的框架生成的模型后缀名不同如 一个tensorflow模型(.pkl) 想要在 paddle、上使用推理(.paddle)不能直接使用需要先通过ONNX交换格式即 .pkl – .onnx – .paddle2. 深度学习推理框架做预测常见三套推理加速框架ONNX(多个大厂) 、TensorRT(NVIDIA) 、OpenVINO(Intel)OpenVINO — 专注于推理CPU即在intel CPU上推理更快TensorRT— 专注于做英伟达显卡的GPU的推理加速ONNX由很多大厂一起整的 交换格式万物先转ONNX ONNX再转万物由之前的 tensorflow(.pkl) - -pytorch - -paddle(.paddle)如果paddle框架想使用tensorflow的模型要通过ONNX来交换格式即先转 .onnx二、代码结构图1.文件目录结构