万字长文,解读大模型技术原理(非常详细)零基础入门到精通,收藏这一篇就够了

大模型是指具有大规模参数复杂计算结构的机器学习模型。

本文从大模型的发展历程出发,对大模型领域的各个技术细节进行详细解读,供大家在了解大模型基本知识的过程中起到一定参考作用。

一、大模型的定义

大语言模型作为一个被验证可行的方向,其“大”体现在训练数据集广,模型参数和层数大,计算量大,其价值体现在通用性上,并且有更好的泛化能力。

这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数。

大模型的设计目的是为了提高模型的表达能力和预测性能,能够处理更加复杂的任务和数据。

大模型在各种领域都有广泛的应用,包括自然语言处理、计算机视觉、语音识别和推荐系统等。

大模型通过训练海量数据来学习复杂的模式和特征,具有更强大的泛化能力,可以对未见过的数据做出准确的预测。

ChatGPT 对大模型的解释更为通俗易懂,也更体现出类似人类的归纳和思考能力:大模型本质上是一个使用海量数据训练而成的深度神经网络模型,其巨大的数据和参数规模,实现了智能的涌现,展现出类似人类的智能。

那么,大模型和小模型有什么区别?

小模型通常指参数较少、层数较浅的模型,它们具有轻量级、高效率、易于部署等优点,适用于数据量较小、计算资源有限的场景,例如移动端应用、嵌入式设备、物联网等。

而当模型的训练数据和参数不断扩大,直到达到一定的临界规模后,其表现出了一些未能预测的、更复杂的能力和特性,模型能够从原始训练数据中自动学习并发现新的、更高层次的特征和模式,这种能力被称为“涌现能力”。

而具备涌现能力的机器学习模型就被认为是独立意义上的大模型,这也是其和小模型最大意义上的区别。

相比小模型,大模型通常参数较多、层数较深,具有更强的表达能力和更高的准确度,但也需要更多的计算资源和时间来训练和推理,适用于数据量较大、计算资源充足的场景,例如云端计算、高性能计算、人工智能等。

二、大模型相关概念区分

大模型(Large Model,也称基础模型,即 Foundation Model),是指具有大量参数和复杂结构的机器学习模型,能够处理海量数据、完成各种复杂的任务,如自然语言处理、计算机视觉、语音识别等。

**超大模型:**超大模型是大模型的一个子集,它们的参数量远超过大模型。

大语言模型(Large Language Model):通常是具有大规模参数和计算能力的自然语言处理模型,例如 OpenAI 的 GPT-3 模型。这些模型可以通过大量的数据和参数进行训练,以生成人类类似的文本或回答自然语言的问题。大型语言模型在自然语言处理、文本生成和智能对话等领域有广泛应用。

GPT(Generative Pre-trained Transformer):GPT 和 ChatGPT 都是基于 Transformer 架构的语言模型,但它们在设计和应用上存在区别:GPT 模型旨在生成自然语言文本并处理各种自然语言处理任务,如文本生成、翻译、摘要等。它通常在单向生成的情况下使用,即根据给定的文本生成连贯的输出。

**ChatGPT:**ChatGPT 则专注于对话和交互式对话。它经过特定的训练,以更好地处理多轮对话和上下文理解。ChatGPT 设计用于提供流畅、连贯和有趣的对话体验,以响应用户的输入并生成合适的回复。

三、大语言模型的发展

大模型相较于传统特定领域训练出来的语言模型,有更广泛的应用场景。

3.1 Transformer模型的提出

在Transformer提出之前,自然语言处理领域的主流模型是循环神经网络RNN,使用递归和卷积神经网络进行语言序列转换。

2017年,谷歌大脑团队在人工智能领域的顶会NeurIPS发表了一篇名为“Attention is all you need”的论文,首次提出了一种新的简单网络架构,即 Transformer,它完全基于注意力机制(attention),完全摒弃了循环递归和卷积。

递归模型通常沿输入和输出序列的符号位置进行计算,来预测后面的值。

但这种固有的顺序性质阻碍了训练样例内的并行化,因为内存约束限制了样例之间的批处理。

而注意力机制允许对依赖项进行建模,而无需考虑它们在输入或输出序列中的距离。

Transformer避开了递归网络的模型体系结构,并且完全依赖于注意力机制来绘制输入和输出之间的全局依存关系。

在八个P100 GPU上进行了仅仅12个小时的训练之后,Transformer就可以在翻译质量方面达到新的最先进水平,体现了很好的并行能力。

总结两个核心突破:

1)突破了远距离文本依赖的学习限制,避开了递归网络的模型体系结构,并且完全依赖于注意力机制来绘制输入和输出之间的全局依赖关系。

2)可高度并行进行训练,这对发挥硬件红利以及快速迭代模型非常重要。

下图是论文提到的Transformer模型,对编码器和解码器使用堆叠式的自注意力和逐点式、全连接层,分别如图1的左半部分(编码器)和右半部分(解码器)所示,相关技术细节后面会重点讲到。

OpenAI基于该工作基础上发展了GPT(Generative Pre-training)生成式预训练模型,这里借用网上一张图简单改过,相关细节将在后面展开。

3.2 生成式预训练初现潜力:GPT-1

2018年,OpenAI公司发表了论文“Improving Language Understanding by Generative Pre-training”,

使用的模型有两个阶段,第一阶段是无监督预训练,基于海量的文本集通过Transformer学习一个大容量的语言模型,第二阶段基于标注数据进行参数微调。

得到的一般任务不可知模型(或称为通用模型)优于经过判别训练的模型,在论文选定的12种数据集中有9个取得更好效果。

在 GPT-1 中,采用了 12 层Transformer 的结构作为解码器,每个 Transformer 层是一个多头的自注意力机制,然后通过全连接得到输出的概率分布。

这次实践对OpenAI来讲,我觉得是奠定了他们往这个路线发展的核心因素,主要有几个重点突破:

1)证明了通用模型训练具有很大的价值潜力。之前用于学习特定任务的标注数据难以获得,导致模型效果不能持续提升,而通过Transformer无监督训练+少量标注数据的Finetune就取得了更优的效果。

2、论文尝试增加Transformer中间层, 在从2层到12层的数量增加中,平均每增加1层能够提升9%的准确性。加上Transformer本身具备并行能力,这在GPU上无疑潜力巨大。

3、论文发现在第二步的Finetune中添加语言建模作为辅助学习目标,能够提高监督模型的泛化能力,并加速收敛。说明在更海量的数据集时,模型会更收益于辅助学习目标。

但GPT-1在生成长文本时,仍然会出现信息遗忘和重复等问题,和特定领域的模型对比还有很多不足。

3.3 泛化能力突破:GPT-2

2019年,OpenAI发表了最新进展,一篇“Language Models are Unsupervised Multitask Learners”的论文。

重点实践了更大的模型更广的数据集具有更好的泛化能力

GPT-1是12层的transformer,BERT最深是24层的transformer,GPT-2则是48层,共有15亿个参数的transformer,训练集叫WebText,是从4500万个链接提取文本去重后,得到800万文档共40GB文本。

论文认为现有系统用单个任务来训练的单个领域数据集,是缺乏模型泛化能力的主要原因,因此在更广的数据集上,GPT-2采用了多任务(multitask)的方式,每一个任务都要保证其损失函数能收敛,不同的任务共享主体transformer参数。

最终训练出来的模型在不需要任何参数和模型改动下,在zero-shot(零样本)任务中,在8个数据集中有7个表现为业界最优,这个泛化能力可以说已经很强大了,并且在机器翻译场景取得亮眼结果,GPT也是在2.0出来后,开始备受关注。

3.4 更大参数更大数据集:GPT3

之前的模型要在特定领域有更好表现,依然需要上千条标注样本数据来进行finetune,很大程度影响了模型的通用性,而人类能够根据前面一句话知道语境(in-context),从而正确回答问题。

GPT3就通过调大参数(1750亿)来测试in-context 学习能力,并在没有finetune情况下得到以下数据。

在参数不断增加的同时,分为三种场景看回答准确率表现:Zero-shot(0样本),One-shot(只给一个标准样本),Few-shot(少量标准样本,1000条左右)。

下图可以看到模型参数和样本集对正确性的影响,随着参数增多,Few-shot相比Zero-shot的提升效果在拉大,说明越大的参数对样本具有更强的泛化能力。

3.5 火爆的ChatGPT:GPT 3.5

2022年3月,OpenAI再次发表论文“Training language models to follow instructions with human feedback”,通过人工反馈和微调,使语言模型与用户对各种任务的意图保持一致。

并推出了InstructGPT模型,InstructGPT 是基于 GPT-3 的一轮增强优化,所以也被称为 GPT-3.5。

尽管GPT3.5还会犯一些简单的错误,但论文工作表明利用人类反馈进行微调是一个很有前景的方向

InstructGPT模型的参数为1.3B,而GPT-3模型的参数为175B,约为InstructGPT模型的130倍,但InstructGPT模型的输出却优于GPT-3模型的输出。

训练过程首先聘请了40个承包商来标注数据,收集提交给OpenAI的prompts的人工答案样本集,以及一些人工写的prompts作为训练监督学习的基线。

然后,在更大的prompts集上对比OpenAI的输出,并人工标记差距,据此训练出一个奖励模型(Reward Model)来预测人类喜好的输出。

最后用PPO来最大化这个奖励模型和fine-tune对监督模型的效果。这部分具体技术细节将在后面展开。

论文认为模型如果有价值观的话,体现更多的是标注者的价值观念而不是更广泛人的价值观

对人类任务意图的识别,是一个非常重要的能力。ChatGPT 采用 InstructGPT 相同结构的模型,针对 Chat 进行了专门的优化, 同时开放到公众测试训练,以便产生更多有效标注数据。

基于**人类反馈的强化学习(RLHF)**是 ChatGPT 区别于其他生成类模型的最主要特点,该法帮助模型尽量减少有害的、不真实的及有偏见的输出,提升自然沟通效果。

同时,为了更好地支持多轮对话,ChatGPT 引入了一种基于堆栈的上下文管理的机制,帮助 ChatGPT 跟踪和管理多轮对话中的上下文信息,从而在多轮对话中生成连贯自然的回复。

四、主要技术细节

从数学或机器学习的角度来看,语言模型都是对词语序列的概率相关性分布的建模,即利用已经说过的语句作为输入条件,预测下一个时刻不同语句甚至语言集合出现的概率分布。

GPT生成式预训练模型也是根据语料概率来自动生成回答的每一个字,ChatGPT在此基础上通过使用基于人类反馈的强化学习(RLHF)来干预增强学习以取得更好效果。

4.1 什么是Transformer?

本文重点介绍Transformer核心结构和技术点。

1)编解码组件结构

Transformer 本质上是一个 Encoder-Decoder 架构,包括编码组件和解码组件。

编码组件和解码组件可以有很多层,比如Google刚提出时的论文用的是6层,后面GPT-1是12层,然后到GPT-3是96层。

每个编码器由两个子层组成:Self-Attention 层(自注意力层)和 Position-wise Feed Forward Network(前馈网络,缩写为 FFN),每个编码器的结构都是相同的,但是它们使用不同的权重参数。编码器的输入会先流入 Self-Attention 层。

解码器也有编码器中这两层,但是它们之间还有一个编解码注意力层(即 Encoder-Decoder Attention),其用来帮助解码器关注输入句子中需要关注的相关部分。

2)编码器对文本的处理

对文本处理和通常的 NLP 任务一样,首先使用词嵌入算法(Embedding)将每个词转换为一个词向量(vector)。

嵌入仅发生在最底层的编码器中,其他编码器接收的是上一个编码器的输出。

这个列表大小是我们可以设置的参数——基本上这个参数就是训练数据集中最长句子的长度。

对输入序列完成嵌入操作后,每个词都会流经编码器内的两层,然后逐个编码器向上传递。

3)Self-Attention 原理

之前说Transformer的自注意机制突破了文本关注距离的限制,因此非常关键。先看这样一个句子:



_`The animal didn't cross the street because`_

_`it was too tired`_



这个句子中的"it"代表什么意思,是animal,还是street还是其他?这个对人来说很容易,但对模型来说不简单。

self-Attention就是用来解决这个问题,让it指向animal。通过加权之后可以得到类似图8的加权情况,The animal获得最大关注。

在self-attention中,每个单词有3个不同的向量,它们分别是Query向量( Q ),Key向量( K )和Value向量( V ),长度均是64。

它们是通过3个不同的权值矩阵由嵌入向量 X 乘以三个不同的权值矩阵 W^Q , W^K ,W^V 得到,其中三个矩阵的尺寸也是相同的。均是 512×64 。

Query,Key,Value的概念取自于信息检索系统,举个简单的搜索的例子来说。

当你在某电商平台搜索某件商品(年轻女士冬季穿的红色薄款羽绒服)时,你在搜索引擎上输入的内容便是Query,然后搜索引擎根据Query为你匹配Key(例如商品的种类,颜色,描述等),然后根据Query和Key的相似度得到匹配的内容(Value)。

self-attention中的Q,K,V也是起着类似的作用,在矩阵计算中,点积是计算两个矩阵相似度的方法之一,因此式1中使用了QK^T进行相似度的计算。

接着便是根据相似度进行输出的匹配,这里使用了加权匹配的方式,而权值就是query与key的相似度。

4)多注意头机制

Multi-headed attention增强了自注意能力,其一是扩展了关注的位置,使之同时关注多个不同位置,其二是它为注意力层提供了多个“表示子空间”,如论文用了8个注意头,那就有8组不同的Q/K/V矩阵,每个输入的词向量都被投影到8个表示子空间中进行计算。

具体流程如下图:

因此多注意头本质上是用更多个角度进行注意力计算再统一起来,能够增强对句子上下文的完整理解

4.2 ChatGPT是如何提升训练效果的?

ChatGPT的背后是大型语言模型 (LLM) 生成领域的新训练范式:RLHF ,即基于来自人类反馈的强化学习来优化语言模型。

关于RLHF训练有个TAMER框架值得参考。

RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,这里我们按三个步骤分解:

  • 预训练一个语言模型 (LM) ;

  • 聚合问答数据并训练一个奖励模型 (Reward Model,RM) ;

  • 用强化学习 (RL) 方式微调 LM。

GPT3训练后的大语言模型是根据概率分布,计算出下一个最大可能的词,他不管事实逻辑上的准确性,也没有所谓的意识,所以有时会一本正经地胡说八道。

RLHF是用生成文本的人工反馈作为性能衡量标准,或更进一步用该反馈作为奖励来优化模型,使得在一般文本数据语料库上训练的语言模型能和复杂的人类价值观对齐。

首先,我们使用经典的预训练目标训练一个语言模型。对这一步的模型,OpenAI 在其第一个流行的 RLHF 模型 InstructGPT 中使用了较小版本的 GPT-3。然后进行以下步骤:

第一步:训练监督策略语言模型

GPT-3本身无法识别人类指令蕴含的不同意图,也很难判断生成内容是否高质量。

为了解决这一问题,训练过程是从数据集中随机抽取问题,由标注人员给出高质量答案,相当于提供了一系列人工编写的prompts和对应的答案数据集。

然后用这些人工标注好的数据集微调GPT3.5模型,获得SFT模型(Supervised Fine-Tune)。

第二步:训练奖励模型

训练方法:根据第一阶段的模型,随机抽取问题,给出多个不同的回答,人工选出最优答案进行标注,有点类似教学辅导。

将高质量答案的奖励值进入下一轮强化学习RL,训练一个奖励模型来预测人类偏好的输出。

RM 的训练是 RLHF 区别于旧范式的开端。

这一模型接收一系列文本并返回一个标量奖励,数值上对应人的偏好。

我们可以用端到端的方式用 LM 建模,或者用模块化的系统建模 (比如对输出进行排名,再将排名转换为奖励) 。

这一奖励数值将对后续无缝接入现有的强化学习 RL 算法至关重要。

关于模型选择方面,RM 可以是另一个经过微调的 LM,也可以是根据偏好数据从头开始训练的 LM。

微调LM被认为对样本数据的利用率更高,但对于哪种 RM 更好尚无定论。

第三步:近端策略优化 (Proximal Policy Optimization,PPO)

使用PPO优化奖励模型的策略。使用奖励模型的输出作为标量奖励,并使用PPO算法对监督策略进行微调,以优化该奖励。

**训练方法:**PPO的核心目的是将在线的人工学习转为离线学习,机器自己给自己打分。

利用第二阶段训练好的奖励模型,在数据集中随机抽取问题,使用PPO模型生成多个回答,并用上一阶段训练好的RM模型分别给出质量分数。

把回报分数按排序依次传递,产生策略梯度,通过强化学习的方式更新PPO模型参数。

最后步骤二和步骤三可以循环迭代,可以不断完善模型。

总体来说,ChatGPT 在人工标注的prompts和回答里训练出SFT监督策略模型,再通过随机问题由模型给出多个答案,然后人工排序,生成奖励模型,再通过PPO强化训练增强奖励效果。

最终ChatGPT能够更好理解指令的意图,并且按指令完成符合训练者价值观的输出。

最后,大语言模型作为一个被验证可行的方向,其“大”体现在数据集广泛,参数和层数大,计算量大,其价值体现在通用性上,有广泛的应用场景。

大语言模型能够发展,主要还是模型具备很好的并行扩展性,随着数据量和计算量的增加,主要挑战在工程和调优上。

转行/求职产品必备

## 关于AI大模型学习指南

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

在这里插入图片描述

二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

2024最新版CSDN大礼包:《AGI大模型学习资源包》免费分享,微信扫码免费领取~
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

客户案例|某 SaaS 企业租户敏感数据保护实践

近年来,随着云计算技术的快速发展,软件即服务(SaaS)在各行业的应用逐渐增多,SaaS 应用给企业数字化发展带来了便捷性、成本效益与可访问性,同时也带来了一系列数据安全风险。作为 SaaS 产品运营服务商&…

注意!!2024下《系统架构设计师》易混淆知识点来了,赶紧收藏

宝子们,在复习软考系统架构设计师中,是不是觉得有很多知识点含义比较相近,很多友友刚看的时候,估计会像我一样把它们弄混,作为一个软考老鸟,在这里给大家整理了系构学习过程中易混淆的知识点,大…

Part 8.3.2 树的直径

树的直径被定义为树上最远的两点间的距离。 关于求树的直径的两种方式 HXY造公园 题目描述 现在有一个现成的公园,有 n n n 个休息点和 m m m 条双向边连接两个休息点。众所周知,HXY 是一个 SXBK 的强迫症患者,所以她打算施展魔法来改造…

彩虹PLM系统:引领汽车行业的数字化转型

彩虹PLM系统:引领汽车行业的数字化转型 彩虹PLM系统作为汽车行业数字化转型的引领者,凭借其卓越的技术实力和丰富的行业经验,为汽车行业带来了全面的解决方案。以下是彩虹PLM系统如何引领汽车行业数字化转型的详细分析: 一、整合全…

虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本

复制了同事的VMware镜像,但是他的软件版本和我的不同,于是乎出现了这个报错:虚拟机使用的是此版本 VMwareWorkstation 不支持的硬件版本。 模块“Upgrade”启动失败。 解决办法,直接改.vmx文件的版本信息: 以文本格式打…

ROS学习(17):定位和地图绘制(1)

目录 0.前言 1.定位和建图 1.里程计(Odometry) 2.扫描匹配(Scan Matching) 3.结尾 0.前言 好久不见各位,前段时间忙着考试(6级和一些专业课)和摆烂断更了近30天,现在哥们回来更…

约课健身管理系统小程序源码

健身达人的智能助手 一款基于FastAdminThinkPHPUniapp开发的米扬约课健身管理系统,应用于健身房,健身工作室,运动会所,运动场馆,瑜伽馆,拳馆等泛健身行业的场馆中。米扬约课健身致力于为各种健身场馆打造真…

四川赤橙宏海商务信息咨询有限公司好不好?

在当今数字化浪潮下,电商行业正以前所未有的速度发展,而抖音作为短视频领域的佼佼者,其电商服务更是成为了众多品牌争相布局的热门领域。四川赤橙宏海商务信息咨询有限公司,正是这样一家专注于抖音电商服务的领军企业,…

快速阅读参考文献:kimi请求出战!

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 上篇文章,我们为大家演示了“如何使用kimi创建论文中的流程图”。今天继续为大家介绍“使用kimi快速阅读学术参考文献”。 在学术研究的海洋中,文献阅读是一项基…

解决chrome浏览器Console控制台无法粘贴代码

【问题】 浏览器调试的时候经常会用到console,粘贴内容进console控制台会报错,严重影响调试效率。 报错内容如下: Warning: Don’t paste code into the DevTools Console that you don’t understand or haven’t reviewed yourself. Thi…

ZAP安全扫描工具

下载地址: 去官网下载:https://www.zaproxy.org/download/ 1.主动扫描 需要登录的网站建议使用主动扫描 也可以绕过登录进行手动扫描 再选择手动扫描后 获取到对应的token 2.自动扫描 3.查看报告 4.扫描策略的使用

Java版本Spring Cloud+SpringBoot b2b2c:Java商城实现一件代发设置及多商家直播带货商城搭建

一、产品简介 我们的JAVA版多商家入驻直播带货商城系统是一款全*面的电子商务平台,它允许商家和消费者在一个集成的环境中进行互动。系统采用先进的JAVA语言开发,提供多商家入驻、直播带货、B2B2C等多种功能,帮助用户实现线上线下的无缝对接…

【python】pop()函数

python pop() ,如何在Python的列表或数组中移除元素 使用 pop() 从列表中删除元素 pop() 语法概述 pop() 方法的语法如下: list_name.pop(index)list_name:列表变量名;内置的 pop() 方法仅需要一个可选参数;可选参…

浅谈逻辑控制器之交替控制器

浅谈逻辑控制器之交替控制器 本文档将详细介绍其中一种重要逻辑控制器——交替控制器 (Interleave Controller),并提供其使用方法和应用场景。 交替控制器概述 交替控制器 (Interleave Controller) 是 JMeter 中的一个高级逻辑控制器,它使你能够按照交…

【vue3】【vant】 移动本草纲目案例发布收藏项目源码

更多项目点击👆👆👆完整项目成品专栏 【vue3】【vant】 移动本草纲目案例发布收藏项目源码 获取源码方式项目说明:其中功能包括 项目包含:项目运行环境文件截图 获取源码方式 加Q群:632562109项目说明&am…

应用案例 | Panorama SCADA:开创性的铁路电气控制系统

案例概况 客户:英国铁路网运营商Network Rail 合作伙伴:Telent Technology Services Ltd 应用:实现对铁路牵引电网的高效管理与精准控制 应用产品:宏集Panorama E2 SCADA系统 一、应用背景 英国铁路网运营商Network Rail计划…

谈论Fail2ban+Nginx处理CC攻击和DDOS攻击

前言:Fail2ban 是一款开源的入侵防御软件,用于防止暴力破解和其他形式的恶意攻击。虽然它主要设计用于检测和阻止基于日志的暴力破解尝试,但也可以用于处理低强度的CC(Challenge Collapsar)和部分DDoS(分布…

Python高精度浮点运算库之mpmath使用详解

概要 在科学计算和工程应用中,精确的数学计算至关重要。Python 作为一种灵活而强大的编程语言,提供了多种数学库,其中 mpmath 库因其高精度浮点运算和丰富的数学函数支持而备受关注。mpmath 库不仅适用于基本的高精度计算,还支持复数运算、矩阵运算和特殊函数计算,广泛应…

Python第三方库GDAL 安装

安装GDAL的方式多种,包括pip、Anaconda、OSGeo4W等。笔者在安装过程中,唯独使用pip安装遇到问题。最终通过轮子文件(.whl)成功安装。 本文主要介绍如何下载和安装较新版本的GDAL轮子文件。 一、GDAL轮子文件下载 打开Github网站…

Swoole v6 能否让 PHP 再次伟大?

大家好,我是码农先森。 现状 传统的 PHP-FPM 也是多进程模型的的运行方式,但每个进程只能处理完当前请求,才能接收下一个请求。而且对于 PHP 脚本来说,只是接收请求和响应请求,并不参与网络通信。对数据库资源的操作…