有趣的大模型之我见 | Llama AI Model

Llama 开源吗?

我在写《有趣的大模型之我见 | Mistral 7B 和 Mixtral 8x7B》时曾犹豫,在开源这个事儿上,到底哪个大模型算鼻祖?2023 年 7 月 18 日,Meta 推出了最受欢迎的大型语言模型(LLM)的第二个版本-Llama 2,并主张可免费用于研究和商业用途。Llama 2 模型附带许可证,允许社区使用、复制、分发、创作由 Meta 发布的 Llama Materials 的衍生作品和进行修改。Llama 2 可以被下载并在应用程序中使用,也可以通过 Hugging Face**、Amazon Web Services 或 Microsoft Azure 等服务租用。然而它的开源属性却被严重质疑,原因是授权许可受到来自 Meta 的诸多限制,比如:Meta 可以自行决定向申请者授予许可,除非或直到 Meta 明确授予此类权利,否则无权行使本协议规定的任何权利。再比如:不得使用 Llama Materials 或 Llama Materials 的任何输出或结果来改进任何其他大型语言模型(不包括 Llama 2 或其衍生作品)。这意味着不能使用 Llama 2 生成用于构建或微调任何其他模型的训练数据,这是一个更大的问题,因为很多人可能想这样做。开源不仅意味着源代码的可访问性,还意味着对协作、透明度和社区驱动开发的承诺。开发者们认为 Llama 2 的开源许可是 Meta 自己的许可,而那些限制是为了保护 Meta 的市场份额而精心设计的限制。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

2024 年 4 月 18 日发布的 Llama 3 也将继续延用之前“负责任”的开放方式。

关于 Meta、Meta AI 和 Llama

Meta,前身 Facebook Reality Labs,是 Facebook 旗下的研究实验室,专注于探索和开发增强现实和虚拟现实技术。Meta 最初的目标是构建一个能够让人们以全新方式相互连接和互动的虚拟现实世界,也就是我们所说的“元宇宙”。为了全面拥抱“元宇宙”,2021 年 10 月 28 日,Facebook CEO 扎克伯格在公司一年一度的虚拟现实大会 Connect Conference 上宣布,Facebook 公司改名为 Meta。

除了元宇宙,Meta AI 的布局从十年前就开始了,其成果也没有在这股 AI 的浪潮中掉队。从招募 Yann LeCun 等顶级 AI 学者加入,到主导的深度学习框架 PyTorch 被广泛使用,势头曾一度碾压谷歌的 TensorFlow,再到发布大语言模型 Llama。

Llama 2 是 Llama 的第二个版本。除了可以免费下载,并且在这里 Meta 用一篇 77 页的 PDF 介绍了它的技术细节。与 Llama 1 的发布一样,Llama 2 的预训练版本有多种尺寸:7B、13B 和 70B 参数。(Meta 还训练了一个 34B 参数 Llama 2 模型,但没有发布它。)参数值越大,模型越准确。参数大小越大,表示模型使用大量语料库进行训练,从而得到更准确、更可靠的响应。与 Llama 1 不同,Llama 2 提供了对话增强版本的 Llama-Chat 和代码增强版本 Code Llama,供开发者和研究人员使用。

  • 技术细节

https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/?trk=cndc-detail

Llama 2 模型是根据各种公开的在线数据进行训练的,训练数据较 Llama 1 扩大了 40%,达到 2 万亿个 token,并且可处理的上下文长度增倍,达到 4096 个 token。整体 finetuning 过程使用了 1 百万人工标记数据。

image.png

Llama 3 于 2024 年 4 月 18 日正式发布,目前提供 8B 和 70B 两个版本,8k 上下文长度。在定制的 24k GPU 集群上使用 15 万亿个 broken 进行训练。并在计划未来几个月推出更多版本。其实今年 1 月,Meta CEO 马克·扎克伯格在 Instagram 视频中宣布,Meta AI 已经开始训练 Llama 3。

image.png

在 Instagram 视频中,小扎就表示,预计到 2024 年底,Meta 将拥有 350000 块英伟达 H100,算上其他算力资源将达到近 600000 块 H100。言下之意,Meta 有足够的 AI 算力资源来支持 Llama 3 的大规模预训练以及生成式 AI 的技术研究。如今大模型普遍转向多模态大模型的研究,Meta 也不例外。小扎虽然只确认 Llama 3 和 Llama 2 一样将包含代码生成功能,并没有明确提及其他多模式功能,不过他在官宣视频谈到了人工智能与元宇宙相结合的设想,再加上这次 Llama 3 发布时 Meta 曾表示,最终的 Llama 3 模型是多模态的。大胆猜测,有了元宇宙领域的丰厚积累,Meta 的 AI 模型同时具备自然语言理解、视觉和听觉能力指日可待。Meta 的目标还在于使模型具有更大的“上下文窗口”,这意味着可以为它们提供充足的数据进行分析或汇总。(事实证明,更大的上下文窗口可以降低模型的幻觉率,或者降低模型根据提示输出不准确信息的频率。)根据 Meta 的说法,Llama 3 也将改进推理和编码能力。

总之,我理解这是两个较小的版本,更准确地说,Meta 在其新的 Llama 3 系列中首次亮相了两款模型,其余的将在未来日期上市。

虽然只是最初的两个版本,但 Meta 指出,与上一个版本 Llama 2 相比,Llama 3 在性能方面是“重大飞跃”。Meta 表示,后期训练程序的改进大大降低了错误拒绝率,提高了对齐度,并增加了模型响应的多样性。同时,Llama 3 在推理、代码生成和指令跟踪等能力也有了很大提高,这使得 Llama 3 的可操控性更强。就各自的参数数量而言,在两个定制的 24,000 个 GPU 集群上训练的 Llama 3 8B 和 Llama 3 70B 是当今性能最好的生成人工智能模型之一。

听起来起来不错,那让我们一起看一下 Llama 3 在人工智能 benchmark 的分数,例如 MMLU(试图衡量知识)、ARC(试图衡量技能习得)和 DROP(在大块文本上测试模型的推理)。

image.png

image.png

 图片来源:https://ai.meta.com/blog/meta-llama-3/

Llama 3 8B 在至少九个基准测试中击败了其他开放模型,例如 Mistral 的 Mistral 7B 和 Google 的 Gemma 7B,这两个模型都包含 70 亿参数:MMLU、ARC、DROP、GPQA(一组与生物、物理和化学相关的问题)、HumanEval(代码生成测试)、GSM-8K(数学单词问题)、math(另一个数学基准)、AgieVal(一组与生物、物理和化学相关的问题)、HumanEval(代码生成测试)、和 Big-Bench Hard(常识性推理评估)。现在,Mistral 7B 和 Gemma 7B 并不完全处于前沿(Mistral 7B 于去年 9 月发布),在 Meta 引用的一些基准测试中,Llama 3 8B 的得分仅比两者高出几个百分点。但是 Meta 声称,参数数量更大的版本 Llama 3 70B 在旗舰级别的 AI model 中具有竞争力,包括 google Gemini 系列最新版本的 Gemini 1.5 Pro。

Llama 3 70B 在 MMLU、HumanEval 和 GSM-8K 上击败了 Gemini 1.5 Pro,尽管它无法与 Anthropic 性能最高的机型 Claude 3 Opus 相提并论,但在五个基准(MMLU、GPQA、HumaneVal、GSM-8K 和 MATH)上,Llama 3 70B 的得分高于 Claude 3 系列中第二弱的模型 Claude 3 Sonnet。

Llama 的技术特点

Llama 2 和初代模型相比,仍然延续 Transformer’s decoder-only 架构,仍然使用 Pre-normalization、SwiGLU 激活函数、旋转嵌入编码(RoPE),区别仅在于前述的 40%↑ 的训练数据、更长的上下文和分组查询注意力机制(GQA, Grouped-Query Attention)。

06f2d0a9f3abc0b62ce6c1e19ecd55f1.png

Group-Query Attention

引入 GQA 的主要目的是提升推理速度,这种注意力机制由 transformer 的 Multi-head Attention 简化而来,再辅以 KV cache 的 checkpoint 机制进一步提速。

5d2b8ae4176f20422828372bb5f872aa.png

如上图:

  • 左边是 transformer 原始的 Multi-head Attention,它有 H 个 query,key,value,即每个 query 单独配一个 key 和 value。
  • 右边是其他研究者提出的 Multi-query Attention,它在多个 query 共享同一个 key 和 value。
  • 中间则是折中的 Grouped-query Attention,它将 query 进行了分组,仅在组内共享同一个 key 和 value。

具体而言,Llama 2 使用了 8 组 KV 映射,即 GQA-8,实测效果上接近 MHA,推理速度上接近 MQA,尽可能做到了效果和速度兼得。

a3ce537ce50f20213eb5dd7e2a664ad6.png

3a3671438d6beb37fb88b763539aa0f7.png

Llama-chat 训练流程

3d302015afe5201d339ebff1bd661a8b.png

原技术论文详细的介绍了 Llama-chat 的训练流程。总结下来包括以下:

  1. 自监督预训练

  2. 监督精调

  3. RLHF

    a. 自人类偏好数据集中训练 2 个奖励模型,分别是 Safety Reward Model 和 Helpful Reward Model,一个用于对人类偏好进行奖励建模,一个对安全合规进行奖励建模。

    b. 先使用 Helpful Reward 模型进行 RLHF,基于 Rejection Sampling 和 PPO。

    c. 在 helpful 的基础上进一步提升安全性,使用 Safety Reward Model 进行 RLHF,也是基于 Reject Sampling 和 PPO,实验证明,Safety RLHF 能在不损害 helpfulness 的前提下有更好的长尾 safety 棒性。

  • 原技术论文
    https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/?trk=cndc-detail

重要的细节上:

  1. PPO(Proximal Policy Optimization),即标准的 RLHF 使用的方法。
  2. Rejection Sampling fine-tuning(拒绝采样微调):采样模型的 k 个输出,并选择奖励模型认为最好的样本作为输出进行梯度更新。

两种 RL 算法的区别是:

  • 广度上:PPO 仅进行一次生成;Reject Sampling 会生成 k 个样本,从中选取奖励最大化的样本。
  • 深度上:PPO 的第 t 步训练过程的样本是 t-1 步更新的模型策略函数;Reject Sampling 的训练过程相当于对模型当前策略下的所有输出进行采样,相当于是构建了一个新的数据集,然后在进行类似于 SFT 的微调。

Meta 仅在最大的 Llama 2 70B 使用了 Reject Sampling,其余模型仅使用了 PPO。

Code-Llama

2023 年 8 月 24 日,Meta 推出了面向代码的可商用代码大模型 Code Llama,包括 7B/13B/34B,支持多种编程语言,包括 Python、C++、Java、PHP、Typescript (Javascript)、C# 和 Bash。2024 年 1 月 9 日推出了更大、性能更好的 Code Llama 70B。

与之前发布的 Code Llama 模型一样,有三个版本,均可免费用于研究和商业用途:

  • CodeLlama 70B,基础代码模型;
  • CodeLlama 70B Python,专门用于 Python 的 70B;
  • 以及 Code Llama 70B Instruct 70B,它针对理解自然语言指令进行了微调。

4764a7ef5c7bc24ce78e393009a79a07.jpg

训练流程如图:

067a183fdc50eedcd09229b738cc8ee5.png

如图所示,包含 3 个分支模型,每个分支模型的第一步都是使用 500B 的 token 进行 Code Training 和 Infilling code training:

  1. Code Llama-Python(面向 python 语言的代码模型),第一步之后先用 100B token 的 python 代码进行训练,然后再使用 20B 的 token 在长上下文的场景上进行 finetuning 得到最终模型。
  2. Code Llama(通用代码模型),第一步之后使用 20B 的 token 在长上下文的场景上进行 finetuning 得到最终模型。
  3. Code Llama-Instruct(面向对话的代码模型),第一步之后同 Code Llama 使用 20B 的 token 在长上下文的场景上进行 finetuning,然后再在 5B 的 token 上进行指令精调。

参考白皮书,它的训练集详情如下:

433281ad42464af77559a17bfc4811e7.png

细节上:

  1. Code Training 即使用代码数据进行训练。

  2. Code Infilling 值得是根据代码上下文预测残缺的代码部分,仅针对代码文本进行挖空预测,方法与 Bert 的挖空预测类似:

    a. 从完整的代码中选择一部分进行掩码(mask)并替换为符号,构成上下文作为输入。

    b. 然后采用自回归的方式对 mask 进行预测。

模型效果对比上:

神秘的 unnatural 版本在 HumanEval 的 pass@1 上领先 GPT-3,接近于 GPT-4(5% 左右差距),其余部分明显领先 PaLM 系列和 StarCoder 系列模型:

32a79d52f65e276b52dba02b6240a2a5.png

  • 白皮书
    https://ai.meta.com/research/publications/code-llama-open-foundation-models-for-code/?trk=cndc-detail

由于 Llama 3 家族成员还没有全部面世,因此 Llama 3 详细的技术白皮书也会迟一些发布。根据 Meta 提供的技术博客来看,Llama 3 做了几项关键改进:

模型架构

Llama 3 选择了一个相对标准的纯解码器 Transformer 架构。相比 Llama 2 的改进之处有:Llama 3 使用一个包含 128K tokens 的分词器,可以更有效地编码语言,从而显著提高模型性能;在 8B 和 70B 两种规模上都采用了分组查询注意力(GQA)机制来提高模型推理效率;同时在 8192 个 tokens 的序列上训练模型,使用掩码确保自注意力不会跨越文档边界。

训练数据

Meta 认为训练出最佳 LLM 的关键是要整理一个大型高质量训练数据集,为此他们投入了大量资源:Llama 3 在超过 15 万亿个公开可用来源的 token 上进行了预训练,比训练 Llama 2 时的数据集足足大 7 倍,代码量是 Llama 2 的 4 倍。其中超过 5% 来自高质量非英语数据,总共涵盖了 30 多种语言,以为即将到来的多语言使用场景做准备。

Llama 3 团队开发了一系列数据过滤管道来保证数据质量。他们还进行了大量实验,来评估在最终预训练数据集中混合不同来源数据的最佳方式,以此来选择一个包括 STEM、编码、历史知识等等数据类别的最优数据组合,确保 Llama 3 在各种使用场景中表现良好。

扩大预训练规模

为了更有效利用预训练数据,Meta 针对下游基准评估开发了一系列详细的扩展法则,在实际训练模型之前就能预测最大模型在关键任务上的性能,来确保最终模型在各种使用场景和能力上都有出色的表现。

在 Llama 3 的开发过程中,团队也对扩展行为有了一些新的观察。例如,尽管一个 8B 参数模型对应的最佳训练计算量是 200B 个 tokens,但他们的 8B 和 70B 参数模型在接受高达 15 万亿个 token 训练后,性能仍然呈对数线性提高。

Meta 结合了三种并行化方式:数据并行、模型并行和管道并行,来训练最大的 Llama 3 模型。最高效地实现在同时使用 16K 个 GPU 训练时,每个 GPU 的计算利用率超过 400 TFLOPS。他们还开发了一个先进的新训练堆栈,可以自动进行错误检测、处理和维护,并进行了一系列硬件和可扩展存储系统的改进。最终使总体有效训练时间超过 95%,与 Llama 2 相比训练效率提升了约 3 倍。

指令微调方法创新

为了在聊天场景中充分释放预训练模型的潜力,Meta 也在指令微调方法上进行了创新。后训练方法采用监督微调(SFT)、拒绝采样、邻近策略优化(PPO)和直接策略优化(DPO)的组合。在模型质量上的最大改进来自于仔细整理的训练数据,并对人工标注人员提供的标注进行多轮质量保证。

通过 PPO 和 DPO 从偏好排序中学习,也大大提高了 Llama 3 在推理和编码任务上的性能。团队发现,当你问模型一个它难以回答的推理问题时,模型会产生正确的推理轨迹:知道如何得出正确答案,但不知道如何选择它。通过在偏好排序上进行训练,模型就能学会如何去选择正确答案。

如何在 Amazon Web Service 上运行 Llama AI 模型

在亚马逊云科技提供的 Amazon Bedrock 上轻松调用 Llama 2。

676704d1bcd3dede7c0ba026d26626b7.png

Amazon Bedrock 控制台页面

Amazon Bedrock 提供了一个单一的 API 接口,可连接各种先进的人工智能模型,例如 AI21 Labs、Anthropic、Cohere、Meta、Stability AI、Amazon 以及现在的 Mistral AI。

  • Amazon Bedrock
    Build Generative AI Applications with Foundation Models - Amazon Bedrock - AWS

要在 Amazon Web Services 账户中访问这些模型,需要执行以下操作:

  • 在 Amazon Web Services console 中导航进入到 Amazon Bedrock 页面。Claude 模型已在俄勒冈州上线,因此确认选择“us-west-2”地区。(更多地区即将推出,请检查其他地区是否支持。)
  • 展开左侧的菜单,向下滚动并选择“Model access(模型访问权限)”。

45374c9c4206dcbe1ea54147cf194e47.png


Amazon Bedrock Console Page-Menu

  • 选择橙色的“Manage model acess/管理模型访问权限”按钮,然后向下滚动以查看新的 Meta AI 模型。点击你需要模型旁边的复选框,然后单击“save change/保存更改”。

9d8db6b1846423186c14876f3f72793c.png


Amazon Bedrock-Model Access

您现在可以访问模型了!前往 Amazon Bedrock text playground,通过 prompt 开始你的体验。需要代码实现时,可以参考 Amazon SDK 代码示例。

  • Amazon SDK 代码示例
    Invoke the Mistral 7B model on Amazon Bedrock for text generation - AWS SDK Code Examples

Amazon SageMaker JumpStart 现在已经对 Meta Llama 3 提供支持

现在可以通过 SageMaker Studio UI 中的 SageMaker JumpStart 和 SageMaker Python SDK 访问基础模型。

SageMaker Studio 是一个集成开发环境(IDE),它提供了一个基于 Web 的可视化界面,可以访问专用工具来执行从准备数据到构建、训练和部署 ML 模型的所有 ML 开发步骤。有关如何开始和设置 SageMaker Studio 的详细信息,请参阅 Amazon SageMaker Studio。

在 SageMaker Studio 中,可以访问预建和自动解决方案下的 SageMaker JumpStart,其中包含预训练模型、笔记本和预建解决方案。具体的部署步骤参看博客。

Happy Prompt!

文章引用:

  • https://juejin.cn/post/7303386068606386215?trk=cndc-detail
  • https://ai.meta.com/?trk=cndc-detail
  • Microsoft News

作者郑予彬

亚马逊云科技资深开发者布道师,软件工程硕士,超过 20 年 ICT 行业和数字化转型实践积累。现任亚马逊云科技资深开发者布道师,专注于云原生、云安全以及生成式 AI 的技术内容创建及推广。亚马逊云科技首位专注于开发者的女性技术布道者,活跃在全球中文开发者社区。18 年的架构师经验,专注为金融、教育、制造以及世界 500 强企业客户提供数据中心建设,软件定义数据中心等解决方案的咨询及技术落地。

 文章来源:有趣的大模型之我见 | Llama AI Model

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

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

相关文章

20 | 幻读是什么,幻读有什么问题?

幻读是什么? 假设的场景,不是真实的结果 幻读”做一个说明: 在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此,幻读在“当前读”下才会出现。上面 session B 的修改结果,被 session A 之后的 select语句用“当前读”看到,不能称为幻读…

iview 自定义项求和的方法和错误点

这是iview自定义某几项参数合计的方法,其实是蛮简单的,很多人自定义合计的时候,老是会不知道怎么处理除了需要合计的几项的其他项,其实不需要管,不需要合计的项直接返回空就好了,需要的就在计算的里面做key…

ThreeJs模拟工厂生产过程八

这节算是给这个车间场景收个尾,等了几天并没有人发设备模型给我,只能自己找了一个凑合用了。加载模型之前,首先要把货架上的料箱合并,以防加载模型之后因模型数量多出现卡顿,方法和之前介绍的合并传送带方法相同&#…

【HTTP协议】了解http需要学习哪些内容

HTTP(Hypertext Transfer Protocol)是超文本传输协议,互联网上应用最广泛的一种协议,它负责在客户端和服务器之间传输数据。本文将从HTTP协议的基本原理、请求-响应模型、常见特性以及应用场景等方面进行总结。 1. HTTP基本原理 …

react 基于qrcode.react生成颜色不同 , 样式不同的二维码

实现效果: 1 首先在react中 , 导入下载qrcode.react npm install qrcode.react2 在react中导入使用 , 并导入ui样式 import QRcode1 from /assets/images/QRcode1.png import QRcode2 from /assets/images/QRcode2.png import QRcode3 from /assets/images/QRcode3.png impo…

Qt客服端开发的组件库

Qt 是一个功能丰富的跨平台 C 应用程序框架,它包含了许多用于不同目的的组件库。以下是一些主要的 Qt 组件库,这些库为开发者提供了广泛的工具和功能,以便构建复杂的应用程序。北京木奇移动技术有限公司,专业的软件外包开发公司&a…

二、再识VUE-MVVM

一、初识VUE 二、再识VUE-MVVM 三、VUE数据代理 MVVM Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来。实际的 DOM 封装和输出格式都被抽象为了 Directives 和 Filters。 ViewModel 一个同步 Model 和 View 的对象。在 Vue.js…

综合性练习(后端代码练习1)——加法计算器

目录 一、准备工作 二、约定前后端交互接口 1、概念介绍 2、需求分析 3、接口定义 请求参数 响应数据 三、服务器代码 四、前端页面代码 五、运行测试 遇到问题如何解决? 需求:输入两个整数,点击 “点击相加” 按钮,显…

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密数据恢复流程

网络技术的不断应用与发展,为企业的生产运营带来了极大便利,越来越多的企业依赖网络开展各项工作业务,网络也大大提升了企业的生产运营效率,但网络是一把双刃剑,在为企业提供便利的同时,也为企业的数据安全…

M2 Mac mini跑Llama3

前言 在4-19左右,Meta 宣布正式推出下一代开源大语言模型 Llama 3;共包括 80 亿和 700 亿参数两种版本,号称 “是 Llama 2 的重大飞跃”,并为这些规模的 LLM 确立了新的标准。实际上笔者早就体验过,只不过自己电脑没什…

238 基于matlab的水平轰炸弹道的求解

基于matlab的水平轰炸弹道的求解,列出轰炸弹道方程组并利用龙格库塔法解算弹道方程。设计中包含了二维弹道与三维弹道的计算,并都绘制了弹道运动轨迹,最终还将整个题目集中在一个图形用户界面(GUI)上。程序已调通&…

Upload-labs 靶场通关解析(上)

前言 文件上传漏洞是一种常见的网络安全漏洞,存在于许多Web应用程序中。攻击者利用这个漏洞可以上传恶意文件到目标服务器,从而执行各种恶意操作,如执行恶意代码、获取敏感信息、控制服务器等。 文件上传漏洞的原理是,Web应用程…

Llama 3 ——开源大模型Llama 3从概念到使用

概述 Meta公司自豪地宣布推出其最新的开源大型语言模型——Llama 3,这是一款专为未来AI挑战而设计的先进工具。Llama 3包含两个不同参数规模的版本,以满足多样化的计算需求: 8B版本:优化了在消费级GPU上的部署和开发流程&#xf…

【设计模式】抽象工厂模式(Abstract Factory Pattern)

目录标题 抽象工厂设计模式详解1. 介绍2. 结构3. 实现步骤3.1 创建抽象产品接口3.2 创建具体产品类3.3 创建抽象工厂接口3.4 创建具体工厂类 4. 好处与优点5. 坏处与缺点6. 适用场景7. 总结 抽象工厂设计模式详解 1. 介绍 抽象工厂模式是一种创建型设计模式,它提供…

学生管理系统[Python语言]

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 学生管理系统是计算机专业最基础的一个作业&#…

算法设计优化——起泡排序

文章目录 0.概述1 起泡排序(基础版)1.1 算法分析1.2 算法实现1.3 重复元素与稳定性1.4 复杂度分析 2 起泡排序(改进版)2.1 目标2.2 改进思路2.3 实现2.4 复杂度分析 3 起泡排序(改进版2)3.1 目标3.1 改进思…

edge 入门基础了解使用

随着Windows 11的发布,Microsoft Edge也迎来了新的更新和改进。作为一名长期使用Edge的用户,我不仅注意到了这些表面的变化,还深入研究了Edge在Windows 11上的新特性和潜在优势。 快捷方式 查找框 在Microsoft Edge浏览器中,按…

智能穿戴终端设备安卓主板方案_MTK平台智能手表PCBA定制开发

新移科技智能手表方案兼容WiFi、BLE、2~5G等多种通信能力。支持多个功能模块,包括:通话、计步、定位、睡眠监测、心率监测、血氧监测等。智能手表通过滑动与功能性按键提供高度直观的体验感受,从腕间即可掌控日常生活。形态支持定制包括&…

MySQL从入门到高级 --- 4.约束

文章目录 第四章:4.MySQL约束4.1 主键约束4.1.1 添加单列主键4.1.2 添加多列主键(联合主键)4.1.3 通过修改表结构添加主键4.1.4 删除主键约束4.1.5 自增长约束特点 4.1.6 指定自增字段初始值 - 创建表时指定4.1.7 指定自增字段初始值 - 创建表之后4.1.8 delete与tru…

洞察未来:数据治理中的数据架构新思维

随着大数据时代的来临,数据已经成为企业运营和社会发展的重要资产。然而,数据的复杂性和快速增长给企业带来了前所未有的挑战。在这样的背景下,数据治理成为了企业不可或缺的一环。数据治理不仅涉及数据的管理、安全和隐私保护,更…