新技术前沿-2023-大模型的本质

news2024/11/15 9:54:45

大模型时代需要什么样的人才?

1 大模型的本质

特斯拉前AI总监Andrej Karpathy的新教程,涵盖模型推理、训练、微调和新兴大模型操作系统以及安全挑战。

1.1 大模型本质就是两个文件

首先,大模型是什么?
大模型本质就是两个文件:
一个是参数文件,一个是包含运行这些参数的代码文件。
前者是组成整个神经网络的权重,后者是用来运行这个神经网络的代码,可以是C或者其他任何编程语言写的。
有了这俩文件,再来一台笔记本,我们就不需任何互联网连接和其他东西就可以与它(大模型)进行交流了,比如让它写首诗,它就开始为你生成文本。
在这里插入图片描述
那么接下来的问题就是:参数从哪里来?
这就引到了模型训练。
本质上来说,大模型训练就是对互联网数据进行有损压缩(大约10TB文本),需要一个巨大的GPU集群来完成。
以700亿参数的羊驼2为例,就需要6000块GPU,然后花上12天得到一个大约140GB的“压缩文件”,整个过程耗费大约200万美元。
在这里插入图片描述
而有了“压缩文件”,模型就等于靠这些数据对世界形成了理解。
那它就可以工作了。
简单来说,大模型的工作原理就是依靠包含压缩数据的神经网络对所给序列中的下一个单词进行预测
比如我们将“cat sat on a”输入进去后,可以想象是分散在整个网络中的十亿、上百亿参数依靠神经元相互连接,顺着这种连接就找到了下一个连接的词,然后给出概率,比如“mat(97%)”,就形成了“猫坐在垫子上(cat sat on a mat)”的完整句子(神经网络的每一部分具体如何工作目前还不清楚)。
在这里插入图片描述
需要注意的是,由于前面提到训练是一种有损压缩,神经网络给出的东西是不能保证100%准确的。
Andrej管大模型推理为“做梦”,它有时可能只是简单模仿它学到的内容,然后给出一个大方向看起来对的东西。这其实就是幻觉,所以大家一定要小心它给出的答案,尤其是数学和代码相关的输出。

接下来,由于我们需要大模型成为一个真正有用的助手,就需要进行第二遍训练,也就是微调微调强调质量大于数量,不再需要一开始用到的TB级单位数据,而是靠人工精心挑选和标记的对话来投喂。

不过在此,Andrej认为,微调不能解决大模型的幻觉问题。
本节最后,是Andrej总结的“如何训练你自己的ChatGPT”流程:

第一步称为预训练,你要做的是:
1、下载10TB互联网文本;
2、搞来6000块GPU;
3、将文本压缩到神经网络中,付费200万美元,等待约12天;
4、获得基础模型。
第二步是微调:
1、撰写标注说明;
2、雇人(或用scale.ai),收集10万份高质量对话或其他内容;
3、在这些数据上微调,等待约1天;
4、得到一个可以充当得力助手的模型;
5、进行大量评估。
6、部署。
7、监控并收集模型的不当输出,回到步骤1再来一遍。

其中预训练基本是每年进行一次,而微调可以周为频率进行。
在这里插入图片描述

1.2 大模型将成为新操作系统

在这一部分中,Karpathy为我们介绍了大模型的几个发展趋势。
首先是学会使用工具——实际上这也是人类智能的一种表现。
Karpathy以ChatGPT几个功能进行了举例,比如通过联网搜索,他让ChatGPT收集了一些数据。
这里联网本身就是一次工具调用,而接下来还要对这些数据进行处理。这就难免会涉及到计算,而这是大模型所不擅长的,但通过(代码解释器)调用计算器,就绕开了大模型的这个不足。在此基础上,ChatGPT还可以把这些数据绘制成图像并进行拟合,添加趋势线以及预测未来的数值。利用这些工具和自身的语言能力,ChatGPT已经成为了强大的综合性助手。

另一项趋势,是从单纯的文本模型到多模态的演变
现在ChatGPT不只会处理文本,还会看、听、说,比如OpenAI总裁Brockman曾经展示了GPT-4利用一个铅笔勾勒的草图生成了一个网站的过程。
而在APP端,ChatGPT已经可以流畅地和人类进行语音对话。

除了功能上的演进,大模型在思考方式上也要做出改变——从“系统1”到“系统2”的改变
这是2002年诺贝尔经济学奖得主丹尼尔·卡尼曼的畅销书《思考,快与慢》中提到的一组心理学概念。简单来说,系统1是快速产生的直觉,而系统2则是缓慢进行的理性思考。
在这里插入图片描述
比如,当被问及2+2是几的时候,我们会脱口而出是4,其实这种情况下我们很少真正地去“算”,而是靠直觉,也就是系统1给出答案。但如果要问17×24是多少,恐怕就要真的算一下了,这时发挥主导作用的就变成了系统2。

而目前的大模型处理文本采用的都是系统1,靠的是对输入序列中每个词的“直觉”,按顺序采样并预测下一个token。

另一个发展的关键点是模型的自我提升
以DeepMind开发的AlphaGo为例(虽然它不是LLM),它主要有两个阶段,第一阶段是模仿人类玩家,但靠着这种方式无法超越人类。但第二阶段,AlphaGo不再以人类作为学习目标——目的是为了赢得比赛而不是更像人类。

所以研究人员设置了奖励函数,告诉AlphaGo它的表现如何,剩下的就靠它自己体会,而最终AlphaGo战胜了人类。

而对于大模型的发展,这也是值得借鉴的路径,但目前的难点在于,针对“第二阶段”,还缺乏完善的评估标准或奖励函数。

此外,大模型正朝着定制化的方向发展,允许用户将它们定制,用于以特定“身份”完成特定的任务。此次OpenAI推出的GPTs就是大模型定制化的代表性产品。而在Karpathy看来,大模型在将来会成为一种新型的操作系统
在这里插入图片描述
类比传统的操作系统,在“大模型系统”中,LLM作为核心,就像CPU一样,其中包括了管理其他“软硬件”工具的接口。而内存、硬盘等模块,则分别对应大模型的窗口、嵌入。
代码解释器、多模态、浏览器则是运行在这个系统上的应用程序,由大模型进行统筹调用,从而解决用户提出的需求。

1.3 大模型安全像猫鼠游戏

演讲的最后一部分,Karpathy谈论了大模型的安全问题。
他介绍了一些典型的越狱方式,尽管这些方式现在已经基本失效,但Karpathy认为,大模型的安全措施与越狱攻击之间的较量,就像是一场猫鼠游戏。

比如一种最经典的越狱方式,利用大模型的“奶奶漏洞”,就能让模型回答本来拒绝作答的问题。

例如,假如直接问大模型凝固汽油弹怎么制作,但凡是完善的模型都会拒绝回答。但是,如果我们捏造出一个“已经去世的奶奶”,并赋予“化学工程师”的人设,告诉大模型这个“奶奶”在小时候念凝固汽油弹的配方来哄人入睡,接着让大模型来扮演……这时,凝固汽油弹的配方就会脱口而出,尽管这个设定在人类看来十分荒谬。

比这更复杂一些的,还有Base64编码等“乱码”进行攻击。这里“乱码”只是相对人类而言,对机器来说却是一段文本或指令。比如Base64编码就是将二进制的原始信息通过一定方式转换为字母和数字组成的长字符串,可以编码文本、图像,甚至是文件。
在询问Claude如何破坏交通标志时,Claude回答不能这样做,而如果换成Base64编码,过程就呼之欲出了。
在这里插入图片描述
另一种“乱码”叫做通用可转移后缀,有了它,GPT直接就把毁灭人类的步骤吐了出来,拦都拦不住。
在这里插入图片描述
而进入多模态时代,图片也变成了让大模型越狱的工具。
比如下面这张熊猫的图片,在我们看来再普通不过,但其中添加的噪声信息却包含了有害提示词,并且有相当大概率会使模型越狱,产生有害内容。
在这里插入图片描述
此外,还有利用GPT的联网功能,造出包含注入信息的网页来迷惑GPT,或者用谷歌文档来诱骗Bard等等。
目前这些攻击方式已经陆续被修复,但只是揭开了大模型越狱方法的冰山一角,这场“猫鼠游戏”还将持续进行。

2 大模型时代的变革

2.1 认知智能范式演变

在这里插入图片描述
近些年迅速发展的大规模预训练模型技术,正在让机器逐渐具备像人一样的认知智能,但是也对算法、系统、算力提出新的需求和挑战。那么,未来 AI 的架构将会是怎样的?大概从2022年,进入了另外一个新的时代——大模型时代。在大模型时代,算法人员无法从头训练一个模型,而是需要依赖于基础模型,并且以基础模型去适配下游应用场景。

为什么说算法人员训不了,就是咱们之前说的几个大:大数据,大算力,大模型。
第一、它依赖于大的数据,也就是海量文本数据;
第二、模型比较大,从几十亿、几百亿,甚至几千亿、几万亿的参数规模;
第三、大算力,动不动上百张卡,上千,上万张卡,大规模的算力集群。
而现在只是开始。

2.2 大模型算法优势

相比传统AI模型,大模型的优势体现在:
(1)解决AI过于碎片化和多样化的问题,极大提高模型的泛用性
应对不同场景时,AI模型往往需要进行针对化的开发、调参、优化、迭代,需要耗费大量的人力成 本,导致了AI手工作坊化。

大模型采用“预训练+下游任务微调”的方式,首先从大量标记或者未标记的数据中捕获信息,将信息存储到大量的参数中,再进行微调,极大提高模型的泛用性。

(2)具备自监督学习功能,降低训练研发成本
我们可以将自监督学习功能表现理解为降低对数据标注的依赖,大量无标记数据能够被直接应用。这样一来,一方面降低人工成本,另一方面,使得小样本训练成为可能。

(3)摆脱结构变革桎梏,打开模型精度上限
过去想要提升模型精度,主要依赖网络在结构上的变革。随着神经网络结构设计技术逐渐成熟并开始趋同,想要通过优化神经网络结构从而打破精度局限变得困难。

而研究证明,更大的数据规模确实提高了模型的精度上限。

2.3 大模型产研变革

(1)从算法层面来看:从碎片化和多样化算法统一到以Transformer为核心的生成式架构:算法统一。
(2)从开发流程来看:从烟囱式的独立开发,到大一统的基础模型训练或优化:开发统一。
(3)从交互层面来看:从各个各样的独立接口结构化调用到以自然语言交互为核心的交互演变:交互统一。

(4)从商业模式来看:B2B2C、 MaaS服务、垂直领域应用将是大模型时代AI发展的重要趋势。
(5)从付费模式来看:订阅付费、按需付费、公有云交付、私有化部署将成为新的潮流。
(6)从产业激活来看:重新激活AI整个生态链,AI芯片算力,新算法架构(多模态),数据(采集,清洗…),AI原生应用。

2.4 大模型发展最确定的趋势

据调查:88.9% 更多的应用场景 11.1% 更大的模型。

2.5 大模型AI对算法工程师的威胁性

随着技术的迅猛发展,大模型人工智能(AI)在众多领域中已经展现了其优越的能力和潜力。然而,大模型AI也已经对算法工程师工作产生了相当的威胁性。

1、大模型可以在短时间内处理大量数据,能够迅速处理大规模的数据并进行准确的分析和预测
这使得大模型在一些任务上能够胜过人类,例如机器翻译、文本生成、信息检索等。相比之下,传统的算法工程师需要投入大量时间和精力来设计和实现复杂的算法模型,其效率显然无法与大模型AI相提并论。

2、大模型AI的自主学习能力使其能够从海量的数据中提取出有用的特征和模式,不再依赖人工进行特征工程
这也就意味着,算法工程师在特征设计和算法优化方面的专业知识和技能可能会逐渐被边缘化,并面临就业岗位的竞争压力。

2.6 算法工程师的破与立

破——大模型时代给算法工程师带来的新挑战
算法架构的改变,带来开发范式的转变,之前传统的从零开发小模型,整个流程都可以完整的走一遍。
大模型不仅面临算力、数据的挑战,而且当前更多是对工程能力的要求,算法工程师需要向上掌握工程能力比如训练调优,推理部署,稳定性保障,向下研究软件栈,芯片的能力,而且需要深入了解行业背景和应用场景,及时保持跟进。

立——大模型时代给算法工程师带来的新机遇
大模型拓宽了算法职业机会:
AI绘画工程师、
提示词工程师、
AIGC算法工程师、
大模型推理算法工程师,
大模型训练/微调算法工程师。

大模型拓宽了工程职业机会:
AI平台开发,
AI应用开发,
大模型推理架构,
大模型训练平台,
大模型MaaS平台等。

2.7 企业需要的人

当前大模型需要掌握的核心技能:

2.7.1 工程知识

熟悉 MLOps、ModelOps、LLMOps(基础模型操作)方法,模型生产流水线,涵盖机器学习系统的各个子方向,包括资源调度、模型训练、模型推理、数据管理、工作流编排等。

搭建基于云原生的分布式机器学习平台、包含训练,推理,模型管理,数据集管理,标注系统等。

基于云原生的基础架构,并具有在生产环境中部署大规模机器学习模型,具备(Docker、K8s、Harbor)经验。

高性能计算、ML 硬件架构(GPU、显存、RDMA、IB、加速器、网络)、分布式存储。

掌握 LLM 框架和插件的实践经验,例如 LangChain、LlamaIndex、VectorStores 和 Retrievers、LLM Cache、LLMOps (MLFlow)、LMQL、Guidance 等。

企业 SaaS 软件经验,基于订阅,按量付费的支付方案,多租户资源隔离方案。

2.7.2 算法技能

掌握 ML/DL 技术、算法和工具、Transformers(BERT、BART、GPT/T5、LLaMa、ChatGLM等).

深入了解 Transformer、因果 LM 及其底层架构,具有各种变压器架构的经验(自回归、序列到序列等)。

2.7.3 模型训练

熟悉训练多模态基础模型。分布式并行训练,加速优化高级编程技能(Python)、DeepSpeed、Pytorch Lightning、kuberflow、TensorFlow等框架和工具。有大规模生产模型训练经验(Horovod、Ray、Parameter Server)。

熟悉基于 GPU 的技术,如 CUDA、CuDNN 和 TensorRT。

2.7.4 微调模型

全量微调,参数高效调整技术(PEFT),人类反馈强化学习 (RLHF)。

提示工程技术和方法,包括,CoT思维树等先进的提示工程技术。

2.7.5 模型部署

分布式推理方案,模型Pipeline编写和优化模型的性能优化技术,例如模型压缩、量化和推理效率,模型压缩、蒸馏、剪枝、稀疏化、量化TensoRT, Openvino等编译优化加速。

3 深度学习五大模型

深度学习是人工智能领域的一个重要分支,近年来取得了显著的发展。其中,RNN、CNN、Transformer、BERT和GPT是五种常用的深度学习模型,它们在计算机视觉、自然语言处理等领域都取得了重要的突破。

3.1 RNN(循环神经网络)

时间:20世纪90年代。
关键技术:循环结构和记忆单元。
处理数据:适合处理时间序列数据。
应用场景:自然语言处理、语音识别、时间序列预测等。
RNN是一种神经网络模型,它的基本结构是一个循环体,可以处理序列数据。RNN的特点是能够在处理当前输入的同时,记住前面的信息。这种结构使得RNN非常适合用于自然语言处理、语音识别等任务,因为这些任务需要处理具有时序关系的数据。
经典案例:文本分类。

3.2 CNN(卷积神经网络)

时间:20世纪90年代末至21世纪初。
关键技术:卷积运算和池化操作。
处理数据:适合处理图像数据。
应用场景:计算机视觉、图像分类、物体检测等。
CNN是一种神经网络模型,它的基本结构是由多个卷积层和池化层组成的。卷积层可以提取图像中的局部特征,而池化层则可以减少特征的数量,提高计算效率。CNN的这种结构使得它非常适合用于计算机视觉任务,如图像分类、物体检测等。与RNN相比,CNN更擅长处理图像数据,因为它可以自动学习图像中的局部特征,而不需要人工设计特征提取器。
经典案例:猫狗识别。

3.3 Transformer

时间:2017年。
关键技术:自注意力机制和多头注意力机制。
处理数据:适合处理长序列数据。
应用场景:自然语言处理、机器翻译、文本生成等。
Transformer是一种基于自注意力机制的神经网络模型,它的基本结构是由多个编码器和解码器组成的。编码器可以将输入序列转换为向量表示,而解码器则可以将该向量表示转换回输出序列。Transformer的最大创新之处在于引入了自注意力机制,这使得模型可以更好地捕捉序列中的长距离依赖关系。Transformer在自然语言处理领域取得了很大的成功,如机器翻译、文本生成等任务。
经典案例:机器翻译。

3.4 BERT(Bidirectional Encoder Representations from Transformers)

时间:2018年。
关键技术:双向Transformer编码器和预训练微调。
处理数据:适合处理双向上下文信息。
应用场景:自然语言处理、文本分类、情感分析等。
BERT是一种基于Transformer的预训练语言模型,它的最大创新之处在于引入了双向Transformer编码器,这使得模型可以同时考虑输入序列的前后上下文信息。BERT通过在大量文本数据上进行预训练,学习到了丰富的语言知识,然后在特定任务上进行微调,如文本分类、情感分析等。BERT在自然语言处理领域取得了很大的成功,被广泛应用于各种NLP任务。
经典案例:情感分析。

3.5 GPT(Generative Pre-trained Transformer)

时间:2018年。
关键技术:单向Transformer编码器和预训练微调。
处理数据:适合生成连贯的文本。
应用场景:自然语言处理、文本生成、摘要等。
GPT也是一种基于Transformer的预训练语言模型,它的最大创新之处在于使用了单向Transformer编码器,这使得模型可以更好地捕捉输入序列的上下文信息。GPT通过在大量文本数据上进行预训练,学习到了丰富的语言知识,然后在特定任务上进行微调,如文本生成、摘要等。GPT在自然语言处理领域也取得了很大的成功,被广泛应用于各种NLP任务。
经典案例:文本生成。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

转型AI产品经理(7):“格式塔原则”如何应用在Chatbot产品中

格式塔原则,又称为完形原则,它是一组关于人类如何感知视觉元素的心理学理论,这些原则说明了大脑如何将分散的视觉元素整合为有意义的整体,即使这些元素本身可能是分离的,帮助我们理解人们如何组织和解释复杂的视觉信息…

C++网络编程基础

文章目录 协议局域网通信IP 地址网络通信的本质tcp 和 udp 协议网络字节序网络主机数据转化接口 协议 协议:收到数据后,多出来的那一部分,也叫一种 “约定”,一整套的自硬件到软件,都有协议,需要有人定制&a…

KUKA机器人KRC5控制柜面板LED显示

对于KUKA机器人新系列控制柜KRC5控制柜来说,其控制柜面板LED布局如下图: 其中①②③④分别为: 1、机器人控制柜处于不同状态时,LED显示如下: 2、机器人控制柜正在运行时: 3、机器人控制柜运行时出现的故障…

金融数据中心能力建设指引

金融数据中心能力建设指引 金融数据中心能力建设指引旨在通过高标准的基础设施建设、完善的数据管理、强大的信息安全防护和业务连续性规划,确保数据中心具备高效、安全、可靠的运行能力,支持金融业务的稳定发展。该指引强调技术创新、标准化管理、人才…

迅为RK3562开发板ARM四核A53核心板瑞芯微国产人工智能Linux安卓

iTOP-3562开发板采用瑞芯微RK3562处理器,内部集成了四核A53Mali G52架构,主频2GHZ,内置1TOPSNPU算力,RK809动态调频。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1内嵌高性能2D加速硬件。 内置独立NPU, 算力达 1TOPS,可用于轻…

搭建RocketMQ主从异步集群

搭建RocketMQ主从异步集群 1、RocketMQ集群模式 为了追求更好的性能,RocketMQ的最佳实践方式都是在集群模式下完成的。RocketMQ官方提供了三种集群搭建方式: 2主2从异步通信方式:使用异步方式进行主从之间的数据复制。吞吐量大,…

不同数据库背后的数据存储方案

在大数据和AI时代,数据库成为各类应用不可或缺的重要组成部分。而数据库中的数据依赖存储引擎进行管理,包括数据的存储、查询、更新和删除等。因此,在设计系统时,选择正确的数据库存储引擎方案变得尤为重要。这篇文章将以关系型、…

Switch 之 H3C S5500

System # system view <H3C> system‐view [H3C] quit <H3C># display version [H3C]display version H3C Comware Software, Version 7.1.045, Release 3116# configuration save <H3C> save <H3C> display current‐configuration # factory reset …

程序员副业大揭秘:如何独立开发产品,月入过万,实现工作自由

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 咱们程序员这一行&#xff0c;在外人眼里一直都是高收入的代名词&#xff0c;每每提及&#xff0c;都有羡慕的眼光。然后只有我们自己知道&…

排序题+贪心

排序力扣题 一&#xff1a;合并区间 56. 合并区间 方法一&#xff1a;先排序再合并 如图&#xff0c;把区间按照起点从小到达排序&#xff0c;如果起点相同那么按照终点小的优先排序 然后每次记录一个区间&#xff0c;访问下一个区间&#xff1a; 如果下一个区间的起点<前…

【数据结构与算法】使用单链表实现队列:原理、步骤与应用

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法》 期待您的关注 ​ 目录 一、引言 &#x1f384;队列的概念 &#x1f384;为什么要用单链表实现队列 二、单…

Socket编程权威指南(四)彻底解密 Epoll 原理

在上一篇文章中&#xff0c;我们优化了基于 Socket 的网络服务器&#xff0c;从最初的 select/poll 模型进化到了高效的 epoll。很多读者对 epoll 的惊人性能表示极大的兴趣&#xff0c;对它的工作原理也充满了好奇。今天&#xff0c;就让我们一起揭开 epoll 神秘的面纱&#x…

DeepSORT(目标跟踪算法)中的马氏距离详解(很详细)

DeepSORT&#xff08;目标跟踪算法&#xff09;中的马氏距离详解&#xff08;很详细&#xff09; flyfish 马氏距离的公式是由印度统计学家【普拉萨纳钱德拉马哈拉诺比斯&#xff08;Prasanta Chandra Mahalanobis&#xff09;】&#xff09;&#xff08;好长的名字&#xff…

挑战绝对不可能:再证有长度不同的射线

黄小宁 一空间坐标系中有公共汽车A&#xff0c;A中各座位到司机处的距离h是随着座位的不同而不同的变数&#xff0c;例如5号座位到司机处的距离是h3&#xff0c;…h5&#xff0c;…。A移动了一段距离变为汽车B≌A&#xff0c;B中5号座位到司机处的距离h’h3&#xff0c;…h’h5…

Redis原理篇——哨兵机制

Redis原理篇——哨兵机制 1.Redis哨兵2.哨兵工作原理2.1.哨兵作用2.2.状态监控2.3.选举leader2.4.failover 1.Redis哨兵 主从结构中master节点的作用非常重要&#xff0c;一旦故障就会导致集群不可用。那么有什么办法能保证主从集群的高可用性呢&#xff1f; 2.哨兵工作原理 …

Leetcode 力扣114. 二叉树展开为链表 (抖音号:708231408)

给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&#xf…

力扣每日一题 6/10

881.救生艇[中等] 题目&#xff1a; 给定数组 people 。people[i]表示第 i 个人的体重 &#xff0c;船的数量不限&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船…

Qt实现简易播放器

效果如图 源码地址&#xff1a; 简易播放器: 基于Qt的简易播放器&#xff0c;底层采用VLC源码 - Gitee.com GitHub:GitHub - a-mo-xi-wei/easy-player: 基于Qt的调用VLC的API的简易播放器

蓝牙安全入门——两道CTF题目复现

文章目录 蓝牙安全入门题目 low_energy_crypto获取私钥解密 题目 蓝牙钥匙的春天配对过程配对方法密钥分发数据加密安全漏洞和保护实际应用实际应用 蓝牙安全入门 &#x1f680;&#x1f680;最近一直对车联网比较感兴趣&#xff0c;但是面试官说我有些技术栈缺失&#xff0c;所…

【Linux】进程7——进程地址空间

1.再谈fork 之前提到了fork之后对父子进程返回不同的id值&#xff0c;给父进程返回子进程的pid&#xff0c;给子进程返回0&#xff0c;所以对于一个id如何存储两个值的说法&#xff0c;在我们之前已经提到过了一个概念叫做写时拷贝&#xff0c;就是在子进程要想修改父进程的id…