Data Lake
探索数据湖如何作为 AI 和 ML 的基础。了解如何利用原始数据训练 Ultralytics YOLO26,并简化计算机视觉工作流。
数据湖是一种集中式存储库,以原生格式保存海量原始数据,直到需要使用这些数据为止。传统存储系统要求数据在写入前先进行结构化,而数据湖则接受“原样”数据,包括结构化数据(行和列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(电子邮件、文档、PDF)以及二进制数据(图像、音频、视频)。这种架构灵活性使数据湖成为现代 大数据战略的基石,尤其适用于利用人工智能 (AI)和机器学习 (ML)的组织。通过将数据采集与数据使用解耦,组织可以以相对较低的成本存储海量信息,并在之后确定具体的分析问题。
数据湖在人工智能和机器学习中的作用#
在 AI 开发领域,数据湖的主要价值在于能够支持深度学习 (DL)工作流。高级神经网络需要多样且海量的训练数据才能实现高准确率。数据湖充当数据暂存区,原始资产会先存放在这里,然后再进行处理,例如用于计算机视觉 (CV)的数百万张高分辨率图像,或用于语音识别的数千小时音频。
数据科学家在数据湖中采用“读时模式”方法。这意味着,数据结构仅在读取数据进行处理时应用,而不是在数据写入存储时应用。这带来了极大的灵活性;同一原始数据集可以针对不同的预测建模任务以多种方式进行处理,而无需更改原始数据。此外,健壮的数据湖通常会与云计算服务集成,例如Amazon S3或Azure Blob Storage,从而支持训练YOLO26等大型模型所需的可扩展并行处理。
数据湖与数据仓库#
数据湖经常与数据仓库混淆,但两者并不相同。数据仓库以结构化表格的形式存储数据,并针对快速 SQL 查询和商业智能报告进行了优化。它采用“写时模式(schema-on-write)”,这意味着数据必须先通过 ETL(提取、转换、加载)流程进行清理和转换,然后才能进入系统。
相比之下,数据湖针对存储容量和数据多样性进行了优化。它支持无监督学习和探索性分析,此时分析目标可能尚未确定。例如,数据仓库可能会告诉你上个月售出了多少件产品,而数据湖则保存原始的客户情绪日志和图像数据,帮助 AI 模型理解这些产品为何能够售出。
实际应用#
数据湖在推动自动化边界不断扩展的各个行业中都发挥着重要作用:
- 自动驾驶汽车: 开发自动驾驶技术需要处理 PB 级的传感器数据。自动驾驶汽车会持续生成 LiDAR点云、雷达信号和高清视频流。数据湖存储这些原始遥测数据,使工程师能够重现真实世界的场景,从而训练目标检测模型,在各种天气条件下识别行人和障碍物。
- 医疗诊断: 在现代医学图像分析中,医院会将患者病史、基因组数据和影像文件(MRI、CT 扫描)整合到安全的数据湖中。研究人员随后可以访问这些经过匿名化处理的非结构化数据,用于训练肿瘤检测或疾病预测模型,并通常利用分割技术从医学影像中分离出感兴趣区域。
将数据湖与 Ultralytics 结合使用#
使用 Ultralytics Platform 时,用户通常会从所在组织的数据湖中提取原始数据子集,以创建用于训练的带标注数据集。检索并标注原始图像后,即可使用这些图像训练先进的模型。
以下示例演示了开发者如何加载本地数据集(模拟从数据湖中获取数据),以训练用于检测任务的 YOLO26 模型。
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model using a dataset configuration file
# In a production pipeline, this data might be streamed or downloaded
# from a cloud-based data lake prior to this step.
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
# Run inference on a new image to verify performance
predictions = model("https://ultralytics.com/images/bus.jpg")








