面向数据团队的ML和Gen AI
AI和ML已经成为大多数数据团队的核心关注点,而且这是理所当然的。公司通过AI获得了实际的影响力,而数据团队正处于这一趋势的核心,为他们提供了一种将工作与投资回报挂钩的方式。
在最近的一个例子中,AI帮助瑞典“先买后付”的金融科技公司Klarna自动化了700名全职代理的工作。Intercom现在是一个以AI为核心的客户服务平台,管理层的关键绩效目标(OKR)与实施Gen AI用例直接相关。
这个AI助手已经进行了230万次对话,占Klarna客户服务对话的三分之二。它所做的工作相当于700名全职代理人的工作量。在客户满意度得分方面,它与人类代理不相上下。在解决问题的准确性方面,它更胜一筹,使重复咨询量减少了25%。”
——Klarna
在这篇文章中,我们将探讨如下问题:
- 数据团队中的AI现状——数据从业者如何使用和期望使用ML和AI
- AI和ML用例——数据团队应用不同类型模型的最流行方式
- AI和ML系统中的数据质量——常见的数据质量问题以及如何发现它们
- 获得可靠数据的五个步骤——如何构建适合关键业务用例的AI和ML系统
如果你想了解更多关于机器学习的相关内容,可以阅读以下这些文章:
金融中的机器学习:利用随机森林掌握时间序列分类
每个机器学习工程师都应该知道的线性代数!!
2023年面向开发者的十大机器学习(ML)工具
CPU与GPU:哪个更适合机器学习,为什么?
数据团队中的AI现状
AI正在变得越来越优秀。实际上,已经非常优秀了。斯坦福大学的2024年AI指数报告显示,AI在多个基准测试中已经超过了人类的表现,包括图像分类、视觉推理和英语理解等。
这导致了对ML和AI的需求激增,迫使许多数据团队重新调整他们工作的优先级。这也引发了关于数据团队在ML和AI中的角色问题。根据我们的经验,数据团队与工程团队的职责界限仍然不够清晰。
UK Fintech首席数据官表示:“我们的ML工程师和数据科学家的比例是3:1,这凸显了从原型到可投入生产的模型所需的工作量。”
dbt最近调查了数千名数据从业者,揭示了数据团队在AI和ML方面的参与情况。
虽然AI已经有了应用的迹象,但大多数数据团队仍然没有在日常工作中使用它。目前只有三分之一的受访者管理AI模型培训的数据。
这种情况可能很快就会改变,55%的人预计AI很快就会在自助式数据探索等用例中获益。
这反映了我们与一千多个数据团队交谈的经验。目前的工作主要集中在为分析准备数据、维护仪表板和支持利益相关者,但他们也有意愿在AI和ML上进行投资。
AI和ML用例
虽然看起来不是这样,但ML和AI已经存在了几十年。虽然Gen AI模型可能最适合于从文本生成SQL代码或自动回答业务问题等前沿用例,但分类和回归模型等更成熟的方法也可以达到目的。
下面是一些最流行的技术。
传统ML用例
大多数团队仍然不使用传统的ML,比如分类、回归和异常检测。这些方法可能很强大,尤其是对于有明确预测目标的监督学习场景(例如,预测高风险客户),以及明确的预测特征(例如,注册国家、年龄、过去的欺诈记录)。这些系统通常更容易解释,使得可以提取每个特征的相对重要性,帮助向利益相关者解释为何要拒绝一个高风险客户的决定。
下面的ML系统展示了一个客户风险评分模型,该模型预测了新注册用户是否可能是高风险客户并且应该被拒绝的可能性有多大。
从不同来源收集原始数据并用于构建预测特征,将数据科学家的领域专业知识与模型识别的意外模式相结合。主要概念是:
- 来源和数据集市——从系统中提取的原始和未处理的数据,被数据科学家认为是相关的
- 特征——输入到ML模型的预处理数据(例如,大城市的距离、年龄、之前的欺诈行为)
- 标签——基于先前风险客户的目标输出(是/否)
- 训练——通过根据标记示例调整其内部参数或权重来教授ML模型进行准确预测的迭代过程
- 推理——在训练阶段之后,使用经过训练的ML模型对新的、未见过的数据进行预测或分类
从我们与数据团队的合作中,我们看到大部分传统ML工作流转移到数据仓库,作为数据源和特征存储的支撑。主要的数据仓库已经开始将其直接集成到他们的产品中(例如BigQuery ML),这预示着未来端到端的ML工作流可能完全转移到数据仓库中。
传统ML模型成功的典型挑战是:
- 在现有数据的情况下,模型能否以适当的准确度和精确度预测预期结果
- 达到准确度和精确度水平的业务的投资回报率是否足够
- 我们要做的取舍是什么?(例如,需要更多的操作人员来审查有风险的客户)
- 维护和监测模型的成本是多少?
下一代和Gen AI用例
在过去的几年里,下一代,特别是Gen AI用例成为了热门话题,因为ChatGPT 3的高效表现而备受关注。虽然这是一个新领域,商业投资回报率仍有待验证,但潜力巨大。
以下是我们在数据团队中看到的一些最流行的Gen AI用例。
现今的用例可以大致分为两个领域:
- 商业价值提升——自动化或优化业务流程,例如在客户支持聊天机器人中自动化简单的客户交互,或将客户回答与相关知识库文章相匹配。
- 数据团队的工作效率提升——简化核心数据工作流程,使技术经验较少的分析师能够使用“文本转SQL”编写SQL代码,或者通过从自然语言问题生成答案来减少业务利益相关者的临时请求。
下面是一个示例架构,用于在特定的业务相关数据上建立你自己的ChatGPT版本。该系统由两部分组成:
- 领域数据的数据摄取
- 查询数据以实时回答问题
示例信息检索系统(来源:Langchain)
第一步是将文档加载到矢量存储中。这可能包括组合来自不同来源的数据,与工程师一起处理原始数据,以及手动删除你不希望模型训练的数据(例如,支持低客户满意度的答案)。
- 将数据源加载到特定文本语料库中的文本中
- 预处理并将文本分割成更小的部分
- 创建嵌入,以根据单词之间的相似度创建向量空间
- 将嵌入加载到矢量存储中
如果你不熟悉嵌入,它们是单词或文档的数字表示,可以在高维向量空间中捕获语义和它们之间的关系。如果你运行下面的代码片段,你可以看到它在实践中的样子。
from gensim.models import Word2Vec# Define a corpus of sentences
corpus = [
"the cat sat on the mat",
"the dog barked loudly",
"the sun is shining brightly"
]# Tokenize the sentences
tokenized_corpus = [sentence.split() for sentence in corpus]# Train Word2Vec model
model = Word2Vec(sentences=tokenized_corpus, vector_size=3, window=5, min_count=1, sg=0)# Get word embeddings
word_embeddings = {word: model.wv[word].tolist() for word in model.wv.index_to_key}# Print word embeddings
for word, embedding in word_embeddings.items():
print(f"{word}: {embedding}")
一旦将领域数据摄取到向量存储中,就可以通过微调预训练的LLM来扩展系统以回答与你的领域相关的问题。
- 用户可以结合聊天和新问题提出后续问题。
- 使用上面的嵌入和向量存储,找到类似的文档。
- 使用大型语言模型(如ChatGPT)使用类似的文档生成响应。
幸运的是,Meta和Databricks等公司都有训练有素的开源模型供你使用(Huggingface目前有1000多个Llama 3开源模型)。所以你不需要花费数百万美元来训练自己的机器人。相反,只需使用你的数据对现有模型进行微调。
基于LLM的系统(如上面的系统)的有效性取决于它们所提供的数据。因此,鼓励数据从业者从各种来源提供尽可能多的数据。首要任务应该是跟踪这些来源的来源以及数据是否如预期的那样流动。
Gen AI模型成功的典型挑战是:
- 你有足够的数据来训练一个足够好的模型吗?由于隐私问题,是否有一些数据是禁止使用的
- 模型是否需要对客户或监管机构等可解释和解释
- 培训和微调LLM的潜在成本是什么?收益大于成本吗?
数据质量在AI和ML中的重要性
如果你的主要数据交付是为了产生特别的见解或为决策提供数据的BI仪表板,那么就需要有人参与其中。由于人类的直觉和期望,数据问题和无法解释的趋势经常被发现,而且很可能在几天内就被发现。
ML和AI系统是不同的。
机器学习系统依赖数百甚至数千个不同来源的特性并不罕见。看似简单的数据问题——缺失数据、重复数据、null或空值或异常值——可能会导致关键业务问题。你可以用三种不同的方式来思考。
- 业务中断——一个严重的错误,比如所有user_id都为空,可能会导致新用户注册批准率下降90%。这类问题代价高昂,但往往及早发现。
- 漂移或“沉默”问题——这些问题可能涉及客户分布的变化或特定细分市场的缺失值,这会导致系统性的错误预测。它们很难被发现,可能会持续数月甚至数年。
- 系统性偏见——在人工智能时代,人类对数据收集的判断或决定可能会导致偏见。最近的例子,比如谷歌Gemini model的偏见,突显了这种做法可能带来的后果。
无论你是支持回归模型还是为LLM构建新的文本语料库,除非你是开发新模型的研究人员,否则你的大部分工作都将围绕数据收集和预处理展开。
机器学习系统是一个庞大的生态系统,模型只是其中的一个部分——谷歌生产机器学习系统。
“你是机器学习团队的下游。几乎所有上游问题都会影响到我们,但我们往往是最后一个知道的。——流动性放大。
根据经验,越往左,就越难监控错误。由于有数百个输入和原始来源,通常超出数据从业者的控制范围,数据可能以数千种方式出错。
使用完善的指标(如ROC、AUC和F1分数)可以更容易地监控模型性能,这些指标为你提供了模型性能的单一指标基准。
上游数据质量问题的例子
- 缺失数据:数据集中不完整或缺失的值会影响模型泛化和做出准确预测的能力。
- 不一致的数据:数据格式、单位或表示在不同来源或时间上的可变性会导致不一致,从而导致模型训练和推理期间的混乱和错误。
- 异常值:数据中的异常值或异常值与大多数观测值显著不同,可能影响模型训练并导致有偏差或不准确的预测。
- 重复记录:数据集中的重复条目会扭曲模型的学习过程,导致过拟合,模型在训练数据上表现良好,但在新的、未见过的数据上表现不佳。
数据漂移的例子
- 季节性产品偏好:不同季节消费者偏好的变化会影响电子商务推荐。
- 金融市场变化:由于经济事件影响股票价格预测模型而导致的市场突然波动。
LLM文本数据的数据质量问题示例
- 低质量输入数据:聊天机器人依赖于准确的历史案例解决方案。机器人的有效性取决于这些数据的准确性,以避免误导性或破坏性的建议。客户满意度或解决方案得分较低的答案可能表明模型可能学习了错误的信息。
- 过时的数据:医疗咨询机器人可能依赖于过时的信息,从而导致不太相关的建议。在特定日期之前创建的研究可能表明它不再适合目的。
构建可靠的ML和AI系统
我们认为,与软件工程中的数据团队相比,数据团队通常无法交付可靠的数据系统。人工智能浪潮正呈指数级扩展“垃圾进,垃圾出”模型及其所有影响——每家公司都面临着寻找新方法来激活数据以获得竞争优势的压力。
虽然有特定的工具和系统监视模型性能,但这些工具和系统通常不会考虑数据仓库中的上游源和数据转换,为此建立了数据可靠性平台。
构建可靠的机器学习和人工智能系统的五大支柱
为了支持和维护高质量的生产级ML和AI系统,数据团队必须采用工程师的最佳实践。
- 严谨测试——必须有意地测试输入ML和AI系统的上游源和输出(例如,异常值、空值、分布位移和新鲜度)。
- 所有权管理——机器学习和人工智能系统必须有明确的所有者分配,谁被通知的问题,并期望采取行动
- 事件处理——严重的问题应该被视为具有清晰sla和升级路径的事件
- 数据产品思维——整个价值链的机器学习和人工智能系统应该被视为一个产品
- 数据质量指标——数据团队应该能够报告关键指标,如机器学习和人工智能系统的正常运行时间、错误和sla
只关注其中一个支柱是远远不够的。如果你在没有明确所有权的情况下过度投资于测试,问题可能会从裂缝中溜走。如果你投资所有权,但不刻意管理事件,严重的问题可能会长期得不到解决。
使用数据可靠性工具将ML模型作为数据产品进行监控(2分钟视频:https://www.loom.com/share/e842d015da2a4a03a25def2ef92d3507)
重要的是,如果你成功实现了这五个数据可靠性支柱,并不意味着你不会遇到问题。但这意味着你更有可能主动发现它们,建立信心,并与你的利益相关者沟通你是如何随着时间的推移而改进的。
总结
虽然目前只有33%的数据团队支持人工智能和机器学习模型,但大多数人预计在不久的将来会这样做。这种转变意味着数据团队必须适应支持关键业务系统的新世界,并更像软件工程师一样工作。
- 数据团队中的人工智能状态——人工智能系统正在改进,图像分类、视觉推理和英语理解等几个基准超过了人类水平的基准。33%的数据团队目前在生产中使用AI和ML,但55%的团队希望这样做。
- 人工智能用例——有大量不同的机器学习和人工智能用例,从分类和回归到通用人工智能。每个系统都会带来挑战,但“经典ML”和新一代AI之间的差异是明显的。我们通过一个经典的客户风险预测模型和一个信息检索聊天机器人来研究这个问题。
- 人工智能和机器学习系统中的数据质量——数据质量是机器学习和人工智能项目成功的最大风险之一。由于人工智能和机器学习模型通常依赖于数百个数据源,因此手动检测问题几乎是不可能的。
- 可靠数据的五个步骤为了支持和维护ML和AI系统,数据团队必须更像工程师一样工作。这包括严谨测试、清晰的所有权、事件管理流程、数据产品思维,以及能够报告正常运行时间和sla等指标。
原文作者:Mikkel Dengsøe
翻译作者:文玲
美工编辑:过儿
校对审稿:Jason
原文链接:https://medium.com/@mikldd/ml-gen-ai-for-data-teams-b38d6f07c28e