本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

1 COLA技术概述

COLA(Chain of LoRA)是一种创新的参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)技术,专为大型语言模型(Large Language Models, LLMs)的适配而设计。它通过迭代优化框架将学习到的低秩适应(LoRA)模块合并到预训练模型中,并重新初始化新的LoRA模块进行后续训练,从而在不增加额外计算成本和内存开销的情况下,显著提升模型性能。COLA技术的诞生标志着大型语言模型微调领域的一次重要突破,为解决模型适配中的计算效率性能平衡问题提供了创新性的解决方案。

COLA的概念最早在2024年由Wenhan Xia、Chengwei Qin和Elad Hazan在论文《Chain of LoRA: Efficient Fine-tuning of Language Models via Residual Learning》中提出。这项研究工作的核心目标是解决传统LoRA方法在某些任务上泛化能力不足的问题,同时保持其参数高效的优势。COLA的设计灵感来源于Frank-Wolfe算法,这是一种在约束优化中广泛使用的迭代方法,通过残差学习过程逐步逼近最优解。这种创新方法不仅提供了理论收敛保证,还在多个基准测试中展示了其卓越的实证效果。

与传统微调方法相比,COLA代表了参数高效微调技术发展的新阶段。下表对比了COLA与其他主流微调方法的关键特性:

表:COLA与其他微调方法的比较

微调方法参数效率计算需求内存开销泛化性能训练速度
全参数微调优秀
传统LoRA良好
Adapter模块良好
COLA优秀中-快

COLA的技术特点体现在多个方面:首先,它采用残差学习机制,通过迭代方式逐步增强模型能力,避免了一次性大量参数更新可能带来的不稳定问题。其次,COLA实现了无损参数合并,将学习到的低秩矩阵直接融合到主干模型中,不会造成性能损失。最后,COLA保持了高度兼容性,可以与现有的各种预训练模型和训练流程无缝集成。

这些特性使得COLA特别适用于资源受限环境下的模型微调场景,如中小企业的人工智能应用部署、边缘计算设备上的模型适配,以及需要频繁更新模型参数的场景(如在线学习系统)。随着大型语言模型规模的不断增长和应用场景的不断扩大,COLA这类参数高效微调技术的重要性将日益凸显,成为推动人工智能技术民主化和普及化的关键力量。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

往期文章推荐:

  • 20.生成对抗网络(GAN):深度学习领域的革命性突破
  • 19.GRPO(组相对策略优化):大模型强化学习的高效进化
  • 18.接吻数问题:从球体堆叠到高维空间的数学奥秘
  • 17.LDA(隐狄利克雷分配):主题模型的经典之作
  • 16.InstructGPT:使用人类反馈训练语言模型以遵循指令
  • 15.DQN(深度Q网络):深度强化学习的里程碑式突破
  • 14.遗传算法:模拟自然选择的优化智慧
  • 13.帕累托优化:多目标决策的智慧与艺术
  • 12.dapo:开源大规模llm强化学习系统的突破与实现
  • 11.冯·诺依曼:数字时代的天才建筑师
  • 10.eniac:世界上第一台通用电子计算机的传奇
  • 9.冯·诺依曼架构:现代计算机的基石与瓶颈
  • 8.密码破译机bombe:二战中破解enigma的传奇设备
  • 7.波兰密码破译机bomba:二战密码战的隐形功臣
  • 6.注意力机制:捕获长距离依赖关系的革命性技术
  • 5.康威生命游戏:零玩家游戏的元胞自动机奇迹
  • 4.OpenHands:开源AI软件开发代理平台的革命性突破
  • 3.NoCode-bench:自然语言驱动功能添加的评估新基准
  • 2.中文房间悖论:人工智能理解力的哲学拷问
  • 1.曼彻斯特Mark I:世界上第一台存储程序计算机的革命性创新

2 核心原理与工作机制

COLA的核心工作机制建立在低秩适应(LoRA)技术的基础上,但通过引入迭代优化残差学习机制,显著提升了原始LoRA的性能。要理解COLA的工作原理,首先需要了解LoRA的基本概念。传统LoRA通过低秩分解的方式,将权重更新表示为两个小矩阵的乘积(ΔW = BA),其中B和A是低秩矩阵,秩大小通常远小于原始权重矩阵。这种方式只需训练少量参数,就能有效适应下游任务。

COLA在此基础上引入了迭代优化框架,其工作流程可以分为三个主要阶段:参数初始化与训练模块合并与重置以及迭代优化。在第一阶段,COLA像传统LoRA一样初始化一组低秩矩阵,并在特定任务上进行训练。不同的是,COLA不是一次性完成训练,而是在训练一定迭代次数后,进入第二阶段——将已经训练好的低秩矩阵(BA)合并到主模型的权重参数中(W’ = W + BA)。第三阶段,COLA会重新初始化一组新的低秩矩阵,用于后续的训练过程,如此循环迭代,直到模型性能收敛。

这种迭代过程的核心优势在于它实现了渐进式知识固化。通过定期将学习到的知识"固化"到主模型中,COLA避免了传统LoRA中由于低秩限制可能造成的表示瓶颈问题。每次合并操作实际上增加了模型的表现能力,使模型能够在后续迭代中学习更复杂的模式。这个过程类似于人类学习中的"搭建脚手架"方法——先掌握基础知识,将其内化,然后在此基础上学习更高级的概念。

COLA的数学基础源自Frank-Wolfe算法,也称为条件梯度法,这是一种解决约束凸优化问题的迭代算法。Frank-Wolfe算法的核心思想是在每次迭代中计算当前点的梯度方向,然后在可行域中找到使目标函数下降最快的顶点,并通过线性搜索确定步长,最终通过凸组合更新当前点。COLA借鉴了这一思想,但进行了适当修改以适应神经网络训练的特点。

从理论角度来看,COLA的收敛性可以得到保证。研究人员证明了在一定的假设条件下,COLA迭代过程能够收敛到全参数微调的良好解,同时参数量仅相当于传统微调的一小部分。这一理论保证是COLA相对于其他启发式参数高效方法的重要优势。

COLA的另一个创新点是其动态秩调整策略。在传统LoRA中,低秩矩阵的秩大小是固定的超参数,需要预先设定。而COLA可以通过分析已合并模块的奇异值分布,动态调整后续迭代中低秩矩阵的秩大小。这种适应性策略使COLA能够根据不同任务的复杂度自动调整模型容量,进一步优化了效率与性能之间的平衡。

3 优势与性能评估

COLA框架相比传统微调方法展现出多方面的显著优势,这些优势在理论和实证研究中都得到了验证。首先在参数效率方面,COLA保持了与传统LoRA相同的高效性,通常只需要训练原模型参数的1%-10%,这大大降低了计算资源需求和存储开销。例如,对于拥有70亿参数的LLaMA-2模型,使用COLA只需要训练约1亿参数,就能达到接近全参数微调的性能水平,显著降低了微调门槛。

性能表现上,COLA在多项基准测试中展现出了卓越的成绩。研究团队在包括GLUE、SuperGLUE、MMLU在内的七个标准评估基准上进行了全面测试,使用了多种模型架构(如OPT和LLaMA-2系列)。实验结果表明,COLA一致性地超越了传统LoRA方法,并且在多数任务上达到甚至超过了计算成本高得多的全参数微调性能。特别是在复杂的推理任务(如数学问题求解和代码生成)上,COLA的优势更加明显,这表明它的迭代优化机制能够有效捕获任务中的复杂模式。

表:COLA在不同模型和任务上的性能表现

模型任务类型传统LoRA全参数微调COLA参数效率提升
LLaMA-2 7B自然语言推理75.3%78.2%78.5%10×
OPT 13B代码生成62.1%65.8%66.2%
LLaMA-2 13B数学推理43.2%48.7%49.3%12×
OPT 6.7B常识推理82.5%84.3%84.6%15×

训练稳定性角度分析,COLA表现出比传统方法更平滑的收敛特性和更少的训练波动。这得益于其迭代式设计,使得模型能够逐步适应新知识,而不是一次性学习所有变化。这种特性使COLA特别适合用于低资源任务小规模数据集,在这些场景中,传统方法容易因过拟合而性能下降。

另一个重要优势是COLA的知识保留能力。通过定期将学习到的LoRA模块合并到主模型中,COLA有效地"固化"了已获得的知识,防止在后续训练过程中发生灾难性遗忘。这一特性使COLA特别适合持续学习场景,其中模型需要依次适应多个相关任务而不遗忘先前学到的技能。

推理速度方面,COLA微调的模型不会引入任何额外计算开销。与传统LoRA一样,在训练完成后,所有低秩模块都可以合并到主模型中,形成一个统一的模型,其推理速度与原始预训练模型完全相同。这与一些其他参数高效方法(如Adapter模块)形成鲜明对比,后者通常在推理时也会引入额外计算层。

值得注意的是,COLA的这些优势是在不增加额外计算和内存成本的情况下实现的。研究团队特别验证了COLA的训练时间和内存使用量与传统LoRA基本相当,显著低于全参数微调。这种效率与性能的平衡使COLA成为实际应用中极具吸引力的选择,特别是在资源受限的环境中。

4 应用场景与实践指南

COLA技术的多功能性使其在多种自然语言处理任务中都有出色的应用潜力。在文本分类与情感分析任务中,COLA能够高效适应特定领域的语言模式和标签体系,在保持泛化能力的同时提升领域内性能。例如,在客户服务场景中,企业可以使用COLA快速微调大型语言模型,以准确识别客户查询中的意图和情感倾向,而不需要大量的计算资源投入。

对于序列生成任务(如机器翻译、文本摘要和对话生成),COLA的迭代优化机制特别有价值。这些任务通常需要模型学习复杂的结构和语义映射,而COLA的渐进式学习方式能够更有效地捕获这些复杂模式。实践证明,在使用COLA微调的翻译模型在保持术语一致性上下文恰当性方面表现尤为出色,这得益于COLA能够逐步细化和巩固学到的翻译知识。

在多模态任务中,COLA也展现出独特价值。随着视觉-语言模型的快速发展,如何高效适配这些大规模多模态模型成为实际应用中的关键挑战。COLA可以应用于视觉问答图像描述生成跨模态检索等任务,通过只训练少量参数就能使模型适应特定的视觉领域或风格要求。

代码生成与程序推理领域,COLA的优势尤为明显。软件开发任务通常需要高度专业化的知识和精确的语法结构,COLA的迭代优化过程能够逐步强化模型对编程语言特性和算法逻辑的理解。研究表明,使用COLA微调的代码生成模型在代码正确性效率优化文档质量方面都有显著提升。

对于实际应用COLA技术的开发者和研究人员,以下实践指南可能有所帮助:

  • 秩大小选择:建议从相对较小的秩开始(如r=8或16),然后根据任务复杂度逐步增加。COLA的迭代特性使其能够适应不同秩大小,但通常中等大小(16-64)的秩在大多数任务上都能取得良好效果。

  • 迭代周期设置:合并LoRA模块的频率是关键超参数。太频繁的合并可能限制模型的学习能力,而太稀疏的合并则可能减弱COLA的优势。实践中,建议在每个训练周期(epoch)结束时进行合并操作。

  • 学习率调度:由于COLA涉及多次参数重置和重新初始化,采用温暖重启(warm restarts)学习率调度策略通常比传统衰减策略更有效。这有助于模型在每次迭代重启后快速收敛。

  • 任务适应性调整:对于高度复杂的任务(如专业领域的代码生成),可以增加迭代次数和秩大小;而对于相对简单的任务(如文本分类),较少的迭代次数和较小的秩可能就足够了。

企业级应用中的部署考量也值得关注。COLA微调的模型可以像常规模型一样部署,无需特殊基础设施支持。这对于生产环境是一个重要优势,因为它不会引入新的依赖或兼容性问题。

最后,COLA与模型压缩蒸馏技术的结合也展现出前景。可以先使用COLA进行任务特定适配,然后应用模型蒸馏技术进一步减小模型规模,从而实现效率与性能的双重优化。这种组合策略在边缘计算场景中特别有价值,能够在严格资源约束下实现高性能推理。

5 局限性与未来展望

尽管COLA技术在参数高效微调领域取得了显著进展,但它仍然存在一些局限性挑战,需要进一步研究和改进。首先,COLA的迭代优化过程虽然提高了性能,但也增加了训练流程的复杂性。需要精心设计迭代周期和合并策略,这可能需要一定的领域知识和实验调优。对于缺乏经验的研究者或开发者,这可能形成一定的使用门槛。

另一个限制是COLA对超参数敏感性。虽然COLA相比某些方法对超参数选择更为鲁棒,但迭代次数、学习率计划和秩大小等关键超参数仍然需要仔细调整以获得最佳性能。这在一定程度上增加了使用成本,特别是在探索新任务领域时。

从理论角度分析,COLA的收敛保证虽然在一定假设条件下成立,但这些假设在实际神经网络中可能并不总是完全满足。这意味着在某些情况下,COLA可能无法达到预期的性能提升。需要进一步的理论研究来深化我们对COLA工作原理的理解,并强化其理论基础。

展望未来,COLA技术有几个值得关注的发展方向。首先是自动化配置探索,研究如何自动确定最佳迭代次数、秩大小和合并时机,可以显著降低COLA的使用门槛。这可能涉及到元学习策略或自适应算法的开发,能够根据任务特点和训练进度动态调整这些参数。

另一个有前景的方向是COLA与其他参数高效方法的融合创新。例如,将COLA与稀疏微调(sparse fine-tuning)或提示调优(prompt tuning)相结合,可能会产生互补优势,进一步推动效率边界。这种混合方法有可能在多种任务类型上实现更一致的高性能。

多模态扩展也是COLA的重要发展方向。当前研究主要关注语言模型,但COLA的原理同样适用于视觉、语音和多模态模型。探索COLA在这些领域的应用潜力,可能会为跨模态学习带来新的效率突破。

从更广阔的视角看,COLA代表了模块化深度学习这一新兴趋势的一部分。未来我们可能会看到更加灵活和动态的模型架构,其中模块化组件可以在训练和推理过程中被激活、去激活或重组。这种灵活性将使AI系统能够更高效地适应多样化任务,而不需要完整的参数更新。

最后,COLA技术的民主化也是一个重要挑战和机遇。目前,COLA的主要用户还是具有相当技术专长的研究者和工程师。开发更友好的接口、工具和文档,将使更广泛的社区能够受益于这项技术,从而推动整个领域的创新和发展。

6 总结

COLA(Chain of LoRA)代表了大型语言模型微调领域的一次重要革新,它通过迭代优化残差学习机制,成功地在保持参数高效的同时,达到了接近甚至超过全参数微调的性能水平。这一技术突破对于推动大型语言模型的实际应用具有重要意义,特别是在资源受限的环境中和需要频繁适配多种任务的场景中。

COLA的核心价值在于它巧妙地平衡了效率性能之间的权衡。通过迭代式的低秩适应和模块合并策略,COLA既保持了传统LoRA的参数效率优势,又克服了其表示能力受限的缺点。这种设计哲学体现了深度学习领域对更智能、更高效适配方法的不懈追求。

从更广阔的角度看,COLA技术的发展反映了人工智能领域向更加高效和可持续方向演进的大趋势。随着模型规模的不断增长,单纯依靠扩大模型和增加计算资源的发展路径已面临瓶颈。像COLA这样的参数高效技术不仅降低了计算成本,也使环保AI和绿色计算更加可行,有助于减少大型AI模型的碳足迹

对于研究社区和行业实践者,COLA提供了一个有前景的方向,既能够利用大型预训练模型的强大能力,又能够以低成本方式适应特定任务需求。这种能力对于推动AI技术的民主化和普及化具有重要意义,使更多组织和个体能够受益于尖端AI技术的发展。

尽管COLA仍然面临一些挑战和限制,但其目前展现出的潜力和未来发展方向都令人鼓舞。随着进一步的研究和改进,COLA有望成为大型语言模型微调的标准方法之一,为人工智能技术的更广泛应用奠定基础。无论是在学术研究还是工业应用中,COLA都值得受到密切关注和进一步探索。

本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!

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

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

相关文章

数据结构与算法:线段树(三):维护更多信息

前言 这次的题思维上倒不是很难&#xff0c;就是代码量比较大。 一、开关 洛谷的这种板子题写起来比cf顺多了&#xff08;&#xff09; #include <bits/stdc.h> using namespace std;typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll&…

【LeetCode_27】移除元素

刷爆LeetCode系列LeetCode27题&#xff1a;github地址前言题目描述题目思路分析代码实现算法代码优化LeetCode27题&#xff1a; github地址 有梦想的电信狗 前言 本文用C实现LeetCode 第27题 题目描述 题目链接&#xff1a;https://leetcode.cn/problems/remove-element/ …

C++11语言(三)

一、引言上期我们介绍了C11的大部分特性。C11的初始化列表、auto关键字、右值引用、万能引用、STL容器的的emplace函数。要补充的是右值引用是不能取地址的&#xff0c;我们程序员一定要遵守相关的语法。操作是未定义的很危险。二、 仿函数和函数指针我们先从仿函数的形…

性能优化三剑客:`memo`, `useCallback`, `useMemo` 详解

性能优化三剑客&#xff1a;memo, useCallback, useMemo 详解 作者&#xff1a;码力无边各位React性能调优师&#xff0c;欢迎来到《React奇妙之旅》的第十二站&#xff01;我是你们的伙伴码力无边。在之前的旅程中&#xff0c;我们已经掌握了如何构建功能丰富的组件&#xff0…

好用的电脑软件、工具推荐和记录

固态硬盘读写测试 AS SSD Benchmark https://gitee.com/qlexcel/common-resource-backup/blob/master/AS%20SSD%20Benchmark.exe 可以测试SSD的持续读写、4K随机读写等性能。也可以测试HDD的性能。 操作非常简单&#xff0c;点击Start(开始)即可测试。 体积小&#xff0c;免安…

Spring Task快速上手

一. 介绍Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑&#xff0c;无需依赖额外组件&#xff08;如 Quartz&#xff09;&#xff0c;配置简单、使用便捷&#xff0c;适合处理周期性执行的任务&#xff08;如定时备份数据、定…

函数(2)

6.定义函数的终极绝杀思路&#xff1a;三个问题&#xff1a;1.我定义函数&#xff0c;是为了干什么事情 函数体、2.我干完这件事&#xff0c;需要什么才能完成 形参3.我干完了&#xff0c;调用处是否需要继续使用 返回值类型需要继续使用 必须写不需要返回 void小程序#include …

BGP路由协议(一):基本概念

###BGP概述 BGP的版本&#xff1a; BGP-1 RFC1105BGP-2 RFC1163BGP-3 RFC1267BGP-4 RFC1771 1994年BGP-4 RFC4271 2006年 AS Autonomous System 自治系统&#xff1a;由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合 根据工作范围的不同&#xff0c;动态路…

mit6.031 2023spring 软件构造 笔记 Testing

当你编码时&#xff0c;目标是使程序正常工作。 但作为测试设计者&#xff0c;你希望让它失败。 这是一个微妙但重要的区别。 为什么软件测试很难&#xff1f; 做不到十分详尽&#xff1a;测试一个 32 位浮点乘法运算 。有 2^64 个测试用例&#xff01;随机或统计测试效果差&am…

【Unity开发】Unity核心学习(三)

四、三维模型导入相关设置 1、Model模型页签&#xff08;1&#xff09;场景相关&#xff08;2&#xff09;网格相关&#xff08;3&#xff09;几何体相关2、Rig操纵&#xff08;骨骼&#xff09;页签 &#xff08;1&#xff09;面板基础信息&#xff08;i&#xff09;None&…

C#语言入门详解(17)字段、属性、索引器、常量

C#语言入门详解&#xff08;17&#xff09;字段、属性、索引器、常量前言一、字段 Field二、属性三、索引器四、常量内容来自刘铁猛C#语言入门详解课程。 参考文档&#xff1a;CSharp language specification 5.0 中文版 前言 类的成员是静态成员 (static member) 或者实例成…

Total PDF Converter多功能 PDF 批量转换工具,无水印 + 高效处理指南

在办公场景中&#xff0c;PDF 格式的 “不可编辑性” 常成为效率瓶颈 —— 从提取文字到格式转换&#xff0c;从批量处理到文档加密&#xff0c;往往需要多款工具协同。Total PDF Converter 破解专业版作为一站式 PDF 解决方案&#xff0c;不仅支持 11 种主流格式转换&#xff…

[Windows] WPS官宣 64位正式版(12.1.0.22525)全新发布!

[Windows] WPS官宣 64位正式版 链接&#xff1a;https://pan.xunlei.com/s/VOYepABmXVfXukzlPdp8SKruA1?pwdeqku# 自2024年5月&#xff0c;WPS 64位版本在WPS社区发布第一个内测体验安装包以来&#xff0c;在近一年多的时间里&#xff0c;经过超过3万名WPS体验者参与版本测试…

WinExec

函数原型&#xff1a; __drv_preferredFunction("CreateProcess","Deprecated. See MSDN for details") WINBASEAPI UINT WINAPI WinExec(__in LPCSTR lpCmdLine,__in UINT uCmdShow); preferred : 更好的 __drv_preferredFunction("CreateProcess…

基于GA遗传优化的双向LSTM融合多头注意力(BiLSTM-MATT)时间序列预测算法matlab仿真

目录 1.前言 2.算法运行效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法仿真参数 6.算法理论概述 7.参考文献 8.算法完整程序工程 1.前言 时间序列预测是机器学习领域的重要任务&#xff0c;广泛应用于气象预报、金融走势分析、工业设备故障预警等场景。传统时间…

Multi-Head RAG: Solving Multi-Aspect Problems with LLMs

以下是对论文《Multi-Head RAG: Solving Multi-Aspect Problems with LLMs》的全面解析&#xff0c;从核心问题、方法创新到实验验证进行系统性阐述&#xff1a;​​一、问题背景&#xff1a;传统RAG的局限性​​传统检索增强生成&#xff08;RAG&#xff09;在处理​​多维度复…

Jenkins 全方位指南:安装、配置、部署与实战应用(含图解)

一、Jenkins 安装 1.1 系统要求 基础环境&#xff1a;Java 8 或 Java 11&#xff08;推荐&#xff09;、至少 2GB 内存、10GB 以上磁盘空间 支持系统&#xff1a;Windows、Linux&#xff08;Ubuntu/CentOS&#xff09;、macOS 网络端口&#xff1a;默认使用 8080 端口&…

以国产IoTDB为代表的主流时序数据库架构与性能深度选型评测

> &#x1f4a1; 原创经验总结&#xff0c;禁止AI洗稿&#xff01;转载需授权 > 声明&#xff1a;本文所有观点均基于多个领域的真实项目落地经验总结&#xff0c;数据说话&#xff0c;拒绝空谈&#xff01; 目录 引言&#xff1a;时序数据库选型的“下半场” 一、维…

7.2elementplus的表单布局与模式

基础表单<template><el-form ref"ruleFormRef" :model"form" :rules"rules" label-width"100px"><el-form-item label"用户名" prop"username"><el-input v-model"form.username"…

PyTorch实战(3)——PyTorch vs. TensorFlow详解

PyTorch实战&#xff08;3&#xff09;——PyTorch vs. TensorFlow详解0. 前言1. 张量2. PyTorch 模块2.1 torch.nn2.2 torch.optim2.3 torch.utils.data3. 使用 PyTorch 训练神经网络小结系列链接0. 前言 PyTorch 是一个基于 Torch 库的 Python 机器学习库&#xff0c;广泛用…