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

ChemBench—— 探索大语言模型在化学领域的新基准框架是否胜过化学专家

概述

大规模语言模型是一种机器学习模型,通过学习大量文本来生成文本。这些模型的能力正在迅速提高,现在已经可以通过美国国家医学考试。它们还可以与网络搜索和合成规划器等工具结合使用,自主设计化学反应和进行实验。

一些人认为这些模型是 “人工通用智能(AGI)的标志”,而另一些人则认为它们是 “随机鹦鹉”。换句话说,它们被认为是简单的系统,只是重复它们所学到的东西。然而,大规模语言模型已显示出解决各种未明确学习任务的能力,而且经济利益和投资正在迅速增长:到 2032 年,该领域的市场价值预计将超过 1.3 万亿美元。

化学家和材料科学家对大规模语言模型的兴趣也与日俱增。这是因为大规模语言模型正被用于预测分子和材料的性质、优化反应、生成新材料和提取信息。此外,还开发了根据自然语言指令自主执行物理反应的原型系统。

由于大部分化学信息现在都存储在文本中,大规模语言建模仍有许多潜力尚未开发。例如,许多化学研究见解并非来自数据库,而是来自化学家解读数据的能力。这些见解以文本形式存在于科学论文中,通过处理文本可以获得新的见解。这将为化学家带来一个协同驾驶系统,使他们能够根据人类无法阅读的大量信息回答问题并提出新的实验建议。

然而,机器学习模型在化学领域日益增强的能力引发了人们对该技术双重用途潜力的担忧。例如,设计无毒分子的技术可能反过来用于预测有毒分子。意识到这些风险并制定适当的评估框架非常重要。不过,目前大规模语言模型是通过 BigBench 和 LM Eval Harness 等标准化基准进行评估的,但这些基准很少包括与化学相关的任务。

本文提出了一个新的基准测试框架–ChemBench,并强调了当前最先进模型的局限性。ChemBench由7059个从不同来源收集的问答题对组成,涵盖了美国大部分本科生和研究生化学课程。ChemBench包括从不同来源收集的7059个问答题对,涵盖了大多数本科生和研究生的化学课程。此外,还对 41 位化学专业人士进行了调查,以比较当前模型与人类化学家的表现。

结果表明,虽然目前的模型在某些方面展示了超越人类的能力,但在安全性方面可能会产生很大的误导。精心制定的广泛基准将是这一领域取得进展的重要一步。

方法

数据集中的问题来自现有的考试和练习题,以及程序生成的新问题。问题通过拉取请求添加到 GitHub 存储库中,只有在通过人工审核和自动检查后才会合并到语料库中。

为确保训练数据集中不包含问题,与 BigBench 项目中使用的金丝雀字符串相同。这就要求大型语言模型的开发人员从训练数据集中过滤掉这个金丝雀字符串。手动策划的问题来自各种来源,包括大学考试、练习和问题集。下表概述了人工编辑问题的来源。

此外,除了人工策划的问题外,还包括程序生成的问题。下表概述了半自动生成问题的来源。

为了保持一致性,完成和指导协调模型使用了不同的提示模板。在模板内对模型施加了限制,以接收特定格式的回复,从而确保分析的稳健性、公平性和一致性。针对文本中的科学符号、化学反应和符号,使用特殊注释和 LATEX 符号对特定模型进行训练。例如,在 Galactica 中,所有 SMILES 表达式都用 [START SMILES][\END SMILES] 表示。提示策略会逐一反映这些细节,并对 LATEX 符号、化学符号、化学方程式和物理单位进行后处理(添加或删除封装)。这一步骤可在代码库中轻松定制。

解析工作流程也包括几个步骤,主要基于正则表达式。对于指令协调模型,第一步是识别指示模型报告其响应的 [ANSWER][\ANSWER] 环境。对于完成模型,则跳过这一步。然后,我们尝试提取相关的枚举字母(用于多选题)或数字。对于数字,我们设计的正则表达式可以适应不同形式的科学符号。在最初的测试中,我们发现模型有时会以单词形式返回数字(例如 "1 "而不是 “1”),因此我们还使用正则表达式实现了单词到数字的转换。当这些硬编码解析步骤失败时,我们就使用大型语言模型(如 Claude 2)来解析补全。

自定义正则表达式用于解释输出中的差异。在所有模型报告中,每个题目都选取了大量不同的子集(10 个问题),并对解析输出与模型预期实际答案不一致的情况进行了人工调查:99.76% 的 MCQ 问题和 99.17% 的浮点运算问题的解析输出与模型预期实际答案不一致。结果发现解析结果是准确的。产生错误最多的模型是 pplx-7b-chat 和 Mixtral-8x7b。

试验

基准语料库的创建采用了广泛的资料来源,包括从大学考试中半自动生成的试题和从化学数据库中精选的数据集。为确保质量,所有试题除由原始策展人和自动检查人员审查外,还至少由一名化学家审查。这些广泛的试题库涵盖了各种化学主题。例如,下图比较了化学各领域的试题数量。

下图还利用主成分分析法(PCA)将问题嵌入二维空间进行了可视化展示。在该图中,语义相似的问题被放在一起,并且根据 11 个主题对点进行了颜色编码,清楚地说明了 ChemBench 对安全相关方面的关注。

现有的许多基准都集中在单项选择题(MCQ)上,而单项选择题并不能反映化学教育和研究的实际情况。因此,ChemBench同时采样了MCQ和开放式问题(6202道MCQ问题和857道开放式问题)。

对于常规评估,从整个语料库中抽取一小部分可能比较实用。例如,Liang 等人报告说,对广泛使用的 HELM 基准进行一次评估的 API 调用成本超过 10 000 美元。为了解决这个问题,我们还提供了整个语料库中具有代表性的多样化子集(209 个问题)。该子集经过精心策划,因此主题比整个语料库更加均衡,也可用于为人类基线研究的网络应用程序播种。

由于化学中使用的文本不同于普通的自然语言,人们开发了许多模型来专门处理此类文本。例如,Galactica 模型对分子和方程式使用了特殊的标记化和编码方法。然而,当前的基准套件并没有解决科学信息的特殊处理问题。为了解决这个问题,ChemBench 对问题或答案的不同部分进行了编码。例如,以简化分子输入行输入系统(SMILES)表示的分子被括入[START SMILES][END SMILES]标签中。这样,模型就能以不同于其他文本的方式处理 SMILES 字符串。

ChemBench 设计用于处理文本补全,因为许多广泛使用的系统只能访问文本补全。这一点尤为重要,因为越来越多的工具扩展系统使用搜索 API 和代码执行器等外部工具来增强大型语言模型的能力。在这种情况下,返回各种词块概率的大型语言模型只是整个系统的一部分,其概率是否应在整个系统的背景下进行解释并不明确。不过,由于文本补全是实际应用中使用的系统的最终输出,因此将其用于评估。

为了了解当前大规模语言模型的能力,正在对 ChemBench 语料库中的主要模型进行评估。其中包括与外部工具结合使用的系统。下图为评估结果摘要,显示了模型正确回答问题的百分比。

同时还显示了专家的最差、最佳和平均成绩。值得注意的是,最先进的大规模语言模型克劳德 3 在这一总体指标上优于人类,是专家平均成绩的两倍多。许多其他模型的表现也优于人类平均水平。特别是专门针对化学应用训练的 Galactica 模型,与许多先进的商业和开源模型相比,表现差强人意,仅略高于随机基线。

在工具增强型系统日益受到关注的背景下,值得注意的是,这些系统(GPT-3.5 和工具增强型 Claude 2)的评估结果一般。性能不佳的原因在于系统最多只能调用 10 个大型语言模型。在默认的工具增强设置(所谓的 ReAct 方法)下,系统无法确定正确的解决方案,因为它反复搜索网络,在 10 次调用内没有找到解决方案。这一观察结果凸显了工具扩展系统的计算成本(以 API 调用为单位)以及预测性能的重要性�

为了更详细地了解该模型的性能,我们还分析了它在不同化学领域的表现。我们为这项分析定义了几个主题,并通过创建规则对 ChemBench 语料库中的所有问题进行了人工分类。然后计算模型和人工对每个主题回答正确的百分比。在蜘蛛图中,每个维度的最差得分是零(没有正确答案),最佳得分是一(所有问题都回答正确)。颜色区域越大,表示性能越好。可以看出,不同模型和不同主题的表现差异很大。

虽然许多模型在高分子化学和生物化学方面得分相对较高,但在化学安全和分析化学等题目中表现不佳。例如,预测核磁共振(NMR)图谱中观察到的信号数量对模型来说是个难题,GPT-4 的正确率仅为 10%。相比之下,具有所学专业知识的人类对同一问题的正确回答率为 25%。这可能是因为人类得到了化合物的示意图,而模型只得到了 SMILES 字符串,必须用它来推理化合物的对称性�

能够估计模型是否能正确回答问题非常重要。如果能够做到这一点,问题就会减少,因为如果答案不正确,它就能发现错误。为了研究这个问题,我们要求高层次模型对其正确回答问题的能力进行估计。图 6 显示,对于某些模型来说,估计难度与模型是否正确回答问题之间没有明显的相关性。

在人类可能依赖模型答案的应用中,这是一个令人担忧的观察结果,它强调了在解释模型输出时进行批判性推理的必要性。例如,对于有关化合物安全性概况的问题,GPT-4 报告其正确回答的 120 个问题的平均置信度为 3.97(1 到 5 分),而其错误回答的 667 个问题的平均置信度为 3.57。尽管它们看起来校准得很好,但在某些情况下仍会产生误导。例如,对于有关《全球化学品统一分类和标签制度》(GHS)的问题,Claude 3 的正确答案平均得分为 2.39,错误答案平均得分为 2.34。

总结

本文揭示了大规模语言模型在化学领域展现出的非凡能力。最先进的模型表明,它们在化学领域的许多专题问题上的表现优于专家。然而,仍然存在许多局限性。特别是在一些重要的课题上,模型的答案往往是不正确的,而且许多模型未能准确识别自身的局限性。

在本文的评估中看到的模型的高性能也可能表明了用于评估模型和化学家的测试的局限性,而不是模型本身的局限性。例如,模型在教科书问题上表现出色,但在需要更复杂推理的问题上却举步维艰。有鉴于此,有必要重新思考化学教学和评估的方式。批判性思维能力将变得越来越重要,而大规模语言模型将继续在单纯的问题解决和事实记忆方面胜过人类。

本文还强调了评价框架的广度和深度之间的微妙平衡。对不同主题的模型性能分析表明,不同学科的模型结果差异很大。即使在同一主题中,模型的表现也会因问题的类型和回答问题所需的推理而大相径庭。

目前针对大规模化学语言模型的评估框架旨在衡量模型在特定性质预测任务中的性能,但这些框架不足以评估为推理和科学应用而构建的系统。因此,我们对大规模化学语言模型能力的了解一直很有限。本文表明,精心设计的基准可以为更好地了解大规模语言模型在化学中的能力提供一种途径。特别是考虑到模型无法准确识别自身的局限性,我们需要更加关注人机交互框架的开发。

论文表明,在许多领域需要进一步改进基于大规模语言模型的系统,同时也表明,在机器学习的许多领域,明确定义的衡量标准非常重要。目前的系统远不能像化学家那样进行推理,但 ChemBench 框架是实现这一目标的重要一步。

注:
源码代码:https://github.com/lamalab-org/chem-bench
论文地址:https://arxiv.org/abs/2404.01475

相关文章:

ChemBench—— 探索大语言模型在化学领域的新基准框架是否胜过化学专家

概述 大规模语言模型是一种机器学习模型,通过学习大量文本来生成文本。这些模型的能力正在迅速提高,现在已经可以通过美国国家医学考试。它们还可以与网络搜索和合成规划器等工具结合使用,自主设计化学反应和进行实验。 一些人认为这些模型…...

[SWPUCTF 2021 新生赛]Do_you_know_http

访问告诉我们要用WLLM 浏览器模式访问 import requestsurl http://node7.anna.nssctf.cn:23148/hello.php # 替换为题目提供的URL headers {User-Agent: WLLM } response requests.get(url, headersheaders) print(response.text)import requestsurl http://node7.anna.n…...

Flink--API 之 Source 使用解析

目录 一、Flink Data Sources 分类概览 (一)预定义 Source (二)自定义 Source 二、代码实战演示 (一)预定义 Source 示例 基于本地集合 基于本地文件 基于网络套接字(socketTextStream&…...

vscode可以编译通过c++项目,但头文件有红色波浪线的问题

1、打开 VSCode 的设置,可以通过快捷键 Ctrl Shift P 打开命令面板,然后搜索并选择 “C/C: Edit Configurations (JSON)” 命令,这将在 .vscode 文件夹中创建或修改 c_cpp_properties.json 文件 {"configurations": [{"name…...

CTF之密码学(培根密码)

培根密码,又名倍康尼密码(Bacons cipher),是由法兰西斯培根发明的一种隐写术,属于密码学领域的一种替换密码。以下是关于培根密码的详细介绍: 一、原理 培根密码本质上是一种二进制密码,但它没…...

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP)

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP) 内存映射模式,是将设备在内核态申请的用于存储视频数据的物理内存映射到用户空间,使得用户应用程序可以直接访问和操作设备数据物理内存,避免了数据的拷贝。因此采集速度较快&#x…...

Ubuntu20.04下安装Matlab2018

Ubuntu20.04下安装Matlab2018 首先需要下载三个文件 挂载第一个镜像文件 先进入到终端,在空白处点击在终端打开 然后输入以下两个命令: mkdir ~/matlab //用户主目录下新建文件夹 matlab sudo mount -o loop Matlab911R2021b_Lin64.iso ~/matlab //将…...

如何做好一份技术文档?

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于技术文档写作的相关内容! 关…...

GitHub上如何创建文件夹及上传文件

GitHub上如何创建文件夹_github如何添加文件夹-CSDN博客 然后在对应的文件夹下上传文件即可 可以一个一个添加或一次性拖进去,但一次不能超过100个文件。...

GESP C++等级考试 二级真题(2024年9月)

若需要在线模拟考试,可进入题库中心,在线备考,检验掌握程度: https://www.hixinao.com/tidan/exam-157.html?time1732669362&sid172&index1...

Web 表单开发全解析:从基础到高级掌握 HTML 表单设计

文章目录 前言一、什么是 Web 表单?二、表单元素详解总结前言 在现代 Web 开发中,表单 是用户与后端服务交互的重要桥梁。无论是用户登录、注册、搜索,还是提交反馈,表单都无处不在。在本文中,我们将从基础入手,全面解析表单的核心知识点,并通过示例带你轻松掌握表单开…...

SpringBoot生成顺序规则编号-查询数据库方式实现

先说编号规则: 前缀yyyyMMdd5位序号(00001,00002.......) 首先说说思路: 首先是查询数据库中编号的最大值是多少----->没有数据直接生成一个新的从00001开始----->存在编号就直接截取编号的后5位----->序号1 为了可以…...

【大数据学习 | Spark-Core】RDD的五大特性(包含宽窄依赖)

分析一下rdd的特性和执行流程 A list of partitions 存在一系列的分区列表A function for computing each split 每个rdd上面都存在compute方法进行计算A list of dependencies on other RDDs 每个rdd上面都存在一系列的依赖关系Optionally, a Partitioner for key-value RDDs…...

docker离线安装linux部分问题整理

0:离线安装docker过程命令 echo $PATH tar -zxvf docker-26.1.4.tgz chmod 755 -R docker cp docker/* /usr/bin/ root 权限 vim /etc/systemd/system/docker.service --------- [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.do…...

shell(5)字符串运算符和逻辑运算符

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...

容器和它的隔离机制

什么是容器和它的隔离机制? 容器 是一种轻量化的虚拟化技术,它允许多个应用程序共享同一个操作系统(OS)内核,同时为每个应用程序提供自己的运行环境。容器通过利用 Linux 的内核功能(如 Namespaces 和 Cgr…...

【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序

DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 1. 窗口的划分 1.1 窗口分为:基于时间的窗口 和 基于数量的窗口 基于时间的窗口:基于起始时间戳 和终止时间戳来决定窗口的大小 基于数量的窗口:根据固定的数量定义窗口 的大小 这…...

DVWA靶场通过——文件上传漏洞

File Upload漏洞 它允许攻击者通过上传恶意文件来执行任意代码、窃取数据、获取服务器权限,甚至完全控制服务器。为了防止文件上传漏洞,开发者需要对文件上传过程进行严格的验证和处理。 1. 文件上传漏洞概述 文件上传漏洞发生在Web应用程序允许用户通过…...

原子类、AtomicLong、AtomicReference、AtomicIntegerFieldUpdater、LongAdder

原子类 JDK提供的原子类,即Atomic*类有很多,大体可做如下分类: 形式类别举例Atomic*基本类型原子类AtomicInteger、AtomicLong、AtomicBooleanAtomic*Array数组类型原子类AtomicIntegerArray、AtomicLongArray、AtomicReferenceArrayAtomic…...

MySQL(8)【聚合函数 | group by分组查询】

阅读导航 引言一、聚合函数1. 简介2. 使用示例(1)COUNT() 函数(2)SUM() 函数(3)AVG() 函数(4)MAX() 函数(5)MIN() 函数 二、group by分组查询1. 基本语法2. 按…...

如何监控Elasticsearch集群状态?

大家好,我是锋哥。今天分享关于【如何监控Elasticsearch集群状态?】面试题。希望对大家有帮助; 如何监控Elasticsearch集群状态? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 监控 Elasticsearch 集群的状态对于确保…...

React第七节 组件三大属性之 refs 的用法注意事项

1、定义 React 中refs 是允许我们操作DOM 访问组件实例的一种方案。开发人员可以直接使用 refs 访问操作DOM,而不用自身的数据状态,这种方案在实际开发过程中是有必要的,但是不建议通篇使用refs操作DOM,如果是这样,那…...

全文单词统计

目标:统计词频 import scala.io.Source //知识点 //1.字符串.split("分隔符"):把字符串用指定的分隔符。拆分成多份,保存在数组中 object test1 {def main(args: Array[String]): Unit { //从文件1.txt中读入内容val contentSourc…...

Angular v19 (二):响应式当红实现signal的详细介绍:它擅长做什么、不能做什么?以及与vue、svelte、react等框架的响应式实现对比

本文紧接着Angular v19 新版本来啦,一起瞧瞧新特性吧!,主要针对它在v18引入了一项全新的响应式技术——Signal,这引起了开发者社区的广泛关注,最新的v19版本推出了更多的signal工具。Signal的加入旨在优化Angular的响应…...

【数据结构】二叉搜索树(二叉排序树)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、什么是二叉搜索树 二、二叉搜索树的实现 节点 属性和接口的声明 插入 查找 删除 拷贝构造 析构 中序遍历 三、二叉搜索树的…...

文件的摘要算法(md5、sm3、sha256、crc)

为了校验文件在传输中保证完整性和准确性,因此需要发送方先对源文件产生一个校验码,并将该值传输给接收方,将附件通过ftph或http方式传输后,由接收方使用相同的算法对接收文件再获取一个新的校验码,将该值和发送方传的…...

Python实现人生重开模拟器

目录 人生重开模拟器介绍 代码实现 打印初始界面 设置初始属性 设置角色性别 设置角色出生点 针对每一岁,生成人生经历 完整代码 人生重开模拟器介绍 人生重开模拟器 是之前比较火的一个小游戏,我们这里使用 Python 实现一个简化版的 人生重开模…...

机器学习(二十五):决策树算法以及决策树和神经网络的对比

一、决策树集合 单一决策树会对训练数据的变化很敏感。例子:输入十个数据,判断是否是猫。只替换其中一个数据,信息增益最高的分裂特征就发生了改变,决策树就发生了变化。 使用决策树集合可以使算法更加健壮。例子:使用…...

k8s运行运行pod报错超出文件描述符表限制

1.问题描述 运行pod超过文件描述符表 unable to allocate file descriptor table - out of memory/opt/COMMAND.sh: line 9: 2.查看设备的文件描述符限制 操作前一定要先查询这个值,2097152这个值即为我们可设置的最大值,超过这个值后将无法登录&am…...

非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)part 2

七、创建前端项目 你下载了nodejs吗?从cn官网下载:http://nodejs.cn/download/,或者从一个国外org网站下载,选择自己想要的版本https://nodejs.org/download/release/,双击下载好的安装文件,选择安装路径安…...

开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序源码助力品牌共建:价值、策略与实践

摘要:在当今数字化商业环境下,品牌构建已演变为企业与消费者深度共建的过程。本文聚焦于“开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序源码”,探讨其如何融入品牌建设,通过剖析品牌价值构成,阐述该技术工具在助力…...

微信小程序中的WXSS与CSS的关系及使用技巧

微信小程序中的WXSS与CSS的关系及使用技巧 引言 在微信小程序的开发中,样式的设计与实现是构建用户友好界面的关键。微信小程序使用WXSS(WeiXin Style Sheets)作为其样式表语言,WXSS在语法上与CSS非常相似,但也有一些独特的特性。本文将深入探讨WXSS与CSS的关系,介绍WX…...

STM32的CAN波特率计算

公式: CAN波特率 APB总线频率 / (BRP分频器 1)/ (SWJ BS1 BS2) SWJ一般为1。 例如STM32F407的,CAN1和CAN2都在在APB1下,频率是42000000 如果想配置成1M波特率,则计算公式为:...

【LeetCode面试150】——57插入区间

博客昵称:沈小农学编程 作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟! PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在…...

活着就好20241128

早晨问候: 亲爱的朋友们,大家早上好!今天是2024年11月28日,第48周的第四天,也是十一月的第二十八天,农历甲辰[龙]年十月廿四。在这个即将步入月末、阳光依旧明媚的清晨,愿第一缕阳光轻轻洒落在…...

【kafka03】消息队列与微服务之Kafka 读写数据

Kafka 读写数据 参考文档 Apache Kafka 常见命令 kafka-topics.sh #消息的管理命令 kafka-console-producer.sh #生产者的模拟命令 kafka-console-consumer.sh #消费者的模拟命令 创建 Topic 创建topic名为 chen,partitions(分区)为3&#xff0…...

【Agorversev1.1数据转换】Agorverse高清地图转OpenStreetMap及SUMO路网

文章目录 Agorverse高清地图转OpenStreetMap及SUMO路网1. Agorverse osm转换说明2. 转换源码3. 处理效果4. SUMO-Carla联合仿真 Agorverse高清地图转OpenStreetMap及SUMO路网 1. Agorverse osm转换说明 根据作者的描述,其高清地图的osm文件与标准osm的区别在于以下…...

Vue 3 实现高性能拖拽指令的最佳实践

前言 在现代前端开发中,拖拽功能是增强用户体验的重要手段之一。本文将详细介绍如何在 Vue 3 中封装一个拖拽指令(v-draggable),并通过实战例子演示其实现过程。通过这篇教程,您将不仅掌握基础的拖拽功能,…...

AIGC--------AIGC在医疗健康领域的潜力

AIGC在医疗健康领域的潜力 引言 AIGC(Artificial Intelligence Generated Content,人工智能生成内容)是一种通过深度学习和自然语言处理(NLP)等技术生成内容的方式。近年来,AIGC在医疗健康领域展现出了极…...

Apache Calcite - calcite jdbc驱动使用场景

前言 在使用Calcite查询数据时通常会用到这些代码获取schema Connection connection DriverManager.getConnection("jdbc:calcite:", info); CalciteConnection calciteConnection connection.unwrap(CalciteConnection.class); SchemaPlus rootSchema calciteC…...

IEC61850实现方案和测试-4-MMS协议

IEC61850实现方案和测试-4作为介绍实现方案和测试的第四篇文章,后续会继续更新,欢迎关注。前三篇如下 第一篇是:IEC61850实现方案和测试-1-CSDN博客 第二篇是:IEC61850实现方案和测试-2-UCA-CSDN博客 第三篇是:IEC6…...

【ubuntu24.04】GTX4700 配置安装cuda

筛选显卡驱动显卡驱动 NVIDIA-Linux-x86_64-550.135.run 而后重启:最新的是12.6 用于ubuntu24.04 ,但是我的4700的显卡驱动要求12.4 cuda...

时间的礼物:如何珍视每一刻

《时间的礼物:如何珍视每一刻》 夫时间者,宇宙之精髓,生命之经纬,悄无声息而流转不息,如织锦之细线,串联古今,贯穿万物。 人生短暂,犹如白驹过隙,倏忽而逝,…...

componentReceivePropsreact class生命周期

componentReceiveProps并不是有props的变化触发,而是由父组件的更新触发的 父组件导致组件重新渲染,即使props没有更改,也会调用componentReceiveProps这个方法;如果只想处理更改,确保当前值与变更值比较--官方 …...

快速理解微服务中Sentinel怎么实现限流

Sentinel是通过动态管理限流规则,根据定义的规则对请求进行限流控制。 一.实现步骤 1.定义资源:在Sentinel中,资源可以是URL、方法等,用于标识需要进行限流的请求;(在Sentinel中,需要我们去告诉Sentinel哪些…...

25.100ASK_T113-PRO 测试摄像头(型号)

1.摄像头 USB2.0 摄像头,支持 UVC协议, 就是V4L2 USB2.0 大概可这样理解吧.这个是2K分辨率. 2.8mm焦距. 开发板还是 100ASK_T113-PRO V1.2版 2.查看摄像头驱动挂载情况 这样接好. 看看设备有没有挂载上 # ls /dev/video* /dev/video0 /dev/video1 这两个就是USB摄像头.说…...

20241127 给typecho文章编辑附件 添加视频 图片预览

Typecho在写文章时,如果一次性上传太多张图片可能分不清哪张,因为附件没有略缩图,无法实时阅览图片,给文章插入图片时很不方便。 编辑admin/file-upload.php 大约十八行的位置 一个while 循环里面,这是在进行html元素更新操作,在合…...

StarRocks-join优化

1、背景 有两个大表,都是6kw级别上下的,通过SR然后包装了一个接口对外提供查询,当前的问题是,这样大的join查询会导致BE直接宕机。并且这个sql很有代表性,我截图如下: 这个表是个单分区,所以直接…...

如何通过ChatGPT提高自己的编程水平

在编程学习的过程中,开发者往往会遇到各种各样的技术难题和学习瓶颈。传统的学习方法依赖书籍、教程、视频等,但随着技术的不断发展,AI助手的崛起为编程学习带来了全新的机遇。ChatGPT,作为一种强大的自然语言处理工具&#xff0c…...

实时数据开发 | checkpoints监控和调优

监控Checkpoints 监控 checkpoint 行为最简单的方法是通过 UI 的 checkpoint 部分。 监控这两个指标: 算子收到第一个 checkpoint barrier 的时间。当触发 checkpoint 的耗费时间一直很高时,这意味着 checkpoint barrier 需要很长时间才能从 source 到达 operator…...