优雅谈大模型:Python编程篇

文摘   科技   2024-08-12 09:08   上海  

庞德公

编辑郭嘉

--->更多内容,请移步“鲁班秘笈”!!<---


Python在机器学习领域的地位十分关键,虽然后面有Julia,Mojo等其他对手的挑战,然而Python拥有庞大的机器学习库和框架,尤其是生态系统比以往任何时候又强大了不少。从另外维度它和Java,Scala,Go,Rust等编程语言对比,在工程化方面还是稍欠火候。本文科普和机器学习相关Python库,而这类的使用者往往是学习从业者和数据科学家


来自Google Brain的TensorFlow仍然是最受欢迎和强大的机器学习库之一。它是开源,全面且灵活的工具库,包括庞大的社区资源生态。
  • 可扩展性:TensorFlow旨在处理大规模机器学习任务。无论是在本地计算机上训练模型,还是在云环境中的多个 GPU或TPU之间分配训练,TensorFlow 都可以无缝扩展
  • 多功能性:从神经网络和深度学习模型到传统的机器学习算法,TensorFlow都能处理。它支持各种 ML应用程序,包括自然语言处理、计算机视觉和强化学习
  • 扩展性 (TFX):TensorFlow的生态系统通过TFX得到增强,TFX为部署生产ML管道提供了一个强大的平台

PyTorch由Facebook的AI 研究实验室开发,因其动态计算图在研究人员和开发人员中广受欢迎,与基于静态图的库相比,它更易于调试且使用更直观。
  • 动态计算图:PyTorch的eager执行模式允许更直观地构建和调试模型
  • 社区和生态:PyTorch拥有强大的社区,拥有广泛的教程、论坛和活跃的工具生态系统,例如用于图像处理的TorchVision和用于简化复杂模型训练的 PyTorch Lightning。
  • 与Python集成:PyTorch与Python无缝集成


Scikit-learn是老牌机器学习的打手,它仍然是传统机器学习任务的主力,以简单性和效率而闻名,它建立在NumPy、SciPy和Matplotlib之上,为数据挖掘和数据分析提供了简单高效的工具。

Scikit-learn的主要功能包括:
  • 广泛的算法:Scikit-learn提供了一系列用于分类、回归、聚类、降维、模型选择和预处理的算法
  • 友好的API:统一且友好的API对初学者而言易于访问,同时对于经验丰富的从业者来说足够强大
  • 集成和兼容性:Scikit-learn可以轻松地与其他 Python 库集成,例如用于数据处理Pandas和用于可视化的Matplotlib,从而创建无缝的工作流


XGBoost是一个开源软件库,为C++、Java、Python、R和Julia提供度提升框架。XGBoost以其性能和准确性闻名,是机器学习爱好者的最爱:

  • 效率和速度:XGBoost专为速度和性能而设计,利用度提升的高效实现,可以轻松处理大型数据集和复杂模型
  • 灵活性:它支持各种目标函数,包括回归、分类和排名,并且还能够优雅地处理缺失值
  • 广泛采用:XGBoost在一些机器学习竞赛例如Kaggle取得不错的成绩,巩固了其作为梯度提升首选库的地位

LightGBM是Microsoft 开发的另一个梯度提升框架。它是基于分布式设计,具有以下功能:
  • 性能:LightGBM 以其高速训练和低内存使用而闻名,这使其适用于大型数据集
  • 准确性:通过结合高级功能,例如按照基于直方图的学习,它通常比其他提升算法实现更高的准确性
  • 灵活性:LightGBM支持各种损失函数,使其能够跨多个领域应用

Hugging Face Transformers是后起之秀,小编新宠。它已成为处理最先进 NLP模型库。随着大型语言模型 (LLMs) 和transformer的兴起,这个库对于 NLP 任务是必不可少的:<当然它不仅仅是一个类库,还是一个平台,各类优质开源大模型的汇聚地!>

  • 预训练模型:Hugging Face 提供对大量预训练模型库的访问,用于各种任务,例如文本分类、翻译和问答,从而减少了对大量计算资源的需求
  • 易用性:该库的用户友好型 API 使开发人员能够快速实现和微调转换器模型
  • 社区和支持:Hugging Face 拥有蓬勃发展的社区和出色的文档,使新用户可以轻松上手,经验丰富的开发人员可以轻松找到支持和资源


2024年,Python中机器学习库的前景将一如既往地充满活力和创新。TensorFlow与PyTorch仍然是深度学习领域的领导者,为研究人员和从业者提供了强大的工具。Scikit-learn和XGBoost为传统的机器学习任务提供了必要的能力,而Hugging Face Transformers和Fastai这样的专业库使得最先进的NLP和深度学习变得容易访问。


至于初学者,小编认为可以两条腿走路,一条利用pytorch或者Scikit-learn熟悉传统的机器学习基本术语和原理,另一条直接上手HuggingFace,尝试在本地运行和微调参数规模较小的(自然语言处理)模型。<这也算是对最近咨询较多的问题总结!>


鲁班号导读火热上线!!
------>敬请移步“鲁班秘笈”!<------
------>敬请移步“鲁班秘笈!<------
------>敬请移步“鲁班秘笈!<------

鲁班模锤
基于开源技术生态,跟踪与普及人工智能、隐私计算、区块链以及数据空间的最新技术。着力于数据治理自动化,依托语料库构建数据可信流通方案,为所有企业提供平等的数据增益服务。
 最新文章