LLM 推理中推理-时间计算技巧
25年2月来自香港科技大学广州分校的论文“Bag of Tricks for Inference-time Computation of LLM Reasoning”。
随着大语言模型 (LLM) 的进步,解决复杂的推理任务越来越受到关注。推理-时间计算方法(例如 Best-of-N、波束搜索等)特别有价值,因为它们可以在不修改模型参数或不需要额外训练的情况下提高推理性能。然而,这些技术面临着实施挑战,大多数现有方法仍处于概念验证阶段,由于其计算复杂性和不同任务中的不同有效性,实际采用有限。
本文研究并评估不同复杂度推理任务中的各种推理-时间计算策略。由于大多数当前方法依赖于提议者-验证者流水线,该流水线首先生成候选解决方案(例如推理解决方案),然后根据奖励信号(例如 RLHF 奖励、过程奖励)选择最佳解决方案,本文研究重点是优化候选解决方案的生成(例如指令提示、温度和 top-p 等超参)和奖励机制(例如自我评估、奖励类型)。通过对各种规模的各种模型(例如 Llama、Qwen 和 Mistral 系列)进行大量实验(超过 20,000 个 A100-80G GPU 小时,超过 1,000 次实验),消融研究表明,以前被忽视的策略可以显著提高性能(例如,调整温度可以将推理任务性能提高高达 5%)。此外,系统地评估八个推理任务中的六种代表性方法,为推理-时间计算建立标准化基准。这些发现为未来的研究奠定更坚实的基础。
大语言模型 (LLM) 已展示出卓越的推理能力,使其能够处理科学、数学和编码等领域日益复杂的任务 (Zhang et al., 2024a; Chen et al., 2021)。虽然规模化模型大小和高质量训练数据集极大地推动这些进步,但研究人员正在积极探索互补方法以进一步提高模型性能。受人类解决问题行为的启发——个人通常会花更多时间思考复杂问题以改善他们的决策——人们越来越有兴趣 (Snell et al., 2024) 利用推理-时间计算(例如,在测试期间利用额外的计算来提高推理任务的性能)来增强 LLM 的推理能力。
虽然推理-时间计算对提高 LLM 的推理性能具有巨大潜力 (Wang et al., 2022),但现有研究显示推理-时间计算的结果好坏参半(例如,有限的自我纠正能力 (Huang et al., 2023))。它在更广泛的推理任务(例如,逻辑推理、代码生成、问答和事实验证)上的有效性仍然有限,大多数研究仅集中在数学问题等领域。此外,推理-时间方法对超参数很敏感,例如温度和 top-p 采样,其中微小的调整可能会导致显着的性能差异(例如,通过调整温度,解决数学问题的能力提高 5%)。这些挑战强调推理-时间技术(例如,指令提示、采样策略、奖励模型)的关键作用,如表所示。尽管最近取得进展,但这些差距表明该领域仍处于起步阶段,许多挑战尚待解决。
使用 LLM 进行推理。LLM 在代码生成、数学问题解决和研究构思等复杂任务中表现出强大的推理能力 (Zhou et al., 2022)。现有增强 LLM 推理能力的方法包括:1) 提示工程 - 激活潜在的多步骤推理能力。例如,思维链 (CoT) (Wei et al., 2022) 指导一步步解决问题,但在很大程度上依赖于高质量的演示进行类比学习。2) 后训练技术 (Chen et al., 2024a;b) - 迭代地丰富训练数据集,提高模型性能。自训练方法 (Chen et al., 2024a) 整理新的高质量示例以增强推理能力,但这些方法需要大量的计算资源。 3)基于搜索的方法(Browne,2012;Feng,2023a;Liu,2023)——使用搜索算法在推理-时优化推理路径。例如,思维树(Yao,2024)采用广度优先搜索(BFS)来优化解决方案。这项工作侧重于测试-时间计算,利用推理-时间优化来增强 LLM 推理,而无需额外的训练开销。
LLM 推理的推理-时间计算。事实证明,规模化推理-时间计算比仅仅增加模型参数更有效(Snell,2024)。最近,研究重点是优化推理过程中的推理效率,而不是仅仅规模化训练-时间计算。 Best-of-N(Cobbe,2021a)通过抽样 N 个候选解决方案、使用学习的验证器或奖励模型对其进行评估并选择得分最高的解决方案来增强 LLM 推理能力。同样,MCTS(Tian,2024)通过主动规划和选择更高质量的响应来改进推理。这些进步凸显推理-时间优化对于增强 LLM 推理能力(超越规模化训练计算)至关重要。
LLM 推理基准。LLM 在以零样本方式解决复杂任务方面取得显著进展(Hendrycks,2021;Press,2022;Liu,2024a),将其定位为迈向通用人工智能的关键里程碑。因此,对它们的推理能力进行基准测试已成为一项核心挑战。最近的研究评估各个领域的 LLM 推理,包括数学推理(Hendrycks,2021 年)、代码生成(Chen,2021)和事实问答(Thorne,2018)等等(Liu,2024c;b)。虽然这些基准增强对 LLM 推理的理解,但大多数研究都集中在任务性能而不是推理-时间计算上,因此关键的优化技术尚未得到充分探索。
本文研究重点是候选解决方案生成的策略(例如,指令提示、温度和 top-p 等超参)和奖励机制(例如,自我评估、奖励类型),涵盖更广泛的推理任务,包括逻辑推理、代码生成、事实验证、复杂数学和算术。
给定一个输入上下文 x(例如,数学问题、常识问答等),LLM 旨在自回归地预测下一个 token(Dubey,2024)。
π_θ(·) 是 θ 参数化 LLM,y = (y_1, y_2, · · · , y_n) 是输出序列。对于词汇的数量 M,预测第 t 个 token 的概率由所有 token logit 分数 z 温度为 τ 的 softmax 决定,并结合 top-p(核采样)来控制采样过程的随机性和多样性。
思维链 (CoT) (Wei,2022) 是一种促使 LLM 生成一系列可得出最终答案的推理步骤方法。这些中间步骤表示为 y_1, …, y_n−1,将输入 x 连接到输出 y(为简单起见省略 n),其中 n 表示步骤总数。例如,给定指令 I(例如,“让我们一步一步解决这个问题”)以及演示示例和输入问题 x,最终答案是 y。每个中间思维 y_i 都是得出最终答案推理过程的一部分。
这些想法是从分布 y_i ∼ π_θ (· | I, x, y_<i−1 ) 中依次生成的,最终的输出是从以下样本中采样的:y ∼ π_θ(· | I,x, y_<n−1)。
LLM 的温度 (Hinton, 2015) τ 控制生成输出的随机性水平,从而影响其多样性。不是直接计算 softmax,而是根据温度值对 logits 缩放。
Top-p(Holtzman,2019)通过增加词汇的数量 M 来控制 LLM 输出,因为只有累积概率大于 Top-p 值的 token 才会被考虑。在选择了 token 之后,将会使用减少的词汇量重新计算它们的 softmax。
推理-时间计算方法(Ott,2018)通常遵循包含两个主要步骤的流程:生成候选解决方案(例如,思维链推理候选方案)并根据特定奖励信号(例如,数值奖励、自洽性、过程奖励或二元反馈,如“是”或“否”)选择最佳解决方案。正式地,给定一个问题 x,推理-时间计算方法会抽取 K 个候选解决方案:y^(k) ∼ π_θ(y | I, x, y_<n),其中 k = 1, 2, …, K,其中 y(k) 表示第 k 个候选解决方案。抽样后,使用奖励模型评估每个候选方案以产生奖励信号:r(k) = reward(I, x, y_<n−1, y^(k)),其中奖励模型可以采用多种形式。例如,它可能是一个使用指令 I 评估解决方案的通用 LLM(例如,“让我们验证一步步推理。答案是否正确(是/否)?”)。或者,奖励模型可以经过专门训练以输出 0 到 1 之间的标量值,值越高表示解决方案越好。然后根据奖励信号选择最终解决方案 yˆ。对于数值奖励,选择奖励最高的解决方案:yˆ= argmax/y_k (r_k)。
生成候选解决方案
生成候选解决方案,是 LLM 推理中推理-时间计算的关键步骤,但此过程中固有的随机性,会显著影响多样性。温度和 top-p 等超参以及指令提示等策略在塑造和引导解决方案轨迹方面发挥着至关重要的作用。例如,温度作为 token 生成中的采样策略,在更高值时会增加多样性。因此,本研究重点关注候选解决方案的生成过程,包括指令提示类型、温度和 top-p 采样。
选择最佳解决方案
选择最佳解决方案,也是 LLM 推理的推理-时间计算中的关键步骤。此过程通常涉及推理模型本身的选择(例如,投票或基于提示的选择)或使用外部奖励模型(例如,RLHF、证明关键或过程奖励模型)。一个关键问题是 LLM 能否有效地评估自己的解决方案。然而,自我评估方法往往不够完善,因为 LLM 很难在没有外部指导的情况下纠正错误。此外,奖励模型经常无法区分真正正确的答案和表面上正确的答案,导致绩效评估过高。这一挑战强调对更可靠评估机制的需求。为了解决这些差距,研究选择过程,重点关注自我评估、奖励类型,并研究改进的奖励模型的泛化。
如图所示 LLM 推理的推理-时间计算解码概述。(A)指令提示:包括 IO、思维链 (CoT) 和基于反射的 CoT 提示。(B)推理任务:在八个数据集上评估模型:算术 (GSM8K、GSM-Hard)、复杂数学 (MATH)、逻辑 (PrOntoQA)、代码生成 (HumanEval)、问答 (Bamboogle)、事实验证 (FEVER) 和常识 (HotpotQA)。(C)推理模型:分析不同大小和架构的 LLM(LLaMA、Qwen、Mistral),并通过温度和 top-p 超参评估性能。(D)奖励模型:探索奖励类型,如 RLHF、批评模型和基于过程的模型,以提高推理性能。 (E) 推理-时间计算:研究N-中-最佳采样、步骤-级 N-中-最佳、自洽、蒙特卡洛树搜索 (MCTS) 和自我细化等方法以优化推理。
推理模型。在实验中,评估几种广泛研究的不同大小和配置的 LLM:
1)LLaMA 3.3(Dubey,2024):Meta AI 在 LLaMA 系列中的最新版本,提供 8B 和 70B 参数。它以开源可访问性和强大的基准性能而闻名。
2)Qwen 2.5(Yang,2024):该模型由阿里云开发,提供 7B 和 72B 参数配置,展示多样化的 LLM 架构和训练方法。
3)Mistral 7B Instruct v0.3(Jiang,2023):Mistral AI 的 7B 参数模型,因其效率和性能可与更大的模型相媲美而受到认可。
这些模型表现出不同的推理优势,深入了解不同架构和训练方法的影响。
奖励模型。采用四种类型的奖励模型:
(1)过程奖励(Zheng,2024):逐步评估每个推理步骤。
(2)结果奖励:仅评估最终答案的正确性。
(3)RLHF 奖励(Cai,2024):来自偏好样本(包括人工注释和 AI 生成的)。
(4)证明-紧要奖励:应用于多个基准的正式数学证明。
研究重点关注以下推理任务:
1)算术推理:在 GSM8K(Cobbe,2021b)和 GSM-Hard(Gao,2022)数据集上评估模型,测试他们的算术计算技能。
2)复杂数学推理:使用 MATH(Hendrycks,2021)评估解决高级数学问题的能力。
3)逻辑推理:使用 ProntoQA(Saparov & He,2023)数据集,测量逻辑推理和推理能力。
4)代码生成:在 HumanEval(Chen,2021)数据集上测试代码生成技能。
5)问答:使用 Bamboogle(Press,2022)评估回答不同问题的表现。
6)事实验证:使用 FEVER(Thorne et al.,2018)数据集评估事实验证。
7)常识推理:使用 HotpotQA(Yang et al.,2018)数据集测试对常识知识和推理的理解。
本研究考察常见的推理-时间计算方法:
1)N-中-最佳(Cobbe,2021a):为给定输入生成多个输出(N 个样本),并根据奖励模型选择最佳输出。
2)分步级 N 中最佳采样(Cobbe,2021a):在每个生成步中应用 N-中-最佳采样,选择最有希望的想法。
3)自洽(Wang,2022):产生多个推理路径或答案,并选择最一致的一个。
4)集束搜索(Ott,2018):逐级探索输出,在继续下一个之前扩展当前深度的所有节点。
5)蒙特卡洛树搜索(MCTS)(Feng,2023b):使用随机抽样构建搜索树并识别最有希望的输出。
6)自我改进(Madaan,2024):允许 LLM 在推理过程中迭代改进输出。
目标是研究以前被忽视的技巧如何严重影响推理-时间计算方法的性能,该方法通常包括两个主要步骤:生成候选解决方案(例如,提示类型、温度和 top-p 等)并根据特定奖励信号(例如,自我评估、奖励类型、奖励过程)选择最佳解决方案。在默认设置中,主要采用 Best-of-N 推理-时间计算,其中候选数量 N = 32、温度 τ = 0.7 和 top-p 设置为 0.9。此外,指令提示类型设置为思维链 (CoT)。在没有进一步修改的情况下,进行消融研究,仅改变正在研究的特定技巧。主要关注复杂的推理任务,包括数学问题和代码生成任务等。
注:实证观察和结论可能不适用于所有数据集和模型。然而,本文强调使用一致实现细节的必要性,以确保在不同的推理-时间计算方法之间进行公平的比较。
下表所示推理-时间计算下固定 token 预算的 LLM 推理性能: 其中 Llama-3.1-8B 和 Qwen-2.5-7B 模型在各种推理任务中的准确性和 token 消耗。
相关文章:
LLM 推理中推理-时间计算技巧
25年2月来自香港科技大学广州分校的论文“Bag of Tricks for Inference-time Computation of LLM Reasoning”。 随着大语言模型 (LLM) 的进步,解决复杂的推理任务越来越受到关注。推理-时间计算方法(例如 Best-of-N、波束搜索等)特别有价值…...
【模板】图论 最短路 (Floyd+SPFA+Dijkstra)
FloydSPFADijkstra 温故而知新,这三种算法都是求最短路问题常用的算法(特别是Dijkstra) 1.Floyd (多源最短路) 基于动态规划思想,时间复杂度为 O ( N 3 ) O(N^3) O(N3) 较高。 注意点: 初始化距离为INF…...
vite-vue-ts使用arco-design-vue定制主题的后动态变更主题思路
定制主题的后动态变更主题思路 安装依赖与主题定制动态变更主题过程尝试修改主题色(结果失败)尝试修改主题色(结果成功,但是hover的主题色没有变,未覆盖10个梯度的色值)根据主题色实现10个梯度颜色实现10个…...
递归爬取网页测试
我们正在做基于大模型的数据分析平台。 当前需要测试ezdata的递归爬取功能,爬取到第几层 测试网址 https://blog.csdn.net/m0_68177611/article/details/144936089...
【论文学习】RVS-FDSC:一种基于四方向条带卷积的视网膜血管分割方法以增强特征提取
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言论文论文内容RSC模块MSPF2 模块RPDA模块 实验效果 总结互动致谢参考往期回顾 前言…...
交友项目-交友软件简介
一、 项目背景 在线社交是互联网时代的产物,已成为互联网用户的基础需求之一。移动互联网自2003年起快速发展,促使在线社交逐渐从PC端转移至移动端。移动社交最初以熟人社交为主,以维系熟人关系、共享资源信息的形式存在。随着人们交友需求的…...
新手向:SpringBoot后端查询到数据,前端404?(附联调时各传参方式注解总结-带你一文搞定联调参数)
前言: 在 Spring Boot 项目开发中,后端小伙伴可能经常遇到这样诡异的场景: 后台日志显示查询到了数据,但前端却一脸懵逼地告诉你 404 Not Found?接口明明写好了,Postman 直接访问却提示找不到?…...
Elasticsearch7.6.2 安装过程
一. 安装JDK1.8 (1)创建安装目录 mkdir /usr/local/java/ (2)解压至安装目录 tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/ (3)设置环境变量 vim /etc/profile 在末尾添加 export JA…...
汇能感知的光谱相机/模块产品有哪些?
CM020A 分辨率:1600H1200V 光谱范围:350~950nm 光谱分辨率:1nm 接口:USB2.0 帧率:16001200 (6帧) 输出格式:Raw 8bit FOV:D73.5H58.8V44.1 相机尺寸:505055mm VM02S10 分辨率…...
【机器学习】K折交叉验证(K-Fold Cross-Validation)
文章目录 K折交叉验证步骤详解一. 核心目标二. 具体步骤与操作三. 关键变体与场景适配3.1 分层K折交叉验证3.2 时间序列K折交叉验证3.3 留一法(LOO)3.4 重复K折交叉验证 四. 实践注意事项五. Python代码示例六. 总结 K折交叉验证步骤详解 一. 核心目标 …...
【核心算法篇十九】《 DeepSeek因果推断:双重差分模型如何破解政策评估的「时空难题」》
一、当AB实验不可行时,我们该相信什么?(因果推断困局解析) 假设某城市推出「夜间地铁免费」政策,市长想知道这个政策是否真的提升了夜间经济。这时候你会发现: 1️⃣ 无法克隆城市:不能同时存在一个「实施政策」和「不实施政策」的平行宇宙 2️⃣ 数据混杂严重:疫情反…...
使用vue3框架vue-next-admin导出列表数据
在 Vue3 中实现 Excel 导出功能可以通过以下步骤完成,这里使用 xlsx 库来实现前端 Excel 导出: 1. 安装依赖 npm install xlsx file-saver # 或 yarn add xlsx file-saver2. 实现代码示例 需要在当前页引入 import * as XLSX from "xlsx";注…...
机器学习(1)安装Pytorch
1.安装命令 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 2.安装过程Log: Looking in indexes: https://download.pytorch.org/whl/cu118 Co…...
讯方·智汇云校华为官方授权培训机构
1.官方授权 讯方智汇云校是华为领先级授权培训机构(华为授权培训合作伙伴(HALP)体系,分为认证、优选、领先三个等级,领先级是HALP最高级),代表着华为对培训合作伙伴在专业能力、师资队伍、合作…...
彻底理解零拷贝技术,zero-copy
计算机处理的任务大体可以分为两类:CPU密集型与IO密集型。当前流行的互联网应用更多的属于IO密集型,传统的IO标准接口都是基于数据拷贝的,这篇文章我们主要关注该怎样从数据拷贝的角度来优化IO性能,让你的程序在IO性能方面赶超P8。…...
使用 MySQL 从 JSON 字符串提取数据
使用 MySQL 从 JSON 字符串提取数据 在现代数据库管理中,JSON 格式因其灵活性而广泛使用。然而,当数据存储在 JSON 中时,我们经常需要将其转换为更易于处理的格式。本篇文章将通过一个具体的 SQL 查询示例,展示如何从存储在 MySQ…...
矛盾(WEB)
##解题思路 打开靶场就是一段自相矛盾的代码,既要num是数字类型,又要判断为1 这种情况我们会想到弱类型的编程语言,插件查看过后,php就是弱类型的语言,此处并非是严格相等,只是 因此可以根据弱类型编程语言…...
优先队列(典型算法思想)—— OJ例题算法解析思路
目录 一、1046. 最后一块石头的重量 - 力扣(LeetCode) 算法代码: 代码思路 使用优先队列(大根堆) 将所有石头放入堆中 模拟碰撞过程 返回最后的重量 代码解析 时间复杂度 示例 输入 输出 二、703. 数据流…...
IGBT的损耗性分析
铝合金外壳设计器地址:嘉立创铝合金外壳/壳体/盒型-让您的产品更出彩 IGBT和MOS的损耗谁大: 电子元器件常见失效模式: 电子元器件的失效模式多种多样,以下是一些常见的失效模式及其原因: 开路: 原因:内部连接断开、焊点断裂、导线断裂等。 影响:电流无法通过,电路中断。…...
TypeScript跟js,es6这些的区别
TypeScript 一、TypeScript 是什么 想象 JavaScript 是一个自由奔放的艺术家,它在创作(编写代码)时不受太多约束,非常灵活,但有时也容易犯错且难以调试。而 TypeScript 就像是给这位艺术家配备了一套精确的工具和规范…...
单例模式代码示例
饿汉式:在类加载时就创建单例实例,线程安全。代码如下: public class Singleton {// 私有静态实例private static final Singleton instance new Singleton();// 私有构造函数private Singleton() {}// 公共访问方法public static Singleto…...
掌握 ElasticSearch的 _source 过滤
掌握 ElasticSearch的 _source 过滤 1. 引言2. _source 元数据基础2.1 什么是 _source 字段?2.2 _source 的基本用法 3. 禁用 _source3.1 如何禁用 _source 字段3.2 禁用 _source 的利弊3.3 最佳实践建议 4. _source 数据源过滤4.1 为什么需要数据源过滤?…...
车载音频配置(二)
目录 OEM 自定义的车载音频上下文 动态音频区配置 向前兼容性 Android 14 车载音频配置 在 Android 14 中,AAOS 引入了 OEM 插件服务,使你可以更主动地管理由车载音频服务监督的音频行为。 随着新的插件服务的引入,车载音频配置文件中添加了以下更改: • OEM 自定义的车…...
开目3DCAPP系列:三维制造成本分析与估算软件3DDFC
开目3DDFC 是一款基于 MBD 模型和工艺知识库的专业三维制造成本分析与估算软件,在不依赖详细工艺路线的情况下,根据零件几何信息和精度信息一键式完成零件成本的分析与估算,为面向成本的设计优化提供参考指引,也为企业对外产品报价…...
化学品安全数据表(MSDS)的全面解析与实用指南
SDS(安全数据表),也称为MSDS(材料安全数据表),是用于详细说明化学品的理化特性(如pH值、闪点、易燃性、反应活性等)及其对使用者健康(如致癌、致畸等)潜在危害…...
赛前启航 | Azure 应用开发实战指南:开启创意的无限可能
在 AI 时代,如何高效构建、优化和部署你的应用?如何充分利用微软 Azure 的强大能力,让开发更敏捷,性能更卓越?2 月 21 日 14:00-16:00,微软 AI 开发者挑战赛赛前指导第二场直播,带你全方位掌握 …...
Visual Studio Code的下载安装与汉化
1.下载安装 Visual Studio Code的下载安装十分简单,在本电脑的应用商店直接下载安装----注意这是社区版-----一般社区版就足够用了---另外注意更改安装地址 2.下载插件 重启后就是中文版本了...
home assistant ddns动态域名解析插件
home assistant ddns动态域名解析插件 使用方法 在HACS中搜索 ddns安装(hacs目前还没有合并我的提交,目前不可用),或者 clone https://github.com/weiangongsi/ddns.git, 将 custom_components/ddns目录拷贝至 Home Assistant 配置目录的 custom_compon…...
金融交易算法单介绍
0.背景 股票交易时,常见的订单类型有基础订单和条件订单。 基础订单 市价单限价单碎股单等等 条件订单 止损市价单止损限价单触及市价单(止盈)触及限价单(止盈)跟踪止损市价单跟踪止损限价单等等 除了基础订单和…...
LabVIEW利用CANopen的Batch SDO写入
本示例展示了如何通过CANopen协议向设备写入Batch SDO(批量服务数据对象)。Batch SDO允许用户在一次操作中配置多个参数,适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程,提高设备管理效率。 主要步骤…...
正式页面开发-登录注册页面
整体路由设计: 登录和注册的切换是切换组件或者是切换内容(v-if和 v-else),因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页,有三个大模块:文章分类&…...
vLLM专题(二):安装-CPU
vLLM 是一个 Python 库,支持以下 CPU 变体。选择您的 CPU 类型以查看供应商特定的说明: Intel/AMD x86 vLLM 最初支持在 x86 CPU 平台上进行基本模型推理和服务,支持的数据类型包括 FP32、FP16 和 BF16。 注意 此设备没有预构建的 wheel 包或镜像,因此您必须从源代码构建 v…...
【CSS进阶】常见的页面自适应的方法
在前端开发中,自适应布局(Responsive Design)是一种让网页能够适应不同屏幕尺寸、设备和分辨率的技术。常见的自适应布局方法包括 流式布局、弹性布局(Flexbox)、栅格布局(Grid)、媒体查询&…...
Java编程语言:从基础到高级应用的全面探索
在当今的软件开发领域中,Java无疑是一种极为流行且强大的编程语言。自1995年由Sun Microsystems推出以来,Java凭借其跨平台性、面向对象特性和丰富的API库,迅速成为企业级应用开发的首选语言。本文将带您从Java的基础语法入手,逐步…...
计算机视觉:神经网络实战之手势识别(附代码)
第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络(附代码) 第五章࿱…...
linux 面试题
1. 文件与目录操作 ls 功能:列出目录内容 常用参数: -l:长格式显示(权限、大小、时间等)-a:显示隐藏文件(以.开头的文件)-h:以易读格式显示文件大小(如KB/…...
利用websocket检测网络连接稳定性
浏览器中打开F12,控制台中输入以下内容 > 回车 > 等待结果 连接关闭 表示断网 let reconnectDelay 1000; // 初始重连间隔 let pingInterval null; let socketManuallyClosed false; // 标志是否手动关闭function createWebSocket() {if (socketManuallyCl…...
Go入门之数组与切片
var arr1 [...]int{1, 2, 3}fmt.Println(len(arr1)) 数组长度不能扩展 var arr2 [...]int{0: 100, 5: 101}fmt.Println(len(arr2)) } 指定索引初始化 可以通过for和range遍历 值类型:基本数据类型和数组都是值类型,改变副本的值不会改变本身的值 切片为引用数…...
《Nuxt.js 实战:从放弃到入门》六、打造个性化文字转图片工具
在当今短视频的时代,将文字转化为图片是一个常见且实用的需求,无论是用于社交媒体分享、设计宣传材料,还是制作个性化的视觉内容。今天,我们就来深入剖析一个使用 Vue 3 和 ElementPlus 构建的文字转图片工具的代码…...
软硬链接?
目录 1. 硬链接(Hard Link) 2. 软链接(Symbolic Link,符号链接) 总结: 1. 硬链接(Hard Link) 定义: 硬链接是直接指向文件数据块(inode)的链接。…...
轻松搭建本地大语言模型(二)Open-WebUI安装与使用
文章目录 前置条件目标一、安装 Open-WebUI使用 Docker 部署 二、使用 Open-WebUI(一)访问Open-WebUI(二)注册账号(三)模型选择(四)交互 四、常见问题(一)容器…...
windows Redis Insight 如何查看宝塔docker里的redis数据
1、ping 命令用于测试网络连通性,它只需要目标 IP 地址作为参数,不需要端口号。正确的命令如下: ping 公网地址2、使用 Telnet 测试端口连通性 telnet 公网地址 端口 telnet 47.108.67.228 6379如果连接成功,窗口会变为空白&am…...
Python高级语法之urllib
目录: 1、爬虫的介绍2、urllib的使用2.1、urllib的异常捕获2.2、urllib的实现微博cookie登陆2.3、urllib的handler处理器2.4、urllib的代理服务器2.5、urllib的代理服务池 1、爬虫的介绍 2、urllib的使用 2.1、urllib的异常捕获 2.2、urllib的实现微博cookie登陆 2…...
word$deepseep
1、进入官网地址。 DeepSeek 2、进入DeepSeek的API文档 3、点击DeepSeek开放平台左侧的“API Keys”, 再点击“创建API Key” 4、在弹出的对话框中,输入自己的API Key名称,点击创建。 sk-0385cad5e19346a0a4ac8b7f0d7be428 5、打开Word文档。 6、Word找…...
【koa】05-koa+mysql实现数据库集成:连接和增删改查
前言 前面我们已经介绍了第二阶段的第1-4点内容,本篇介绍第5点内容:数据库集成(koamysql) 也是第二阶段内容的完结。 一、学习目标 在koa项目中正常连接数据库,对数据表进行增删改查的操作。 二、操作步骤 本篇文章…...
【深度学习】分布偏移纠正
分布偏移纠正 正如我们所讨论的,在许多情况下训练和测试分布 P ( x , y ) P(\mathbf{x}, y) P(x,y)是不同的。 在一些情况下,我们很幸运,不管协变量、标签或概念如何发生偏移,模型都能正常工作。 在另一些情况下,我们…...
数据结构_前言
本次我们将进入一个新的阶段啦~ 要注意哦: 在学数据结构之前,我们要先掌握c语言中所学的指针、结构体、内存的存储这几部分,如果还没太掌握的话,那记得去复习回顾一下噢。 下面我们就一起进入数据结构的学习吧! 知识…...
spark任务运行
运行环境 在这里插入代码片 [roothadoop000 conf]# java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01)[roothadoop000 conf]# echo $JAVA_HOME /home/hadoop/app/jdk1.8.0_144[roothadoop000 conf]# vi spark-env.sh …...
由because it is a JDK dynamic proxy that implements温习Spring的代理
由because it is a JDK dynamic proxy that implements温习Spring的代理 项目场景原因分析1、报错位置2、错误原因3、业务需求 解决方案1、注入CGlib代理2、取出原生对象 项目场景 昨日在启动一个SpringBoot项目时,发现启动失败,并在日志中出现了这样的…...
mac相关命令
显示和隐藏usr等隐藏文件文件 terminal输入: defaults write com.apple.Finder AppleShowAllFiles YESdefaults write com.apple.Finder AppleShowAllFiles NO让.bashrc每次启动shell自动生效 编辑vim ~/.bash_profile 文件, 加上 if [ -f ~/.bashrc ]; then. ~/.bashrc fi注…...