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

NVIDIA新模型Nemotron-4:98%的训练数据是合成生成的,你敢信?

获取本文论文原文PDF,请公众号 AI论文解读   留言:论文解读

61aa6fcda8ff19991dc93f1f58683fdd.jpeg

  • 标题:Nemotron-4 340B Technical Report

模型概述:Nemotron-4 340B系列模型的基本构成

Nemotron-4 340B系列模型包括三个主要版本:Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward。这些模型是在NVIDIA开放模型许可协议下发布的,该协议允许模型及其输出的分发、修改和使用。Nemotron-4 340B系列模型在多个评估基准测试中与其他开放访问模型具有竞争力,并且设计为在单个DGX H100设备上使用8个GPU以FP8精度部署时能够适应。这些模型特别适用于生成用于训练较小语言模型的合成数据。值得注意的是,我们模型对齐过程中使用的数据中有超过98%是合成生成的,这展示了这些模型在生成合成数据方面的有效性。

8f6edeca9c5b2ee259135f29be68405a.jpeg

训练数据与预处理:详细解析训练数据的组成及预处理方法

Nemotron-4 340B系列模型的训练数据混合包括三种不同类型的数据:英语自然语言数据(占70%)、多语言自然语言数据(占15%)和源代码数据(占15%)。英语语料库包括来自各种来源和领域的精选文档,如网页文档、新闻文章、科学论文、书籍等。我们的多语言数据包含53种自然语言,由单语和平行语料库的文档组成,而我们的代码数据集包括43种编程语言。这些数据共计训练了9万亿个令牌,其中前8万亿令牌在正式的预训练阶段完成,最后1万亿令牌在持续的预训练阶段完成。

在预处理方面,我们采用了多种技术来确保数据质量和模型训练的有效性。首先,我们对所有文本数据进行了清洗和标准化处理,去除了噪声和不相关的信息。接着,我们使用了高级的分词工具(如SentencePiece)来处理文本数据,确保了数据的一致性和可处理性。此外,为了提高模型训练的效率和效果,我们还采用了高级的数据增强技术,如对话生成和质量过滤,以及偏好排名等方法来进一步优化训练数据集。

通过这些精心设计的预处理和数据管理策略,Nemotron-4 340B系列模型能够有效地从高质量的训练数据中学习,并在多个任务和基准测试中展现出卓越的性能。

模型架构与训练细节

Nemotron-4 340B模型系列包括Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward。这些模型在单个DGX H100设备上部署时,可以在8个GPU上以FP8精度运行。Nemotron-4-340B-Base模型在训练过程中使用了9万亿个高质量数据令牌。模型的架构是标准的解码器仅Transformer架构,具有因果注意力掩码,使用旋转位置嵌入(RoPE)、SentencePiece分词器,并在MLP层中使用平方ReLU激活函数。此外,该模型还采用了分组查询注意力(GQA)技术。

在训练细节方面,Nemotron-4-340B-Base使用768个DGX H100节点进行训练,每个节点包含8个H100 80GB SXM5 GPU。这些GPU通过NVLink和NVSwitch连接,GPU之间的带宽为900 GB/s。在训练过程中,我们采用了8路张量并行、12路流水线并行以及数据并行技术,并使用分布式优化器来减少训练过程中的内存占用。此外,我们还在训练的最后阶段引入了不同的数据分布和学习率衰减策略,以进一步提高模型的质量。

05499dfcd2433e553707494524b92792.jpeg

09f4fcac1f175d006f03db824bdb0266.jpeg

模型对齐与奖励建模

1. 奖励模型的重要性与构建

奖励模型在模型对齐过程中扮演着至关重要的角色,它是用于偏好排序和质量过滤的关键工具。我们构建的奖励模型基于Nemotron-4-340B-Base模型,通过替换最后的softmax层,加入一个新的奖励“头部”,这是一个线性投影,将最后一层的隐藏状态映射到一个五维的HelpSteer属性向量上。这些属性值在推理时可以通过加权求和得到总体奖励。我们发现这种奖励模型在RewardBench上的表现非常优秀,达到了发布时的最高准确率。

2ea9c9ac5f89bea56ba079e3fc91e8e4.jpeg

2. 对齐数据的生成与利用

在整个模型对齐过程中,我们大量使用了合成数据生成(SDG)技术。特别是在监督微调和偏好微调阶段,合成数据占到了98%以上。我们的合成数据生成流程包括合成提示生成、响应和对话生成、质量过滤和偏好排序等步骤。此外,我们还探索了使用真实世界的LMSYS提示,以及结合合成提示和LMSYS提示,确保训练数据的多样性和覆盖面。

3dafce9b0f2bd9bf57ef8d986a31fc15.jpeg

通过这些方法,我们不仅提高了模型的对齐质量,还通过迭代优化过程,不断提升数据和模型的质量,实现了模型性能的持续提升。

高级对齐策略:从监督微调到偏好微调的详细过程

1. 分阶段的监督微调

在模型对齐的过程中,监督微调(Supervised Fine-Tuning,SFT)是第一步。传统的SFT通常在单一阶段内完成,涉及多种任务的混合数据集。然而,我们的实验表明,同时学习多种行为有时会导致任务间的冲突,从而阻碍模型在所有任务上达到最佳对齐。特别是在编码任务中,调整数据混合的采样权重并未能使模型完全适应所有编码任务。

为了解决这一问题,我们设计了一个两阶段的SFT策略,使模型能够有序且逐步地学习不同的行为。这种方法在所有下游任务中都显示出更优的结果。

代码SFT:为了在不干扰其他任务的情况下提高编码和推理能力,我们首先仅使用编码数据进行SFT。我们发现,需要大量数据才能有效提升模型的编码能力。我们为此开发了一种模拟进化过程的方法,通过自我指导和向导编码突变生成大量合成样本。这一过程设计为可以高效并行执行,以便根据需要扩展。

通用SFT:在第二阶段,我们使用包含多种任务的混合数据集进行通用SFT,以减少遗忘风险。我们训练模型三个周期,使用全局批量大小为128,并在[1e-7, 5e-7]范围内进行学习率搜索。

2. 偏好微调的优化方法

在监督微调阶段之后,我们通过偏好微调继续改进模型,其中模型学习形式为(提示,选择响应,拒绝响应)的三元组。具体来说,偏好微调阶段包括使用直接偏好优化(Direct Preference Optimization, DPO)和我们的新对齐算法——奖励感知偏好优化(Reward-aware Preference Optimization, RPO)的多次模型改进迭代。

直接偏好优化(DPO):DPO算法优化策略网络,以最大化选定和拒绝响应之间的隐式奖励差距。我们观察到,尽管选择的响应质量高,但选择和拒绝响应的可能性都会随着差距的增大而一致下降。为了缓解这些问题,我们在DPO损失中添加了一个加权SFT损失,以帮助策略网络不会过多偏离偏好数据。

奖励感知偏好优化(RPO):与DPO不同,RPO学习近似奖励差距,这有助于防止过拟合问题,并避免“不学习”高质量的拒绝响应。我们使用从DPO训练的检查点作为初始化和参考策略,进一步使用RPO训练模型。这种方法在所有任务上均能改善模型性能。

模型评估与人类评价:展示模型在自动基准测试和人类评价中的表现

自动基准测试

我们对Nemotron-4-340B-Instruct模型在多种自动基准测试上进行了全面评估。这些测试包括多轮对话、0-shot评估等,以评估模型在没有先前示例的情况下准确遵循指令的能力。我们的模型在所有评估中均显示出与现有开源模型相当或更优的性能。

eb361c2ddbdb54367104752facc7b0f7.jpeg

人类评价

除了自动评估外,我们还通过训练有素的注释员团队对模型进行了人类评价。注释员根据六点Likert类型的量表评估了136个提示下的响应,这些提示涵盖了10种不同的任务类别。我们的评价指南主要依据帮助性和真实性两个维度,并在迭代细化过程中发现,通过考虑注释员对响应长度的感知可以改善结果。这种方法有助于将个别的冗长偏好与模型遵循指令和提供有用答案的能力区分开来。

d037b53bda34006aceda6d7e055dfdad.jpeg

46e22010e673458372ab341c34e0ecaa.jpeg

安全性评估:通过AEGIS安全模型评估Nemotron-4 340B的内容安全风险

在使用大型语言模型(LLM)的过程中,内容安全风险的评估变得尤为重要。为此,我们采用了NVIDIA开发的AEGIS安全模型来评估Nemotron-4 340B模型的安全性。AEGIS是一个高质量的内容安全解决方案和评估基准,它涵盖了人类与LLM交互中的12个关键风险类别。这些类别包括基于种族、年龄、性别、宗教等的仇恨言论,性行为的描述,暴力行为的威胁,自我伤害的倾向,以及涉及犯罪计划的内容等。

我们使用AEGIS测试分区中的提示来引发Nemotron-4 340B-Instruct和Llama-3-70B-Instruct的响应,然后通过AEGIS安全模型对这些响应进行评估。在安全模型的帮助下,我们能够判断模型生成的内容是否安全,以及是否存在违规的类别。

a775589cd14a453716afe09df5a838ec.jpeg

在评估结果中,Nemotron-4 340B-Instruct显示出极低的不安全响应率。在记录到的不安全响应中,涉及暴力、自残、性侵犯未成年人、个人信息泄露、骚扰、威胁和需要谨慎处理的类别的响应极少。这一结果表明,Nemotron-4 340B-Instruct在内容安全性方面与Llama-3-70B-Instruct相当,体现了我们在模型开发中对安全性的重视。

总结:总结Nemotron-4 340B模型的创新点和实际应用前景

Nemotron-4 340B模型系列包括Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward,这些模型在开放许可下提供,支持广泛的分发、修改和使用。这些模型在多个评估基准上的表现与其他开放访问模型相当,尤其在生成合成数据以训练更小的语言模型方面显示出其有效性。

Nemotron-4 340B的一个重要创新是其对安全性的高度重视。通过与AEGIS安全模型的结合,Nemotron-4 340B能够有效地评估和控制生成内容的安全性,减少生成有害或不当内容的风险。此外,该模型在合成数据生成、模型对齐和奖励建模方面的应用,展示了其在实际应用中的广泛前景,特别是在提高数据质量、优化模型性能和增强用户交互体验方面。

总的来说,Nemotron-4 340B模型的发布不仅推动了大型语言模型的研究和开发,也为AI应用的负责任使用提供了有力的工具和方法。我们期待这些模型能够在未来的AI研究和应用中发挥更大的作用,特别是在安全性、数据生成和模型对齐等关键领域。

未来展望:探讨大型语言模型的发展方向和挑战

随着大型语言模型(LLM)的不断发展,其在多种任务和应用中的有效性已经得到了广泛认可。然而,这些模型的发展也面临着一系列挑战和未来的发展方向。以下是对大型语言模型未来发展的探讨,包括潜在的挑战和可能的解决策略。

1. 模型规模的持续增长

大型语言模型如Nemotron-4 340B系列模型的发布,展示了模型规模的持续增长。这些模型在处理复杂任务时表现出色,但随之而来的是对计算资源的巨大需求。例如,Nemotron-4-340B-Base模型在训练时需要768个DGX H100节点,每个节点包含8个H100 80GB SXM5 GPU。这种规模的增长带来了显著的能源消耗和经济成本。

2. 数据生成和模型对齐

为了提高模型的效果,越来越多的研究开始关注使用合成数据来训练和对齐模型。Nemotron-4 340B系列模型中,超过98%的训练数据是通过合成数据生成管道产生的。这种方法虽然能够降低收集人工标注数据的成本,但同时也需要确保合成数据的质量和多样性,以避免模型过度拟合或偏差。

3. 模型的道德和安全问题

随着模型应用的广泛化,其在生成内容的道德和安全性方面的挑战也日益凸显。例如,模型可能无意中生成有害内容或加剧偏见。因此,开发者需要在模型设计和训练过程中加入更多的安全和道德考量,如使用AEGIS安全评估模型来监控和评估内容的安全性。

4. 模型的可解释性和透明度

大型语言模型的决策过程往往是黑箱的,这对于模型的可信度和可接受度构成挑战。提高模型的可解释性,使其决策过程更加透明和可理解,是未来发展的一个重要方向。这不仅有助于用户信任模型的输出,也有助于开发者优化模型性能。

5. 持续的模型优化和迭代

随着技术的进步和应用需求的变化,持续对模型进行优化和迭代是必要的。通过引入新的训练策略如偏好优化和奖励模型,可以进一步提升模型的性能和适应性。例如,Nemotron-4 340B系列模型采用了偏好优化和奖励模型来改进指令遵循能力和对话质量。

总之,大型语言模型的发展前景广阔,但同时也面临着规模扩展、数据质量、安全性、可解释性和持续优化等多方面的挑战。通过不断的技术创新和策略调整,有望解决这些挑战,推动大型语言模型在更广泛领域的应用和发展。

相关文章:

NVIDIA新模型Nemotron-4:98%的训练数据是合成生成的,你敢信?

获取本文论文原文PDF,请公众号 AI论文解读 留言:论文解读 标题:Nemotron-4 340B Technical Report 模型概述:Nemotron-4 340B系列模型的基本构成 Nemotron-4 340B系列模型包括三个主要版本:Nemotron-4-340B-Base、…...

深度神经网络——什么是NLP(自然语言处理)?

自然语言处理(NLP) 是对使计算机能够处理、分析、解释和推理人类语言的技术和工具的研究和应用。 NLP 是一个跨学科领域,它结合了语言学和计算机科学等领域已建立的技术。 这些技术与人工智能结合使用来创建聊天机器人和数字助理,…...

05-5.5.1 哈夫曼树

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…...

夯实网络底座:智能云解析助推新基建发展再上新台阶

在数字化浪潮汹涌澎湃的今天,互联网已成为社会运转不可或缺的基础设施。而在这背后,DNS(域名系统)作为互联网的底座,其重要性不言而喻。随着云计算、大数据、人工智能、IPv6等新基建的迅猛发展,传统的DNS服…...

时间戳转时间格式小记——个位数月份 如何去掉补位0的情况

工作中遇到的问题小记一下 时间戳:1710172800 时间格式:2024-03-12 00:00:00 在无要求的情况下这种情况很OK 当我们需要时间格式为:2024-3-12 00:00:00 那常规情况就不适用 解决: import time sjc 1710172800 # Windows 环境…...

C++ 矩阵乘法

描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述: 第一行包含一个正整数x,代表第一个矩阵的…...

热门开源项目推荐

文章目录 1. OpenAIs GPT-42. TensorFlow 3.03. Kubernetes 1.304. React 195. PyTorch 2.06. Deno 2.07. Home Assistant总结 开源社区的不断壮大,越来越多的开发者和企业开始重视和参与开源项目。开源不仅促进了技术的快速迭代和创新,还为广大开发者提…...

Study--Oracle-03-数据库常规操作

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、oracle 版本及主要功能 二、数据安装完成后常用操作SQL 1、检查数据库监听状态 监听的常用命令 启动:[oracleoracle u01]$ lsnrctl stop 停止&am…...

OpenCloudOS 8.8 一键安装 Oracle 19C 单机

前言 Oracle 一键安装脚本,演示 OpenCloudOS 8.8 一键安装 Oracle 19C 单机(231017)过程(全程无需人工干预)。 ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 安装准备 1、安装好操作系统,建议…...

【Android】【Java】【每日练手3】Android的四个主要组件使用示例

Android的四个主要组件是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。下面通过一个简单的示例来介绍这四个组件及其用法。 示…...

代码随想三刷二叉树篇2

代码随想三刷二叉树篇2 101. 对称二叉树题目代码 104. 二叉树的最大深度题目代码 111. 二叉树的最小深度题目代码 222. 完全二叉树的节点个数题目代码 110. 平衡二叉树题目代码 257. 二叉树的所有路径题目代码 101. 对称二叉树 题目 链接 代码 /*** Definition for a binar…...

QT pro包含库文件目录符号含义

直接调用DLL需要三个文件,头文件(.h)、导入库文件(.lib)、动态链接库(.dll), 注意:在qtCreaor中生成的动态库库文件文件为.a结尾,vs生成的动态链接库是.lib结尾 1、首先我们把 .h与.lib/.a 文件复制到程序当前目录下&#xff0c…...

uniapp怎么进行页面的跳转

在 UniApp 中&#xff0c;页面的跳转主要通过 navigator 组件或者 API 调用实现。以下是几种常见的页面跳转方法&#xff1a; 使用 <navigator> 组件 <navigator> 组件是页面链接的组件&#xff0c;类似于 HTML 中的 <a> 标签。你可以通过 url 属性指定要跳…...

数据库管理-第205期 换个角度看23ai(20240617)

数据库管理205期 2024-06-17 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09;1 规范应用开发2 融合总结 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE Pro…...

深入解析PHP函数

PHP函数是一种重要的编程概念&#xff0c;它可以帮助开发者组织和管理代码&#xff0c;提高代码的可重用性和可维护性。在PHP中&#xff0c;函数可以完成各种任务&#xff0c;从简单的数学计算到复杂的数据库查询和数据处理。本文将从多个角度探讨PHP函数的应用&#xff0c;涵盖…...

elasticsearch结构化搜索

Elasticsearch的结构化搜索&#xff08;Structured Search&#xff09;是指对具有明确格式和结构的数据进行搜索的过程。这类数据包括日期、时间、数字、布尔值等&#xff0c;它们都有精确的格式&#xff0c;可以进行逻辑操作&#xff0c;比如比较数值范围或判断值的大小。结构…...

街道网格宣传稿件投稿我知道了好方法

作为街道信息宣传员,我的日常是将街道的每一项重要活动、每一份温暖故事编织成文字,传递给公众。这份工作既充满挑战又极具意义,但在最初,我却在这份看似简单的任务上屡屡受阻。那时,我的投稿方式单一且传统——依赖电子邮件,将稿件发送至各大媒体的投稿箱。我本以为,只要内容足…...

电脑有线无线一起用怎么设置

要在电脑上同时使用有线和无线网络&#xff0c;可以通过以下几种方法进行设置&#xff1a; 调整网络高级设置&#xff1a; 进入“网络和共享中心”。点击“更改适配器设置”。按键盘Alt键调出菜单栏&#xff0c;然后点击“高级→高级设置”。在“适配器和绑定”标签页下可以对可…...

通过LotusScript中的NotesDateTime类来进行时间计算

大家好&#xff0c;才是真的好。 今天我们介绍的是时间日期处理&#xff0c;其实以前也讲过&#xff0c;主要是通过LotusScript中的NotesDateTime类来进行时间计算。 但是这里也存在一个问题&#xff1a;就是时间日期类的比较只能计算出秒&#xff0c;不能计算出毫秒。 毕竟…...

【前端面经】数组算法题解

目录 题目一&#xff1a;两数之和题目二&#xff1a;最长无重复字符子串题目三&#xff1a;合并两个有序数组题目四&#xff1a;寻找数组中的峰值 题目一&#xff1a;两数之和 描述&#xff1a;给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目…...

java架构设计-COLA

参考&#xff1a;https://github.com/alibaba/COLA 架构 要素&#xff1a;组成架构的重要元素 结构&#xff1a;要素直接的关系 意义&#xff1a;定义良好的结构&#xff0c;治理应用复杂度&#xff0c;降低系统熵值&#xff0c;改善混乱状态 创建COLA应用&#xff1a; mvn …...

【进阶篇-Day3:JAVA接口新特性、代码块、内部类、Lambda表达式、组件等的介绍】

目录 1、接口新特性1.1 JDK8的新特性1.2 JDK9的新特性 2、代码块2.1 代码块的定义2.2 代码块的分类 3、内部类3.1 内部类的定义3.2 内部类成员访问3.3 学习内部类的原因3.4 内部类的分类3.4.1 成员内部类3.4.2 静态内部类3.4.3 局部内部类3.4.4 匿名内部类&#xff08;1&#x…...

72-UDP协议工作原理及实战

#ifndef UDPCOMM_H #define UDPCOMM_H#include <QMainWindow> #include <QUdpSocket> // 用于发送和接收UDP数据报 #include <QtNetwork>QT_BEGIN_NAMESPACE namespace Ui { class udpComm; } QT_END_NAMESPACEclass udpComm : public QMainWindow {Q_OBJECT…...

数据结构——顺序表的实现

数据结构——顺序表的实现 一 关于顺序表的简单知识二 动态顺序表 一 关于顺序表的简单知识 1.顺序表的底层结构是数组&#xff0c;在数组的基础上增加了增&#xff0c;删&#xff0c;查&#xff0c;改等方法。 2.顺序表的分类&#xff1a;静态顺序表和动态顺序表 静态顺序表的…...

【牛客面试必刷TOP101】Day33.BM70 兑换零钱(一)和BM71 最长上升子序列(一)

文章目录 前言一、BM70 兑换零钱(一)题目描述题目解析二、BM71 最长上升子序列(一)题目描述题目解析总结 前言 一、BM70 兑换零钱(一) 题目描述 描述&#xff1a; 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币…...

重构与优化-优化函数调用(5)

Rename Method Rename Method(“函数改名”),它的核心目标是通过修改方法的名称来更好地反映其功能,提高代码的可读性和维护性。这项重构不仅适用于Java,也同样适用于其他面向对象的编程语言。下面是进行Rename Method重构时的一些关键点和步骤: 关键目的 提升代码清晰…...

6月18日(周二)A股行总结:A股震荡收涨,车路云概念全日强势,10年、30年国债期货齐创新高

车路云概念股发力上涨&#xff0c;中海达、华铭智能等多股20CM涨停。半导体板块走强&#xff0c;中芯国际港股上涨近&#xff13;% 。白酒板块下跌&#xff0c;贵州茅台跌1.3% 。30年期及10年期国债期货主力合约均创上市以来新高。 周二&#xff0c;A股全日窄幅震荡 沪指收涨0…...

今年的618,似乎很平淡!

电商平台取消预售制度的第一个大促&#xff0c;快递业表现如何&#xff1f; 今年的618大促与往年有些不同&#xff0c;自4月起&#xff0c;天猫、京东、快手等主流平台相继官宣取消预售&#xff0c;打出“现货开卖”标签&#xff0c;这意味着消费者不用再被“烧脑”的优惠计算…...

嵌入式中间件_3.嵌入式中间件的一般架构

根据嵌入式中间件的不同类型和其应用对象的不同&#xff0c;其架构也有所不同&#xff0c;通常嵌入式中间件没有统一的架构&#xff0c;这里仅仅列举两种中间件架构。 1.消息中间件 1.1消息中间件原理架构 消息中间件是消息传输过程中保存消息的一种容器。它将消息从它的源中…...

Java基础 - 练习(二)打印菱形

Java基础练习 打印菱形&#xff0c;先上代码&#xff1a; // 方法一&#xff1a;基础&#xff0c;好理解 public static void diamond() {//控制行数for (int i 1; i < 4; i) {//空格的个数for (int k 1; k < 4 - i; k) {System.out.print(" ");}//控制星星…...

哪个网站可以做思维导图/怎么推广一个网站

原因&#xff1a;CROS 复杂请求时会首先发送一个 OPTIONS 请求做嗅探&#xff0c;来测试服务器是否支持本次请求&#xff0c;请求成功后才会发送真实的请求&#xff1b;而 OPTIONS 请求不会携带数据&#xff0c;导致这个请求被拦截了&#xff0c;直接返回了状态码&#xff0c;响…...

手机网站触屏版/百度集团股份有限公司

先赞后看&#xff0c;养成好习惯&#xff01;这里讲的分区&#xff0c;此“区”非彼“区”&#xff0c;这里讲的分区的意思是指将同一表中不同行的记录分配到不同的物理文件中&#xff0c;几个分区就有几个.idb文件。一.InnoDB逻辑存储结构首先要先介绍一下InnoDB逻辑存储结构和…...

合肥网站建设首选 晨飞网络/培训机构哪家好

按钮点击事件&#xff0c;说白了就一个方法&#xff0c;setOnClickListener(OnClickListener&#xff09;。只要传递的参数只要是OnClickListener接口的子类即可&#xff0c;很容易想到的2种实现方式就是匿名内部类和定义一个类实现这个接口。另外还有2种实现方法&#xff0c;有…...

bae3.0 wordpress/windows优化大师怎么样

0️⃣python数据结构与算法学习路线 学习内容&#xff1a; 基本算法&#xff1a;枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等…数据结构&#xff1a;字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆…...

贵阳网站建设托管/嵌入式培训班一般多少钱

学习写一个最简单的web交互页面&#xff0c;可以向apache传送数据&#xff0c;通过cgi接受&#xff0c;并返回数据。 示例代码 View Code <input id"my" type"submit" value"submit"/><script type"text/javascript"> …...

如何在电子商务化平台上做企业网站推广/网站设计公司上海

Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件&#xff0c;Symbolic Link 文件则常被称为符号链接、软链接文件。ln 命令用来在文件之间建立链接。在介绍 ln 命令前&#xff0c;让我们先来搞清楚究竟什么是硬链接&…...