深圳网站建设哪个公司好/网站联盟广告

深圳网站建设哪个公司好,网站联盟广告,做网站宣传的公司,网站服务器备案欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/146533892 在强化学习算法中,DAPO (Decoupled Clip and Dynamic Sampling Policy Optimization),通过解耦裁剪和动态采样策…

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/146533892


DAPO

在强化学习算法中,DAPO (Decoupled Clip and Dynamic Sampling Policy Optimization),通过解耦裁剪和动态采样策略提升模型的推理能力。与 GRPO (Group Relative Policy Optimization) 相比,DRPO 移除 KL 散度惩罚项,允许模型在长推理任务中自由探索,同时,通过调整上下裁剪范围,增加低概率 Token 探索能力,有效缓解熵崩溃问题。DRPO 引入动态采样策略,过滤掉准确率为 0 或 1 的无效样本,确保每个批次中的样本,具有有效的梯度信号,从而提升训练效率和模型的收敛速度。Dr. GRPO (GRPO Done Right) 解决 GRPO 优化中的偏差问题,提出的改进方案,通过删除长度归一化项和标准差标准化项,解决 GRPO 可能导致错误响应逐渐变长的问题。同时,Dr. GRPO 在掩码均值函数中,将 mask.sum(axis=dim) 替换为固定值 MAX_TOKENS,以确保优化目标的无偏性。能够有效缓解优化偏差,显著减少错误回答的长度,同时保持模型的推理性能。

DAPO,即 Decoupled Clip and Dynamic sAmpling Policy Optimization,解耦剪裁与动态采样策略优化

  • DAPO: an Open-Source LLM Reinforcement Learning System at Scale

Dr. GRPO,即 GRPO Done Right

  • Dr. GRPO: Understanding R1-Zero-Like Training: A Critical Perspective

GitHub:

  • DAPO:https://dapo-sia.github.io/
  • Dr. GRPO:https://github.com/sail-sg/understand-r1-zero

标准的 GRPO,如下:
1 G ∑ i = 1 G 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ { m i n [ π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) A ^ i , t , c l i p ( π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) , 1 − ϵ , 1 + ϵ ) A ^ i , t ] − β D K L ( π θ ∣ ∣ π r e f ) } w h e r e A ^ i , t = R ( q , o i ) − m e a n ( { R ( q , o i ) , . . . , R ( q , o G ) } ) s t d ( { R ( q , o i ) , . . . , R ( q , o G ) } ) \frac{1}{G}\sum_{i=1}^{G} \frac{1}{|o_{i}|}\sum_{t=1}^{|o_{i}|} \big\{ min \big[ \frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}\hat{A}_{i,t}, clip(\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}, 1-\epsilon, 1+\epsilon)\hat{A}_{i,t} \big] -\beta \mathbb{D}_{KL}(\pi_{\theta}||\pi_{ref}) \big\} \\ where \ \hat{A}_{i,t}=\frac{R(q,o_{i}) - mean(\{R(q,o_{i}),...,R(q,o_{G})\})}{std(\{R(q,o_{i}),...,R(q,o_{G})\})} G1i=1Goi1t=1oi{min[πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t)A^i,t,clip(πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t),1ϵ,1+ϵ)A^i,t]βDKL(πθ∣∣πref)}where A^i,t=std({R(q,oi),...,R(q,oG)})R(q,oi)mean({R(q,oi),...,R(q,oG)})
DAPO (Decoupled Clip and Dynamic sAmpling Policy Optimization),即 解耦剪裁与动态采样策略优化,即 (1) 增加 Clip 上界范围,(2) 去除 全正或全错的采样,(3) 修改 Token-Level 全平均 代替 Sample-Level 分组平均。
1 ∑ i = 1 G ∣ o i ∣ 1 G ∑ i = 1 G ∑ t = 1 ∣ o i ∣ { m i n [ π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) A ^ i , t , c l i p ( π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) , 1 − ϵ l o w , 1 + ϵ u p ) A ^ i , t ] } w h e r e A ^ i , t = R ( q , o i ) − m e a n ( { R ( q , o i ) , . . . , R ( q , o G ) } ) s t d ( { R ( q , o i ) , . . . , R ( q , o G ) } ) s . t . 0 < ∣ { o i ∣ i s _ e q u i v a l e n t ( a , o i ) } ∣ < G \frac{1}{\sum_{i=1}^{G}|o_{i}|} \frac{1}{G}\sum_{i=1}^{G} \sum_{t=1}^{|o_{i}|} \big\{ min \big[ \frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}\hat{A}_{i,t}, clip(\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}, 1-\epsilon_{low}, 1+\epsilon_{up})\hat{A}_{i,t} \big] \big\} \\ where \ \hat{A}_{i,t}=\frac{R(q,o_{i}) - mean(\{R(q,o_{i}),...,R(q,o_{G})\})}{std(\{R(q,o_{i}),...,R(q,o_{G})\})} \\ s.t. \ 0 < \big| \{{o_{i}|is\_equivalent(a,o_{i})} \} \big| < G i=1Goi1G1i=1Gt=1oi{min[πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t)A^i,t,clip(πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t),1ϵlow,1+ϵup)A^i,t]}where A^i,t=std({R(q,oi),...,R(q,oG)})R(q,oi)mean({R(q,oi),...,R(q,oG)})s.t. 0< {oiis_equivalent(a,oi)} <G
Dr. GRPO (GRPO Done Right),即 运行正确的 GRPO,即 (1)去掉 序列长度 1 ∣ o i ∣ \frac{1}{|o_{i}|} oi1,(2)去掉 优势方差 s t d std std,如下:
1 G ∑ i = 1 G ∑ t = 1 ∣ o i ∣ { m i n [ π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) A ^ i , t , c l i p ( π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) , 1 − ϵ , 1 + ϵ ) A ^ i , t ] ) } w h e r e A ^ i , t = R ( q , o i ) − m e a n ( { R ( q , o i ) , . . . , R ( q , o G ) } ) \frac{1}{G}\sum_{i=1}^{G} \sum_{t=1}^{|o_{i}|} \big\{ min \big[ \frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}\hat{A}_{i,t}, clip(\frac{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q,o_{i,<t})}, 1-\epsilon, 1+\epsilon)\hat{A}_{i,t} \big]) \big\} \\ where \ \hat{A}_{i,t}=R(q,o_{i}) - mean(\{R(q,o_{i}),...,R(q,o_{G})\}) G1i=1Gt=1oi{min[πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t)A^i,t,clip(πθold(oi,tq,oi,<t)πθ(oi,tq,oi,<t),1ϵ,1+ϵ)A^i,t])}where A^i,t=R(q,oi)mean({R(q,oi),...,R(q,oG)})

DAPO 移除 KL 散度 (Removing KL Divergence):KL 惩罚用于调节 在线策略 与 冻结参考策略 之间的散度。

  • 在 强化学习人类反馈(RLHF) 场景中,强化学习的目标是,避免与初始模型偏离太远,对齐模型的行为。
  • 训练 长思维链(long-CoT) 的模型,模型分布可能显著偏离初始模型,因此,KL 惩罚没有必要。

Dr. GRPO,同样,移除 KL 散度,即:

  • KL 正则化项,通常用于从人类反馈中强化学习,其中 r r r 是从 π r e f \pi_{ref} πref 收集的数据中,学习得到的奖励模型。正则化有助于防止 π θ \pi_{\theta} πθ 过度偏离奖励模型准确的分布。
  • 推理模型的强化学习微调,通常使用基于规则的验证器作为 r r r,消除分布偏移的担忧,因此,可以移除 KL 项
  • 节省在训练过程中由 π r e f \pi_{ref} πref 所需的显存和计算资源,而且,可能为 RL 训练带来更好的性能。
  • 因此,假设 β D K L \beta \mathbb{D}_{KL} βDKL 项的参数 β = 0 \beta=0 β=0

在 TRL - GRPO 的 KL 散度参数中,即

  • β = 0.04 \beta = 0.04 β=0.04,default,GRPOConfig
  • 在 math 训练中, β = 0.001 \beta=0.001 β=0.001 ,也是降低 KL 散度权重。

1. DAPO 策略

DAPO 去除 KL 散度项、使用基于规则的奖励模型(Rule-based Reward Modeling)。

DAPO 核心包括:

  1. Clip-Higher (裁剪上界):促进系统多样性,避免熵坍塌(Entropy Collapse),在 策略梯度损失(Policy Gradient Loss) 中,通过增加重要性采样比率的 剪裁上界(Upper Clip) 缓解。
    • 提升 Clip 上界,正例(A>0),低概率 Token 绝对提升能力增强,有效释放低概率路径的探索潜能,缓解策略熵的快速降低。
    • 保持 Clip 下界,避免策略急剧收缩。
    • ϵ l o w = 0.2 , ϵ h i g h = 0.28 \epsilon_{low}=0.2,\epsilon_{high}=0.28 ϵlow=0.2ϵhigh=0.28
  2. Dynamic Sampling (动态采样):提高训练效率和稳定性,提出动态采样策略,筛选出准确率为 1 和 0 的提示组(Prompt Groups),确保每个批次中,有效梯度的提示数量保持一致。
  3. Token-level Policy Gradient Loss (Token-Level 策略梯度损失):避免 长思维链的强化学习(long-CoT RL) 中,无意义的 Pattern 惩罚较低,效果显著。
    • GRPO:先在 部分(Generation Level) 取平均,再在 整体(Group Level) 取平均。
    • DAPO:在 Group 中,全部 Generation 全部 Tokens,一起取平均。
  4. Overlong Reward Shaping (过长奖励规范):使用 超长过滤(Overlong Filtering) 策略,隐藏(Mask) 截断样本(Truncated Samples) 的损失,显著稳定训练过程,提高性能,降低奖励噪声(Reward Noise)。

软过长惩罚(Soft Overlong Punishment),即:
R l e n g t h ( y ) = { 0 , ∣ y ∣ ≤ L m a x − L c a c h e L m a x − L c a c h e − ∣ y ∣ L c a c h e , L m a x − L c a c h e < ∣ y ∣ ≤ L m a x − 1 , L m a x < ∣ y ∣ R_{length}(y) = \begin{cases} 0, &|y|\le L_{max} - L_{cache} \\ \frac{L_{max} - L_{cache} - |y|}{L_{cache}}, &L_{max} - L_{cache} < |y| \le L_{max} \\ -1, &L_{max} < |y| \end{cases} Rlength(y)= 0,LcacheLmaxLcachey,1,yLmaxLcacheLmaxLcache<yLmaxLmax<y

DAPO 流程:

DAPO

2. Dr. GRPO 策略

Dr. GRPO 解决 GRPO 的 2 个偏差(Biases):

  1. 响应长度偏差(Response-level length bias):即 除以 ∣ o i ∣ |o_{i}| oi
    • 正向优势 ( A ^ i , t > 0 \hat{A}_{i,t}>0 A^i,t>0) 回答正确,短回答的梯度更新大,长回答的梯度更新小。
    • 负向优势 ( A ^ i , t < 0 \hat{A}_{i,t}<0 A^i,t<0) 回答错误,长回答的惩罚较小,短回答的惩罚较大。
    • 去掉 除以 ∣ o i ∣ |o_{i}| oi 之后,避免回答长短的影响,只考虑奖励函数值。
  2. 问题难度偏差(Question-level difficulty bias):即 优势 A ^ i , t \hat{A}_{i,t} A^i,t 除以 s t d ( { R ( q , o i ) , . . . , R ( q , o G ) } ) std(\{R(q,o_{i}),...,R(q,o_{G})\}) std({R(q,oi),...,R(q,oG)})
    • 标准差较低的问题,在策略更新过程中,赋予更高的权重。
    • 批次归一化是合理的,但是,问题级别归一化,导致目标函数中不同问题的权重有所不同。
    • 模型训练更偏向于,回答一致性较高的问题,降低探索能力。

3. TRL GRPO 实现

TRL 代码中,计算 GRPO 的逻辑:

# 1. advantages 优势的计算过程
# Gather the reward per function: this part is crucial, because the rewards are normalized per group and the
# completions may be distributed across processes
rewards_per_func = gather(rewards_per_func)# Apply weights to each reward function's output and sum
rewards = (rewards_per_func * self.reward_weights.to(device).unsqueeze(0)).nansum(dim=1)# Compute grouped-wise rewards
mean_grouped_rewards = rewards.view(-1, self.num_generations).mean(dim=1)
std_grouped_rewards = rewards.view(-1, self.num_generations).std(dim=1)# Normalize the rewards to compute the advantages
mean_grouped_rewards = mean_grouped_rewards.repeat_interleave(self.num_generations, dim=0)
std_grouped_rewards = std_grouped_rewards.repeat_interleave(self.num_generations, dim=0)
advantages = rewards - mean_grouped_rewards
if self.args.scale_rewards:advantages = advantages / (std_grouped_rewards + 1e-4)# KL 散度
per_token_kl = torch.exp(ref_per_token_logps - per_token_logps) - (ref_per_token_logps - per_token_logps) - 1# 2. Loss 的计算过程
# Compute the loss
advantages = inputs["advantages"]
# When using num_iterations == 1, old_per_token_logps == per_token_logps, so we can skip it's computation (see
# _generate_and_score_completions) and use per_token_logps.detach() instead.
old_per_token_logps = inputs["old_per_token_logps"] if self.num_iterations > 1 else per_token_logps.detach()
coef_1 = torch.exp(per_token_logps - old_per_token_logps)
coef_2 = torch.clamp(coef_1, 1 - self.epsilon_low, 1 + self.epsilon_high)
per_token_loss1 = coef_1 * advantages.unsqueeze(1)
per_token_loss2 = coef_2 * advantages.unsqueeze(1)
per_token_loss = -torch.min(per_token_loss1, per_token_loss2)
if self.beta != 0.0:per_token_loss = per_token_loss + self.beta * per_token_kl
loss = (per_token_loss * completion_mask).sum() / completion_mask.sum()

4. loss 是 0 不代表 gradient 是 0

loss = 0 也可以反向传播,更新梯度:

  • loss 是 0,gradient 可能不是 0

l o s s ( w ) = ( w − 1 ) 2 − 1 ∂ l o s s ∂ w = 2 w − 2 \begin{align} loss(w) &= (w-1)^{2} - 1 \\ \frac{\partial{loss}}{\partial{w}} &= 2w - 2 \end{align} loss(w)wloss=(w1)21=2w2

  • 当 loss 是 0 时,w=0,梯度 gradient 是 -2,学习 = 学习率 * 梯度,假设,学习率 η = 0.1 \eta=0.1 η=0.1

w n e w = w − η ⋅ g = 0 − ( 0.1 × ( − 2 ) ) = 0.2 w_{new} = w - \eta \cdot g = 0 - (0.1\times(-2)) = 0.2 wnew=wηg=0(0.1×(2))=0.2

  • gradient 是 0,则不可优化

测试:

import torch
x = torch.tensor([3.0], requires_grad=True)
y1 = x-x
y1.backward()
print(f"Grad for x-x: {x.grad.item()}")  # 0.0x.grad.zero_()
y2 = x - x.detach()
y2.backward()
print(f"Grad for x - x.detach(): {x.grad.item()}")  # 1.0

参考:

  • GitHub - GRPO questions
  • GitHub - Add warning when negative KL
  • 知乎 - DAPO中的CLIP trick

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

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

相关文章

Mybatis_plus

前言 Mybatis_plus 是在 mybatis 的基础上进行了增强&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。本文章只做简单的使用介绍&#xff0c;更加详细的内容大家可以参考官网。 下面是mybatis_plus 官网地址&#xff1a; mybatis_plu…

idea 没有 add framework support(添加框架支持)选项

在 IntelliJ IDEA 2023 中&#xff0c;若需通过设置手动添加 “添加框架支持” 菜单项&#xff0c;可按照以下步骤操作&#xff1a; 手动添加 “添加框架支持” 菜单项 打开设置 点击顶部菜单栏的 File&#xff08;文件&#xff09; -> Settings&#xff08;设置&#xff09…

再探带权并查集

典型例题 Acwing 权值 故名思义&#xff0c;在带权并查集中&#xff0c;我们需要让每个节点携带一个**“权值”**。 那么这个权值应该是什么呢&#xff1f;其实答案就在并查集当中。 由于在并查集当中我们可以在 O ( 1 ) O(1) O(1) 时间内找到一个节点的根节点&#xff0c;那…

本地部署Stable Diffusion生成爆火的AI图片

直接上代码 Mapping("/send") Post public Object send(Body String promptBody) { JSONObject postSend new JSONObject(); System.out.println(promptBody); JSONObject body JSONObject.parseObject(promptBody); List<S…

边缘计算 vs. 云计算,谁才是工业物联网的未来?

前言 在物联网&#xff08;IoT&#xff09;飞速发展的今天&#xff0c;边缘计算正在彻底改变数据的处理、存储和分析方式。传统的IoT设备数据通常需要发送到云端进行处理&#xff0c;但随着设备数量的激增&#xff0c;这种模式在延迟、带宽和安全性方面暴露出诸多局限。边缘计…

dell 台式机 电脑 纽扣电池 如何取下?

dell 台式机 电脑 纽扣电池 如何取下&#xff1f; 戴尔-optiplex-3060-塔式机-服务手册

NFC 智能门锁全栈解决方案:移动端、服务器、Web 管理平台

目录 一、系统整体架构 二、移动端 APP 开发 2.1 开发环境与基础准备 2.2 主要功能模块 2.3 示例代码&#xff08;Android/Kotlin 简化示例&#xff09; 三、后台服务开发 3.1 环境准备 3.2 主要功能 3.3 示例代码&#xff08;Node.js Express 简化示例&#xff09; …

【AI】MAC版本本地Stable Diffusion web ui安装

文章目录 前言环境依赖homebrewpython3下载stable-diffusion-webui webui模型准备模型网站 中文页面设置提示词转汉语转英文controlnet安装controlnet模型下载 结尾 前言 目前&#xff0c;市面上已经出现了很多用Ai 绘图制作的作品&#xff0c;用于自媒体或者商业等。例如表情…

Linux 云服务器开放端口

首先找到你买服务器的官网&#xff0c;我这里是阿里云 点击这里的控制台 这里先点手动添加&#xff0c;再看自己是UDP还是TCP协议&#xff0c;找到对应的协议&#xff0c;目的就填你想开放的端口&#xff0c;源填所有IP/4 0.0.0.0 添加备注点击保存就开放好了。

[unity 点击事件] 区域响应点击事件,排除子节点区域,Raycast Target 应用

当我打开一个二级弹窗后&#xff0c;希望可以通过点击弹窗以外的区域来关闭该弹窗。一开始我是在弹窗主节点上挂载了一个 button 组件&#xff0c;该 button 注册的点击事件中关闭该弹窗。在子节点&#xff08;一个背景图&#xff09;的image组件上启用 Raycast Target 选项&am…

表的约束及代码练习

一.表的约束 查看表&#xff1a;mysql> select * from t_hero; 1.设置t_hero的主键为t_id alter table t_hero add primary key(t_id); 2.设置t_hero t_id属性非空 alter table t_hero modify t_id int not null;3.设置name属性为非空非重复 alter table t_hero modify…

Linux笔记---动静态库(使用篇)

目录 1. 库的概念 2. 静态库&#xff08;Static Libraries&#xff09; 2.1 静态库的制作 2.2 静态库的使用 2.2.1 显式指定库文件及头文件路径 2.2.2 将库文件安装到系统目录 2.2.3 将头文件安装到系统目录 3. 动态库 3.1 动态库的制作 3.2 动态库的使用 3.2.1 显式…

Java并发编程2(锁-Sychronized)

目录 认识Java对象头 sychronized锁原理 基本概念 工作原理 1.作用在方法上 2.作用在代码块上 工作机制 JVM优化锁 Monitor锁 wait/notify park/unpark 线程状态转换案例 死锁 概念 死锁发生的必要条件 哲学家问题 活锁 饥饿 概念 饥饿的原因 Reentrant…

现阶段高校的人工智能方案培训如何?

人工智能在未来肯定是核心发展力&#xff0c;核心竞争力&#xff0c;也是国家重点扶持的对象&#xff0c;但我还是不看好高校的人工智能方向&#xff0c;只是怕有些同学对市场前景盲目乐观&#xff0c;就轻易上车了。 你要是985以上的高校&#xff0c;可以考虑选择人工智能&…

JavaScript中的继承有哪些方式?各有什么优缺点

在 JavaScript 中&#xff0c;继承主要通过原型链实现&#xff0c;常见的继承方式有以下几种&#xff0c;每种方式都有其优缺点&#xff1a; 1. 原型链继承 1. 实现方式&#xff1a;将子类的原型对象指向父类的实例。 function Parent() {} function Child() {} Child.protot…

深入理解指针(3)(C语言版)

文章目录 前言 一、字符指针变量二、数组指针变量2.1 数组指针变量是什么2.2 数组指针变量怎么初始化2.2.1 静态初始化2.2.2 动态初始化 三、二维数组传参的本质四、函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 typedef关键字4.4拓展 五、函数指针数组六、转…

csp信奥赛C++常用的数学函数详解

csp信奥赛C常用的数学函数详解 在信息学奥林匹克竞赛&#xff08;信奥赛&#xff09;中&#xff0c;C 的 <cmath> 头文件提供了丰富的数学函数&#xff0c;用于高效处理数学运算。以下是常用系统数学函数的详细讲解及汇总表格。 绝对值函数 int abs(int x)&#xff1a;返…

ChatDBA VS DeepSeek:快速诊断 OceanBase 集群新租户数据同步异常

社区王牌专栏《一问一实验&#xff1a;AI 版》改版以来已发布多期&#xff08;51-60&#xff09;&#xff0c;展现了 ChatDBA 在多种场景下解决问题的效果。 下面让我们正式进入《一问一实验&#xff1a;AI 版》第 62 期&#xff0c;看看 ChatDBA 最新效果以及与热门大模型 De…

oracle数据库(数据库启动关闭/sqlplus登录及基本操作/设置字符集/distinct去重)

目录 1. Oracle数据库启动 2. Oracle数据库关闭 3. sqlplus登录Oracle数据库 3.1 使用sqlplus登录Oracle数据库 3.2 使用sqlplus登录Oracle数据库 3.3 远程登录 3.4 解锁用户 3.5 修改用户密码 3.6 查看当前语言环境 4. sqlplus基本操作 4.1 显示当前用户 4.2 查看当前用户…

Java 大视界 -- Java 大数据在智能金融区块链跨境支付与结算中的应用(154)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…