【清明折柳】写在扬马三周目后
黄绿之间,方寸之外。
文章目录
- 楔子
- 解耦到离散
- 螃蟹与毒药
- 文本的力量
- 朝花夕拾
- 后记
楔子
“——就像物理学家通过演绎与归纳将宏微世界的运转规律浓缩到数学公式中时,如今的人工智能也在试图量化整个人类文明。”
“——只是,使用的是昂贵、笨拙且轮椅,然而目前看来,似乎确实奏效的方法。”
“——但无论如何,这是缺乏灵魂的。”
3月17日晚间,非结构化数据课,借给老爷头代课的机会,我向研一的新兵蛋子们吐露长久以来的心声。那晚我独自讲了两个多小时,课后,陪亦童去隔壁小酌几杯,我极少陪人出来喝酒,或许那是第三回,久违的冥想与释放。
解耦到离散
“——世界并非解耦与离散。”
从运筹博弈的角度来说,当环境内只有一个智能体时,整体效益才能趋于最大化。
在以往的人工智能中同样如此,模块从设计到整合,最终经由统一的目标函数进行优化。
从前如此,譬如 GAN 融合训练 Generator 与 Discriminator 来逼近博弈的边界;DCMN 里保留双线性TopK检索器的阅读理解方案;六年前 IRNet 在Text-to-SQL任务上精巧的两步走 SQL Skeletion 模块设计,令人惊艳。
如今,时代变了。GAN 变成朴实无华的 diffusers,文档检索器被向量库取代,代码生成早已不是当年难以攻克的难题。当下的LangChain、LangGraph以及各种热插拔Adapters,皆是现代人工智能极为偏爱的事——模块解耦。
- 笔者注:我的理解,代码较于自然语言更为结构化,倘若自然语言生成都可以做得很好,代码做得好就应该是顺理成章的事情。
下面是 DeepSeek-R1 系列模型的 chat template,实际上就是定义了一系列的分支规则来确保模型在不同场景下使用不同的工具,或是生成不同的标记。
{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<|User|>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<|Assistant|><|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{%- set ns.is_first = true -%}{%- else %}{{'\\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{{'<|tool▁calls▁end|><|end▁of▁sentence|>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>' + message['content'] + '<|end▁of▁sentence|>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '</think>' in content %}{% set content = content.split('</think>')[-1] %}{% endif %}{{'<|Assistant|>' + content + '<|end▁of▁sentence|>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\\n<|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<|Assistant|>'}}{% endif %}
但是,只要是规则就一定会有漏洞,总有被打破的一天。
解耦之本身很符合软件工程的观念——便捷维护与快速开发。然而,人类的思维与行为真的可以简单地使用离散模块来拟合吗?似乎并非如此。解耦带来的最大优点,是大大降低 AI 使用门槛,大到企业,小到个人都能快速上手。
同时,解耦带来的缺点也是如此——无法否认,AI 正在被滥用。
人类个体的思维与行动依赖生理系统紧密的——人体本身就是一件极为精密的仪器,但现代人工智能试图使用解耦的、离散的、独立的若干模块来仿生。就像所谓类人或是类脑 AI 中,A负责充当眼睛(视觉信号),B负责充当耳朵(听觉信号),C负责接收指令(文本信号),D负责融合语义(大脑处理),E负责最终决策(信号输出),彼此可以完全割裂地进行预训练,然后就像积木一样进行拼搭。
某种程度上,这是算力制约下的权宜之计,如果能便捷地全量微调,谁不愿意去做呢?但是无论如何,离散较于连续,本身隐含更大的不确定性,好比模型量化里的FP16月INT4一样,建模越是离散,模型越是不稳定,就像最近某米智驾的车祸那样——享受解耦带来的高效,必然承担解耦引发的风险。
螃蟹与毒药
“——并非螃蟹,而是毒药。”
有人说我们应当对新技术多一些容忍,总是需要第一个吃螃蟹的人,就像密密麻麻的航空条例背后,是成百上千次血淋淋的空难。
可是,这真的是一只螃蟹吗?
LLM 真的是在模拟人的思维模式吗?
假如不是,那么它的思维模式是什么样的?
以 prompt engineering 为例,prompt 本身并不是什么很新颖的概念,事实上在2022年11月ChatGPT首次发布之前,就已经有许多关于prompt learning 的工作,这个概念本身应该是来自迁移学习。
3~5年前的一些研究会指出,那些 “勾引” 出模型知识的 prompt,实际上很多时候并不符合人类语法习惯(RLPrompt: Optimizing Discrete Text Prompts with Reinforcement Learning)。
这个命题可能在CV上体现得会多一些,至少目前在NLP领域似乎谈论得并不多,目前大部分主流模型的默认 prompt template 里不会加入太多规则标记来控制生成。尽管在使用 Claude 等模型时,依然会使用这类奇技淫巧,但是本身 prompt engineering 这件事在不同系列的模型上并不互通,这更像是一个经验性的工作,熟能生巧。
- 下面是 Claude 写春联的一个 prompt,题外话,其实 Claude 很多时候更像是一个哲学家。
(define-couplet-generation;; 首先提取传统文化元素和节日氛围(extract-cultural-elements(combine(traditional-symbols ;春节符号:红灯笼、爆竹、年画...(festive-objects)(seasonal-elements))(cultural-values ;文化内涵:团圆、祝福、希望...(family-values)(good-wishes))));; 构建对联的语言结构(construct-couplet(build-upper-line ;上联:确定主题和节奏(select-theme)(set-rhythm(define-tone-pattern)(match-syllables)))(create-lower-line ;下联:严格对仗(mirror-structure)(match-parts-of-speech)(balance-tones))(compose-horizontal ;横批:点睛之笔(summarize-theme)(concentrate-wishes)));; 注入艺术性和韵味(enhance-artistry(apply-style ;文风选择(choose-level ;雅俗程度(elegant-literary)(folk-style))(add-rhetoric ;修辞手法(metaphor)(personification)))(refine-rhythm ;调整节奏(balance-syllables)(harmonize-tones))(verify-pairing ;检验对仗(check-symmetry)(ensure-harmony))));; 创作要求: ;; 1. 必须体现春节喜庆祥和氛围 ;; 2. 上下联字数相等,结构对称 ;; 3. 可以典雅或通俗,但要有深意 ;; 4. 注意平仄韵律和对仗工整 ;; 5. 横批简洁有力,点明主题请基于这个思维模式来创作春联,确保作品既符合传统格律,又富有新意。
另一个角度——CoT的生成。熟悉当年风靡围棋界的 AlphaGo 的朋友一定会知道,目前这套 reflect-based 的 CoT 生成方式,跟当年 AlphaGo 左右互博几乎是完全相同的原理。
年前,OpenAI就指出更长的思考时间能够得到更强的鲁棒性(Trading inference-time compute for adversarial robustness),尽管近期一些研究会指出过度思考的问题(① The Danger of Overthinking: Examining the Reasoning-Action Dilemma in Agentic Tasks,② On the Overthinking of o1-Like Models),也有研究会试图去控制思考的时长(Controlling How Long A Reasoning Model Thinks With Reinforcement Learning)。
不过,直观上来讲,这种 reflect-based 的思路是比较拟人的——一条路走不通就换一条路走,直到走通为止。尽管有时候还是会陷入死胡同,如下面的生成来自 DeepSeek-R1-Distill-Qwen-32B 对 英文单词strawberry中有多少个字母r 的贪心解码结果。
…
让我再确认一下“strawberry”的正确拼写。通常,strawberry是正确的,对吗?让我们数一下字母的数量:S, T, R, A,
W, B, E, R, R, Y。所以总共有10个字母?不对,strawberry应该是有10个字母吗?让我数一遍:S(1), T(2),
R(3), A(4), W(5), B(6), E(7), R(8), R(9), Y(10)。所以是的,是10个字母。现在,我需要找出其中有多少个字母r。让我一个一个字母地检查。
第一个字母是S,不是r。 第二个字母是T,不是r。 第三个字母是R,是r,记下来,这是第一个r。 第四个字母是A,不是r。
第五个字母是W,不是r。 第六个字母是B,不是r。 第七个字母是E,不是r。 第八个字母是R,是r,这是第二个r。
第九个字母是R,又是r,这是第三个r。 第十个字母是Y,不是r。等等,这好像不对,因为strawberry通常不会拼成三个r。让我再仔细检查一遍,可能我数错了字母的位置。
正确的拼写应该是S-T-R-A-W-B-E-R-R-Y吗?或者是不是中间少了一个r?让我再确认一下。strawberry的正确拼写应该是S-T-R-A-W-B-E-R-R-Y,对吗?是的,应该是这样的,因为“straw”是S-T-R-A-W,然后加上“berry”是B-E-R-R-Y,所以中间的“berry”部分有两个r,对吗?
所以,整个单词中r出现的位置是第三个字母和第八个、第九个字母吗?不对,因为strawberry的正确结构应该是S-T-R-A-W-B-E-R-R-Y,对吗?让我再数一遍每个字母的位置:
S T R A W B E R R Y
哦,对,所以从位置来看,第三个字母是R,第八个字母是R,第九个字母也是R。那是不是有三个r呢?这似乎有点多,因为通常strawberry中r的数量可能不是三个。等等,这可能是个错误,因为有时候拼写可能会有变化,或者我的记忆有误。让我再确认一下。实际上,strawberry的正确拼写是S-T-R-A-W-B-E-R-R-Y,对吗?那确实有三个r吗?或者是不是在straw的部分有一个r,berry部分有两个r,总共三个r?
不对,通常strawberry只有两个r,对吗?让我再检查一次。可能我数错了。
让我重新分解一下:straw是S-T-R-A-W,berry是B-E-R-R-Y。所以,straw中的r是第三个字母,berry中的r是第八和第九个字母。所以总共三个r?但通常来说,strawberry应该是有两个r,对吗?
或者,可能我在数的时候重复计算了。让我再数一遍每个字母的位置:
S T R A W B E R R Y 哦,看来确实有三个r:位置3、8、9。所以,总共有三个r字母。
但是,我记得通常strawberry只有两个r,可能是在 …
通过改变 generation config,或是对 prompt 进行调整,依然可以得到正确的结果。但是,现在所有的问题都在于,无论前者还是后者,都是一种无法解释且难以控制的力量,在促使 LLM 生成几乎正确的语句。
也就是说,LLM 的思维模式拟人,但是说话方式并不拟人。
目前所有的解码器都是从左到右解码,没有例外,无非是解码策略上的差异。但是,人类也是从左到右说话的吗?并不见得。
试想你在面试,需要边思考边回答面试官的问题,假如你是挤牙膏的一个词一个词的思考,可能说到最后前后矛盾,上文不接下文,那大概率也是吹了。优秀的语言组织方式应当是从点到面——先把语句中各个主要成分想好(主语、宾语、谓语),再把各个修饰词(定语,助词,介词)给依次补上,来生成完整的语句。这有点像把十几年前基于句法解析将语句结构成一张计算图的思路,至少
实际上,至少对于人类来说,是
尽管如此,在没有更好的解决方案之前,强化学习的确是最优路径。
文本的力量
If an army of monkeys were strumming on typewriters, they might write all the books in the British Museum.
——《The Nature of the Physical World》Sir Arthur Stanley Eddington
在目前多模态的时代,文本处理看似是最简单的一种信息处理,至少较于图像、音频、视频来说似乎并不是那么高级,至少从卡的耗用上来说是这样的,是吧?
但是,实际上文本确是实实在在的一种更加结构化的语义表征——我们的祖先经过成千上万年的积累,将极其高维的语义空间压缩到了这么数万个汉字上,文字本身已经是对语义进行了一个预先的压缩了。
将一句话中的一个字进行修改可能就会完全改变整句话的语义,但即便抽去一张图像90%的像素,依然可以通过各种图像复原技术进行还原。
也许不需要去拟合整个世界,但是,需要真理。
人类也许无法通晓一切,但是人类掌握了语言。
一切的真理无非是文字的堆砌,在无限猴子理论下,LLM 可能终将说出真理,但又有谁知道那是真理呢?AI 是否终将凌驾于人类文明之上。我们只能拭目以待。
朝花夕拾
断了这么久没写 Memo,有很多原因吧,其中一个很直接的原因是之前 CSDN 要绑定微信才能发布文章,但是我的微信已经绑定了小号,所以就没有然后了。最近大概是又取消了这个限制,反正是日常犯病,都习惯了。
简单概述一下最近三个多月的历程,自去年12月13日晚,耐不住性子跑了一个4+3+2+1的倒金字塔后,左膝伤痛了整整一个月。期间多以倒跑维持(倒跑本身更接近于跳绳,依赖小腿和脚踝,并不吃膝盖),每天也就2K左右的量,但其实倒跑2K也很累。
1月13日左膝痊愈,不过这段伤痛也不是什么太坏的事,因为到1月23日这段时间在投 IJCAI,高压期我甚至开始下了个野狐围棋开始重操旧业,有一些原因是那段时间在研究KataGo,就是想给强化学习找点头绪,顺便也是休闲放松,结果很快就打到了4段水平(以前也就3-4段地水平,跟5段是包下不过的),能跟人机5段打个有来有回,结果1月22日-24日那段LG杯柯洁提子犯规争议事件,23日第二盘那天下午我甚至看了直播,气得不行,卡四目是真的猥琐到家了,当着面不敢举手,背后搞这种勾当,小人之至,君子不齿。
24日也看了第3盘的直播,都希望柯洁能赢拿下酒罐王创造历史,结果看到柯洁左下那个离谱大头鬼的大漏勺,真的无语到家,觉得柯洁很快就要中盘投子了,就直接开始午睡,结果下午4点跑步的时候打开直播发现柯洁还在坚持,也是挺感动的,顶尖棋手的胜负心真的是太强了,柯洁真的是太傲气,但这也不总是好事。如今他也被雪藏,大概是被禁赛了。
言归正传,1月16号,是提交摘要的DDL,结束之后破天荒的晨跑了整整一周,每天六点到操场,顶着寒风跑半个小时左右,配速在400-430,跑完整个人都好起来了,就是中午需要睡很久才能有精力继续搬砖。
1月25日回家过年,回家一直到1月31日都坚持了每天晨跑半个小时左右。一月总跑量是150K,总感觉不认真跑些还是不太行。
2-3月稍显怠惰,但也没有停跑,每天都至少会跑2-3K的量,而且都是穿着棉袄和代步鞋跑,是真正的养老跑,Garmin 计数都是90K左右,但实际上这两个月我很多时候都没有开表,3月甚至有一周都没戴手表跑步,突出一个返璞归真。
我是真的想跟跑步和解了,但是3月30日回去参加扬马时还是止不住去再拼一回的冲动。开跑前A区一群人都是4分配以内冲出去,大众水平提升的速度太快太快。虽然,我预计跑进130问题是不大的,甚至幻想自己可能超量恢复,说不定还能4分配以内顶完全程,不过最后结果表明我还是想多了,到15K左膝旧伤复发,疼得不行,到17K为止我算了一下按435跑还是可以进130的,但是我实在是疼得受不了了,最后3K完全放掉了,算了,跑进130又有啥意义呢?不过我也不想停下来走,就5分配慢悠悠地摇完了最后一段距离。
后记
发生许多事,头绪很乱,无法一一跃然纸上。
灵感来自回乡看到的油菜花,规规矩矩地约束在一方田亩中。风起,摇曳,不自觉地黄绿出墙。
三年前 LLM 横空出世时,大家都说 NLP 已死,如今又是如何呢?
当文本、图像、音频都能做得很好时,也就是说大脑已经成型。四肢依赖具身智能,但这并不那么容易,有人说 AI 在脑力活上做得很好,反而在体力活上做得不佳,这是反直觉的。其实并不是这样,具身智能的理论基础远不是如今的NLP和CV能比拟的。
但是在可预见的未来,5-10年内,大街上将会到处跑着机器人,就像学园都市那样。
大概会是如此,长治久安当然很好,但变革也不总是坏事。
有感而发。
相关文章:
【清明折柳】写在扬马三周目后
黄绿之间,方寸之外。 文章目录 楔子解耦到离散螃蟹与毒药文本的力量朝花夕拾后记 楔子 “——就像物理学家通过演绎与归纳将宏微世界的运转规律浓缩到数学公式中时,如今的人工智能也在试图量化整个人类文明。” “——只是,使用的是昂贵、笨…...
P1258 小车问题(二分)
题目描述 甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。 输入格式 仅一行&#x…...
一个基于ragflow的工业文档智能解析和问答系统
工业复杂文档解析系统 一个基于ragflow的工业文档智能解析和问答系统,支持多种文档格式的解析、知识库管理和智能问答功能。 系统功能 1. 文档管理 支持多种格式文档上传(PDF、Word、Excel、PPT、图片等)文档自动解析和分块处理实时处理进度显示文档解析结果预览批量文档…...
负指数二项式展开
转载:负指数二项式展开_二项式负数次幂的展开式-CSDN博客...
CentOS 7服务器上快速安装mamba函数库
本次预配置虚拟环境为cuda 11.8torch 2.2.2python 3.10 1. 创建conda虚拟环境:conda create -n mamba python3.10 激活环境:conda activate mamba 2. 安装Pytorch环境: conda install pytorch2.2.2 torchvision0.17.2 torchaudio2.2.2 py…...
ResNet改进(18):添加 CPCA通道先验卷积注意力机制
1. CPCA 模块 CPCA(Channel Prior Convolutional Attention)是一种结合通道先验信息的卷积注意力机制,旨在通过显式建模通道间关系来增强特征表示能力。 核心思想 CPCA的核心思想是将通道注意力机制与卷积操作相结合,同时引入通道先验知识,通过以下方式优化特征学习: 通…...
代码随想录算法训练营--打卡day6
一.四数相加 1.题目链接 454. 四数相加 II - 力扣(LeetCode) 2.思路 使用 HashSet 无法记录每种和出现的次数,当不同的 (nums1[i], nums2[j]) 组合得到相同的和时,会出现统计错误。这里应该使用 HashMap 来记录和以及其出现的…...
edge webview2 runtime跟Edge浏览器软件安装包双击无反应解决方法
软件安装报错问题有需要远程文章末尾获取联系方式,可以帮你远程处理各类安装报错。 一 、edge webview2 runtime跟Edge浏览器软件安装包双击无反应 在安装edge webview2 runtime跟Edge浏览器双击无反应没有出现安装界面。这个可能是 新版本的Edge WebView2 Runti…...
Xorg 内存上涨的根源探究
Xorg 内存上涨的根源探究 起因 在同一客户端进程内显示多股视频源,通过SDL创建窗口渲染,由于网络抖动视频源出现频繁断流现象导致,渲染任务反复重启,从而导致SDL渲染窗口反复创建释放,最后导致Xorg内存持续上涨 排查准备 Xorg是什么? Xorg(X.Org Server)是 X Wind…...
Neo4j基本命令使用
neo4j neo4j简介安装可视化管理后台登录 Cyphercreatematchmergecreate创建关系merge创建关系wheredelete sort命令字符串函数toUpper()函数toLower()函数substring()函数replace()函数 聚合函数count()函数max()函数min()函数sum()函数avg()函数索引index python 中使用neo4j …...
Python爬虫教程009:requests的基本使用以及get和post请求的使用
文章目录 5.1 基本使用5.2 get请求5.3 post请求5.1 基本使用 在 Python 爬虫开发中,requests 是一个非常流行、简单易用的 HTTP 库,用于发送网络请求。它可以让你方便地抓取网页内容、提交表单、上传文件等。 🔧安装: pip install requestsresponse的属性及类型: resp…...
SQL练习
目录 1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 2.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 3.查询在 SC 表存在成绩的学生信息 4.查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显…...
ubuntu20.04 复现fastlio2 并运行数据包
1.搭建文件目录和拷贝代码 mkdir -p Fastlio2/src cd Fastlio2/src git clone https://github.com/hku-mars/FAST_LIO.git git clone https://github.com/Livox-SDK/livox_ros_driver.git 2.到工作空间下编译 cd .. catkin_make 报错1: 解决方案1: …...
Windows安装 PHP 8 和mysql9,win下使用phpcustom安装php8.4.5和mysql9
百度搜索官网并下载phpcustom,然后启动环境,点击网站管理 里面就有php8最新版,可以点mysql设置切mysql9最新版,如果你用最新版无法使用,说明你的php程序不支持最新版的mysql MySQL 9.0 引入了一些新的 SQL 模式和语法变…...
【失配树 KMP+树上倍增】P5829失配树|省选-
本文涉及知识点 较难理解的字符串查找算法KMP 树上倍增 P5829 【模板】失配树 题目描述 给定一个字符串 s s s,定义它的 k k k 前缀 p r e k \mathit{pre}_k prek 为字符串 s 1 … k s_{1\dots k} s1…k, k k k 后缀 s u f k \mathit{suf}_…...
机器学习模型性能提升教程(特征工程和模型优化)
特征工程和模型优化是提升机器学习模型性能的核心步骤,以下从特征工程和模型优化两个维度,结合具体案例展开说明: 一、特征工程 特征工程的核心目标是从原始数据中提取更有价值的信息,常见方法包括特征选择、特征构造和特征转换。…...
跨域问题前端解决
由于浏览器的同源策略,前后端分离的项目,调试的时候总是会遇到跨域的问题,这里通过修改前端代码解决跨域问题。 首先先查看前端代码的根目录下,有没有vue.config.js文件, 若有,使用方法1,若没有此文件&…...
每天五分钟深度学习框架pytorch:搭建LSTM完成时间序列的预测
本文重点 前面一篇文章我们使用了pytorch搭建了循环神经网络LSTM然后完成了手写字体识别的任务,本文我们使用LSTM完成一个时间序列的任务。 数据集介绍 数据集如图所示,其中有一列是时间,然后还有一列是对应时间的起飞航班数,它可以看成是一个时间序列,通过前面t时间的起…...
Autosar应用层开发基础——Arxml制作
Davinci软件的主要作用 (1) AUTOSAR 软件架构设计 图形化建模:支持 SWC(Software Component)设计、接口定义、端口连接等。 分层架构管理:清晰划分 应用层(SWC) 和 基础软件层(BSW)…...
Word 页眉设置(不同章节不同页眉)
需求分析 要给文档设置页眉,但是要不同的页眉不同的页眉 问题点:一旦设置页眉 每个页眉都是一样的 现在要设置不一样的 设置了页眉但是整个文章的页眉都一样 问题解决 取消链接 前一节(不和前面的页眉同步更新) 小结 不同的…...
Redis的Java客户端的使用
Redis 的 Java 客户端使用 C 追求极致的性能, 而 Java没有这样的追求. Redis 在官网公开了所使用的应用层协议 (RESP). 任何一个第三方都可以通过这个协议, 来实现出一个和 Redis 服务器通信的客户端程序. 已经有很多大佬, 做好了库, 可以让我们直接调用 (不必关注 RESP 协议…...
双向链表示例
#include <stdio.h> #include <stdlib.h>// 定义双向链表节点结构体 typedef struct list {int data; // 数据部分struct list *next; // 指向下一个节点的指针struct list *prev; // 指向前一个节点的指针 } list_t;// 初始化链表,将链表的…...
Unity如何把一个物体下物体复制很多到别的物体下
C# 脚本批量复制 如果需批量复制到多个父物体下,推荐用脚本实现: using UnityEngine;public class CopyChildren : MonoBehaviour {// 原父物体(拖拽赋值)public Transform sourceParent;// 目标父物体数组(可拖拽多个…...
Java Properties 类详解
Java Properties 类详解 Properties 是 Java 中用于处理 键值对配置文件 的特殊类,继承自 Hashtable<Object,Object>。以下是其核心知识点: 1. 核心特性 特性说明存储格式纯文本文件(.properties),每行 keyval…...
进程内存分布--之理论知识
一个由C/C编译的程序占用的内存分为以下几个部分 : 1、栈区(stack):由编译器自动分配释放 ,存放函数调用函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap…...
TDengine 窗口预聚集
简介 在大数据量场景下,经常需要查询某段时间内的汇总结果,当历史数据变多或者时间范围变大时,查询时间也会相应增加。通过预聚集的方式可以将计算结果提前存储下来,后续查询可以直接读取聚集结果,而不需要扫描原始数…...
高精度加法与乘法
原理就是模拟我们列竖式的过程。 一、加法 加法很简单,我们这里不再赘述 string solve(string s, string t) {string ans;int tmp 0;int n s.size()-1;int m t.size()-1;while(n>0||m>0||tmp){if(n>0){tmp s[n--]-0;}if(m>0){tmp t[m--]-0;}ans…...
macOS可视化桌面配置docker加速器
macOS可视化桌面配置docker加速器 在镜像settings->docker Engine改为国内镜像修改为国内镜像重启docker(可视化界面启动或者使用命令行)使用命令重启可视化界面重启 在镜像settings->docker Engine改为国内镜像 修改为国内镜像 {"registry-mirrors": ["…...
不用训练,集成多个大模型产生更优秀的输出
论文标题 Collab: Controlled Decoding using Mixture of Agents for LLM Alignment 论文地址 https://arxiv.org/pdf/2503.21720 作者背景 JP摩根,马里兰大学帕克分校,普林斯顿大学 动机 大模型对齐(alignment)的主要目的…...
【大模型】DeepSeek + 蓝耕MaaS平台 + 海螺AI生成高质量视频操作详解
目录 一、前言 二、蓝耘智能云MaaS平台介绍 2.1 蓝耘智算平台是什么 2.2 平台优势 2.3 平台核心能力 三、海螺AI视频介绍 3.1 海螺AI视频是什么 3.2 海螺AI视频主要功能 3.3 海螺AI视频应用场景 3.4 海螺AI视频核心优势 3.5 项目git地址 四、蓝耘MaaS平台DeepSeek海…...
RobotFrameWork环境搭建及使用
RF环境搭建 首先安装python并且配置python环境变量pip install robotframeworkpip install robotframework-ride 生产桌面快捷方式 不行换豆瓣源检查一下pip list RF类库和扩展库 标准库 按F5快捷键查询,可以看到rf自带的库不需要额外安装这些标准库在python的 …...
Flutter之设计与主题字体
目录: 1、共享主题样式2、文字3、使用自定义字体4、以 package 的方式使用字体1. 将字体添加到 package2. 将 package 和字体添加到应用3. 使用字体 1、共享主题样式 MaterialApp(title: appName,theme: ThemeData(// Define the default brightness and colors.col…...
发生梯度消失, 梯度爆炸问题的原因,怎么解决?
目录 一、梯度消失的原因 二、梯度爆炸的原因 三、共同的结构性原因 四、解决办法 五、补充知识 一、梯度消失的原因 梯度消失指的是在反向传播过程中,梯度随着层数的增加指数级减小(趋近于0),导致浅层网络的权重几乎无法更新…...
脑电学习笔记
一,原理简介 使用eprime或者matlab给被试呈现刺激,并在某个时间发送Mark,脑电帽会同步采集被试的脑电信号,经放大器放大后,控制盒会把脑电信号和mark 信号同步到一起,通过usb线传入到采集系统(比…...
Java面试黄金宝典37
1. 转发与重定向的区别 定义 转发:服务器内部的一种请求处理方式,当客户端向服务器发送请求后,服务器将该请求转发到另一个资源(如 JSP、Servlet)进行处理,整个过程在服务器端完成,客户端并不知道请求被转发,且使用的是同一个请求对象和响应对象。重定向:服务器向客户…...
嵌入式rodata段
在嵌入式软件开发中,将数据放入只读数据段(.rodata)具有以下好处及典型应用示例: 好处 数据保护 .rodata段的内容在程序运行时不可修改,防止意外或恶意篡改,提升系统稳定性。 节省RAM资源 只读数据可直接…...
Python学习之numpy
Python学习之numpy 数组是Numpy库的核心数据结构。 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarr…...
ext4磁盘扩容
ext4扩容示例 当前虚机中,逻辑卷名称data_lv,卷组名称data_vg,物理卷名称data_pv,他们的大小都为100G,由于磁盘空间不够使用,申请扩容硬盘至200G,以下操作将ext4的/data分区扩容至200G。 # 1.…...
PostgreSQL 16深度解析(从16.0-16.8)
作为开源关系型数据库的标杆,PostgreSQL持续通过版本迭代展现其技术生命力。本文将以技术视角深度剖析PostgreSQL 16系列(16.0至16.8)的核心演进,重点解读新增功能、性能优化及实践价值,为数据库管理者与开发者提供升级…...
10个DeepSeek、ChatGPT提示词更快更好的学术文献阅读!
目录 AIGC助力快速阅读文献 10个文献阅读提示词 大家好这里是AIWritePaper官方账号,官网👉AIWritePaper~ AIGC助力快速阅读文献 在当今学术界,海量的论文如潮水般涌来,想要跟上最新研究进展简直比在图书馆里找到一本没被借走的…...
基于spring boot 鲜花销售系统PPT(源码+lw+部署文档+讲解),源码可白嫖!
课题意义 随着网络不断的普及发展,鲜花销售系统依靠网络技术的支持得到了快速的发展,首先要从用户的实际需求出发,通过了解用户的需求开发出具有针对性的信息管理系统,利用目前网络给用户带来的方便快捷这一特点对系统进行调整&am…...
Spring Boot 与 TDengine 的深度集成实践(三)
创建 RESTful API 编写控制器类 在 Spring Boot 项目中,控制器类负责处理 HTTP 请求,并将请求转发到相应的服务或数据访问层进行处理,最后返回响应结果给客户端。我们通过使用RestController和RequestMapping注解来定义控制器类和 API 路由…...
物理日志和逻辑日志
在 MySQL 的日志系统中,物理日志 和 逻辑日志 是两种不同类型的日志记录方式,它们的设计目标和实现方式有本质区别。以下是它们的详细解释和对比: 1. 物理日志 定义 物理日志记录的是数据页(Page)的物理修改&#x…...
[Deep-ML]Reshape Matrix(重塑矩阵)
Reshape Matrix(重塑矩阵) 题目链接: Reshape Matrix(重塑矩阵)https://www.deep-ml.com/problems/3 题目描述: 难度: easy(简单)。 分类: Linear Alg…...
Linux文件系统中的Page Cache和内存管理中的Page之间的关系
Linux文件系统中的Page Cache和内存管理中的Page之间有密切的关联,两者在底层机制上紧密结合,共同实现高效的内存和文件系统管理。以下是它们的关系和关键点: 核心关系 Page Cache的底层是内存Page Page Cache是由内存管理中的物理内存页&…...
day25-回溯__491.递增子序列 __46.全排列__47.全排列 II
491.递增子序列 这道题要求输出一个数组的所有非递减子序列,并且数组中是可以存在重复元素的,那么我们需要考虑的就一定是之前的树层去重的方法 并且要求非递减,所以我们每次添加元素到path要先判断两个条件: 该元素的值是否在同…...
微型导轨的制造工艺中,热处理的目的是什么?
热处理是指将金属或合金加热到一定温度,保温一段时间,然后通过适当的冷却方式使其发生物理变化,从而使其性能发生改变的加工技术,而在微型导轨的制造工艺中,热处理是必须的,那么热处理的目的是什么呢&#…...
学透Spring Boot — 018. 优雅支持多种响应格式
这是我的专栏《学透Spring Boot》的第18篇文章,想要更系统的学习Spring Boot,请访问我的专栏:学透 Spring Boot_postnull咖啡的博客-CSDN博客。 目录 返回不同格式的响应 Spring Boot的内容协商 控制器不用任何修改 启动内容协商配置 访…...
数据结构与算法----顺序表和复杂度
嘻嘻,我们用c语言来手撕顺序表!!!全程高能比喻代码实战,保证你笑着学会!!! 引言 1、数据结构是计算机存储、组织数据的方式。算法是一系列计算步骤,用来将输入数据转化…...
Android studio局域网屏幕共享(旧手机可以用来当监控啦)
项目地址 https://github.com/Anyuersuper/ScreenSharing 百度网盘 通过网盘分享的文件:ScreenSharing-master.zip 链接: https://pan.baidu.com/s/1URQnyI8zJF-IFl5_-ttXBg?pwdyuer 提取码: yuer 📱 屏幕分享应用 (ScreenSharing) 📋 项目…...