当前位置: 首页 > news >正文

【AI论文】CLIMB:基于聚类的迭代数据混合自举语言模型预训练

摘要:预训练数据集通常是从网络内容中收集的,缺乏固有的领域划分。 例如,像 Common Crawl 这样广泛使用的数据集并不包含明确的领域标签,而手动整理标记数据集(如 The Pile)则是一项劳动密集型工作。 因此,尽管预训练数据混合对预训练性能有显著的好处,但确定最佳的预训练数据混合仍然是一个具有挑战性的问题。 为了应对这些挑战,我们提出了基于聚类的迭代数据混合引导(CLIMB),这是一个自动化的框架,可以在预训练设置中发现、评估和优化数据混合。 具体而言,CLIMB将大规模数据集嵌入并聚类到语义空间中,然后使用较小的代理模型和预测器迭代搜索最优混合。 当使用这种混合物对400B令牌进行连续训练时,我们的1B模型超过了最先进的Llama-3.2-1B的2.0%。 此外,我们观察到,针对特定领域(如社会科学)进行优化,比随机抽样提高了5%。 最后,我们介绍了ClimbLab,这是一个经过筛选的1.2万亿令牌语料库,包含20个集群,作为一个研究游乐场,以及ClimbMix,这是一个紧凑但功能强大的4000亿令牌数据集,专为高效的预训练而设计,在相同的令牌预算下提供卓越的性能。 我们分析了最终的数据混合,阐明了最佳数据混合的特征。 我们的数据可在以下网址获取:CLIMB,Huggingface链接:Paper page,论文链接:2504.13161

研究背景和目的

随着大型语言模型(LLMs)的快速发展,预训练数据集在其性能提升中扮演了至关重要的角色。然而,预训练数据集通常是从网络内容中收集的,缺乏固有的领域划分。例如,广泛使用的Common Crawl数据集并不包含明确的领域标签,而手动整理标记数据集如The Pile则是一项劳动密集型工作。因此,尽管预训练数据混合对预训练性能有显著的好处,但确定最佳的预训练数据混合仍然是一个具有挑战性的问题。

本研究的目的是提出一种自动化的框架,即基于聚类的迭代数据混合引导(CLIMB),以在预训练设置中发现、评估和优化数据混合。CLIMB旨在通过大规模数据集在语义空间中的嵌入和聚类,以及使用较小的代理模型和预测器迭代搜索最优混合,从而在不依赖手动定义领域标签的情况下,提高预训练模型的性能。

研究方法

1. 数据预处理
  • 文本嵌入:使用嵌入模型将文档映射到嵌入空间中,以便在相同集群内的文档之间实现更深的语义对齐。
  • 嵌入聚类:采用k-means等聚类算法将嵌入后的文档分组为初始集群。为了后续处理的精细度,初始集群数量K_init设置为相对较大的值(如1000)。
  • 集群合并:通过模型基分类器进行集群级别的修剪,去除低质量集群,并基于质心距离将剩余的高质量集群合并为增强集群(K_enhanced < K_pruned < K_init)。
2. 迭代引导:混合权重搜索
  • 混合权重搜索作为双层优化问题:给定一组数据集群D={D1, D2,..., Dk}和目标函数ℓ(α,ω)(其中α为混合权重,ω为模型权重),目标是找到最优混合权重α*∈A,以最大化任务性能ℓ(α,ω)。
  • 使用预测器近似目标函数:为了降低计算成本,使用预测器fθ(α)来近似目标函数ℓ(α,ω),基于一组(混合权重,性能)对进行训练。
  • 迭代引导解决双层优化问题:通过坐标下降方法交替优化配置采样和预测器拟合子程序。在每次迭代中,根据预测性能对配置进行排序,并从顶部配置中随机采样新配置,以平衡利用和探索。然后,使用新采样的配置训练预测器,并用于评估配置和生成预测性能。
3. 实验设置
  • 数据集:使用Nemotron-CC和smollm-corpus作为源数据集,通过CLIMB聚类得到21个超级集群,包含约8000亿令牌。评估在PIQA、ARC_C、ARC_E、HellaSwag、WinoGrande和SIQA等推理基准上进行。
  • 模型:首先进行第一阶段预训练以建立坚实基础,然后训练62M、350M和1B三种规模的Transformer解码器模型。对于代理模型,使用62M和350M以提高效率。对于目标模型,评估所有三种规模以评估方法在不同尺度上的表现。
  • 基线:与随机选择、DoReMi和RegMix等先进的数据混合方法进行比较。

研究结果

1. 与数据混合基线的比较

在350M和1B目标模型上,CLIMB在平均准确率上均优于所有基线数据混合方法。例如,在350M目标模型上,CLIMB的平均准确率为54.83%,高于随机选择的52.17%和最佳基线RegMix的53.78%。在1B目标模型上,CLIMB的平均准确率为60.41%,高于所有基线。

2. 与最先进的语言模型的比较

使用CLIMB找到的最优数据混合对400B令牌进行连续训练后,我们的1B模型在多数通用推理基准上均优于Llama-3.2-1B等先进基线,整体平均准确率提高了2.0%。

3. 针对特定领域的优化

除了优化通用推理任务外,CLIMB还能针对特定领域(如社会科学)进行优化。实验结果表明,针对社会科学领域的优化比随机抽样提高了5%的准确率。

4. 消融研究
  • 搜索计算预算的影响:增加搜索的总计算量(如从100%增加到150%或200%)可以进一步提高下游准确性。
  • 计算分配的影响:在迭代次数和每次迭代的搜索次数之间找到平衡(如4:2:1的分配比例)对于稳健地找到好的混合至关重要。
  • 代理模型的影响:使用较大的代理模型(如350M)可以更准确地估计最终(较大)目标模型的性能。
  • 集群数量的影响:CLIMB对集群数量不太敏感,表现出鲁棒性。
  • 初始化方案的影响:Dirichlet初始化略优于随机初始化,但性能相当,表明数据混合方法对初始化选择不敏感。

研究局限

尽管CLIMB在预训练数据混合方面取得了显著成效,但仍存在一些局限性:

  1. 计算成本:尽管CLIMB通过迭代引导和使用较小的代理模型降低了计算成本,但在大规模数据集上进行嵌入、聚类和迭代搜索仍然需要相当的计算资源。
  2. 数据集依赖性:CLIMB的性能可能依赖于所使用的源数据集的质量和多样性。如果源数据集存在偏差或不足,可能会影响最终数据混合的效果。
  3. 预测器的局限性:预测器用于近似目标函数,但其准确性可能受到训练数据的质量和数量的限制。预测器的偏差可能会影响数据混合的搜索方向。

未来研究方向

  1. 降低计算成本:探索更高效的嵌入和聚类算法,以及更轻量级的代理模型,以进一步降低CLIMB的计算成本。
  2. 增强数据集的多样性和质量:研究如何整合更多样化的数据源,并改进数据清洗和过滤技术,以提高源数据集的质量和多样性。
  3. 改进预测器:研究更先进的预测器模型,以提高其对目标函数的近似准确性,从而更精确地指导数据混合的搜索过程。
  4. 扩展到更多领域和任务:将CLIMB扩展到更多领域和任务上,以验证其在不同场景下的有效性和通用性。
  5. 结合其他优化技术:探索将CLIMB与其他数据优化技术(如数据增强、数据选择等)相结合的可能性,以进一步提升预训练模型的性能。

总之,CLIMB为预训练数据混合提供了一种自动化的解决方案,通过迭代引导和预测器实现了对数据混合的有效搜索和优化。未来的研究可以进一步改进CLIMB的性能和效率,并探索其在更多领域和任务上的应用。

相关文章:

【AI论文】CLIMB:基于聚类的迭代数据混合自举语言模型预训练

摘要&#xff1a;预训练数据集通常是从网络内容中收集的&#xff0c;缺乏固有的领域划分。 例如&#xff0c;像 Common Crawl 这样广泛使用的数据集并不包含明确的领域标签&#xff0c;而手动整理标记数据集&#xff08;如 The Pile&#xff09;则是一项劳动密集型工作。 因此&…...

AI大模型发展现状与MCP协议诞生的技术演进

1. 大模型能力边界与用户痛点&#xff08;2023年&#xff09; 代表模型&#xff1a;GPT-4&#xff08;OpenAI&#xff09;、Claude 3&#xff08;Anthropic&#xff09;、通义千问&#xff08;阿里云&#xff09;等展现出强大的生成能力&#xff0c;但存在明显局限&#xff1a…...

从malloc到free:动态内存管理全解析

1.为什么要有动态内存管理 我们已经掌握的内存开辟方法有&#xff1a; int main() {int val 20;//在栈空间上开辟四个字节char arr[20] { 0 };//在栈空间上开辟10个字节的连续空间return 0; }上述开辟的内存空间有两个特点&#xff1a; 1.空间开辟的时候大小已经固定 2.数组…...

CSS值和单位

CSS值和单位 CSS 中的值和单位是构建样式的基础&#xff0c;它们定义了属性的具体表现方式。值用于定义样式属性的具体取值&#xff0c;而单位用于指定这些值的度量方式。CSS中常用的值和单位如下&#xff1a; 1.长度单位 px : 像素&#xff0c;绝对单位 em : 相对于元素的字…...

Redis高级篇之I/O多路复用的引入解析

文章目录 一、问题背景1. 高并发连接的管理2. 避免阻塞和延迟3. 减少上下文切换开销4. 高效的事件通知机制5. 简化编程模型6. 低延迟响应本章小节 二、I/O多路复用高性能的本质1. 避免无意义的轮询&#xff1a;O(1) 事件检测2. 非阻塞 I/O 零拷贝&#xff1a;最大化 CPU 利用率…...

FTP协议命令和响应码

文章目录 &#x1f4e6; 一、什么是 FTP 协议&#xff1f;&#x1f9fe; 二、FTP 常见命令&#xff08;客户端发送&#xff09;&#x1f4e1; 三、FTP 响应码&#xff08;服务端返回&#xff09;&#x1f4cc; 响应码分类&#xff08;第一位&#xff09;✅ 常见成功响应码&…...

在win上安装Ubuntu安装Anaconda(linx环境)

一&#xff0c;安装Ubuntu 1. 在 Microsoft 商城去下载Ubuntu(LTS:是长期维护的版本) 2.安装完之后启动程序&#xff0c;再重新打开一个黑窗口&#xff1a; wsl --list --verbose 3.关闭Ubuntu wsl --shutdown Ubuntu-22.04 WSL2 Ubuntu-20.04文件太占c盘空间&#xff0c;…...

【Elasticsearch入门到落地】11、RestClient初始化索引库

接上篇《10、初始化RestClient》 上一篇我们已经完成了RestHighLevelClient的初始化工作&#xff0c;本篇将正式进入索引库的创建阶段。我们将使用Java代码来创建酒店数据的索引库。 一、准备工作 1. 创建常量类 首先&#xff0c;我们需要定义一个常量类来存放索引库的mappi…...

远程服务调用的一些注意事项

引言 最近工作中&#xff0c;遇到了一些关于远程服务调用的问题&#xff0c;背景是调用三方接口获取某些特征数据&#xff0c;但由于调用出现了超时&#xff0c;导致业务本身的接口的可用行降低。因此整理一些远程服务调用时的注意事项&#xff0c;通过不同维度的考虑来提高系…...

QML 样式库

在 QML 中&#xff0c;样式库&#xff08;或 UI 框架&#xff09;用于快速构建一致且美观的界面。Qt/QML 本身不提供内置的完整样式库&#xff0c;但可以通过以下方式实现样式管理或使用第三方库。 1. Qt Quick Controls 2 样式系统 Qt Quick Controls 2 是官方提供的 UI 组件…...

[RHEL8] 指定rpm软件包的更高版本模块流

背景&#xff1a;挂载RHEL ISO使用kickstart安装操作系统&#xff0c;安装包未指定安装perl&#xff0c;但是安装完可以查到其版本&#xff0c;且安装的是ISO中多个版本中的最低版本。 原因&#xff1a;&#xff08;1&#xff09;为什么没有装perl&#xff0c;perl -v可以看到版…...

使用Python可视化洛伦兹变换

引言 大家好!今天我们将探讨一个非常有趣且重要的物理概念—洛伦兹变换。它是相对论的核心内容之一,描述了在高速运动下,时间、长度以及其他物理量是如何发生变化的。通过使用 Python 进行可视化,我们不仅可以更好地理解这个概念,还能感受到物理世界中的奇妙之处。 什么…...

【二叉树专题】一道深入浅出的 DFS 题:求二叉树的直径(含通俗易懂讲解)

题目&#xff1a; 给你一棵二叉树的根节点&#xff0c;返回这棵树的 直径。 直径 是任意两个节点路径中&#xff0c;最长的一条路径所经过的边数。 比如下面这棵树&#xff1a; 1/ \2 3/ \ 4 5它的最长路径是&#xff1a;4 → 2 → 5 或者 4 → 2 → 1 → 3&#xff0c…...

考研系列-计算机网络-第三章、数据链路层

一、数据链路层的功能 1.知识点总结 2.习题总结...

医药采购系统平台第10天02:按药品分类的统计按供货商统计按医院统计统计数据的导出DWR的配置和应用

如果想要获取相关的源码&#xff0c;笔记&#xff0c;和相关工具&#xff0c;对项目需求的二次开发&#xff0c;可以关注我并私信&#xff01;&#xff01;&#xff01; 一 按药品分类的统计实现 1 按药品分类统计的需求 按药品统计&#xff1a;在指定时间段中采购量、采购金…...

Navicat、DataGrip、DBeaver在渲染 BOOLEAN 类型字段时的一种特殊“视觉风格”

文章目录 前言✅ 为什么 Boolean 字段显示为 [ ]&#xff1f;✅ 如何验证实际数据类型&#xff1f;✅ 小结 前言 看到的 deleted: [ ] 并不是 Prisma 的问题&#xff0c;而是数据库客户端&#xff08;如 Navicat、DataGrip、DBeaver&#xff09;在渲染 BOOLEAN 类型字段时的一种…...

(undone) 吴恩达版提示词工程 2. 指南

url: https://www.bilibili.com/video/BV1Z14y1Z7LJ?spm_id_from333.788.videopod.episodes&vd_source7a1a0bc74158c6993c7355c5490fc600&p2 别人的笔记 url: https://zhuanlan.zhihu.com/p/626966526 指导原则&#xff08;Guidelines&#xff09; 编写提示词有两个…...

VLC搭建本机的rtsp直播推流和拉流

媒体---流---捕获设备&#xff0c;选择摄像头&#xff0c;点击串流 x下一步 选择rtsp&#xff0c;点击添加 看到了端口&#xff0c;并设置路径&#xff1a; 选择Video -H 264 mp3(TS) 点击下一个&#xff0c; 点击流&#xff0c;就开始推流了 拉流&#xff0c;观看端&#x…...

Rocky Linux 9.1 修改网卡和DNS

在 Rocky Linux 9.1 中修改网卡和 DNS 配置可以通过 NetworkManager 工具实现(推荐)或直接编辑配置文件。以下是两种方法的详细步骤: 方法一:使用 nmcli 命令行工具(动态生效) 查看当前网络连接nmcli connection show # 输出示例: # NAME UUID …...

Web前端:常用的布局属性

常见的布局方式有哪些&#xff1f; float&#xff1a;浮动布局 ​position 定位布局 ​flex 弹性布局&#xff08;display&#xff09; ​table 表格布局&#xff08;弃用&#xff09; 一、HTML5 语义化布局标签 这些标签本身不提供布局能力&#xff0c;但能增强页面结构…...

XSS学习2

一、客户端的Cookie 1. 无状态的影响 无状态问题: HTTP协议的无状态特性导致每次请求都是独立的&#xff0c;无法保持会话。例如&#xff0c;在银行办理业务时&#xff0c;柜员不需要重复询问客户信息&#xff0c;但在计算机网络中&#xff0c;每次HTTP请求都需要重新认证用户…...

软件设计师/系统架构师---计算机网络

概要 什么是计算机网络&#xff1f; 计算机网络是指将多台计算机和其他设备通过通信线路互联&#xff0c;以便共享资源和信息的系统。计算机网络可以有不同的规模&#xff0c;从家庭网络到全球互联网。它们可以通过有线&#xff08;如以太网&#xff09;或无线&#xff08;如W…...

Kubernetes(k8s)学习笔记(二)--k8s 集群安装

1、kubeadm kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具。这个工具能通过两条指令完成一个 kubernetes 集群的部署&#xff1a; 1.1 创建一个 Master 节点$ kubeadm init 1.2 将一个 Node 节点加入到当前集群中$ kubeadm join <Master 节点的 IP 和…...

线性DP:最长上升子序列(子序列可不连续,子数组必须连续)

目录 Q1&#xff1a;简单遍历 Q2&#xff1a;变式&#xff08;加大数据量&#xff09; Q1&#xff1a;简单遍历 Dp问题 状态表示 f(i,j) 集合所有以第i个数结尾的上升子序列集合-f(i,j)的值存的是什么序列长度最大值max- 状态计算 &#xff08;其实质是集合的划分&#xff09;…...

SpringBoot 基本原理

SpringBoot 为我们做的自动配置&#xff0c;确实方便快捷&#xff0c;但一直搞不明白它的内部启动原理&#xff0c;这次就来一步步解开 SpringBoot 的神秘面纱&#xff0c;让它不再神秘。 目录 SpringBootApplication 背后的秘密 Configuration ComponentScan EnableAutoC…...

LeetCode第158题_用Read4读取N个字符 II

LeetCode 第158题&#xff1a;用Read4读取N个字符 II 题目描述 给你一个文件&#xff0c;并且该文件只能通过给定的 read4 方法来读取&#xff0c;请实现一个方法来读取 n 个字符。 read4 方法&#xff1a; API read4 可以从文件中读取 4 个连续的字符&#xff0c;并且将它…...

webgl入门实例-矩阵在图形学中的作用

矩阵在图形学中扮演着核心角色&#xff0c;几乎所有图形变换、投影和空间转换都依赖矩阵运算来实现高效计算。以下是矩阵在图形学中的主要作用及具体应用&#xff1a; 1. 几何变换 矩阵乘法可以高效表示物体的平移、旋转、缩放等基本变换&#xff0c;并通过矩阵连乘实现复合变…...

基于Matlab求解矩阵电容等效容值

1需求 仿真测试8*10阶举证电容等效容值。 2模型搭建 2.1打开simscape 在打开simulink之后打开simscape库&#xff0c;Simscape库位置如下 2.2搭建模型 在库中寻找需要的元件搭建电路。 2.2.1基本元件 电阻电容电感等基础器件&#xff0c;搭建电路之后需要对其进行幅值&…...

铅酸电池充电器方案EG1253+EG4321

参考&#xff1a; 基于EG1253EG4321铅酸电池(48V20AH)三段式充电器 屹晶微高性价比的电瓶车充电器方案——EG1253 电瓶电压 48V电瓶锂电池&#xff0c;其充满约为55V~56V&#xff0c;因此充电器输出电压为55V~56V&#xff1b; 若是48V铅酸电池&#xff0c;标称电压为48V&…...

每天学一个 Linux 命令(26):less

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/26/index.html less 是 Linux 中一个强大的文件内容查看工具,用于分页显示文件内容,支持快速搜索、滚动浏览、跳转等操作。相比 more,less 功能更丰富且支持向前和向后翻页,适合查看大文件或日志。 命令格式 les…...

【网络】数据链路层知识梳理

全是通俗易懂的讲解&#xff0c;如果你本节之前的知识都掌握清楚&#xff0c;那就速速来看我的笔记吧~ 自己写自己的八股&#xff01;让未来的自己看懂&#xff01; &#xff08;全文手敲&#xff0c;受益良多&#xff09; 数据链路层 我们来重新理解一下这个图&#xff1a;…...

2.2 BackgroundWorker的使用介绍

BackgroundWorker 是 .NET Framework 中一个简化异步操作的组件&#xff0c;它位于 System.ComponentModel 命名空间下。它为开发人员提供了一种简单的方式在后台执行耗时操作&#xff0c;同时保持与 UI 线程的交互 主要属性以及任务如下&#xff1a; DoWork 事件&#xff1a;…...

Java从入门到“放弃”(精通)之旅——类和对象全面解析⑦

Java从入门到“放弃”&#xff08;精通&#xff09;之旅&#x1f680;——类和对象全面解析⑦ 一、面向对象初探 1.1 什么是面向对象&#xff1f; Java是一门纯面向对象的语言(OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。面向对象是解决问题的一种思想&a…...

无回显RCE

在CTF和实战渗透中&#xff0c;不是每一个命令执行点都有回显&#xff0c;有时我们审了半天代码&#xff0c;却发现好不容易找到的命令执行没有回显&#xff0c;但是这并不代表这段代码不能被我们利用&#xff0c;在无回显的情况下也是可以利用的 首先我们来写一个最简单的php…...

DQN在Gym的MountainCar环境的实现

DQN on MountainCar 引言 在本次实验里&#xff0c;我构建了DQN和Dueling DQN&#xff0c;并在Gymnasium库的MountainCar环境中对它们展开测试。我通过调整训练任务的超参数&#xff0c;同时设计不同的奖励函数及其对应参数&#xff0c;致力于获取更优的训练效果。最后&#…...

typescript判断是否为空

1 判断数据类型 1.1 基础数据类型 比如number&#xff0c;string&#xff0c;boolean&#xff0c;使用typeof&#xff0c;返回值是string类型&#xff1a; 例如&#xff1a; if("number" typeof(item)) {egret.log("item的类型是number"); } else if(&…...

JavaScript forEach介绍(JS forEach、JS for循环)

文章目录 JavaScript forEach 方法全面解析基本概念语法详解参数说明 工作原理与其他循环方法的比较forEach vs for循环forEach vs map 实际应用场景DOM元素批量操作数据处理 性能考量常见陷阱与解决方案无法中断循环异步操作问题 高级技巧链式调用&#xff08;不使用 forEach …...

C语言之图像文件的属性

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 图像文件属性提取系统设计与实现 目录 设计题目设计内容系统分析总体设计详细设计程序实现…...

Java链表反转方法详解

一、理解链表结构 假设链表节点定义为&#xff1a; class ListNode {int val;ListNode next;ListNode(int x) { val x; } } 二、迭代法反转链表 核心思路 逐步反转每个节点的指针方向&#xff0c;最终使整个链表反向。 步骤拆解 初始化三个指针&#xff1a; prev&#xf…...

lmm-r1开源程序是扩展 OpenRLHF 以支持 LMM RL 训练,用于在多模态任务上重现 DeepSeek-R1

一、软件介绍 文末提供程序和源码下载学习 lmm-r1开源程序是扩展 OpenRLHF 以支持 LMM RL 训练&#xff0c;用于在多模态任务上重现 DeepSeek-R1。 二、简介 小型 3B 大型多模态模型&#xff08;LMMs&#xff09;由于参数容量有限以及将视觉感知与逻辑推理相结合的固有复杂性…...

Java学习笔记(数组,方法)

一&#xff0c;数组 1.数组初始化 1.1动态初始化 格式&#xff1a;数据类型[] 数组名 new 数据类型[数组长度]; int[] arr new int[3]; // 定义长度为3的int数组&#xff0c;元素默认值为0 double[] scores new double[5]; // 长度5&#xff0c;元素默认0.0 String[…...

嵌入式---零点漂移(Zero Drift)

一、零点漂移的定义与本质 零点漂移&#xff08;简称“零漂”&#xff09;指传感器在输入信号为零&#xff08;或理论上应输出固定零值&#xff09;时&#xff0c;输出信号随时间、温度、环境等因素变化而偏离初始零点的现象。 核心特征&#xff1a;无输入时输出非零且缓慢变…...

健身房管理系统设计与实现(springboot+ssm+vue+mysql)含万字详细文档

健身房管理系统设计与实现(springbootssmvuemysql)含万字详细文档 健身房管理系统是一个全面的解决方案&#xff0c;旨在帮助健身房高效管理日常运营。系统主要功能模块包括个人中心、会员管理、员工管理、会员卡管理、会员卡类型管理、教练信息管理、解聘管理、健身项目管理、…...

C语言if

一、题目引入 如果从键盘输入58,则以下程序输出的结果是多少? 二、运行结果 三、题目分析 因为这道题中的多个if是并列结构 所以只要条件满足都会执行 这一题58满足所有的条件 所以可以运行出来 也就是说每个if里面的条件都满足 所以都会打印出来 而下面的这种情况就是 if e…...

XSS学习1之http回顾

1. HTTP的基本结构与工作流程 HTTP是一个请求-响应协议&#xff0c;基于客户端与服务器之间的交互。每次用户通过浏览器请求某个资源时&#xff0c;HTTP协议都会完成一系列的步骤。 HTTP请求&#xff1a; HTTP请求由以下几个部分构成&#xff1a; 请求行&#xff1a; 请求方…...

小迪抓包技术算法加密(6-9天)

抓包技术 https://blog.csdn.net/2301_81015455/article/details/147014382 算法加密入门&#xff08;了解&#xff09; 在实际测试中安全性高一些得采用得都是AES等高安全加密&#xff0c;遇到这种&#xff0c;放弃你啥都不知道测个毛啊,所以直接run!!! 大部分解密时碰撞式…...

Tkinter与ttk模块对比:构建现代 Python GUI 的进化之路

在 Python GUI 开发中&#xff0c;标准库 tkinter 及其子模块 ttk&#xff08;Themed Tkinter&#xff09;常被同时使用。本文通过功能对比和实际案例&#xff0c;简单介绍这两个模块的核心差异。 1. 区别 Tkinter&#xff1a;Python 标准 GUI 工具包&#xff08;1994年集成&…...

【数据结构入门训练DAY-18】信息学奥赛一本通T1331-后缀表达式的值

文章目录 前言一、题目二、解题思路总结 前言 本次训练内容&#xff1a; 栈的复习。栈模拟四则运算计算问题的练习。训练解题思维。 一、题目 从键盘读入一个后缀表达式&#xff08;字符串&#xff09;&#xff0c;只含有0-9组成的运算数及加&#xff08;&#xff09;、减…...

时序预测 | Transformer-LSTM-SVM时间序列预测(Matlab完整源码和数据,适合基础小白研究)

时序预测 | Transformer-LSTM-SVM时间序列预测&#xff08;Matlab完整源码和数据&#xff0c;适合基础小白研究&#xff09; 目录 时序预测 | Transformer-LSTM-SVM时间序列预测&#xff08;Matlab完整源码和数据&#xff0c;适合基础小白研究&#xff09;效果一览基本介绍代码…...

【HarmonyOS 5】makeObserved接口详解

【HarmonyOS 5】makeObserved接口详解 一、makeObserved接口是什么&#xff1f; makeObserved 接口&#xff08;API version 12 起可用&#xff09;用于将非观察数据转为可观察数据&#xff0c;适用于三方包类、Sendable 装饰的类、JSON.parse 返回的对象、collections.Array…...