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

AI大模型底层技术——Scaling Law

0. 定义
Scaling Law 是描述 AI 模型性能随关键因素(如参数量、数据量、计算量)增长而变化的数学规律,通常表现为幂律关系。

  • 历史里程碑
    • **OpenAI 2020 年论文首次系统提出语言模型的缩放定律
    • **DeepMind、Google 等机构后续发表了补充研究
    • **Chinchilla 论文对最优计算分配提出修正
    • **演变过程:从简单的"更大更好"到更复杂的多因素平衡优化理论

1. 核心

  • 超越“越大越好”:Scaling Law 不仅说明模型会变好,更量化了“好多少”以及“沿哪些维度提升”。它揭示了模型性能(通常用验证集/测试集损失 Loss 来衡量)与三个关键资源之间可预测的、通常是幂律 (power-law) 的关系:
    • 计算量 (Compute, C):用于训练的总计算浮点运算次数 (FLOPs)。
    • 模型大小 (Model Size, N):非嵌入层的参数数量。
    • 数据集大小 (Dataset Size, D):训练过程中处理的 token/样本数量。
  • 数学表述 (经典形式):开创性的 OpenAI 论文 (Kaplan et al., 2020) 提出,测试损失 L 的行为大致遵循:
    L(N, D, C) ≈ L_inf + A/N^α + B/D^β + E/C^γ
    其中 L_inf 是不可约减的损失下界 (irreducible loss floor),A, B, E, α, β, γ 是常数。更常见的是使用简化形式,关注在特定资源约束下的主导因素,例如当计算和数据充足时,L(N) ≈ A * N^(-α)
  • 对数-对数线性关系 (Log-Log Linearity):一个显著特征是,当在对数-对数坐标系上绘制损失与 N、D 或 C 的关系时,曲线在很大区间内呈现线性。这使得性能外推成为可能,这种可预测性 (predictability) 具有巨大的价值。

2. 多维度的相互作用:计算最优缩放 (Chinchilla 革命)

  • 早期焦点 (Chinchilla 之前):早期的研究通常强调扩大模型规模 (N) 是主要驱动力,假设数据和计算是充足的。
  • Chinchilla 的修正 (Hoffmann et al., 2022):DeepMind 的研究表明,在固定的计算预算 (C) 下要达到最优性能,模型大小 (N) 和数据集大小 (D) 必须协同缩放,且遵循特定比例。他们发现之前的模型往往训练不足 (undertrained) —— 即对于所用的计算量,模型参数量相对于看到的数据量来说过大了。
  • 最优资源分配:Chinchilla 提出,模型大小每增加一倍,训练数据集大小也应大致增加一倍 (大致 N ∝ D)。这意味着计算量的分配应使得 C ≈ k * N * D,这导致修正后的损失缩放主要由计算预算 C 决定。这一发现从根本上改变了训练策略,即对于给定的模型大小,倾向于使用远超以往认为最优的数据量进行训练。
  • 启示:这意味着“计算最优 (compute-optimal)”的模型,相比于同样计算预算下的早期“大”模型(如 GPT-3),规模更小,但训练数据量大得多,从而实现了更优的性能。

3. 架构特异性与普适性

  • Transformer 的主导地位:目前研究最充分的 Scaling Law 大多与 Transformer 架构相关。其注意力机制和前馈网络似乎特别适合缩放,能有效利用增加的参数和数据。
  • 架构变体的影响
    • MoE (混合专家模型):这类模型(如 Switch Transformer, GLaM)展现出不同的缩放动态。虽然总参数量可能极大,但每个 token 激活的参数量要小得多。其缩放涉及专家的大小/数量以及路由机制。它们的 Scaling Law 更复杂,可能在推理 (inference) FLOPs 效率上更优,但在训练 (training) FLOPs 效率上未必优于同等性能的密集模型。
    • 循环模型 (RNNs, LSTMs) / CNNs:在大规模生成任务上,通常表现出不如 Transformer 的缩放特性,更早地达到性能平台期。
  • 普适性问题:这些定律在截然不同的架构(如状态空间模型 Mamba、未来的图神经网络或符号混合系统)上有多大的普适性?这是一个活跃的研究领域。现有证据表明,基本原则(更多数据、参数、计算有益)可能广泛适用,但具体的幂律指数 (α, β, γ) 和最优比例是架构依赖 (architecture-dependent) 的。

4. 数据:日益关键的因素

  • 超越 Token 数量:Chinchilla 强调了数据量 (D),但领域内越来越认识到数据质量 (data quality) 至关重要。Scaling Law 隐含地假设了数据质量恒定或随规模提升。
    • 多样性与覆盖面:数据包含的主题、领域和风格的广度。
    • 清洁度:去除噪声、个人身份信息 (PII)、有害内容、重复数据。
    • 信息密度:高质量、新颖信息 vs. 重复性内容。
  • 数据墙 (Data Wall):人们日益担忧高质量公开文本和代码数据的枯竭。这推动了以下研究:
    • 合成数据生成:使用模型创建新的训练数据(潜在陷阱:强化偏见、缺乏真正的新颖性)。
    • 课程学习与数据选择:在训练中战略性地排序或选择数据。
    • 多模态数据:融合图像、音频、视频以扩大数据池,并可能解锁新能力。多模态模型的 Scaling Law 尚未完善。
  • 数据缩放 vs. 模型缩放:随着参数缩放面临收益递减或计算限制,数据管理和增强的相对重要性可能会进一步提升。

5. 计算:引擎及其极限

  • FLOPs 作为代理指标:训练计算量常以 PetaFLOP-days 衡量。该指标捕捉了原始算术运算量,但未完全考虑:
    • 内存带宽 (Memory Bandwidth):常常是训练大型模型的真正瓶颈。
    • 互联速度 (Interconnect Speed):对于跨众多 GPU/TPU 的分布式训练至关重要。
    • 算法效率:优化器(如 AdamW)、数值稳定性或训练技巧的改进,可能用相同的 FLOPs 获得更好性能。
  • 硬件协同进化:Scaling Law 驱动了对更强大、更专业化硬件(具有高内存容量和带宽的 GPU、TPU、NPU)的需求。硬件进步又反过来使得在更大规模上测试和验证 Scaling Law 成为可能。
  • 经济与环境成本:训练最先进的模型需要巨大的资本投入和能源消耗,引发了对可持续性和可及性的担忧。这促进了对计算高效 (compute-efficient) 缩放的研究。

6. 涌现能力 (Emergent Abilities):规模的魔法与谜团

  • 定义:指在较小模型中缺失或不明显,但在模型规模(N、D 或 C)跨越某个阈值后相对突然且不可预测地出现的能力。例子包括:少样本推理 (few-shot inference)、思维链推理 (chain-of-thought reasoning)、复杂算术、代码生成能力等。
  • 非线性:涌现代表了对损失平滑幂律缩放的急剧偏离。在特定的下游任务 (downstream tasks) 上的性能可能表现出相变 (phase transitions)
  • 机制:涌现的根本原因尚不完全清楚。假说包括:
    • 模型具备了足够容量来学习复杂的回路/抽象概念。
    • 从海量数据中隐式学习到了推理模式。
    • 不同习得技能之间的相互作用效应。
  • 启示:即使整体损失缩放是可预测的,这也使得预测未来更大模型的具体能力变得困难。它激发了兴奋感,但也带来了安全担忧。

7. 实践意义与战略运用

  • 预测能力:Scaling Law 允许机构在投入巨额、昂贵的训练运行之前,估算给定资源增量可能带来的性能提升。
  • 资源分配:指导如何在计算硬件、数据采集/管理和模型参数数量之间最优地分配固定预算。
  • 模型设计:基于缩放特性和目标部署约束(训练 vs. 推理成本),影响架构选择(例如,密集模型 vs. MoE)。
  • 基准测试:提供了一个框架,用于比较不同训练方法和架构的效率(“打破”Scaling Law 曲线意味着更高的效率)。
  • 小规模实验估计 (Micro-scaling Experiments):通过运行较小规模的实验来估计特定设置下的缩放指数,然后再启动全面训练。

8. 局限性、挑战与开放问题

  • 不可约减损失 (L_inf):由于任务固有的模糊性、数据限制或架构约束,性能最终会饱和。Scaling Law 描述的是趋近这个极限的过程。
  • 测量噪声与方法论:精确测量 Scaling Law 需要严谨的实验设计、一致的评估方法和大量的资源投入,导致报告的指数存在差异。
  • 任务特异性:为语言建模推导出的 Scaling Law 未经修改可能不直接适用于强化学习、科学模拟或其他领域。
  • 收益递减:虽然损失可预测地下降,但从这种下降中获得的效用价值可能会递减。在损失值很低时,再降低 0.1 的困惑度可能影响不大。
  • Scaling Law 真的是“定律”吗?:它们是强大的经验观察,但并非物理学的基本定律。未来的算法或架构突破可能会“打破”或显著改变当前的缩放趋势。
  • 对效率的追求:我们能否通过更好的算法、数据选择或架构,用显著更少的计算/数据实现更大模型的性能?这是主要的研究方向(例如 Mamba, RWKV)。

9. 猫哥说
Scaling Law 是我们目前拥有的、用于导航大型模型开发广阔前景的最可靠地图。它们不是教条,而是强有力的指导原则,随着领域不断推动规模、效率和能力的边界,这些原则也在不断被完善、挑战和扩展。对于任何严肃参与构建或战略部署大规模 AI 的人来说,理解其细微差别至关重要。

相关文章:

AI大模型底层技术——Scaling Law

0. 定义 Scaling Law 是描述 AI 模型性能随关键因素(如参数量、数据量、计算量)增长而变化的数学规律,通常表现为幂律关系。 历史里程碑: **OpenAI 2020 年论文首次系统提出语言模型的缩放定律**DeepMind、Google 等机构后续发表…...

Spring MVC 国际化机制详解(MessageSource 接口体系)

Spring MVC 国际化机制详解(MessageSource 接口体系) 1. 核心接口与实现类详解 接口/类名描述功能特性适用场景MessageSource核心接口,定义消息解析能力支持参数化消息(如{0}占位符)所有国际化场景的基础接口Resource…...

java学习笔记13——IO流

File 类的使用 常用构造器 路径分隔符 常用方法 File类的获取功能和重命名功能 File 类的判断功能 File类的创建功能和删除功能 File 类的使用 总结: 1.File类的理解 > File类位于java.io包下,本章中涉及到的相关流也都声明在java.io包下 > File…...

防DDoS流量清洗核心机制解析

本文深度剖析DDoS流量清洗技术演进路径,揭示混合云清洗系统的四层过滤架构,结合2023年新型反射攻击案例,提出基于AI行为分析的动态防御策略。通过Gartner最新攻防效能数据与金融行业实战方案,阐明流量清洗系统在误判率、清洗延迟、…...

边缘计算革命:低功耗GPU在自动驾驶实时决策中的应用

边缘计算革命:低功耗GPU在自动驾驶实时决策中的应用 ——分析NVIDIA Jetson与华为昇腾的嵌入式方案差异 一、自动驾驶的实时决策挑战与边缘计算需求 自动驾驶系统需在30ms内完成环境感知、路径规划与车辆控制的全流程闭环‌。传统云端计算受限于网络延迟&#xf…...

ubuntu24.04-MyEclipse的项目导入到 IDEA中

用myeclipse创建的一个web项目, jdk1.7,tomcat7,mysql8.0,导入到idea项目中 1.导入现有项目 1.打开IDEA,选择“Import Project”进入下一步 2.选择所需要导入的项目,点击“OK” 3.点击创建一个新的项目,然后下一步 4.直接点…...

基于SpringBoot的律师事务所案件管理系统【附源码】

基于SpringBoot的律师事务所案件管理系统(源码L文说明文档) 目录 4 系统设计 4.1界面设计原则 4.2功能结构设计 4.3数据库设计 4.3.1属性图 4.3.2 数据库物理设计 5 系统实现 5.1客户信息管理 5.2 律师…...

电力网关:推动电力物联网及电力通信系统革新

在“双碳”目标与新型电力系统建设的背景下,电力行业正加速向数字化、智能化、绿色化转型。作为国内领先的电力物联网解决方案提供商,厦门计讯物联科技有限公司(以下简称“计讯物联”)依托自主研发的电力专用网关、边缘计算平台及…...

Android系统的Wi-Fi系统框架和详细启动流程

目录 一、前言 二、系统架构层次 ‌1、应用层‌ ‌2、Framework层‌ 3‌、HAL层‌ ‌4、驱动层‌ 三、Wi-Fi 目录树结构 四、系统流程 1、应用层请求 2、Wi-Fi管理服务处理 3、硬件交互 4、数据处理与事件通知 5.连接管理 6.状态维护 五、WiFi启动流程及函数调用…...

Scala基础知识8

集合计算高级函数 包括过滤、转换或映射、扁平化、扁平化加映射、分组、简化(归约),折叠 过滤:遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。 转换或映射:将原始集合中的元素映射到某个函数中。 扁平化:取消嵌套格式&…...

SwiftUI 本地推送(Local Notification)教程目录

1. 本地推送简介 1.1 什么是本地推送?1.2 本地推送的应用场景(提醒、定时任务、用户交互等)1.3 本地推送与远程推送的区别 2. 前提条件 2.1 开发环境要求(Xcode 13、iOS 15)2.2 需要的基础知识(SwiftUI …...

大数据技术与Scala

集合高级函数 过滤 通过条件筛选集合元素,返回新集合。 映射 对每个元素应用函数,生成新集集合 扁平化 将嵌套集合展平为单层集合。 扁平化映射 先映射后展平,常用于拆分字符串。 分组 按规则将元素分组为Map结构。 归约 …...

golang通过飞书邮件服务API发送邮件功能详解

一.需求 需要实现通过飞书邮件服务API发送邮件验证码功能:用户输入邮箱, 点击发送邮件,然后发送邮件验证码, 这里验证码有过期时间, 保存到redis缓存中 二.实现 实现的部分代码如下: 控制器部分代码 // 发送邮件控制器 func EmailSendController(userId uint64, m proto.Messa…...

BoostSearch搜索引擎项目 —— 测试用例设计 + web自动化测试代码

web自动化代码: https://gitee.com/chicken-c/boost-search/tree/master/AutoTest...

MySQL学习笔记集--触发器

触发器 MySQL触发器(Trigger)是一种特殊的存储过程,它在指定的数据库表上指定的事件(INSERT、UPDATE、DELETE)之前或之后自动执行。触发器可以用来强制执行复杂的业务逻辑、数据完整性规则、自动更新数据等。 触发器…...

算力驱动未来:从边缘计算到高阶AI的算力革命

算力驱动未来:从边缘计算到高阶AI的算力革命 摘要 本文深入探讨了不同算力水平(20TOPS至160TOPS)在人工智能领域的多样化应用场景。从边缘计算的实时目标检测到自动驾驶的多传感器融合,从自然语言处理的大模型应用到AI for Scie…...

4.8刷题记录(双指针)

今天刷的部分是代码随想录中的双指针专题代码随想录 由于里面包含的题目大部分之前刷过,并且用双指针做过。所以今天仅仅复习,不再进行代码的搬运。 1.19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 分析:此题无…...

在shell脚本中,$@和$#的区别与联系

在 Shell 脚本里,$ 和 $* 都是用于表示传递给脚本或函数的所有参数,下面详细介绍它们的区别与联系。 联系 表示所有参数:二者都能够代表传递给脚本或者函数的全部参数。当你在执行脚本时带上了多个参数,$ 和 $* 都能把这些参数呈…...

IP节点详解及国内IP节点获取指南

获取国内IP节点通常涉及网络技术或数据资源的使用,IP地址作为网络设备的唯一标识,对于网络连接和通信至关重要。详细介绍几种修改网络IP地址的常用方法,无论是对于家庭用户还是企业用户,希望能找到适合自己的解决方案。以下是方法…...

Google Play上架:解决android studio缓存问题(内容清理不干净导致拒审)

在as打包中,经常会遇到改变工程参数或者对应文件参数的情况,比如 修改android gradle版本 快捷键:ctrl + alt + shift + s 修改SDK文件路径 快捷键:ctrl + alt + shift + s 修改Gradle存储下载文件的默认位置 快捷键:ctrl + alt + s 先打开设置 修改compile...

蓝桥杯备赛 Day 21 图论基础

图的基础 ![[图的基础.png]] 1.图的存储方式 (1)邻接表(常用) vector<pair<int,int>> g[N]; //g[x]存放x的所有出点信息,二维数组 g[i][j]{first,second},first是从i出发的第j个出点,second表示边权 例如上图: g[1]{{2,0}.{3,0}} g[6]{{3,7}} g[4]{{5,0},{6,0}…...

MySQL数据库应用技术试卷

建一个以自己名字拼音为命名的数据库。&#xff08;3分&#xff09; CREATE DATABASE example; 令这个数据库为当前所使用的数据库。&#xff08;2分&#xff09; USE example; 写出如下student表结构语句。&#xff08;95分&#xff09; 表1&#xff1a; 列名 数据类型 …...

openssl源码分析之加密模式(modes)

openssl实现分组加密模式&#xff08;例如AES128-CBC的CBC部分&#xff09;的模块名字叫做modes&#xff0c;源代码位于 https://gitee.com/gh_mirrors/openssl/tree/master/crypto/modes 博主又打不开github了TT&#xff0c;只能找个gitee镜像 头文件是modes.h。 该模块目前…...

【Unity】Unity Transform缩放控制教程:实现3D模型缩放交互,支持按钮/鼠标/手势操作

【Unity 】Transform缩放控制教程&#xff1a;实现3D模型缩放交互&#xff0c;支持按钮/鼠标/手势操作 在Unity开发中&#xff0c;Transform组件承担着场景中物体的空间信息控制&#xff0c;包括位置、旋转和缩放。而缩放&#xff08;Scale&#xff09;操作&#xff0c;作为三…...

集成nacos2.2.1出现的错误汇总

总结 1.jdk问题 jdk要一致 2.idea使用问题 idea启动nacos要配置&#xff0c;idea启动类要启动两次&#xff0c;并配置两次vm参数 3.项目依赖问题 依赖要正确添加&#xff0c;有的模块就是不能用公共模块的pom配置&#xff0c;需要独立配置&#xff0c;先后启动顺序也要注意…...

从零到有的游戏开发(visual studio 2022 + easyx.h)

引言 本文章适用于C语言初学者掌握基本的游戏开发&#xff0c; 我将用详细的步骤引领大家如何开发属于自己的游戏。 作者温馨提示&#xff1a;不要认为开发游戏很难&#xff0c;一些基本的游戏逻辑其实很简单&#xff0c; 关于游戏的开发环境也不用担心&#xff0c;我会详细…...

海外高防服务器延迟优化——跨国业务安全加速的底层逻辑

本文深度解析海外高防服务器延迟优化的技术实现路径&#xff0c;揭示跨国业务场景下DDoS防护与网络性能的平衡法则。从物理线路选择到协议栈调优&#xff0c;从流量调度算法到安全检测机制重构&#xff0c;系统阐述降低20ms-50ms延迟的工程实践方案&#xff0c;并附2023年东南亚…...

常用环境部署(二十六)——Centos搭建MQTT服务端EMQX

1、安装docker https://blog.csdn.net/wd520521/article/details/112609796?spm1011.2415.3001.5331 2、安装EMQX4.4.4 &#xff08;1&#xff09;使用docker pull指令安装emqx镜像 docker pull emqx/emqx:4.4.4 &#xff08;2&#xff09;查看镜像 docker images 3、启…...

ecovadis认证基本概述,ecovadis认证审核有效期

EcoVadis认证基本概述 1. 什么是EcoVadis认证&#xff1f; EcoVadis是全球领先的企业可持续发展&#xff08;ESG&#xff09;评级平台&#xff0c;专注于评估企业在**环境&#xff08;E&#xff09;、劳工与人权&#xff08;S&#xff09;、商业道德&#xff08;L&#xff09…...

2.8.4 iOS覆盖率SDK开发

iOS系统的覆盖率SDK,通过搭建本地的pod仓库,直接在podfile中添加指定的下载地址,就可以实现对被测试的app注入覆盖率SDK。 2.8.4.1 开发iOS覆盖率获取Pod私有库 在网上查找了相应的开发方法后,决定开发自己的依赖库,开发方法及步骤如下: 1,开发新的包 (1)通过Xcode创…...

Redhat(6)-ansible-变量

变量 1.作用域 Global scope:命令行中设置。 Play scope:play中设置。 Host scope &#xff1a;inventory中定义、facts收集或任务中注册&#xff0c;在主机组和主机上设置。 1.全局变量 1.1cmd命令 #1.全局变量 #显示变量 echo %PATH1.2.ansible变量 全局变量 var变量不加…...

麦科信光隔离探头在碳化硅(SiC)MOSFET动态测试中的应用

碳化硅&#xff08;SiC&#xff09;MOSFET 是基于宽禁带半导体材料碳化硅&#xff08;SiC&#xff09;制造的金属氧化物半导体场效应晶体管&#xff0c;相较于传统硅&#xff08;Si&#xff09;MOSFET&#xff0c;具有更高的击穿电压、更低的导通电阻、更快的开关速度以及更优异…...

android audiorecord

这里写目录标题 初始化失败记录 AudioRecord 初始化及参数介绍基本初始化参数详解1. audioSource (音频源)2. sampleRateInHz (采样率)3. channelConfig (声道配置)4. audioFormat (音频格式)5. bufferSizeInBytes (缓冲区大小) 完整初始化示例使用注意事项 参考地址 初始化失败…...

有一个变量 在有些线程没有加锁 有些线程加锁了,那我在这些加锁的线程中能起到对应的作用吗

这是一个非常经典、但也很危险的问题。 &#x1f9e8; 简单结论&#xff1a; 如果一个变量在某些线程访问时没有加锁&#xff0c;即使其他线程对它加了锁&#xff0c;也&#xff1a; ❌ 不能保证线程安全&#xff01; ❌ 加锁的部分不会“保护”未加锁的部分&#xff01; &am…...

【人工智能】AI大模型开发数学基础指南

目录 学习内容**1. 线性代数****2. 概率与统计****3. 微积分****4. 优化理论****5. 信息论****6. 数值计算****7. 离散数学****8. 统计学进阶****如何学习&#xff1f;****总结** 如何学习**1. 明确学习目标****2. 分阶段学习计划****阶段 1&#xff1a;夯实基础****阶段 2&…...

直流减速电机控制实验:Simulink应用层开发(3)

文章目录 1 阶段目标2 单元测试方法3 单元测试过程3.1 按键指令识别测试3.2 电机状态转换测试4 代码生成5 总结1 阶段目标 本文是《直流减速电机控制实验》的第四部分,会通过图文结合的方式,手把手带读者操作Simulink工具进行直流减速电机的应用层开发。 本章主要将《直流减…...

隔行换色总结

功能效果展示&#xff1a; 第一种思路&#xff1a; 使用数组&#xff0c;将数组的内容渲染到页面上&#xff0c;序号也就是将数组的下标输出到第一个td上&#xff0c;将数组的内容输出到第二个td上&#xff0c;&#xff08;使用拼接字符串&#xff09; 具体操作&#xff1a; …...

【kind管理脚本-2】脚本使用说明文档 —— 便捷使用 kind 创建、删除、管理集群脚本

当然可以&#xff0c;以下是为你这份 Kind 管理脚本写的一份使用说明文档&#xff0c;可作为 README.md 或内部文档使用&#xff1a; &#x1f680; Kind 管理脚本说明文档 本脚本是一个便捷的工具&#xff0c;帮助你快速创建、管理和诊断基于 Kind (Kubernetes IN Docker) 的…...

Python星球日记 - 第13天:封装、继承与多态

🌟引言: 上一篇:Python星球日记 - 第12天:面向对象编程(OOP)基础 名人说:不要人夸颜色好,只留清气满乾坤(王冕《墨梅》) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、引言二、封装的概念与实现1. 公有属性与私有属性2. 使用getter和sett…...

基于AT89C52单片机的GSM上报智能家居报警温度烟雾防盗系统

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/90579530?spm1001.2014.3001.5503 功能介绍&#xff1a; 1、功能&#xff1a;具有温度、烟雾、入侵报警功能&#xff0c;采用LCD1602液晶显示屏实时显示温度值与…...

北重数控滑台厂家:机器人地轨究竟是如何运作的,又在哪些领域发光发热呢?

机器人地轨是指利用机器人技术在地面上移动或执行任务的轨道系统。这种系统通常包括导轨、传动装置、传感器和控制系统等组成部分。机器人地轨的运作原理是通过控制传动装置沿着导轨移动&#xff0c;同时利用传感器获取周围环境信息并通过控制系统进行实时调节。 机器人地轨在…...

2025最新系统 Git 教程(三)

2.3 Git 基础 - 查看提交历史 查看提交历史 在提交了若干更新&#xff0c;又或者克隆了某个项目之后&#xff0c;你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log 命令。 我们使用一个非常简单的 simplegit 项目作为示例。 运行下面的命令获取该项目&…...

显示器各类异常处理方法

显示器各类异常处理方法 导航 文章目录 显示器各类异常处理方法导航画面无显示/黑屏/无HDMI信号输入显示器闪烁显示器花屏显示画面模糊或扭曲显示器颜色异常显示器出现死点或亮点 画面无显示/黑屏/无HDMI信号输入 ​ 首先应该检查的是显示器电源&#xff08;真的有人弄掉电源…...

Error 1062 (23000): Duplicate entry ‘‘ for key ‘id‘`

目录 Error 1062 (23000): Duplicate entry for key id1. **问题分析**2. **解决方法****步骤 1&#xff1a;检查 id 字段的值****步骤 2&#xff1a;检查表结构****步骤 3&#xff1a;检查现有数据****步骤 4&#xff1a;检查插入逻辑****步骤 5&#xff1a;修改表结构&#…...

谈谈模板方法模式,模板方法模式的应用场景是什么?

一、模式核心理解 模板方法模式是一种​​行为设计模式​​&#xff0c;通过定义算法骨架并允许子类重写特定步骤来实现代码复用。 如同建筑图纸规定房屋结构&#xff0c;具体装修由业主决定&#xff0c;该模式适用于​​固定流程中需要灵活扩展​​的场景。 // 基础请求处理…...

未来蓉城:科技与生态共舞的诗意栖居-成都

故事背景 故事发生在中国四川成都的2075年&#xff0c;展现科技与自然深度交融的未来城市图景。通过六个充满想象力的生态装置场景&#xff0c;描绘市民在智慧城市中诗意栖居的生活状态&#xff0c;展现环境保护与人文传承的和谐共生。 故事内容 在电子竹林轻轨站&#xff0c;通…...

模仿axios的封装效果来封装fetch,实现baseurl超时等

因为要在cocos游戏项目里面发送网络请求获取数据&#xff0c;并且还有可能用到websocket发送请求&#xff0c;所以这里封装一个fetch放便使用&#xff1a; // fetch封装// 基础配置 const BASE_URL 你的url const TIMEOUT 5000// 请求封装 const http async (url: string, …...

Linux(CentOS10) gcc编译

本例子摘自《鸟哥的linux私房菜-基础学习第四版》 21.3 用make进行宏编译 书中的代码在本机器(版本见下&#xff09;编译出错&#xff0c;改正代码后发布此文章&#xff1a; #kernel version: rootlocalhost:~/testmake# uname -a Linux localhost 6.12.0-65.el10.x86_64 #1…...

Design Compiler:语法检查工具dcprocheck

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 dcprocheck是一个在Design Compiler存在于安装目录下的程序&#xff08;其实它是一个指向snps_shell的符号链接&#xff0c;但snps_shell可以根据启动命令名判…...

根据日期格式化的常见规则和标准

根据日期格式化的常见规则和标准&#xff0c;2025年1月9日17:00可以正常格式化。具体分析如下&#xff1a; 1. 日期合法性验证 日期2025年1月9日不存在逻辑错误&#xff08;如2月30日等非法日期&#xff09;&#xff0c;且时间17:00&#xff08;24小时制&#xff09;符合规范…...