AI 大模型的数据库存储
一、核心阶段
1. 数据收集与原始存储阶段
(1)核心任务
存储海量未经过处理的原始数据,涵盖文本、图像、音频等多类型数据。
(2)适用存储类型
| 存储类型 | 典型工具 | 数据场景 |
|---|---|---|
| 分布式文件系统(DFS) | HDFS、GlusterFS、Ceph FS | 网页文本、开源数据集备份(如 Common Crawl)、UGC 原始文件 |
| 对象存储 | AWS S3、阿里云 OSS、GCS、MinIO | ImageNet 图片、LibriSpeech 音频、书籍 / 论文扫描件 |
2. 预处理与中间存储阶段
(1)核心任务
存储经清洗、转换后的中间数据,例如数据去重结果、文本分词内容、特征提取结果等。
(2)适用存储类型
| 存储类型 | 典型工具 | 数据场景 |
|---|---|---|
| NoSQL 数据库 - 文档数据库 | MongoDB、CouchDB | 带字段的文本数据(如 “标题 + 内容 + 来源” 的新闻类数据) |
| NoSQL 数据库 - 列族数据库 | HBase、Cassandra | 词向量矩阵、大规模列结构数据 |
| 关系型数据库(SQL) | MySQL、PostgreSQL | 数据质量指标(合格率、样本量)、预处理任务日志(任务 ID + 执行状态) |
| 内存数据库 | Redis、Memcached | 文本哈希值(用于快速去重)、高频词表(用于文本分词) |
3. 训练与推理存储阶段
(1)核心任务
支撑训练环节的高吞吐量并行数据读取,以及推理环节的低延迟数据访问需求。
(2)适用存储类型
| 存储类型 | 典型工具 | 数据场景 | 纠错说明 |
|---|---|---|---|
| 分布式文件系统(DFS) | HDFS(搭配 Spark/Flink 进行数据处理) | 训练样本批量读取(如每次迭代加载 1024 个样本) | AWS EBS 属于弹性块存储,非分布式文件系统,可作为训练节点本地存储补充 |
| AI 专用存储系统 | Pachyderm(支持数据版本控制)、Weights & Biases(存储 + 实验过程跟踪) | 训练数据与模型权重的关联记录、训练实验全链路数据留存 | - |
| 流处理存储 | Apache Kafka(消息队列)、Apache Flink(流处理引擎) | 实时训练数据(如用户对话日志)、推理请求的实时数据缓存 | - |
二、数据存放核心逻辑
1. 分层存储
(1)非结构化数据
以文件/对象形式存放(如 TXT、JPG 格式文件存于 S3 / HDFS)。
(2)半结构化数据
以键值对/文档形式存放(如 JSON 格式数据存于 MongoDB)。
(3)结构化数据
以数据库表结构存放(如 MySQL 表存储数据统计信息、任务元数据)。
2. 分布式架构
(1)数据分片
将大文件拆分为 128MB 规格的数据块,分散存储在不同节点,提升数据存取效率。
(2)冗余备份
每个数据块保留 3 个副本,防止节点故障导致数据丢失,保障数据可用性。
3. 格式优化
(1)格式选择与优势
选用二进制格式(TFRecord、PyTorch Dataset、Parquet)存储数据,相比纯文本格式可大幅提升数据读取效率,降低 IO 耗时。
4. 生命周期管理
| 数据类型 | 定义 | 存储介质 | 核心优势 |
|---|---|---|---|
| 热数据 | 高频训练使用的活跃数据 | SSD / 内存数据库 | 保障快速读写,适配训练高并发需求 |
| 冷数据 | 低频访问的历史备份数据 | 对象存储 / 磁带库 | 兼顾存储成本与数据安全性 |