CurveFS 助力网易云商,解决语音识别训练数据增长需求
云商 ASR 训练数据快速增长面临困境
随着语音技术在各行各业的广泛应用,自动语音识别(ASR)正在成为众多云服务商的核心竞争力。 但 ASR 模型的持续优化需要大量训练数据的支持,如何高效管理海量训练数据成为云商面临的一个难题。
网易云商在发展 ASR 业务过程中,存储面临了巨大挑战。
- 将海量训练数据保存在单个节点上,不仅存储资源利用率低下,也使数据难以被多个训练任务共享访问。
- 仅存放在本地还带来数据丢失风险。
- 随着语音数据量呈指数增长,单节点存储早已无法负荷。
- 存储空间满溢,将严重制约业务进一步扩张。
针对存储面临的这些困境,网易云商迫切需要找到一个更优的存储解决方案。
CurveFS
为解决这一痛点,网易云商决定引入开源存储系统CurveFS。
CurveFS是什么
CurveFS是一个基于 Fuse实现的兼容POSIX 接口的分布式文件系统,架构如下图所示:
CurveFS由三个部分组成:
客户端 curve-fuse,和元数据集群交互处理文件元数据增删改查请求,和数据集群交互处理文件数据的增删改查请求。
元数据集群 metaserver cluster,用于接收和处理元数据(inode 和 dentry)的增删改查请求。 metaserver cluster的架构具有高可靠、高可用、高可扩的特点:MDS用于管理集群拓扑结构,资源调度。 metaserver 是数据节点,一个 metaserver 对应管理一个物理磁盘。 CurveFS 使用 Raft 保证元数据的可靠性和可用性,Raft复制组的基本单元是 copyset。 一个 metaserver 上包含多个 copyset 复制组。
数据集群 data cluster,用于接收和处理文件数据的增删改查。 data cluster 目前支持两存储类型:支持 S3 接口的对象存储以及 CurveBS(开发中)。
CurveFS 一个独特的设计是其后端存储既可对接 S3 对象存储,也可对接 Curve 自研的块存储。 这赋予用户高度的灵活性:对性能要求较高的业务场景,可选择部署在 Curve 高性能块存储;对成本敏感的业务,则可以利用 S3 存储的优势来降低成本。 CurveFS 兼容两种存储后端的特性,使其可以适应不同业务的存储需求,既保证高性能,也控制存储成本。
CurveFS 应用价值
相较于本地存储而言,CurveFS 具有以下优势:
将训练数据存储在云端对象存储,实现资源弹性扩展
统一管理训练数据,支持多节点共享访问
后端接入 NOS 低频存储,相比本地存储能够大幅降低 ASR 训练存储成本
支持数据多级缓存,提升训练效率约 30 %
与保存在单机上的传统方式相比,CurveFS云端部署方案虽然数据读取速度略低,但考虑到未来训练数据量的增长需求,其扩展性和资源优化能力已大大超越本地存储。
Curve共享文件存储系统不仅适用于 ASR 业务场景,在 ElasticSearch 等大数据存储分析业务场景也有应用,目前也在多个集团内部业务场景落地使用。
项目未来规划和展望
但是,CurveFS也面临一定的挑战。 由于ASR训练过程中需要频繁读取数据,这对云存储的访问速度和稳定性提出了较高要求。 云存储由于网络传输的影响,读取速度难以与本地存储相比。 这些在 CurveFS 的后续版本迭代中持续优化,包括优化元数据性能和多级缓存等。
总结
作为一个年轻的项目,Curve仍在快速迭代。未来Curve会继续优化在AI和大数据分析场景的适配能力:
- 与各类AI框架深度集成,提供自动化的数据预热、训练优化等功能,提升AI训练的易用性和效率。
- 支持 HDFS 接口,使其能够统一应用于数据收集、存储与分析处理,实现数据生命周期的无缝管理。
- 在更多实际业务场景中落地,丰富解决方案经验。
通过这些努力,Curve正在成长为一个成熟、强大、适用范围广泛的开源存储系统,为用户提供简单高效的存储服务。它的发展前景广阔,必将为开源社区做出重要贡献。