Python机器学习:开发人员的护理和质量

2025-09-27 02:12:13 英文原文

作者:Thomas Serre

AI生成的代码仍然是程序员讨论的热门话题。有热情的支持者周到的反对者对于这种做法,双方都有令人信服的论点。关于AI编码的辩论与它是天生的好坏。它的价值将取决于我们如何在继续发展时使用它。

为了有效利用AI工具的力量,甚至批判性地评估它们 - 我们必须了解它们的潜在机制。随着AI发展的迅速发展,这种理解变得更加重要,尤其是在机器学习领域。因此,在深入研究AI辅助发展的实用性之前,必须掌握这些工具的基础。

这篇文章将在Python中讨论机器学习(ML),并研究应用程序开发人员在日常软件中的作用的独特注意事项不断扩展。

Techstrong Gang Youtube

从应用程序开发人员的角度来接近ML

虽然提示大型语言模型(LLM)与培训深神经网络不同,但它引入了应用程序开发人员了解ML以成功整合ML的需求。现在,人们越来越期望开发人员不仅消费和整合了AI模型,而且还可以理解其功能,局限性以及如何有效使用它们的培训。

相反,曾经主要关注笔记本中的实验模型开发的ML工程师现在面临着生产准备就绪的代码的迫切需求。这意味着他们的工作曾经隔离,现在必须是强大的,可读的,可再现的,并且很容易整合到较大的应用程序中 - 应用程序开发人员传统上拥有的领域。对部署就绪解决方案的期望提高,导致了令人着迷的融合,在这种方案中,这两个角色都受益于对对方学科的更深入的理解。这种转变反映在机器学习操作(MLOPS),将机器学习,DevOps和数据工程结合在一起,以可靠,有效地部署和维护生产中的ML模型。MLOP强调在整个ML生命周期内的自动化,连续集成/传递,监测和治理,从而弥合了实验模型开发与鲁棒应用集成之间的差距。

[标题:MLOPS作为ML的团聚,应用程序开发和共同努力的操作]

ML专注于开发算法,使系统可以从数据中学习,并在没有明确编程的情况下做出预测或决策。Python已成为大部分工作的首选语言,并且在该领域中最大的优势之一就是它的灵活性。这是一种提供庞大的图书馆和框架生态系统的语言,可满足数据预处理,模型培训,部署和学术工具。了解这些多样化的方法和工具分歧以及它们如何对更广泛的ML景观做出贡献,这是利用Python有效地用于机器学习工程的关键。

是否机器学习最终在架子上聚集灰尘,就像其他炒作技术一样,ML和AI也不会消失。这意味着人类的监督可能会继续是必要的,对代码质量和代码安全的承诺将是最重要的。了解ML的基本原理是这种监督和有效整合的关键。

机器学习到底是什么?

在很高的水平上,机器学习(ML)是人工智能(AI)的一个子集,它使系统能够从数据中学习,而无需明确的说明。ML以其核心依赖它消耗的数据的质量和数量。该数据充当了深度复杂算法的训练场,与我们在应用程序开发中经常看到的固定逻辑流不同,可以识别模式,预测并随着时间的推移调整其行为。在传统的应用程序开发中,需要有关如何解决问题的知识;ML工程专注于可以从数据学习和推广到的建筑模型弄清楚如何在不需要先验知识的情况下自行解决问题。

如何在Python应用程序开发中使用ML?

ML模型在数据集上进行了培训学习关系和模式。一旦受过培训,他们就将这些学习的模式应用于新数据以进行预测或分类。ML的主要目标是从现有数据中推断学习以执行特定的任务。这些任务通常涉及:

  • 分类:分类数据,例如垃圾邮件检测和图像识别
  • 回归:预测房价和股票市场预测等数值
  • 聚类:分组类似的数据点,例如客户细分
  • 异常检测:识别异常模式,这可能有助于欺诈检测

ML与传统的Python应用程序开发相比如何?

在传统的Python应用程序开发中,尽管数据肯定涉及,但其作用并不是学习和决策的主要驱动力。核心重点是构建功能软件应用程序 - 旨在执行各种显式任务的面向用户:

  • API开发:构建用于通信的软件的界面
  • 网络开发:创建交互式网站和Web应用程序,例如电子商务平台和内容管理系统
  • 自动化:脚本重复任务,例如数据刮擦和系统管理。
  • 数据处理:转换和管理数据,例如ETL(提取,转换,加载)管道和数据库交互
  • 桌面应用程序:开发图形用户界面(GUI),例如,实用工具和自定义业务软件

最终,传统Python应用程序开发的目标是提供坚固,可维护,可扩展和用户友好的产品,该产品始终满足预定义的业务需求。该应用程序的基本操作逻辑通常是显式的,基于规则的,并且由开发人员直接编程​​。

例如,当涉及到银行应用程序之类的内容时,您绝对希望它每次登录时都可以做完全相同的事情。因为传统应用程序以显式,不变的逻辑运行。意外的行为 - 就像您的平衡突然下降到零,无缘无故。应用程序开发人员构建了这种可预测的可靠性,因为对于试图调试它的用户和开发人员来说,不可预测的银行业务经验都是不愉快的。 

但是,可以说您的银行应用程序学习如何对购买进行分类,并根据您对购买历史的了解,它为您的预算提供了建议 - 这将是机器学习的一个例子。ML越来越多地集成到各种应用中,从而改变了我们与技术的互动方式。它的用例是多种多样且迅速扩展的,包括但不限于在流媒体平台上为推荐引擎提供动力,从而在金融服务中实现了准确的欺诈检测,促进虚拟助手的自然语言处理,优化物流和供应链,并通过图像分析增强医疗诊断。

该表总结了应用程序开发与ML工程之间的差异:

应用程序开发 ML工程
逻辑 明确编程的规则 从数据中学到的
更改 需要代码修改 使用新数据保留的模型
输出 确定性 概率,信心水平
主要技能 编程,算法,数据结构 数据科学,统计,模型优化

ML中Python代码质量和代码安全性的重要性

Python已成为数据科学家和开发人员建立和部署ML模型的主要语言。基础代码以及所有ML库和框架必须坚固且安全。确保这种潜在的力量至关重要,因为这些核心组件的质量和安全性直接影响了ML模型本身的可靠性和可信度。

ML系统以大规模有效运行,代码质量也与应用程序性能密不可分从理论上讲,模型可能是出色的,但是如果其潜在的Python代码效率低下,那么对于自动驾驶或即时医学诊断(即自主驾驶)的实时应用程序来说,它的速度太慢。效率低下的代码会导致更高的计算成本,更大的能源消耗和较慢的响应时间,这使得该技术在可能产生最深远影响的情况下是不切实际的。因此,编写高质量,优化的Python代码是使功能强大的AI模型可访问和实用的关键部分。

ML在利用数据以获得更大的利益方面起着至关重要的作用。在医学诊断中,ML模型可以分析大量数据集以检测指示癌症等疾病的模式,从而增强人类专家的力量。在这样的关键应用程序中,基础Python代码的可信度和智能至关重要。代码质量的缺陷,例如错误或漏洞,可能导致模型预测不准确或偏差结果,直接破坏这些系统的可靠性和道德应用。因此,确保强大的代码质量和严格的安全措施不仅在于防止错误或违规行为;从根本上讲,这是关于保证对人类生活有形影响的ML系统的可靠性和道德应用。换句话说,想象一下您的大脑成像数据有助于训练旨在挽救生命的癌症检测模型。如果模型的Python代码中的安全缺陷允许将您的识别信息泄漏到Dark Web中,您将非常担心。同样,您也不想被拒绝接受癌症治疗的健康保险范围,因为在同一模型的代码中存在错误或算法偏见,而没有足够的人类监督,因此错误地“决定”您的赔率不值得。这IBM Watson失败是一个古老的例子,但很好地说明了这些风险。

AI的未来和我们将训练和信任的模型取决于我们现在提出的代码质量和安全性的护栏和承诺;人工智能技术债务的损失有可能造成灾难性。一项此类事件发生在2025年7月,是一个流行的软件开发平台的AI编码代理消灭生产数据库在代码冻结期间。数据库删除发生在工程师进行实验和唱着氛围编码的赞美

[标题:科技企业家兼SaaS社区Saastr的创始人Jason Lemkin在社交媒体上发表了有关Vibe编码的文章。]

当提示删除时,AI代理会做出回应,这是我的灾难性失败。我销毁了几个月的工作。

人工智能和机器学习的人类手

创建和挥舞工具的能力从根本上是人类的特质。AI和ML代表了我们工具包的另一个令人难以置信的强大补充,它提供了改变我们与技术互动方式的功能。了解这些工具从其核心概念作为计算模型到其培训过程至关重要。就像使用所有其他工具一样,重要的是要记住,仅仅因为您有锤子,而不是所有东西都是钉子,并且锤子有能力破坏东西,就像它具有建造物品的能力一样。

本系列中的以下帖子旨在针对有兴趣探索ML的Python应用程序开发人员。希望是,当您开始为AI快速发展的景观做出贡献时,您会在维持代码质量和安全性方面进行努力,并帮助奠定基础,以仔细考虑和在这个勇敢的新世界中的道德远见。

***这是一个安全博客网络联合博客博客RSS提要托马斯·塞雷。阅读原始帖子:https://www.sonarsource.com/blog/python-machine-learning-care-equality-forpor-developers/

关于《Python机器学习:开发人员的护理和质量》的评论


暂无评论

发表评论

摘要

文章讨论了AI和机器学习(ML)在软件开发中的不断增长的作用,强调开发人员需要了解ML原理以有效地将其集成到应用程序中。它突出了ML工程与传统应用程序开发之间的融合,并指出将DevOps与ML部署融合的MLOP实践的兴起。该文章还与ML的数据驱动方法进行了对比,该方法依赖于明确的逻辑,该方法在其中模型从数据集中学习以做出预测或决策。Python被强调为ML的关键语言,但文章强调了在ML系统中保持高码质量和安全性以确保可靠性和道德使用的重要性。AI的未来取决于当前的努力来建立强大的标准和实践,强调了正在开发和部署这些技术的持续人类责任。