【自然语言处理】微调 Fine-Tuning 各种经典方法的概念汇总

news2024/11/13 8:47:24

【自然语言处理】微调 Fine-Tuning 各种经典方法的概念汇总

  • 前言请看此
  • 微调 Fine-Tuning
    • SFT 监督微调(Supervised Fine-Tuning)
    • 概念:监督学习,无监督学习,自监督学习,半监督学习,强化学习的区别
    • 概念:下游任务
    • 概念:再利用(Repurposing),全参微调(Full Fine-Tuning)和部分参数微调(Partial Fine-tuning)
    • 线性探测(Linear Probing)微调策略
    • 其他一些简单的微调策略
    • 概念:提示(Prompt)和指令(Instruction)
    • 提示微调(Prompt Tuning)微调技术
      • 如何构建好的 prompt 或 instruct
    • 指令微调(Instruction Tuning)微调技术
    • LoRA 低秩自适应(Low-Rank Adaptation)训练技术
    • 适配器学习(Adapter Learning)微调技术
    • 前缀微调(Prefix-Tuning)微调技术
    • P微调(P-Tuning)微调技术
    • PEFT 参数高效微调(Parameter-Efficient Fine-Tuning)开源参数高效微调库
    • RL 强化学习(Reinforcement Learning)
    • RLHF 基于人类反馈的强化学习(Reinforcement Learning from Human Feedback)

前言请看此

(1)一些概念源自LLM(Chatgpt)和网络(百度/知乎等),笔者进行了初步检查。
(2)由于其中的各种知识比较琐碎,为了形成较为结构化的知识体系,且使用最简单的、几乎无公式的介绍,故作此博客。
(3)着重为自然语言处理领域NLP的,CV领域的不是很详细讲述了
上一篇博客:【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总
(4)比较简单或者过于的概念就不介绍了,默认大家都学会了。不然要写的太多了。
比如损失,损失函数,神经网络几个概念,不认识的话单独先去学一下。

微调 Fine-Tuning

  • 微调 是指在已经经过预训练的模型基础上,通过使用任务特定的数据集进行额外的训练,以使模型适应特定的任务或领域。通常情况下,微调是在一个相对较小的数据集上进行的,该数据集与模型最初预训练的数据集可能有所不同。
  • 迁移学习 是一种机器学习范畴,旨在将从一个任务(源任务)中学到的知识应用到另一个任务(目标任务)上。
  • 我们发现,微调的概念和机器学习中的迁移学习概念比较类似,分析一下我们为什么要微调,或者迁移学习。
    即【微调的优势
    (1)站在巨人的肩膀上:前人花很大精力训练出来的模型在大概率上会比你自己从零开始搭的模型要强悍,没有必要重复造轮子
    (2)训练成本可以很低,任务特定的数据集可以几千或者几万条,这远远低于预训练的数据集大小。
    (3)适用于小数据集:对于数据集本身很小的情况,从头开始训练具有几千万参数的大型神经网络是不现实的,因为越大的模型对数据量的要求越大,过拟合无法避免。这时候如果还想用上大型神经网络的超强特征提取能力,只能靠迁移学习。(减少过拟合现象

SFT 监督微调(Supervised Fine-Tuning)

  • 监督微调 是一种利用带有标签的数据对预训练模型进行进一步训练的方法。
    其实就是监督学习微调阶段的应用

概念:监督学习,无监督学习,自监督学习,半监督学习,强化学习的区别

  • 强化学习涉及一个智能体(agent)与环境的交互。智能体通过在环境中采取动作来达到某个目标,通过环境的反馈(奖励或惩罚)来调整其行为。
  • 区分其他几个学习方式,可以按照训练阶段 和 标签进行区分分类
    • 无监督学习:预训练阶段,大规模无标签语料
    • 监督学习:微调阶段,小规模有标签语料
    • 自监督学习:预训练或微调阶段都可,语料本身没有标签,但可以通过算法/神经网络/模型等,去计算出标签
    • 半监督学习:在预训练阶段使用大规模无标签语料,在微调阶段使用小规模有标签语料。是横跨两个阶段的

概念:下游任务

  • 下游任务是指在迁移学习或微调中,模型在预训练之后,通过额外的训练适应于特定任务或领域的任务。下游任务的选择取决于应用的需求和目标。
  • 我们微调肯定是首先得确定下游任务,然后按照具体的任务,使用某些模型、算法与数据集进行微调模型。
  • 下面列了一些比较常见的下游任务。
    可以看到,基本上分为判别式任务生成式任务
    (1)文本分类:
    对文本进行分类,如情感分析、主题分类、垃圾邮件过滤等。
    (2)命名实体识别 (NER):
    从文本中标注和提取特定实体的信息,如人名、地名、组织名等。
    (3)文本生成:
    生成自然语言文本,包括文章摘要、对话生成、文章创作等。
    (4)目标检测:
    在图像中检测和标注出现的对象,并用边界框表示。
    (5)语义分割:
    将图像中的每个像素分配给特定的语义类别,以实现像素级的语义分割。
    (6)图像分类:
    将图像分为不同的类别,通常通过预测图像中出现的主要对象或场景。
    (7)机器翻译:
    将源语言的文本翻译成目标语言的文本。
    (8)问答系统:
    回答用户提出的自然语言问题,通常在给定的上下文中查找答案。
    (9)语音识别:
    将音频信号转换为文本,通常用于语音助手和语音命令的应用。
    (10)图像生成:
    生成新的图像,如图像合成、风格迁移等。
    (11)推荐系统
    为用户推荐特定的商品、内容或服务,基于用户行为和兴趣。

概念:再利用(Repurposing),全参微调(Full Fine-Tuning)和部分参数微调(Partial Fine-tuning)

  • 在迁移学习中,按照微调模型的全部参数,还是部分参数,我们分为如下两类。
  • 全参微调(Full Fine-Tuning)
    指在预训练模型的基础上,对整个模型的所有参数进行微调。在这个过程中,模型权重会根据目标任务的数据进行全面调整,而不仅仅是最后几层或最后一层的权重。
    这意味着预训练模型的所有层都能够适应新任务,但可能需要较大的目标任务数据集来防止过拟合
  • 部分参数微调(Partial Fine-tuning)
    只对模型的部分参数进行微调,通常是最后几层或最后一层的参数。这种方式在目标任务数据较少的情况下更常见,以防止过拟合并提高模型的泛化能力。
  • 重新利用(Repurposing)或者叫再利用
    指的是将预训练模型应用于一个新的任务,而这个过程可能包括对模型的一部分参数进行微调。
    再利用可以分为全参微调和部分参数微调。

线性探测(Linear Probing)微调策略

  • 在自然语言处理(NLP)领域中,“linear probing” 是一种用于微调预训练模型的方法。该方法的目标是通过 添加一个简单的线性层(线性分类器) 来微调模型,以适应特定的任务。这个线性层是一个全连接层,它的输出维度等于目标任务的类别数(对于分类任务)或任务特定的输出维度。
  • **它冻结之前的所有参数,只训练该线性分类器层的参数。**所以是部分参数微调。
    注:区别与hash碰撞检测的线性探测法。

其他一些简单的微调策略

  • Prompt Tuning
    • Partial-k
      只微调模型的最后k层,冻结其他层
    • MLP-k
      增加一个k层的MLP(多层感知机)作为分类器
    • Side-Tuning
      训练一个 side 网络,添加和调整辅助任务(side tasks)来提高模型性能。
      在这里插入图片描述
    • Bias
      只微调网络的 bias 参数

概念:提示(Prompt)和指令(Instruction)

  • ChatGPT/InstructGPT详解
    实话实说,这是两个非常令人搞混的概念,弄清他们,有助于弄明白后面的提示微调和指令微调技术。
  • 提示(Prompt)和指令(Instruction)都是用户对LLM的输入的详细上下文的描述。
    区别在于
    • 提示:类似于MLM技术,构造好提示后,把用户希望获得的内容变成MLM中[MASK]的token或留白,让模型去回答补全。类似于完型填空
      例子:给女朋友买了这个项链,她很喜欢,这个项链太____了。
    • 指令:即通过指令或命令, 告诉模型需要做什么,我需要得到什么。
      例子:请告诉我一个英语双关冷笑话。
  • 注意:有时候人们提到的 prompt 的概念包含了 instruction 的概念
    但最好还是分清这两个概念,毕竟不大一样。
    在这里插入图片描述

提示微调(Prompt Tuning)微调技术

  • 实际案例说明AI时代大语言模型三种训练技术及其区别——Prompt-Tuning、Instruction-Tuning和Chain-of-Thought
  • 由于BERT的预训练使用了MLM,所以这类模型对于提示微调训练来说比较合适
  • 我们发现,比如BERT它本来就是做完形填空比较合适的,预训练中也没有做比如情感分析之类的任务。
    但是当我们构建出 今天天气真好。这句句子的情感是 __ 的。 的 prompt 之后,BERT 根据完形填空的方法,自然倾向于填入 积极的/正面的就可以迁移到情感分析的下游任务去了!
  • 比较重要的是如何构建 prompt,以及如何构建好的prompt
    但我们发现跟如何构建好的instruction方法是类似的,所以统一写在这里了。

如何构建好的 prompt 或 instruct

(1)清晰和简洁
Prompt 应该明确和简洁,避免模糊或复杂的语言。清晰的 prompt 有助于模型正确理解任务。
糟糕的 prompt:请解释一下这个问题的背景和相关内容,以及它的历史。
好的 prompt:简要解释这个问题的背景和历史。
(2)任务导向
prompt 应该明确指导模型执行特定的任务,避免过于开放式的描述。任务导向的 prompt 有助于模型集中精力解决特定问题。
糟糕的 prompt:谈谈你对这个主题的看法。
好的 prompt:根据给定的数据,预测下个月的销售额。
(3)关键词和实体
使用关键词和实体有助于引导模型关注任务的核心内容。这可以通过在 prompt 中强调关键词或提到实体来实现。
糟糕的 prompt:介绍一下这个产品。
好的 prompt:描述这个产品的特性和优势,特别关注 [产品名称] 的创新点。
(4)多样性和变化性
为了提高模型的鲁棒性,可以设计多样性的 prompt,涵盖任务的不同方面,以及各种可能的输入方式。
不同形式的好 prompts:
给定一段文本,总结其中的关键观点。
在给定的图像上标记出所有出现的物体。
用简短的话语回答:[问题]。
(5)验证和调整
在应用 prompt 前,可以通过试验和验证来不断调整。观察模型对不同 prompt 的表现,以确保 prompt 对任务的影响是积极的。
尝试不同的 prompt 表达方式,比如在问句中加入否定词、使用不同的关键词等,观察模型的响应。

指令微调(Instruction Tuning)微调技术

  • 对于指令微调,就感觉是提示微调的一个进一步的版本。
    从简单的完形填空上升到了基于单个或多个指令,让模型进行复杂操作。
    即,指令微调可以应对多个下游任务,而不是单单的一个简单任务。
  • 对于训练集,我们可以这样构建:
  • 准备一组指令集,比如 “该文本的情感是正面的还是负面的?”
  • 准备带标签数据集,比如 情感分类任务的标签可以是“正面”或“负面”
  • 把指令集和数据集的提问进行拼合,比如 “该文本的情感是正面的还是负面的?这家餐厅的食物很好吃。”
  • 若回答效果比较差,则对指令进行微调。之后进行模型训练即可。

LoRA 低秩自适应(Low-Rank Adaptation)训练技术

  • 大模型微调(finetune)方法总结-LoRA,Adapter,Prefix-tuning,P-tuning,Prompt-tuning
  • LoRA认为,随着LLM参数不断增多,全参微调的消耗时间和资源较多,而其他一些微调效果不佳
    LoRA还认为,LLM过度参数化了,可以通过其内在的低纬度参数进行任务适配
    LoRA允许我们通过优化适应过程中密集层变化的秩分解矩阵来间接训练神经网络中的一些密集层,同时保持预先训练的权重不变。
  • 在原始预训练语言模型PLM(Pertrained Language Model)旁边增加一个旁路,做一个降维再升维的操作,来模拟所谓的内在秩
  • 训练的时候固定PLM的参数,只训练降维矩阵A与升维矩阵B。
  • 模型的输入输出维度不变,输出时将BA与PLM的参数叠加。
  • 用随机高斯分布初始化A,用0矩阵初始化B,保证训练的开始此旁路矩阵依然是0矩阵
  • 因此,LoRA 的训练成本很低,且比较通用,也有一定的效果(但是想要很好的效果还得全参微调或者其他方法)
    在这里插入图片描述

适配器学习(Adapter Learning)微调技术

  • Parameter-efficient transfer learning系列之Adapter
    更详细介绍了 adapter 与 adapter fusion。
  • Adapter引入NLP领域,作为全模型微调的一种替代方案。
    在预训练模型每一层(或某些层)中添加Adapter模块微调时冻结预训练模型主体,由Adapter模块学习特定下游任务的知识
  • 每个Adapter模块由两个前馈子层组成,第一个前馈子层将Transformer块的输出作为输入,将原始输入维度d投影到m,通过控制m的大小来限制Adapter模块的参数量,通常情况下m<<d。在输出阶段,通过第二个前馈子层还原输入维度,将m重新投影到d,作为Adapter模块的输出。通过添加Adapter模块来产生一个易于扩展的下游模型,每当出现新的下游任务,通过添加Adapter模块来避免全模型微调与灾难性遗忘的问题。Adapter方法不需要微调预训练模型的全部参数,通过引入少量针对特定任务的参数,来存储有关该任务的知识,降低对模型微调的算力要求。
    在这里插入图片描述

前缀微调(Prefix-Tuning)微调技术

  • 深入理解Prefix Tuning
    LLM微调方法:Prompt Tuning And Prefix Tuning
  • 相比与离散的 prompt,需要人工寻找比较合适的提示
    为何不提出连续的 prompt
  • 前缀微调在输入token之前构造一段任务相关的virtual tokens作为Prefix
    然后,在训练的时候只更新Prefix部分的参数,而 PLM 中的其他部分参数固定。
    不同任务就对应不同的 Prefix
  • 这样的话,需要在 transformer 中的每层稍作修改,不同任务就可以获得不同的 Prefix 头了。
    在这里插入图片描述
    在这里插入图片描述

P微调(P-Tuning)微调技术

  • 大模型参数高效微调技术实战(三)-P-Tuning
    该方法将 Prompt 转换为可以学习的 Embedding 层,并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。
  • 相比Prefix Tuning,P-Tuning加入的可微的virtual token,但仅限于输入层,没有在每一层都加;另外,virtual token的位置也不一定是前缀,插入的位置是可选的。这里的出发点实际是把传统人工设计模版中的真实token替换成可微的virtual token。
    在这里插入图片描述

PEFT 参数高效微调(Parameter-Efficient Fine-Tuning)开源参数高效微调库

  • HF-PEFT
    详细操作看HF社区吧。
  • PEFT 是 Huggingface 开源的一个参数高效微调库,它提供了最新的参数高效微调技术,并且可以与 Transformers 和 Accelerate 进行无缝集成。
  • PEFT 目前支持
    LoRA
    Prefix Tuning & P-Tuning v2
    P-Tuning
    Prompt Tuning
    AdaLoRA
    IA3

RL 强化学习(Reinforcement Learning)

  • 一般强化学习在博弈、游戏、棋类中,比较常见
    但是在自然语言处理领域用到语言模型微调中, 使用则不大相同了。
  • 在模型微调阶段,一般使用SFT监督微调
    但现在有一些人提出了基于强化学习的一些微调方式,且有一些浪潮迹象。
    目前最火的就是RLHF

RLHF 基于人类反馈的强化学习(Reinforcement Learning from Human Feedback)

  • 一文读懂ChatGPT中的强化学习
    图解大模型RLHF系列之:人人都能看懂的PPO原理与源码解读
    这一篇比较推荐阅读。
  • RLHF是为了引入人类反馈,使用人类偏好数据进行训练,让模型产生符合人类喜好的回答。
  • 经典RLHF一般就如下图所示三个阶段
    • 第一步,收集带标签数据,训练一个SFT模型,这里也被叫做策略(Policy)
    • 第二步,收集偏好数据,训练一个RM奖励模型(Reward Model)
    • 第三步,用一个强化学习的算法来微调该SFT模型,比如经典的PPO算法。
      在这里插入图片描述
  • RL中,有经典概念 智能体、环境、状态、动作
    在NLP语境下,如何对应呢
    智能体:指语言模型
    环境:指上下文
    状态:指语言模型已经输出的前文
    动作:指接下来选择输出的内容

    总收益:语言模型输出完后,人们对该文本的偏好程度
    即时收益:语言模型输出下一个token的暂时收益。
  • 在RLHF-PPO中,一共有四个主要模型
    Actor Model:演员模型,这就是我们想要训练的目标语言模型
    Critic Model:评论家模型,它的作用是预估总收益
    Reward Model:奖励模型,它的作用是计算即时收益
    Reference Model:参考模型,它的作用是在RLHF阶段给语言模型增加一些“约束”,防止语言模型训歪(朝不受控制的方向更新,效果可能越来越差)
  • 其中,Actor/Critic Model(在RLHF阶段是需要训练的)
    在RLHF中,我们不仅要训练模型生成符合人类喜好的内容的能力(Actor),也要提升模型对人类喜好量化判断的能力(Critic)
  • Reward/Reference Model 是参数冻结的。
    再次说明下,其中的各种复杂的损失函数可以在上述提到的博文中阅读。
  • 现在PPO已经出了很多新的替代方案了(由于RLHF-PPO运用起来比较复杂),比如DPO等。更新的内容需要阅读相关论文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1437703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适用于 Windows 和 Mac 的 16 款最佳数据恢复软件

数据恢复软件是找回因硬盘损坏、病毒攻击或意外删除数据等原因而在设备上丢失的数据的最佳方法。在数字世界中&#xff0c;丢失数据是一件非常糟糕的事情&#xff0c;这会让许多人的情况变得更糟。使用最佳数据恢复软件可以减轻您必须努力恢复丢失数据的压力。它将带回您的大部…

ElastAlert 错误日志告警

文章目录 前言一、ElastAlert 概览1.1 简介1.2 ElastAlert 特性 二、ElastAlert 下载部署2.1 安装 Python3 环境2.2 下载 ElastAlert2.3 部署 ElastAlert 三、接入平台3.1 对外接口层3.2 服务层 前言 ElastAlert 是 Yelp 公司基于 python 开发的 ELK 日志告警插件&#xff0c;…

Flutter学习(八)Flutter_Boost接入

背景 基于安卓的原生项目&#xff0c;进行Flutter的接入&#xff0c;进行混合开发。 参考链接 官方地址&#xff1a;link fullter_boost配置&#xff1a;link git代理配置&#xff1a;link kotlin语法集成&#xff1a;link 混合开发的坑&#xff1a;link 开发环境 as4…

@RequestBody、@RequestParam、@RequestPart使用方式和使用场景

RequestBody和RequestParam和RequestPart使用方式和使用场景 1.RequestBody2.RequestParam3.RequestPart 1.RequestBody 使用此注解接收参数时&#xff0c;适用于请求体格式为 application/json&#xff0c;只能用对象接收 2.RequestParam 接收的参数是来自HTTP 请求体 或 请…

Mysql MGR搭建

一、架构说明 1.1 架构概述 MGR(单主)VIP架构是一种分布式数据库架构&#xff0c;其中数据库系统采用单主复制模式&#xff0c; 同时引入虚拟IP(VIP)来提高可用性和可扩展性。 这种架构结合了传统主从复制和虚拟IP技术的优势&#xff0c;为数据库系统提供了高可用、 高性能和…

力扣53. 最大子数组和(滑动窗口,动态规划)

Problem: 53. 最大子数组和 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 思路1:滑动窗口 1.为求出最大连续的子数组和,我们逻辑上假设有一个窗口在原数组上滑动, 欲求出最大连续,则需要保证窗口中的所有元素和最起码大于0; 2.即当当前窗口中的元素值的和小于0…

Java Map HashMap集合的基本操作与使用

Java Map HashMap集合的基本操作与使用 package com.zhong.mapdemo.map;import jdk.jfr.Description;import javax.swing.plaf.synth.SynthOptionPaneUI; import java.util.*;/*** ClassName : MapDemo* Description : map 的基本使用* Author : zhx* Date: 2024-02-07 10:29*/…

【Ubuntu 20.04/22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤

仓库链接&#xff1a;esp-matter SDK官方软件说明&#xff1a;ESP Matter Programming Guide官方参考文档&#xff1a;使用 Matter-SDK 快速搭建 Matter 环境 (Linux) 环境要求 Ubuntu 20.04 或 Ubuntu22.04网络环境支持访问 Gihub 在安装 esp-matter SDK 软件编译环境之前&a…

天线阵列车载应用——第2章 典型阵列几何形状和基本波束控制方法 2.6~2.7节

2.6 天线阵列性能 2.6.1 阵列阵元辐射方向图与相互耦合 到目前为止&#xff0c;我们假设阵列阵元具有全向辐射方向图。实际阵列中的元素不是各向同性的&#xff0c;也不是孤立的源。阵列阵元辐射方向图[35]被确定为阵列中单个阵元的馈电方向图&#xff0c;所有其他单元都被匹配…

【Python】window环境使用venv部署jupyter notebook

基础信息 执行win+r,在输入框输入powershell: python版本:python -v 创建并激活虚拟环境 1、进入要创建虚拟环境的目录,操作示例如下: PS C:\Users\Administrator> cd D:\Python\weltest 2、创建虚拟环境,操作示例如下: PS D:\Python\weltest> python -m venv…

【靶场实战】Pikachu靶场敏感信息泄露关卡详解

Nx01 系统介绍 Pikachu是一个带有漏洞的Web应用系统&#xff0c;在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习&#xff0c;那么Pikachu可能正合你意。 Nx02 敏感信息泄露概述 由于后台人员的疏忽或者不当的设计&…

成功者的好习惯:揭秘他们走向成功的秘诀

成功并非一蹴而就&#xff0c;而是由一系列好习惯长期累积的结果。那些成功者&#xff0c;他们背后都隐藏着哪些好习惯呢&#xff1f; 一、明确目标与计划 成功者往往有明确的目标&#xff0c;并为之制定详细的计划。他们清楚自己想要达成的目标&#xff0c;并将大目标分解为…

高灵敏17β-雌二醇(17β-Estradiol) high sensitivity ELISA kit

高灵敏ELISA试剂盒&#xff0c;可检测到低至14 pg/ml的17β-雌二醇 雌二醇(estradiol) 是由卵巢内卵泡的颗粒细胞分泌的类固醇激素&#xff0c;是主要的雌激素&#xff0c;负责调节女性特征、附属性器官的成熟和月经-排卵周期&#xff0c;促进乳腺导管系统的产生&#xff0c;有…

计算机网络——网络

计算机网络——网络 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.cn/qianqiu) 无线网络和移动网…

如何区分Linux中标准分区与lvm分区

以下是标准分区 以下包含lvm分区

过年送你三句话!部门大战积雪!飞机延误,掌声响起?——早读

你到家了吗&#xff1f; 引言代码第一篇 也评 以雪为令&#xff0c;多滴部门全力以赴迎战寒潮第二篇 人民日报 飞机延误20分钟&#xff0c;但他走进机舱时&#xff0c;掌声响起&#xff01;第三篇 人民日报 【夜读】快过年了&#xff0c;这三句话送给你第四篇&#xff08;跳&am…

你的代码很丑吗?试试这款高颜值代码字体

Monaspace 是有 GitHub 开源的代码字体&#xff0c;包含 5 种变形字体的等宽代码字体家族&#xff0c;颜值 Up&#xff0c;很难不喜欢。 来看一下这 5 种字体分别是&#xff1a; 1️⃣ Radon 手写风格字体 2️⃣ Krypton 机械风格字体 3️⃣ Xenon 衬线风格字体 4️⃣ Argon…

二叉树OJ题(1)

目录 1.相同的树 2.对称二叉树 3.翻转二叉树 4.另一颗树的子树 题目代码思路整体分析&注意事项易错点画图递归分析 树根左子树右子树 分支的思想 多情况考虑 1.相同的树 100. 相同的树 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/same-…

使用x86架构+Nvidia消费显卡12G显存,搭建智能终端,将大模型本地化部署,说不定是未来方向,开源交互机器人设计

1&#xff0c;大模型本地部署 视频说明地址&#xff1a; https://www.bilibili.com/video/BV1BF4m1u769/ 【创新思考】&#xff08;1&#xff09;&#xff1a;使用x86架构Nvidia消费显卡12G显存&#xff0c;搭建智能终端&#xff0c;将大模型本地化部署&#xff0c;语音交互机…

Oracle篇—logminer日志挖掘恢复误操作数据

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…