大语言模型入门
大语言模型入门
- 1 大语言模型步骤
- 1.1 pre-training 预训练
- 1.1.1 从网上爬数据
- 1.1.2 tokenization
- 1.1.2.1 tokenization using byte pair encoding
- 1.3 预训练
- 1.3.1 context
- 1.3.2 training
- 1.3.3 输出
- 1.2 post-training
- 1.2.1 token
- 1.2 SFT监督微调
- 1.3 人类反馈强化学习
- 1.3.1 人类反馈奖励模型
- 1.3.2 基于奖励函数进行试错
- PPO
- GRPO
- 4 大语言模型值得相信吗
- 4.1 AI hallucinations幻觉
- 4.1.1 如何确认存在幻觉
- 4.1.2 如何解决幻觉
- 4.2 大模型心理学LLM psychology
- 4.3 大模型的自我认知
- 4.4 大模型的数学能力
- Deepseek
- Reasoning oriented RL using GRPO
1 大语言模型步骤
1.1 pre-training 预训练
1.1.1 从网上爬数据
download and preprocess the internet, including url filtering(like, removing racist/adult websites), PII removal(personal identifiable information should be removed, 豆包被爆输出个人信息,所以是这一点没有做好)
数据规模大概是44TB左右,不大,甚至一个大点的移动硬盘就可以装下。
1.1.2 tokenization
tokenization = context -> symbols/a sequence of tokens
- 文字编码的本质就是把字或字母转成一个有限表示的序列,比如a-z可以用1-26来表示。
- 这个序列不希望太长,要不然变相挤占了输入资源
1.1.2.1 tokenization using byte pair encoding
找到常出现的编码对,比如(125 67),就把它合成为一个新编码符号(比如301),然后再看有没有新的编码对,比如(301 786),那就再把这个合成新的。这样做decrease the length and increase the symbol size, in practice symbol size turns out to be 100k。
44TB -> 15 trillion万亿 token sequences
1.3 预训练
1.3.1 context
选取任意长度的token窗口arbitrary window lengths of tokens, but in practice the maximum length is often set as 16k/8k/4k
1.3.2 training
模型输出每个token的概率,和真值算loss
1.3.3 输出
做完预训练的模型一般称为base,base一般不会被release出来。
如果给base输入一句话,它不会回答,只会续写。
如果想要prompt,可以参考如下,因为模型具有in-context learning ability
这个base model更像是internet document simulator
1.2 post-training
- The pre-training stage is to sample documents, the post-training stage is to give answers to questions.
- The pre-training relies on the online documents, but the post-training stage totally throws them out and use datasets of human-labeling conversations.
- Knowledge in the parameters is the vague recollection (like something people read 1 month age); while knowledge in the context is the working memory (like something people read just now),因此在做prompt时,可以把尽可能充分的信息给到模型去推理,working memory可以直接访问,更加准确。
- The pre-training stage takes 3 months while post-training 3 hours, because the datasets of conversations are much smaller.
- This stage is much computationally cheaper.
- 这个阶段要学会和人类互动,也要拒绝不合理的要求(比如如何黑进别人的电脑)
- 这个阶段不会也无法覆盖所有的可能的问题,但是通过这种示例,模型能够学到这样的统计学模式statistical pattern,从而在推理时遇到没被训练过的问题,也能给予回答。
- 从LLM获得的回答其实是类似人类标注员的回答,或者说LLM公司编写的回答规范的回答。You are not talking to a magical AI, instead an average labeler.
- 为了克服大模型幻觉,可以使大模型具备联网搜索能力,然后根据这些信息组织答案,这个方法也要添加在训练集中。
1.2.1 token
因为输入的是对话,所以需要对对话进行处理,增加虚拟独白部分,分别在最前和最后,而且要指明是user还是assistant。
在推理时,输入到<|im_start|>assistant<|im_sep|>,后面的由模型补充就得到了答案。
1.2 SFT监督微调
1.3 人类反馈强化学习
1.3.1 人类反馈奖励模型
1.3.2 基于奖励函数进行试错
PPO
proximal policy opt
最大化长期奖励,但是通过clip保证不会偏离当前策略太远。
举个例子:智能家居系统
有一个智能家居系统,其中的恒温器需要根据室内外温度、能源价格等因素来调整设置,以达到舒适与节能的平衡。这个恒温器就是我们的“智能体”,它的目标是通过调节温度来最大化长期奖励(比如节省能源费用和保持舒适)。
场景设定:
状态:当前室内温度、室外温度、时间等。
动作:将恒温器设置为 20°C、21°C 或 22°C。
奖励:根据能源消耗和舒适度打分,比如:
如果温度太低或太高,奖励较低(因为不舒服)。
如果温度适中且能源消耗少,奖励较高。
恒温器需要通过不断尝试不同的设置来找到最优策略。PPO 的作用就是帮助它在学习过程中逐步优化策略,避免“走得太远”而犯错。
GRPO
group relative policy opt
一种用于大模型的策略优化算法,通过分组比较,动态调整学习策略,使训练更高效和稳定。因为之前是采用PPO算法,PPO会直接冲着奖励最高的方向去学习,无法平衡风险。
举个例子:班级小组学习
假设一个班级要提升数学成绩,老师用 GRPO 的思路设计学习计划:
分组:把学生分为 A、B、C 三组,每组用不同学习方法:
A组:题海战术
B组:错题分析
C组:概念推导
相对比较:
每周考试后,对比各组平均分。比如 B 组得分最高,说明“错题分析”方法更有效。
策略优化:
让 B 组分享经验,但不强制其他组完全照搬(避免学得太快反而混乱)。
A、C 组参考 B 组的方法,适当调整自己的策略(比如题海战术中加入错题分析)。
结果:
整体班级成绩提升,且各组保持自己的特色(稳定性)。
4 大语言模型值得相信吗
things that occur very frequently in the internet are probably more likely to be remembered correctly. The output of the LLM is just a vague recollection of internet documents
4.1 AI hallucinations幻觉
给模型输入一段没见过的东西,它会沿着继续预测下去,本质上是在概率性的前提下进行最佳预测。
由于是概率性的,所以在训练集的分布里,并没有"我不知道",只有自信的回答,所以面对及时不知道的事,AI也会给出自信的编造。Even the model knows it doesn’t know, it will not surface that.
The model are not looking it up(查找信息), instead just imitating the answer.
4.1.1 如何确认存在幻觉
- 测试大模型是否存在幻觉
a. 先用大模型A给出一些问答
b. 用这些问答问待测试的大模型
c. 如果回答错了,就说明存在幻觉
4.1.2 如何解决幻觉
- 训练大模型说我不知道
a. 根据答错的问题,训练它说我不知道
Through this way, the model learns the association of the knowledge-based refusal to the internal neuron - 联网搜索,把搜索到的知识当作输入一起给模型。
4.2 大模型心理学LLM psychology
涌现认知效应 emergent cognitive effect
4.3 大模型的自我认知
大模型实际上没有自我认知,它其实就是基于traning set做best guess,如果没有专门训练过这个问题,那么它可能会说自己的GPT(尽管它不是),但是是网上很多数据是有GPT生成的,导致它认为自己的GPT。
因此,可以考虑对其进行专门训练,或者hardcode,如下所示
4.4 大模型的数学能力
为了让大模型有足够的数学能力,它的输入至关重要。举例而言,下面左侧的回答就更差,导致可能模型学不出来。
因为模型一开始就揭晓了答案,但是前面没有足够的推理过程。模型是采用自回归的方式输出答案的,这就说明模型要在 The answer is 结束时,完成所有的推理和计算,然后给出答案来。如果采用右侧的答案,那么就能通过tokens的输出,先计算中间结果intermediate results,逐步完成推理和计算,提高其数学能力。
We should teach the model to spread out the reasoning and computation over the tokens, in other words, the model need tokens to think.
Deepseek
Reasoning oriented RL using GRPO
其中的奖励函数没有用人工的,而是纯deterministic的。A rule-based reward system
相关文章:
大语言模型入门
大语言模型入门 1 大语言模型步骤1.1 pre-training 预训练1.1.1 从网上爬数据1.1.2 tokenization1.1.2.1 tokenization using byte pair encoding 1.3 预训练1.3.1 context1.3.2 training1.3.3 输出 1.2 post-training1.2.1 token 1.2 SFT监督微调1.3 人类反馈强化学习1.3.1 人…...
从ARM官方获取自己想要的gcc交叉编译工具链接(Arm GNU Toolchain),并在Ubuntu系统中进行配置
前言 本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145547974 的分支博文。 在本博文中我们完成gcc交叉编译工具gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz的下载、配置、测试。 下载自己想要的gcc交叉编译工具的源码 目标文件的名字及说…...
LDR6500:重塑充电与数据传输的新篇章
在当今快速发展的数字时代,电子设备对充电速度、数据传输效率和兼容性提出了更高要求。LDR6500,作为一款专为USB Type-C Bridge设备设计的USB-C DRP(Dual Role Port,双角色端口)接口USB PD(Power Delivery&…...
Matlab 机器人 雅可比矩阵
工业机器人运动学与Matlab正逆解算法学习笔记(用心总结一文全会)(四)——雅可比矩阵_staubli机器人正逆向运动学实例验证matlab-CSDN博客 matlab求雅可比矩阵_六轴机械臂 矢量积法求解雅可比矩阵-CSDN博客 (63 封私信 / 80 条消息…...
网络安全防护:开源WAF雷池SafeLine本地部署与配置全流程
文章目录 前言1.关于SafeLine2.安装Docker3.本地部署SafeLine4.使用SafeLine5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址 前言 对于建站新手来说,无论你选择创建的是个人博客、企业官网还是各类应用平台来推广自己的内容或是产品&am…...
vue框架生命周期详细解析
Vue.js 的生命周期钩子函数是理解 Vue 组件行为的关键。每个 Vue 实例在创建、更新和销毁过程中都会经历一系列的生命周期阶段,每个阶段都有对应的钩子函数,开发者可以在这些钩子函数中执行特定的操作。 Vue 生命周期概述 Vue 的生命周期可以分为以下几…...
Ollama 安装使用指南
rootdeepseek-1:/home/zgq/.ollama# lsof -i :11434 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ollama 29005 root 3u IPv4 47359 0t0 TCP localhost:11434 (LISTEN) 从以上提供的 lsof 输出来看,Ollama 服务正在监听 localhost:11434…...
力扣 38. 外观数列 打表 迭代 阅读理解
Problem: 38. 外观数列 🧑🏫 参考题目补充说明 🧑🏫 参考题解 迭代法 class Solution {public String countAndSay(int n) {String str "1";for (int i 2; i < n; i) {StringBuilder sb new StringBuild…...
文心一言4月起全面免费,6月底开源新模型:AI竞争进入新阶段?
名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、文心一言免费化的背后:AI成本与应用的双重驱动1️⃣成本下降,推动文心一言普及2…...
基于LSTM+前向均值滤波后处理的癫痫发作检测(包含数据集)
引言 癫痫是一种常见的神经系统疾病,患者会经历反复的癫痫发作。早期检测和预警对于改善患者的生活质量至关重要。近年来,深度学习技术,尤其是长短期记忆网络(LSTM),在时间序列数据分析中表现出色…...
Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
文章目录 Redis下载地址:一、zip压缩包方式下载安装 1、下载Redis压缩包2、解压到文件夹3、启动Redis服务4、打开Redis客户端进行连接5、使用一些基础操作来测试 二、msi安装包方式下载安装 1、下载Redis安装包2、进行安装3、进行配置4、启动服务5、测试能否正常工…...
什么是交叉熵
交叉熵 定义公式 针对离散变量x的概率分布 p ( x ) p(x) p(x) , q ( x ) q(x) q(x) x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4… x n x_n xnp( x 1 x_1 x1)p( x 2 x_2 x2)p( x 3 x_3 x3)p( x 4 x_4 x4)…p( x n x_n xn)q( x 1 x_1 x1)q( x 2 x_2 …...
虚拟机安装k8s集群
环境准备 - 主节点(Master Node): IP地址: 192.168.40.100主机名: k8s-master - 工作节点(Worker Node): IP地址: 192.168.40.101主机名: k8s-node1 步骤 1: 配置虚拟机环境 1.1 设置主机名 在每台虚拟机上设置唯一的主机名…...
【mysql部署】在ubuntu22.04上安装和配置mysql教程
一.安装mysql 1. 更新软件包列表: sudo apt-get update2.安装 MySQL 服务器: sudo apt-get install mysql-server3.设置 MySQL 安全性: sudo mysql_secure_installation按照提示输入相关问题的回答,例如删除匿名用户、禁止 root 远程登录…...
机器学习实战(3):线性回归——预测连续变量
第3集:线性回归——预测连续变量 在机器学习的世界中,线性回归是最基础、最直观的算法之一。它用于解决回归问题,即预测连续变量(如房价、销售额等)。尽管简单,但线性回归却是许多复杂模型的基石。今天我们…...
烧结银在 DeepSeek 中的关键作用与应用前景
烧结银在 DeepSeek 中的关键作用与应用前景 在科技飞速发展的当下,DeepSeek 作为前沿科技领域的重要参与者,正以其独特的技术和创新的应用,在众多行业掀起变革的浪潮。而在 DeepSeek 的核心技术体系中,烧结银这一材料的应用&#…...
C++效率掌握之STL库:string底层剖析
文章目录 1.学习string底层的必要性2.string类对象基本函数实现3.string类对象的遍历4.string类对象的扩容追加5.string类对象的插入、删除6.string类对象的查找、提取、大小调整7.string类对象的流输出、流提取希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力…...
计算机组成原理—— 总线系统(十一)
在追求梦想的旅途中,我们常常会遇到崎岖的道路和难以预料的风暴。然而,正是这些挑战塑造了我们的坚韧和毅力,使我们能够超越自我,触及那些看似遥不可及的目标。不要因为一时的困境而气馁,也不要因为他人的质疑而动摇自…...
电子制造企业数字化转型实战:基于Odoo构建MES平台的深度解决方案
作者背景 拥有8年乙方项目经理经验、8年甲方信息化管理经验,主导过12个Odoo制造业项目落地,服务客户涵盖消费电子、汽车电子、工业设备等领域。本文基于华东某电子企业(以下简称"A公司")的实战案例,解析行业…...
【Python爬虫(4)】揭开Python爬虫的神秘面纱:基础概念全解析
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
kafka为什么这么快?
前言 Kafka的高效有几个关键点,首先是顺序读写。磁盘的顺序访问速度其实很快,甚至比内存的随机访问还要快。Kafka在设计上利用了这一点,将消息顺序写入日志文件,这样减少了磁盘寻道的时间,提高了吞吐量。与传统数据库的…...
书籍推荐:《书法课》林曦
记得樊登老师说过,如果你想了解一个事物,就去读5本相关的书,你会比大部分人都更了解它。这是我读的第4本和“书法”有关的书,作为一个零基础的成年人,林曦这本《书法课》非常值得一读。(无论你是否写字&…...
位图(C语言版)
文章目录 位图模型基本操作实现代码运行结果 应用存储只有两种状态的数据排序并去重 位图 模型 位图是“位”的数组。 为什么需要构建一个专门的数据结构来表示位的数组?:因为计算机最小的寻址单位是字节,而不是位。 位图是一种内存紧凑的…...
使用C#元组实现列表分组汇总拼接字段
文章目录 使用C#元组实现列表分组汇总拼接字段代码运行结果 使用C#元组实现列表分组汇总拼接字段 代码 string message string.empty; var tupleList new List<Tuple<string, string, string>>(); tupleList.Add(new Tuple<string, string, string>("…...
淘宝API数据采集接口||调用步骤详解
### 一、注册与认证 1. **注册淘宝开发者账号**: * 访问淘宝开放平台官网,点击“立即入驻”按钮,按照提示完成注册流程。注册过程中需要提供企业名称、联系人信息等基本信息。 2. **创建应用**: * 注册成功后,登录淘…...
C# 调用 C++ 动态库接口
在 C# 中调用 C 动态库接口,通常需要通过 P/Invoke (Platform Invocation Services) 来与 C 代码交互 1. 准备 C 动态库 假设你有一个 C 动态库,其中包含如下函数: extern "C" char* getLocationURL(const char* package_name, …...
fastadmin 接口请求提示跨域
问题描述 小程序项目,内嵌h5页面,在h5页面调用后端php接口,提示跨域。网上查找解决方案如下: 1,设置header // 在入口文件index.php直接写入直接写入 header("Access-Control-Allow-Origin:*"); header(&q…...
C#_文件写入读取操作
文件写入操作:--------------------------------------------------------------------------- 读取文件:---------------------------------------------------------------------------...
redis的哨兵模式和集群模式
Redis 的 哨兵模式(Sentinel Mode) 和 集群模式(Cluster Mode) 是两种常见的高可用部署方式,它们各有优缺点,适用于不同的场景。以下是它们的比较: 1. 哨兵模式(Sentinel Mode&#…...
《open3d +pyqt》凸包计算
《open3d +pyqt》凸包计算 一、效果展示二、qt设置2.1界面设置2.2 py文件生成三、核心代码一、效果展示 二、qt设置 2.1界面设置 添加动作Qhull: 布局参数: 2.2 py文件生成 更新Mainwindow.py 生成py文件 三、核心代码 代码如下: main.py文件...
数据库报错1045-Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决方式
MySQL 报错 1045 表示用户root从localhost连接时被拒绝访问,通常是因为密码错误、权限问题或配置问题。以下是解决该问题的常见方法: 方法一:检查用户名和密码 • 确认用户名和密码是否正确: 确保输入的用户名和密码完全正确&am…...
ThreadLocal为什么会内存溢出
每个线程(Thread 对象)内部维护一个 ThreadLocalMap,用于存储该线程的所有 ThreadLocal 变量的键值对: ThreadLocalMap虽然是ThreadLocal的静态内部类,但是Thread 对象的属性,当线程存活时ThreadLocalMap不会被回收。 Key:ThreadLocal 实例的 弱引用(WeakReference)。…...
数据结构------单向链表。
一.实现单向链表的头插,头删,尾插,尾删,按位置插,按位置删,按位置修改,按元素查找,按元素修改,按元素删除,单链表的逆置,查找倒数第几个元素&…...
Python的那些事第二十二篇:基于 Python 的 Django 框架在 Web 开发中的应用研究
基于 Python 的 Django 框架在 Web 开发中的应用研究 摘要 Django 是一个基于 Python 的高级 Web 框架,以其开发效率高、安全性和可扩展性强等特点被广泛应用于现代 Web 开发。本文首先介绍了 Django 的基本架构和核心特性,然后通过一个实际的 Web 开发项目案例,展示了 Dj…...
在 PyCharm 中接入deepseek的API的各种方法
在 PyCharm 中接入 DeepSeek 的 API,通常需要以下步骤: 1. 获取 DeepSeek API 密钥 首先,确保你已经在 DeepSeek 平台上注册并获取了 API 密钥(API Key)。如果没有,请访问 DeepSeek 的官方网站注册并申请 …...
当扩展屏显示【输入不支持】怎么解决?!
1、why? 当你遇到这个问题的时候,那就表示您的扩展屏偏老旧,这时候需要进行一些参数设置 2、直接改变桌面模式解决不了问题 你是不是尝试过直接在缩放和布局这里设置?在这里直接设置的话,设置的是桌面模式,屏幕大小是会变化但…...
深入剖析 Python 类属性与对象的底层创建与内存分析
各类资料学习下载合集 https://pan.quark.cn/s/8c91ccb5a474 在 Python 中,类和对象是面向对象编程(OOP)的核心组成部分。类属性与实例属性的存储和管理方式,以及类和对象在内存中的分布和结构,对于深入理解 Python 的底层机制至关重要。 本文将带你详细解析 P…...
pdf文件的读取,基于深度学习的方法
需要安装一些依赖解析 PDF 文件的详细指南_unstructured.partition.pdf-CSDN博客文章浏览阅读1.3k次,点赞13次,收藏9次。通过 unstructured.partition.pdf 函数,可以方便地解析 PDF 文件并提取其中的文本和表格内容。尽管在使用过程中可能会遇…...
【指令集】Nginx
本文作者: slience_me 【指令集】Nginx 1. 目录结构 Nginx 的基础目录结构通常包括以下几个主要目录: Nginx的目录结构大致如下(以Linux系统为例): /etc/nginx/ # Nginx的配置文件目录 ├── ngin…...
蓝耘云智算|使用 Deepseek R1 模型优化 BERT 在 NLP 任务中的表现
在自然语言处理(NLP)领域,BERT(Bidirectional Encoder Representations from Transformers)已成为许多文本分类任务的基准模型。然而,随着新模型的出现和技术的不断进步,BERT在某些情况下可能不…...
LINUX常用命令学习
查看系统版本 使用hostnamectl命令检查。hostnamectl显示了CentOS的版本以及操作系统的相关信息,非常方便 设置linux机器别名称 hostnamectl set-hostname 机器别名 --static 华为云 centos 命令:lsb_release -a linux:cat /proc/version 查看进程路…...
【java面向对象的三大特性】封装、继承和多态
目录标题 一、封装(Encapsulation):二、继承(Inheritance):三、多态(Polymorphism):1. 多态的三个必要条件:2.多态的具体实现:3.多态的使用场景&a…...
【开源免费】基于SpringBoot+Vue.JS校园商铺管理系统(JAVA毕业设计)
本文项目编号 T 191 ,文末自助获取源码 \color{red}{T191,文末自助获取源码} T191,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
日常故障排查 - Java程序故障排查
Java程序故障 无论对于任何的故障而言,恢复可用性都是首要目标。但作为一个技术匠人,不能让同一个问题导致多次故障,因此故障的根因剖析以及解决也是很重要的。但是故障根因剖析是需要现场数据来进行分析,因此在故障恢复之前要尽…...
ai数字人分身系统开发源码saas化
#数字人分身系统# #数字人系统源码# #ai数字人123 123# 云罗抖去推数字人分身系统是一款融合了形象克隆、声音克隆、AI数字人分身、AI智能剪辑、智能文案等各种AI技术一体化的短视频营销工具,其核心功能优势主要体现在以下几方面: 真实度高…...
DeepSeek免费部署到WPS或Office
部署到WPS - 通过OfficeAI插件接入: - 准备工作:安装最新版本的WPS Office软件;访问DeepSeek官网,点击右上角的“API开放平台”,登录账号(若无账号需先注册),登录成功后,…...
vue2和vue3插槽slot最通俗易懂的区别理解
在 Vue 的组件通信中,slot(插槽)的编译优化是一个重要的性能提升点。以下是 Vue2 和 Vue3 在 slot 处理上的差异及优化原理,用更直观的方式解释: Vue2 的 Slot 更新机制 想象一个父子组件场景: 父组件&am…...
生成式人工智能:技术革命与应用图景
(这文章有些地方看不懂很正常,因为有太多生词,需要对 计算机/人工智能 研究至深的人才能看懂,遇到不会的地方用浏览器搜索或跳过) 引言 2023年被称我们为"生成式AI元年",以GPT-4、DALL-E 3、Stable Diffusi…...
关于Dest1ny:我的创作纪念日
Dest1ny 因为这是csdn任务,我就稍微“写”了一下! 如果大家真的有什么想聊的或者想一起学习的,欢迎在评论区或者私信中与我讨论! 2025想说的话 我就把我想说的写在前面! 不用对未来焦虑,不要觉得自己走…...
AI学习记录 - 最简单的专家模型 MOE
代码 import torch import torch.nn as nn import torch.nn.functional as F from typing import Tupleclass BasicExpert(nn.Module):# 一个 Expert 可以是一个最简单的, linear 层即可# 也可以是 MLP 层# 也可以是 更复杂的 MLP 层(active function 设…...