机器学习已成为企业争相追逐的发展方向,但实施过程中的挑战不容忽视。
1.数据获取
机器学习应用的核心挑战是收集和组织模型训练所需的数据,这与学术界科学研究的场景形成鲜明对比。在科学研究中,数据科学家会把主要精力放在创建新模型上,用数据训练模型只是为了证明模型的功能,而不是为了解决实际问题。与之相反,在机器学习的实际应用场景中,常见的公共数据集往往难以满足具体业务对数据维度的要求,也就是说,收集高质量、准确的数据至关重要。以目前非常成熟的图像识别为例,实际场景的需求往往是识别与企业业务相关的图像,例如,为了让机器学习模型可靠地识别农作物和杂草的图像,工程师需要在不同的照明、环境和土壤条件下拍摄图像,然后将图像标记为“农作物”或“杂草”,这是一个费时费力的过程。
2.数据处理
随着大数据生态系统越来越多样化,数据量呈爆炸式增长。信息可能来自众多不同的数据源,从传统的事务性数据库到SaaS平台,再到移动设备和物联网设备。当需要从不同来源引入数据时,往往会面临数据库模式不一致、数据缺失等问题。另外,在处理数据的过程中,除了需要考虑时间成本和金钱成本,还要考虑合规性,如医疗和银行业要求将训练数据中的敏感信息剔除。在这种情况下,将打标签任务进行外包可能行不通,产品团队需要自行处理。所以,机器学习系统需要具有将不同来源的数据自动整合到数据湖中的能力,以支持模型的训练和维护。
3.模型维护
机器学习模型从数据中寻找模式,并预测未来的结果。随着环境的变化,数据也在发生变化。以新冠肺炎疫情为例,它改变了我们很多生活习惯,也让许多机器学习模型不再有效。例如,随着购物从实体店“过渡”到网上商城,用于供应链管理和销售预测的机器学习模型变得过时了,需要重新训练、管理和纠正,才能继续提供有意义的输出。因此,机器学习需要完善的流程来持续收集新数据并更新和管理模型。如果是监督学习模型,还要有在流程中为新数据贴标签及允许用户对机器学习模型的预测提供反馈的能力。
4.技能需求
机器学习涉及计算机科学、统计学、信息学和神经科学等多个学科,对从事机器学习的数据科学家和数据工程师要求很高,他们需要同时具备数据分析、算法选择、特征工程、交叉验证和解决问题的能力。为了将机器学习在具体业务场景中落地,数据工程师更要熟悉包括Python和C++在内的多种编程语言,其中Python对机器学习来说是最重要的语言,而C++主要用于提升代码速度。同时,数据工程师需要能够熟练使用开源代码或者第三方代码,在分布式平台上调度机器学习工作负载。所以,合格的机器学习人才既稀少又非常“昂贵”。
5.工具需求
机器学习流程包括数据获取、数据探索、数据处理、模型训练等多个步骤,如果没有集成工具,机器学习只能局限于业界专业领域而无法“普惠大众”。当传统的零售、农业和制造业企业等意识到机器学习的重要性并进入该领域时,由于缺乏足够的经验,因此各业务线往往选择独自建立机器学习工具集,快速落地应用到具体的业务场景中。这种模式虽然为业务抢占市场赢得了先机,但由于业务线重复“造轮子”,数据处理、模型训练等都是各自独立的,面对复杂的交叉业务难以协同工作。
6.算力需求
机器学习不断向大数据量、多参数的方向发展,这对算力提出了严峻要求。2020年,OpenAI发布了有史以来最强的NLP预训练模型GPT-3,模型参数最多达到了1750亿个。为了满足GPT-3的算力需求,微软在Azure上提供了28.5万个CPU核心和1万个英伟达GPU核心。很难想象如果一个企业在本地数据中心配置如此高的算力,将需要多么高昂的硬件投入与运维成本。
可以看到,机器学习是一个复杂而“昂贵”的过程,那云计算是否有办法让其变得容易呢?
公有云可以提供近乎无限的存储与算力,同时云原生大数据平台中方便高效的数据处理工具能够大大降低数据获取和数据处理的难度,使我们更容易获得高质量的数据。
另外,面对机器学习在模型维护、技能需求和工具需求方面的挑战,云原生机器学习平台,包括AWS的SageMaker、阿里云的PAI(Platform of Artificial Intelligence)和Azure的Azure Machine Learning Service,都旨在通过统一的工作空间提供机器学习所需的所有组件,简化机器学习过程中每个步骤中的烦琐工作,从而使用户更轻松地开发高质量模型。
可以说,云原生机器学习平台不仅让机器学习在传统企业中变得“触手可及”,也使专业用户能够以更少的工作量、更低的成本,将机器学习成果投入生产环境。
标签:原生,机器,训练,挑战,模型,学习,算力,数据 From: https://www.cnblogs.com/muzinan110/p/17066968.html