《构建实时机器学习系统》一1.2 机器学习发展的前世今生

简介:

1.2 机器学习发展的前世今生

1.2.1 历史上机器学习无法调和的难题

早在 2011年,笔者之一彭河森正在谷歌总部实习的时候,机器学习的应用还主要集中在几个互联网巨头手里。当时,机器学习的大规模应用存在以下三个方面的限制。
1.运维工具欠缺
就拿灵活开发流程来说吧,早在 2011年,谷歌、亚马逊等公司开发了内部自有的协同部署工具,而开源协同部署工具 Jenkins才刚刚起步,不少公司对服务器集群的管理还停留在 rsync 和 ssh 脚本阶段。机器学习的应用往往需要多台服务器各司其职、协同作业,这也增加了机器学习开发、部署的难度。这也解释了为什么早期的机器学习软件包(如 Weka 等)都是单机版的,因为服务器配置真的是太麻烦了。
一个机器学习系统的上线运行,需要前端、后端多个组成部分协调工作。在缺乏运维工具的年代,这样的工作量会大得惊人。人力物力的超高成本投入,有限而且不确定的回报率,这些都让机器学习从业人员在实际应用中难以生存。另外一些机器学习专用工具(如 Hadoop)在早年是很少有人懂得其部署步骤的,一般的工程师都不愿意去主动接触它。在这种情况下,两位笔者都曾经为自己的部门搭建过Hadoop 平台。
2.模型尚未标准化
早在 2011 年,机器学习模型仍然是门派林立,SVM、神经网络等大家之作往往需要与作者直接书写的 libsvm 等软件库相对应,而统一标准化语言的软件包才刚刚出现。当时已经有很多线性模型的软件包,但是如果需要使用随机森林,那么还需要再安装其他软件包,不同软件包的用法又是不一样的。这样的非标准化工作大大加重了开发的工作量,减缓了工作的进度。
机器学习软件行业这种“军阀割据”的格局,导致机器学习从业人员必须对每个对应的模型都要进行二次开发。理论上来说,再好的机器学习模型,在实际系统里面,其地位也就应该是一个可以随时替换的小插件。可是实际上,由于二次开发,往往导致一个模型很难替代和更新,只能与系统黏在一起。
3.全栈人才欠缺
如果有了足够多的全栈人才,那么上面的挑战就都不是问题了。可是由于机器学习的门槛比较高,往往需要拥有多年理论训练的人才能胜任相关工作。如果没有多年的工作经验,那么这样的人员往往对系统运维等工作一窍不通。 找到懂机器学习的人容易,找到懂系统运维的人也不难,可是要找到两样都会的人就非常困难了,这样的情况直接导致全栈人才极度缺乏。如果大家有幸能够供职于一些积累了多年机器学习实战经验的大公司,对机器学习系统架构进行“考古”,就会发现这个公司的机器学习系统架构设计大多取决于该公司架构人员的学历背景,每个公司在重模型还是重架构方面都有自己的倾向性。

1.2.2 现代机器学习的新融合

上面三个问题在 2012 年得到了转变,而这一年,也是两位笔者在亚马逊公司相遇的年份。能站在机器学习应用的前线,目睹这一革命的发生,我们感到非常欣喜。我们有幸成为这个大潮中的第一批用户,而且通过实际经历,了解了这一变化的来龙去脉。经过这几年的历练,我们熟悉了机器学习架构应用的相关知识。更重要的是,我们通过广泛的实验和讨论,总结出了对机器学习架构各个组成部分进行选择、预判的规律,让我们可以通过关键点分析对机器学习的浪潮进行预测评估。这也是我们希望能够通过本书与大家进行分享的经验。
从 2012 年到 2016 年,机器学习领域主要发生了以下这些变化。
1.轻量化运维工具成为主流
运维过于复杂,已经成为众多互联网企业的心头之患。这个痛点在 2012 年到 2016 年这几年之间得到了革命性的解决,其中一马当先的急先锋是Docker,Docker 是一款轻量化容器虚拟机生态系统(本书的第6章会详细介绍Docker,并且其应用实例也会贯穿全书)。在 Docker 出现以前,调试部署的工作往往会占用开发人员大量的时间,例如在开发人员电脑上能够成功运行的程序,部署好了之后却不能正常运行。Docker 的出现,使得开发人员电脑上和生产服务器上面的虚拟机镜像内容完全相同,从而彻底杜绝了这种悲剧的发生,大大缩短了开发部署的周期。
与此同时,新近出现的连续化部署 (Continuous Integration,CI)工具,如Jenkins,自动化了机器学习模型的训练和部署流程,大大提高了模型训练的效率。

  1. 机器学习工具标准化
    近几年机器学习软件的出现仍然呈现爆炸式增长的趋势,但是领军软件已经崭露头角。在单机机器学习处理方面,基于 Python 的 Scikit-learn 工具已经成为了监督式机器学习模型的主流。Scikit-learn 具有丰富的机器学习模型模块,并且非常易于进行系统整合,我们在本书的第4章将对其进行详细介绍。与此同时,大数据机器学习方面,Spark 和 MLLib 也成为了主流,MLLib 几乎涵盖了所有的主流分布式机器学习模块,并且非常易于扩展。这些新工具的出现,让开发人员不再需要对模型进行二次开发,从而大大提高了效率。
  2. 全栈人才登上历史舞台
    机器学习领域人才大战正酣,吸引了众多优质青年投身于这一领域。我们非常欣喜地看到众多全栈型人才的出现。所谓全栈型人才,即为上可建模型、 调参数,下可搭集群、做部署,左可开讲座、熬鸡汤,右可面风投、拉项目的“多才多艺”型人才。全栈型人才在组织中可以起到掌控技术全局的作用,可以大大缩短开发所需要的时间,减少系统反复修改带来的浪费。
相关文章
|
5月前
|
机器学习/深度学习 人工智能 Kubernetes
Argo Workflows 加速在 Kubernetes 上构建机器学习 Pipelines
Argo Workflows 是 Kubernetes 上的工作流引擎,支持机器学习、数据处理、基础设施自动化及 CI/CD 等场景。作为 CNCF 毕业项目,其扩展性强、云原生轻量化,受到广泛采用。近期更新包括性能优化、调度策略增强、Python SDK 支持及 AI/大数据任务集成,助力企业高效构建 AI、ML、Data Pipelines。
592 1
|
7月前
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
8月前
|
人工智能 算法 网络安全
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
|
6月前
|
机器学习/深度学习 存储 运维
机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统
本研究通过实验演示了异常标记如何逐步完善异常检测方案和主要分类模型在欺诈检测中的应用。实验结果表明,Isolation Forest作为一个强大的异常检测模型,无需显式建模正常模式即可有效工作,在处理未见风险事件方面具有显著优势。
488 46
|
11月前
|
人工智能 自然语言处理 安全
通过阿里云Milvus与PAI搭建高效的检索增强对话系统
阿里云向量检索Milvus版是一款全托管的云服务,兼容开源Milvus并支持无缝迁移。它提供大规模AI向量数据的相似性检索服务,具备易用性、可用性、安全性和低成本等优势,适用于多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等场景。用户可通过PAI平台部署RAG系统,创建和配置Milvus实例,并利用Attu工具进行可视化操作,快速开发和部署应用。使用前需确保Milvus实例和PAI在相同地域,并完成相关配置与开通服务。
|
6月前
|
存储 人工智能 运维
企业级MLOps落地:基于PAI-Studio构建自动化模型迭代流水线
本文深入解析MLOps落地的核心挑战与解决方案,涵盖技术断层分析、PAI-Studio平台选型、自动化流水线设计及实战构建,全面提升模型迭代效率与稳定性。
263 6
|
6月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL图构建接口的PyG替换
本文探讨了在图神经网络中将DGL接口替换为PyG实现的方法,重点以RFdiffusion蛋白质设计模型中的SE3Transformer为例。SE3Transformer通过SE(3)等变性提取三维几何特征,其图构建部分依赖DGL接口。文章详细介绍了两个关键函数的替换:`make_full_graph` 和 `make_topk_graph`。前者构建完全连接图,后者生成k近邻图。通过PyG的高效实现(如`knn_graph`),我们简化了图结构创建过程,并调整边特征处理逻辑以兼容不同框架,从而更好地支持昇腾NPU等硬件环境。此方法为跨库迁移提供了实用参考。
|
6月前
|
机器学习/深度学习 数据采集 分布式计算
阿里云PAI AutoML实战:20分钟构建高精度电商销量预测模型
本文介绍了如何利用阿里云 PAI AutoML 平台,在20分钟内构建高精度的电商销量预测模型。内容涵盖项目背景、数据准备与预处理、模型训练与优化、部署应用及常见问题解决方案,助力企业实现数据驱动的精细化运营,提升市场竞争力。
1077 0
|
9月前
|
存储 人工智能 自然语言处理
基于QwQ-32B+Hologres+PAI搭建 RAG 检索增强对话系统
本文介绍如何使用PAI-EAS部署基于QwQ大模型的RAG服务,并关联Hologres引擎实例。Hologres与达摩院自研高性能向量计算软件库Proxima深度整合,支持高性能、低延时、简单易用的向量计算能力。通过PAI-EAS,用户可以一键部署集成大语言模型(LLM)和检索增强生成(RAG)技术的对话系统服务,显著缩短部署时间并提升问答质量。具体步骤包括准备Hologres向量检索库、部署RAG服务、通过WebUI页面进行模型推理验证及API调用验证。Hologres支持高性能向量计算,适用于复杂任务的动态决策,帮助克服大模型在领域知识局限、信息更新滞后和误导性输出等方面的挑战。