在私有化过程中不要忽视LLMs的双重逻辑能力:医学领域的数据密集型分析

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

链接:https://arxiv.org/abs/2309.04198

原标题:Don’t Ignore Dual Logic Ability of LLMs while Privatizing: A Data-Intensive Analysis in Medical Domain

日期:Submitted on 8 Sep 2023

图片

摘要

大量的研究致力于通过喂养特定领域的数据,将通用领域的 Large Language Models (LLMs) 私有化为特定领域的 LLMs。然而,这些私有化努力常常忽略了一个关键方面:双重逻辑能力,这是 LLMs 的核心推理能力。LLMs 的双重逻辑能力确保了当面对关于同一事实的正反两种陈述时,它们能够保持一致的态度。我们的研究专注于在医学领域私有化过程中 LLMs 的双重逻辑能力如何受到影响。我们进行了几项实验,通过检查对关于同一事实的成对问题的回答中态度的一致性来分析 LLMs 的双重逻辑能力。在我们的实验中,有趣的是,我们观察到现有 LLMs 在私有化后双重逻辑能力显著下降。此外,我们的结果表明,将通用领域的双重逻辑数据整合到 LLMs 中不仅增强了 LLMs 的双重逻辑能力,还进一步提高了它们的准确性。这些发现强调了在私有化过程中优先考虑 LLMs 双重逻辑能力的重要性。我们的研究为未来旨在探索私有化过程中 LLMs 双重逻辑能力的研究建立了基准,并为现实世界应用中的私有化努力提供了宝贵的指导。

1 引言

大型语言模型(Large Language Models,LLMs)(OpenAI,2023;Touvron等人,2023;百川,2023;Du等人,2022)因其与人类互动的显著能力而受到广泛关注。尽管LLMs在通用领域表现出色,但它们在特定领域(如医学)的表现尚不成熟。因此,人们对私有化LLMs以增强其特定领域专业知识的兴趣日益增长(Wang等人,2023a)。

图片

图 1:LLM在面临Q和¬Q时保持一致立场的示例。反义词替换表示将Q转换为¬Q的操作。

最近的工作(Chen等人,2023;Ming Wang,2023;Wang等人,2023a)旨在基于权威医学资源构建高质量的医学领域指令微调数据,从而私有化LLMs。尽管许多私有化的LLMs声称它们在医学领域优于其基础LLMs,但被忽略的一个方面是LLMs的双重逻辑能力。双重逻辑的概念已经在数学领域被正式定义,如下所示:

在逻辑学中,如果函数或关系A和B满足 A(¬x) = ¬B(x),其中¬表示逻辑否定,那么A和B被认为是双重逻辑的。

基于这个概念,我们引入了LLMs的双重逻辑能力的概念,这突出了它们在面对包含事实陈述的问题Q和包含相应反事实陈述的问题¬Q时保持一致立场的能力。正式地,它可以被定义为 ¬f(Q) = f(¬Q),其中f代表LLMs的函数。《图1》提供了一个示例,展示了LLMs在面对Q和¬Q时如何保持一致的立场。

鉴于先前研究中对私有化LLMs的双重逻辑能力的关注有限,可用于分析的高质量数据存在显著的缺口。为了解决这个缺陷,我们构建了一个全面的医学数据集。我们的工作涉及收集文献摘要,并利用ChatGPT根据这些摘要自动生成多轮对话。考虑到文献内容的冗余将对ChatGPT的精确理解提出挑战,我们开发了一个多步骤过程,旨在增强ChatGPT对内容的理解,从而确保高质量对话的生成。随后,我们手动标注了三个具体操作的双逻辑测试样本对Q和¬Q。此外,为了增强私有化LLMs的双重逻辑能力,我们开发了一个自动过程来构建通用领域的双逻辑数据。总的来说,我们的数据集包括用于预训练(PT)阶段的医学文献摘要,用于指令微调(IFT)阶段的医学多轮对话和通用领域双逻辑数据,以及医学双逻辑测试数据。

在我们的实验中,我们进行了数据密集型分析。首先,在我们标注的双重逻辑测试数据上,我们评估了现有LLMs及其私有化变体的双重逻辑能力。我们的发现揭示,LLMs的双重逻辑能力在私有化后都显著下降,表明在现有的努力中双重逻辑能力总是被忽略。为了进一步探索LLMs在私有化过程中双重逻辑能力如何受到影响,我们在构建的数据上对LLMs进行了私有化。我们的实验结果表明,只在IFT阶段使用医学多轮对话通常会减少LLMs的双重逻辑能力。相反,在IFT阶段引入通用领域的双重逻辑数据将显著提高LLMs的双重逻辑能力,并且它们的准确性也会相应地进一步提高。这些结果强调了在私有化过程中LLMs的双重逻辑能力的重要性,并证明了LLMs可以从通用领域的双重逻辑数据中泛化这种能力。此外,我们观察到预训练数据可以作为提高LLMs双重逻辑能力的增强因素。通过定量分析,我们还检查了基础LLM本身的影响,并验证了通用领域双重逻辑数据的可迁移性。值得注意的是,我们手动评估了所有10,908个测试样本,以确保我们结果的可靠性。

我们的贡献可以总结如下:

• 我们的研究引入了双重逻辑能力的概念,这是LLMs的核心推理能力。我们的分析揭示,在先前的私有化努力中LLMs的双重逻辑能力一直被忽视。

• 我们的研究揭示了在私有化过程中LLMs的双重逻辑能力的重要性,并证明了通用领域双重逻辑数据在提高私有化LLMs的双重逻辑能力方面发挥着关键作用。

• 我们的研究提供了一个全面的私有数据集,可以作为未来探索LLMs在私有化过程中双重逻辑能力的工作的基准。

2 背景研究

LLMs在通用领域表现出了显著的能力,然而它们在特定领域的表现揭示了相当大的提升空间。在医学领域,当个人转向LLMs进行医疗咨询或收集与健康相关的信息时,LLMs知识的深度和专业性变得至关重要。因此,许多研究专注于私有化LLMs以增强其专业知识。这些努力主要采用统一的技术方法,即基于高质量医学领域数据的LLMs的参数高效微调。为了收集高质量的数据,当前的研究采用了以下不同的策略:

• Med-PaLM (Singhal等人,2023) 合成了高质量的医学NLP数据集,如PubMedQA (Jin等人,2019),MedMCQA (Pal等人,2022) 和MedQA (Jin等人,2021)。通过指令微调PaLM,Med-PaLM在医学多项选择题上实现了前所未有的性能。

• HuatuoGPT (Zhang等人,2023) 和ChatDoctor (Li等人,2023) 专注于收集真实世界的问答数据,并通过从ChatGPT中提取来创建医学数据。

• Bentsao (Wang等人,2023a) 和Shennong (Zhu和Wang,2023) 利用ChatGPT基于现有的结构化医学知识图谱构建问答数据。

• MedicalGPT-zh (Liu等人,2023) 参考了BELLE (Ji等人,2023) 方法,利用ChatGPT基于临床指南文本构建各种场景下的对话数据。

• ChatMed (Zhu和Wang,2023) 收集在线咨询的真实问题,然后利用ChatGPT回应,从而获得问答数据。

尽管在医学领域私有化数据方面做出了重大努力,但重点主要在于收集多样化和高质量的医学领域数据。目前,对私有化LLMs的双重逻辑能力缺乏关注。因此,我们的工作提供了一个更全面的私有化数据集,专门用于探索LLMs的双重逻辑能力,这使得我们的工作与当前实践有所区别。

3 数据构建

在我们的数据构建过程中,我们从两个角度入手。首先,我们开发了一个医学数据集,包括医学文献摘要、基于这些摘要自动生成的多轮对话,以及手动标注的双重逻辑测试数据。其次,为了提高LLMs的双重逻辑能力,我们系统地构建了通用领域的双重逻辑数据。

3.1 医学数据集
文献摘要

我们从中国知网收集了医学文献摘要,重点关注一个宝贵领域“肝胆胰腺疾病”。如图2所示,这些摘要通常包含研究目的、方法、实验和结论的详细信息,提供了一个全面的概述。我们收集了10,313篇文献摘要,每篇摘要平均有16.22个句子和712.21个标记。

多轮对话

在IFT阶段,对话数据在训练LLMs时发挥着关键作用。随着越来越多的关注利用ChatGPT创建对话数据,确保ChatGPT的精确理解以帮助构建高质量对话变得很重要。因此,我们提出了一个基于文献摘要生成对话数据的分步过程,分为以下步骤:

• 信息拆解:将非结构化的医学文献摘要转换成半结构化格式。我们采用正则表达式技术进行关键信息提取,包括研究目的、方法、实验和结论。当正则表达式技术失败时,可以进一步使用ChatGPT进行信息提取。

• 提示焦点:最近的研究(Shi等人,2023)表明,当处理过长的文本时,LLMs总是容易分心。为了缓解这个问题,可以战略性地设计提示,将LLMs的注意力引导到需要融入对话的特定信息上。例如,提示可以设计为“请将[结论]融入对话中。其他细节,如[目的]、[方法]、[结果]等,可以根据需要参考。”。

• 反向验证:实证观察表明,生成的对话总是包含了医学文献中的原始文本内容。因此,我们采用最长公共子串匹配算法来评估文献信息融入的程度,使我们能够选择性地保留高质量对话。

• 数据清洗:生成的对话中经常包含大量的主观表达,例如“这项研究表明…”。当这类数据在训练阶段被使用时,LLMs自然会复制类似的主观表达。在与人类互动时,会导致出现令人困惑的主观陈述。为了缓解这个问题,我们使用ChatGPT将这种主观表达改写为客观表达。例如,将“这项研究表明…”改写为“相关研究表明…”。

我们构建了1,212个多轮对话,每个对话平均有3.53轮。如图2所示,遵循上述步骤,我们构建了一个三轮对话数据,其中第一轮的信息由ChatGPT补充,第二轮和第三轮的信息来自文献摘要。

双重逻辑测试数据

为了评估LLMs的双重逻辑能力,我们精心标注了双重逻辑测试数据。这个过程包括只向标注者提供文献摘要,确保我们构建的对话保持封闭,以防止训练数据泄露的风险。标注者首先被分配从摘要中提炼事实陈述的任务。随后,他们通过特定操作(反义词替换、添加否定词或交换实体位置)将这些事实陈述转换为反事实陈述。最后,标注者将事实陈述及其对应的反事实陈述转化为一般问题,以获得双重逻辑测试数据的对。总的来说,我们为反义词替换操作标注了100对,为添加否定词操作标注了58对,为交换实体位置操作标注了44对。图3展示了我们标注的双重逻辑测试数据的案例。

图片

图2:构建对话的一个案例。左侧展示的是文献摘要,右侧展示的是构建的对话。绿色覆盖的文本代表来自文献摘要的信息。

图片

图3:我们标注的双重逻辑测试数据的案例。AS、ANW和SEP分别代表反义词替换、添加否定词和交换实体位置操作。

3.2 通用领域双重逻辑数据

为了增强LLMs的双重逻辑能力,我们使用ChatGPT来自动生成通用领域的双重逻辑数据。这个过程在图4中概述。最初,我们通过两种方式收集事实陈述:一种是从维基百科获取,另一种是通过提示ChatGPT生成。随后,我们利用ChatGPT通过诸如反义词替换、添加否定词和交换实体位置等操作来生成反事实陈述。在此步骤之后,我们提示ChatGPT将事实和反事实陈述转换成相应的一般问题。最后,我们指导ChatGPT创建基于原始事实陈述的回应。总的来说,我们为反义词替换操作构建了130对,为添加否定词操作构建了150对,为交换实体位置操作构建了100对。

图片

图4:构建通用领域双重逻辑数据的过程。

图片

图5:人类评估标准。在我们的评估中,LLMs的回复将被分为五个类别。

4 实验

4.1 初步

在呈现实验结果之前,我们介绍了我们的评估指标、选定的LLMs以及实验设置。

评估指标

在我们的研究中,我们根据图5所示的标准手动标注所有评估结果。在评估双重逻辑能力时,我们将包含事实陈述的问题和包含相应反事实陈述的问题视为一对测试样本。如果满足以下条件,则一对测试样本将被计数:

• 对于包含事实陈述的问题,LLM保持一致的立场;而对于包含相应反事实陈述的问题,LLM保持不一致的立场。

• 对于包含事实陈述的问题和包含反事实陈述的问题,LLM都保持中立立场。

• 对于包含事实陈述的问题,LLM保持不一致的立场;而对于包含相应反事实陈述的问题,LLM保持一致的立场。

通过计算符合上述条件的配对样本占总数比例,我们计算出双重逻辑指数(DLIndex)。

准确度是我们在研究中使用的另一个评估指标。值得注意的是,与双重逻辑指数不同,准确度是基于单个测试样本而不是配对样本计算的。具体来说,我们计算以下测试样本的比例:

• 对于包含事实陈述的问题,LLM保持一致的立场。

• 对于包含反事实陈述的问题,LLM保持不一致的立场。

此外,为了同时评估双重逻辑能力和准确度,我们借鉴了机器学习中常用的F1指数。我们将计算DLAcc F1指数如下:

图片

图片

表1:LLMs更新的参数百分比。PT和IFT分别代表预训练阶段和指令微调阶段。

实验设置

在我们的研究中,一方面,我们利用我们标注的双重逻辑测试数据来评估现有LLMs的双重逻辑能力。在基于各自私有医疗数据将通用领域LLMs转化为医学领域LLMs方面取得了显著进展。其中,我们选择了基于Qwen14B(Bai等人,2023)的CareQwen14B(Wang等人,2023b),基于Huozi7B的Bentsao7B(Wang等人,2023a),以及基于ChatGLM6B(Du等人,2022)的Bianque26B(Chen等人,2023)作为我们的分析对象。

另一方面,考虑到现有LLMs的训练过程是黑盒的,很难进行公平和全面的分析。为了解决这个问题,我们在我们的私有数据上进行通用领域LLMs到医学领域LLMs的转换。在这个过程中,我们评估了不同类型数据对LLMs性能的影响。我们选择了Qwen7B、Huozi27B和ChatGLM26B作为训练的基础LLMs。在训练过程中,我们采用了参数高效微调的LoRA(Mangrulkar等人,2022;Hu等人,2021)策略。表1展示了LLMs更新参数的百分比,包括预训练(PT)阶段和指令微调(IFT)阶段。参数大小的经验来自开源研究4。

4.2 主要实验
现有LLMs的评估

如图6所示,我们分别对基础LLMs及其相应的私有化变体进行了双重逻辑能力的评估。实验结果表明,在每种精细操作和总体上,使用它们的私有化数据训练LLMs会导致双重逻辑能力稳定且显著下降。这一现象凸显了当前工作中的普遍忽视,即在私有化过程中忽略了LLMs的双重逻辑能力。

图片

图6:评估现有LLMs的双重逻辑能力。我们报告了三种操作(AS、ANW和SEP)以及总体评估的DL-Index。

对我们LLMs的评估

如第3节所述,我们的私有数据集包括医学文献摘要、多轮医学对话和通用领域的双重逻辑数据。在此基础上,我们在我们LLMs的训练过程中实施了四种设置:

• IFT♠:仅基于多轮医学对话进行IFT(指令微调)。

• IFT♣:基于多轮医学对话和通用领域的双重逻辑数据进行IFT。

• PT&IFT♠:在医学文献摘要上进行预训练后,执行IFT♠设置。

• PT&IFT♣:在医学文献摘要上进行预训练后,执行IFT♣设置。

图片

表2:在我们私有数据上的实验结果。PT和IFT分别代表预训练阶段和指令微调阶段。与♠相比,♣表示加入了通用领域的双重逻辑数据。

根据表2中显示的实验结果,我们观察到了以下现象:

• 准确度不能反映LLMs的双重逻辑能力。例如,在IFT♠设置中,尽管Qwen和ChatGLM的准确度有所提高,但它们的双重逻辑能力却下降了。这一观察结果凸显了对LLMs双重逻辑能力进行评估的必要性。

• 在IFT♠设置中,仅在IFT阶段依赖多轮对话数据通常会导致LLMs的双重逻辑能力下降。相反,在IFT♣设置中,将通用领域的双重逻辑数据纳入IFT阶段不仅显著提高了LLMs的双重逻辑能力水平,而且进一步提高了它们的准确度。这些发现表明LLMs可以从通用领域的双重逻辑数据中有效地泛化双重逻辑能力,并强调了LLMs双重逻辑能力的重要性。

• 预训练(PT)数据作为一个增强因素而不是一个关键因素来提高双重逻辑能力。基于Huozi2的结果表明,尽管PT&IFT♠设置的双重逻辑能力比IFT♠设置有所提高,但甚至没有超过基础LLM本身。此外,在ChatGLM2上,PT&IFT♠设置甚至与IFT♠设置相比性能下降。这些观察结果表明,仅包含预训练阶段并不能稳定地提高双重逻辑能力。然而,在IFT♣设置下,如果包含预训练阶段,我们观察到所有三种LLMs都出现了稳定和显著的提高(PT&IFT♣设置)。这一现象表明通用领域的双重逻辑数据是一个关键因素,而预训练数据可以作为一个增强因素。

图片

图7:将通用领域的双重逻辑数据混合到另一个私有数据集上的实验结果。

总的来说,我们的评估首先强调了评估LLMs双重逻辑能力的重要性。然后,通过对我们私有数据的详细分析,我们观察到了不同类型数据对双重逻辑能力的影响。我们的发现表明,仅依赖医学领域对话往往会影响LLMs的双重逻辑能力。在改善LLMs双重逻辑能力的过程中,通用领域的双重逻辑可以作为一个关键因素,而预训练数据可以作为一个增强因素。

图片

图8:分析基础LLM的影响。与Base相比,Adaption表示基础LLM本身的双重逻辑能力已经得到改善。

5 探索

5.1 通用领域双重逻辑数据的可迁移性

我们探索我们构建的通用领域双重逻辑数据是否可以转移到其他私有数据上,而不仅仅是我们的私有数据。为了验证这一点,我们收集了另一个开源的私有数据集。在4.2节中介绍的IFT♣设置下,我们训练了三种LLMs。如图7所示的实验结果表明,在混合了我们构建的通用领域双重逻辑数据后,LLMs的双重逻辑能力显著提高。这一现象表明,我们构建的通用领域双重逻辑数据可以作为任何私有数据的宝贵资源。

5.2 基础LLM的影响

我们进行了一项定量实验,以分析基础LLM本身对双重逻辑能力的影响。根据4.2节,我们得出结论,LLMs可以从通用领域的双重逻辑数据中泛化出双重逻辑能力。因此,我们进行了一个实验设置(称为Adaption),即首先在通用领域双重逻辑数据上训练LLMs以提高其双重逻辑能力,然后在其上训练以将它们转化为医学领域的LLMs。如图8所示的结果表明,在基础LLM的双重逻辑能力得到提高后,私有化LLMs的双重逻辑能力也显著提高。这一现象表明,提高基础LLM本身的双重逻辑能力是非常重要和有价值的。

5.3 案例研究

如图App A所示,我们提供了一个基于Huozi2的真实案例研究。在基础和IFT♠设置下,LLMs在面对Q和¬Q时都无法保持一致的立场。相比之下,在包含通用领域双重逻辑数据的IFT♣设置下,LLM能够保持一致的立场,即它同意Q并不同意¬Q。

6 结论与未来工作

在我们的研究中,我们引入了LLMs的双重逻辑能力这一概念。我们的分析强调了在私有化过程中评估它们的双重逻辑能力的重要性,这一方面在先前的研究中经常被忽视。通过我们在医学领域的数据密集型分析,我们证明LLMs可以从通用领域的双重逻辑数据中泛化出双重逻辑能力。此外,我们构建的数据集可以为未来研究探索私有化过程中LLMs的双重逻辑能力提供一个基准,我们的工作为现实世界应用中的私有化努力提供了宝贵的指导。在未来工作中,我们建议基于我们的数据集,进一步研究其他因素,如训练策略和参数空间,对LLMs在私有化过程中双重逻辑能力的影响。

7 局限性

• 我们的医学数据集的预训练语料库规模较小,受多种因素影响。首先,由于权限限制,我们无法访问HowNet上的全文文献,因此只能使用文献摘要作为我们的训练语料库。此外,私有化过程总是追求高效率和资源节约,使得构建大规模预训练语料库与这些目标相悖。然而,重要的是要认识到,扩大预训练语料库的大小可能会产生不同的实验结果。

• 在探索LLMs的双重逻辑能力时,我们只应用了三种操作,并且专门关注立场检测的任务形式。这为未来的研究提出了两个重要考虑因素。首先,可以考虑将更多操作整合到构建双重逻辑数据中。其次,探索基于其他任务形式的双重逻辑数据构建也是非常有价值的。

8 伦理声明

对于我们的工作,我们确保构建的数据集不包含任何可能侵犯个人隐私或造成伤害的内容。我们的标注团队不仅接受专业培训,还严格遵守声明,以维护ACL标准。此外,在我们的工作中,我们使用了从2023年11月15日到2023年11月30日的ChatGPT API接口。我们的实验是在开源LLMs上进行的,我们已从负责维护它们的作者那里获得了明确的授权。

图片

图9:基于Huozi2的真实案例研究。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

如何处理动态语言(Python / JS)的“隐形”调用链? 本文揭示动态语言(Python/JS)中静态AST解析导致调用链“断链”的核心问题,提出通过运行时追踪补全图谱的解决方案。基于Code-Graph-RAG的cgr trace机制,分别利用pytest插件与V8 Profiler捕获真实调用路径,将动态边合并至静态图谱,并在权重体系中提升动态边优先级。实践表明,该方法可显著提升图谱覆盖率,实现“结构+行为”双视角理解代码,为MCP与Rerank系统提供可靠支持。 阅读详情

相关推荐

单卡调试OpenGait:从分布式到本地的轻量级改造指南

本文为个人开发者和研究者提供了一份详细的OpenGait框架单卡调试指南。针对该框架默认依赖多GPU分布式训练的问题,文章通过分析核心痛点,逐步讲解了如何从环境搭建、绕过分布式初始化陷阱、处理通信后端报错到最终配置与调试,实现从分布式到本地的轻量级改造,帮助读者在单张GPU上高效进行步态识别模型的验证与学习。

weixin_28223453的博客 138

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 410

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 235

磁盘I/O %util特别高

磁盘I/O %util特别高

eagle89的专栏 3090

DDS信号发生器设计避坑指南:从AD9834配置到巴特沃斯滤波实战

本文详细解析了基于AD9834芯片的DDS信号发生器设计中的关键技术要点与常见陷阱,涵盖时钟源选择、寄存器配置时序、巴特沃斯滤波器设计等核心内容。针对中高频段信号质量优化,提供了实用的解决方案和代码示例,帮助工程师规避设计误区,提升信号发生器的性能和稳定性。

2y3u4i5o6p的博客 782

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

NCCL 源码深度解析:从初始化到通信链路构建全流程

本文深入解析了NVIDIA Collective Communication Library (NCCL) 的核心工作机制,从通信组初始化、硬件拓扑发现,到P2P、共享内存及网络传输链路的构建。详细剖析了源码中集合通信任务的执行流程与Proxy线程的协同机制,为开发者进行高性能分布式训练的性能调优与深度问题排查提供了清晰的底层视角。

hp777的博客 551

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 208

python气象数据可视化学习笔记8——利用matplotlib和ERA5数据绘制时间-高度气象综合廓线图

利用matplotlib和ERA5数据绘制时间-高度气象综合廓线图

qiuylulu的博客 8067

39、高频 LLC 谐振转换控制系统动态优化算法分析与研究

本文针对高频下LLC谐振转换器动态性能差的问题,提出一种基于谐振电容器充放电估计动态切换时间的优化控制算法。通过改进状态轨迹控制方法,突破传统算法在谐振频率与开关频率相等条件下的限制,并结合新型采样策略有效抑制电压过冲。算法在MATLAB和SABER中完成仿真验证,并搭建基于STM32F407的原型系统进行测试,结果表明该方法显著缩短动态响应时间,提升系统稳定性。研究为高频、高功率密度开关电源的动态优化提供了可行解决方案。

linux6sysadmin的博客 111

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

二进制木马免杀-Python 分离免杀与 Web 挂马

二进制木马免杀-Python 分离免杀与 Web 挂马

2503_94637398的博客 268

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

torch.compile 差异仅 1e-6,边界样本预测为何翻转

torch.compile 加速后输出与 eager 不一致,部分预测翻转。逐层对比与 graph break 分析定位到动态分支翻转根因。容差回归仅适用于无分支翻转场景,零容忍场景应禁用编译。

昨日种种,皆成今我。今日种种,皆成新我。 159

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解

备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。

IT_Scratch的博客 141

【Python】国家中小学智慧教育平台电子教材批量下载与 PDF 合成实战

成果:两本语文电子课本(一年级上册 118 页 / 23MB、三年级上册 130 页 / 30.3MB),合计 248 页、约 54MB,单本下载加合成 40~60 秒,PDF 页数校验全部通过。经验教训SPA 站点的数据接口优先从 bundle 里挖,比抓页面稳得多;资源链接要按 private/public 分组看待,只取平台公开部分;页数、目录名这类“可推断”的信息,永远用实际响应验证一次;受限环境里“能不能跑浏览器”要在方案定稿前确认。后续计划:这版 PDF 是图片版,没有文字层;

木头大左的博客 138

魔塔社区微调训练Qwen2-1.5B-Instruct模型并烧录到‌RK3568开发板教程

本文基于Ubuntu 22.04 + CUDA 13.0.3环境,使用LLaMA-Factory框架对Qwen2-1.5B-Instruct模型进行LoRA微调,训练儿童故事生成专用模型。通过配置qwen模板、制作alpaca格式数据集、执行sft训练并合并LoRA权重,最终将模型转换为GGUF格式,并量化为Q4_K_M以适配RK3568嵌入式平台。全程支持国产镜像加速下载与显存优化,实现高效轻量化部署。

浅清秋慕夏的博客 186

【回眸】DeepSeek V4.1 Flash 快速上手与实战

本文介绍如何高效本地部署开源大模型,通过现代化工具链实现分钟级环境搭建。聚焦显存优化、一键安装、代码调用与多轮对话实现,解决“显存不足”“连接超时”等痛点,提供参数调优与结构化输出技巧,助力开发者在离线场景下快速构建稳定、高效的本地推理系统。

啤酒鸭的物联网开发记录博客 223

智叟云集-手机证据抓取系统的工程结构与应用入口

本文系统阐述手机证据抓取系统的工程结构与应用入口,涵盖四大层面:工程目录划分(Android、Python服务、Web页面、测试与构建工具);Android组件通过Manifest声明可启动页面,主界面由MainActivity管理;Python服务通过run.py解析参数并启动FastAPI应用,支持远程访问;浏览器页面采用HTML/CSS/JS分离架构,静态资源通过路径关联,实现动态交互。各模块分工明确,协同构建可运行的采集系统。

2301_77178996的博客 232

Java Arrays.asList 常见坑详解|UnsupportedOperationException、数组联动、基本类型 bug

解析 Arrays.asList 常见开发陷阱,演示 UnsupportedOperationException、底层数组引用共享、基本类型数组问题,区分 Arrays 内部 ArrayList 与 java.util.ArrayList,给出数组转 List 的各种场景正确代码。

weixin_42617033的博客 473

利用python中matplotlib.pyplot库绘制图

plt.plot(x,y) # x,y是每个点的坐标,plot()把每个点按顺序画折线。plt.subplots(2,2)表示绘制2*2的子图布局,axs[0,0]表示在第0行第0列绘制子图...coordinates_i[:,0]表示获取每一行(每一个spot)的第0列(x坐标)coordinates_i[:,1]表示获取每一行(每一个spot)的第0列(y坐标)plot.subplot(2,2,1) 表示子图布局是2*2的,开始绘制第一个。也可以导入数据绘制。可以设置color属性,设置颜色。

qq_46147236的博客 102

Spring Boot 自动配置原理

Spring Boot 自动配置由 @EnableAutoConfiguration 导入选择器,读取 jar 中 .imports 候选清单,经去重、排序、排除后逐类做条件判断,通过才注册 Bean。延迟导入让用户 Bean 优先,@ConditionalOnMissingBean 使默认配置让位。失效时查清单和 Negative matches。

2401_89855466的博客 378

【随笔】KV缓存量化:省下的显存,要付出多少数值误差

用可运行量化器解释位宽、比例信息、分组和离群值的关系,核算KV缓存实际载荷,并给出Transformers配置与容量、延迟、质量验收方法。

code2cat的博客 456
上一篇: 一文彻底搞懂大模型 - GPT和LlaMA的模型架构
下一篇: 如何使用未标注数据对LLMs进行微调
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值