这两年随着深度学习特别是LLM的火热,各个通用大模型纷纷亮相。但是通用大模型更多体现的企业本身的能力,要产生价值最终还是要在垂直领域落地,而且越是细分领域其满足业务需求的价值越高。因此大部分企业能做的事情其实是做迁移学习,做模型微调。
这两年随着各种模型微调技术,以及各种大模型应用开发框架的发展和成熟。大家的都开始转向基于大模型应用,只是按照互联网APP的思路,目前还没有找到出路。也许这就是通用人工时代的不同范式,其更大的意义是赋能整个社会新的思考方式,赋能政府新的治理方式,赋能企业从生产,制造,到营销,服务的全生命周期的能力提升;赋能个人不同的学习和工作方式。
那么对于企业,要想让通用人工智能更快在业务进行实践,需要企业
的重心从算法和算力,向更注重数据和工程开始迁移。
-
机器学习大部分的工作在数据,没有足量的,高质量的数据,再好的模型架构肯能也要望洋兴叹。
-
ML系统的监控。随着业务的发展,数据量会变,数据的分布也可能会变,那么如何保证模型能快速适应业务的要求,对模型和数据本身的监控就必不可少。
关于数据部分怎么强调也不分,在实践中数据工程缺乏的是合理的工程组织和工程原则,真正的实现数据可重复生产,可迭代,打造自己的企业自己的数据流水线。关于数据工程组织的部分可以参考推荐:数据工程的原则和推荐的项目结构一文。
**今天的重点是ML系统的监控。**这幅图说明了监控ML系统对于业务健康的重要性,并告诉我们数据和模型是ML系统的两大基石。
那么怎么来构建整个监控体系呢?以下是构建 ML 系统监控所有组件的方法
ML 监控意味着监控 ML系统。为了观察和评估其性能,通常需要一系列描述系统状态的指标。系统有几个方面需要关注。
- 软件系统健康状况。您可以像监控其他后端服务一样监控它。它不特定于数据科学和机器学习,但仍需要适当的设置。
- 数据质量和完整性。应该查看流经特定 ML 预测管道的数据。目标是检查数据是否损坏或损坏,并且您仍然可以信任这些数据作为模型输入。您通常可以在生成预测之前引入管道测试来验证输入数据。
- ML 模型质量。这是监控中最特定于 ML 的组件。您需要密切关注模型相关性,以确保它适合该任务。如果反馈延迟,您可能会求助于监控数据和预测漂移作为模型质量的代理。
- 业务 KPI。业务或产品指标是模型投资回报率和价值的最终衡量标准,但往往是最难衡量的。
用于评估、测试和监控 ML 和 LLM 驱动的系统的开源框架。
Evidently 是一个用于 ML 和 LLM 评估和可观察性的开源 Python 库。它有助于评估、测试和监控从实验到生产的 AI 驱动系统和数据管道。
🔡 适用于表格、文本数据和嵌入。
✨ 支持预测和生成系统,从分类到 RAG。
📚 从数据漂移检测到 LLM 评判的 100 多个内置指标。
🛠️用于自定义指标和测试的 Python 接口。
🚦 离线评估和实时监控。
💻 开放式架构:轻松导出数据并与现有工具集成。
下面是一个简单的Hello World。查看教程了解更多:表格数据或LLM 评估。
导入测试套件、评估预设和玩具表格数据集。
import pandas as pd
from sklearn import datasets
from evidently.test_suite import TestSuite
from evidently.test_preset import DataStabilityTestPreset
iris_data = datasets.load_iris(as_frame='auto')
iris_frame = iris_data.frame
将分为DataFrame参考和当前。运行数据稳定性测试套件,它将自动从参考生成对列值范围、缺失值等的检查。在 Jupyter 笔记本中获取输出:
data_stability= TestSuite(tests=[
DataStabilityTestPreset(),
])
data_stability.run(**current_data=iris_frame.iloc[:60], reference_data=iris_frame.iloc[60:]**, column_mapping=None)
data_stability
您还可以保存 HTML 文件。您需要从目标文件夹中打开它。
data_stability.save_html("file.html")
要获取 JSON 格式的输出:
data_stability.json()
您可以选择其他预设、单独的测试和设置条件。
Evidently 有 100 多个内置评估。您还可以添加自定义评估。每个指标都有一个可选的可视化效果.