驾驭机器学习管理的挑战:成功所需的工具与洞察
随着机器学习(ML)以惊人的速度持续进步,管理和版本控制大规模数据集和模型的复杂性呈指数级增长。虽然开发者长期以来依赖于像Git这样的工具来进行软件开发中的版本控制,但机器学习的独特挑战需要更专业的解决方案。与软件不同,软件的代码库可以相对容易地进行版本控制和管理,而ML模型、数据集和工件往往缺乏统一的行业标准来进行版本控制和管理。
在最近由Zilliz主办的非结构化数据聚会上,XetHub(现被HuggingFace收购)的联合创始人Rajat Arya讨论了他和他的团队如何填补ML版本控制和管理方面的空白。他的团队开发了XetHub,这是一个扩展Git以处理PB级数据的工具。是的,你没看错——PB级数据。但这为什么是必要的?它带来了什么好处,又是如何工作的?它与向量数据库有什么关系?让我们深入Arya的洞察,解开关键点。
机器学习开发中的痛点
机器学习开发中的主要障碍之一是缺乏涵盖整个ML管道的综合工具。尽管有许多工具用于特定任务,但在有效处理端到端流程的解决方案方面存在显著差距。以下是一些关键痛点:
可扩展性
管理可以扩展到100PB甚至更大的数据集是一个巨大的挑战,尤其是当传统工具对你可以处理的文件数量施加限制时。
数据管理
创建仓库的不可变快照对于确保数据完整性和轻松版本控制至关重要。没有这种能力,跟踪变化和维护一致性变得困难。
协作
促进数据科学家和工程师之间的无缝协作至关重要。在软件开发中由源控制带来的革命尚未完全扩展到ML领域,由于缺乏标准化工具,协作常常面临障碍。
可观测性
了解模型和数据集中的变化如何以及何时发生对于调试和改进ML系统至关重要。没有对这些变化的可见性,团队难以有效迭代。
从研究到现实世界的ML应用:一切都变了
在早期,ML和AI主要聚焦于研究,涉及处理静态的、通常是结构化的数据集的学术目标。目标是提高准确率或错误率等指标,这在受控的研究环境中效果很好。
然而,随着ML从学术界转向工业界,格局发生了巨大变化:
静态数据集与动态数据集
学术ML通常处理静态数据集,但工业ML涉及不断变化的数据,有时更新频率高达每小时。这种动态特性需要能够无缝处理连续更新的工具。
结构化数据与非结构化数据
虽然学术研究通常关注结构化数据,但现实世界的应用经常涉及非结构化数据。这种转变要求更复杂的数据处理技术。我们需要像Milvus和Zilliz Cloud(完全管理的Milvus)这样的专用向量数据库来存储、索引和检索这类非结构化数据。
模型复杂性的增长
ML模型变得越来越复杂,参数更多,架构更深。管理这些复杂模型需要能够与之扩展的工具。
与应用代码的集成
在工业环境中,ML模型必须与应用代码平滑集成,这需要一个协同工作的包和框架的生态系统,它们之间没有摩擦。
使用XetHub扩展Git的能力以实现机器学习
XetHub通过扩展Git的能力来有效管理大型数据集和模型,从而解决了可扩展性挑战。以下是它如何带来变化:
无文件数量限制:传统的Git在处理大量文件时遇到困难,但XetHub消除了这一限制,允许无缝扩展,无论文件数量如何。
不可变快照:XetHub创建不可变快照,确保数据一致性和可重现性——这对于稳健的ML开发至关重要。
高效的数据管理:XetHub不传输大型数据集,而是管理元数据和指针,使系统更快、更高效,节省了时间和资源。
在机器学习项目中实现可观测性
可观测性对于ML模型和系统至关重要,提供了调试、迭代和改进模型所需的可见性。以下是一些增强ML项目可观测性的建议:
数据摘要
从数据开始。对你的数据和特征创建一次性的草图摘要。这很关键,因为它允许你了解数据集随时间的变化。例如,如果数据集A在不同时间点有不同的分布,拥有摘要可以让你根据这些变化做出明智的决策。
模型指标和行为
不仅要存储你的模型指标,还要了解你的模型的行为。例如,跟踪你的ML模型的特征重要性可以帮助你看到哪些特征在推动预测。特征重要性的变化可能表明你的训练数据或架构修改发生了变化。这种对模型的深入理解确保你可以快速调试和改进它们。
计算和操作
计算是ML可观测性的核心。每个操作,无论是在数据、代码、工件或其他资产上,都应该为每个提交或更改存储。这种全面的跟踪确保了完整的ML可观测性,确保了不同运行过程中的效率、可追溯性和可重现性。
向量数据库在现代机器学习中的角色
向量数据库,如Milvus和Zilliz Cloud(完全管理的Milvus),是一种数据管理系统,用于存储、索引和检索高维数据——非结构化数据如文本、视频、音频和图像的数值表示(也称为向量嵌入)。它们广泛用于相似性搜索、语义搜索、推荐系统、检索增强生成(RAG)等许多用例。
随着ML模型和数据集变得更加复杂,管理和检索大量高维数据变得越来越具挑战性。向量数据库解决了这一挑战,提供了传统数据库无法匹配的解决方案。
检索增强生成(RAG)
向量数据库最令人兴奋的应用之一是在检索增强生成(RAG)中。这种技术结合了大型语言模型(LLMs)和高效的向量数据检索的力量。在RAG设置中,输入查询被转换为使用像OpenAI的文本嵌入模型这样的机器学习模型的向量,并在存储在像Milvus这样的向量数据库中的大量向量集合中进行搜索。检索到最相关的结果并输入到LLM中,使其能够生成更准确、上下文相关的响应。这种方法不仅减轻了LLMs中的幻觉问题,而且使得能够利用私有或专有数据集的潜力,而不必担心数据安全问题。
弥合研究与工业之间的差距
从研究型ML向现实世界应用的转变通常涉及处理非结构化和动态数据。向量数据库独特地配备了处理这一挑战的能力,允许ML模型不断适应最新数据。这种适应性确保了即使底层数据发展,模型仍然相关且有效。
例如,在电子商务中,产品描述和客户评论不断更新,像Milvus这样的向量数据库可以快速检索最相关的信息,使ML模型能够提供最新的推荐和洞察。
与XetHub等工具的无缝集成
XetHub管理PB级数据的能力补充了向量数据库的优势。通过创建不可变快照和高效管理元数据,XetHub确保大规模ML项目即使在扩展时也保持数据完整性和版本控制。向量数据库可以与各种机器学习模型和工具如XetHub集成,支持ML模型的开发和部署,特别是在RAG等场景中,信息检索的准确性和相关性至关重要。
结论
Rajat Arya的讨论突出了机器学习中的重大挑战以及对更好工具的需求,以管理和版本控制模型和数据。XetHub通过扩展Git的能力来高效处理大规模数据集,满足了这些需求。
随着机器学习继续进步,拥有强大的可观测性和数据管理工具变得至关重要。通过结合像XetHub这样的解决方案与向量数据库和机器学习模型,我们可以提高ML项目的有效性,确保它们得到良好管理和适应新数据。这种组合支持从研究到现实世界应用的更平滑过渡,使AI开发更加实用和可靠。
技术干货
如何在 Jupyter Notebook 用一行代码启动 Milvus?
本文将基于 Milvus Lite,为大家介绍如何在 Jupyter Notebook 中使用向量数据库。
2023-6-12技术干货
向量数据库的行业标准逐渐清晰!Vector DB Bench 正式开源!
本文将从 Vector DB Bench 的特点和优点出发,帮助开发者全面、客观、高效地评估向量数据库。
2023-6-21技术干货
向量数据库发展迎里程碑时刻!Zilliz Cloud 全新升级:超高性价比,向量数据库唾手可得
升级后的 Zilliz Cloud 不仅新增了诸如支持 JSON 数据类型、动态 Schema 、Partition key 等新特性,而且在价格上给出了史无前例的优惠,例如推出人人可免费使用的 Serverless cluster 版本、上线经济型 CU 等。这意味着,更多的开发者可以在不考虑预算限制的情况下畅用云原生向量数据库。
2023-6-15