了解什么是数据湖,它们的特性、优势以及在 AI/ML 中的作用。 了解它们如何改变大数据管理和分析。
数据湖是一种集中式存储库,它以原始格式存储海量数据,直至需要使用时才进行处理。 与传统存储系统要求数据结构化后才能导入不同,数据湖以原始形态接收各类数据,包括结构化数据(行与列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(邮件、文档、PDF)及二进制数据(图像、音频、视频)。这种架构灵活性使数据湖成为现代 大数据战略的基石,尤其对 运用 人工智能(AI)和 机器学习(ML)的组织而言。通过将数据采集与数据使用解耦,企业能够以相对低廉的成本存储海量信息池,并延后确定 具体的分析问题。
在人工智能开发领域,数据湖的核心价值在于其支持深度学习(DL)工作流的能力。 先进神经网络需要多样化且海量的训练数据才能实现高精度。数据湖作为中转站,在处理前存储着原始资产——例如计算机视觉(CV)所需的数百万张高分辨率图像,或语音识别所需的数千小时音频素材。
数据科学家在数据湖中采用"读取时定义模式"的方法论。这意味着数据结构仅在读取处理时应用于数据,而非写入存储时。这种方式赋予了极高的灵活性:同一原始数据集可通过多种方式处理以满足不同预测建模任务,而无需修改原始数据源。 此外,强大的数据湖通常与 Amazon S3或 Azure Blob Storage 等云计算服务集成, 从而支持训练YOLO26等复杂模型所需的可扩展并行处理能力。
虽然常被混淆,但数据湖与数据仓库存在本质区别。数据仓库将数据存储于结构化表中,专为快速SQL查询和商业智能报告而优化。它采用"写时模式",意味着数据必须通过ETL(提取、转换、加载)流程进行清洗和转换后才能进入系统。
相反地,数据湖则针对存储容量和多样性进行优化。它支持无监督学习和探索性分析,这类分析的目标可能尚未明确。例如,数据仓库可能告诉你上月售出了多少产品,而数据湖则存储着原始的客户情绪日志和图像数据,这些数据能帮助人工智能模型理解产品为何畅销。
数据湖在推动自动化边界方面对各行各业都至关重要:
在使用Ultralytics 时,用户通常会从组织的数据湖中提取原始数据子集,以创建用于训练的标注数据集。一旦原始图像被检索并标注,即可用于训练最先进的模型。
以下示例演示了开发者如何加载本地数据集(模拟从数据湖中获取数据), 用于训练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")