Skip to content

Commit

Permalink
Merge pull request #42 from Cyber-SiKu/doc/usercase
Browse files Browse the repository at this point in the history
[doc]add asr usercase
  • Loading branch information
aspirer authored Nov 22, 2023
2 parents 6797cb4 + 104383e commit 16670fc
Showing 1 changed file with 77 additions and 0 deletions.
77 changes: 77 additions & 0 deletions docs/03-CurveFS/01-usecase/08-asr-storage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# CurveFS 助力网易云商,解决语音识别训练数据增长需求

## 云商 ASR 训练数据快速增长面临困境

随着语音技术在各行各业的广泛应用,自动语音识别(ASR)正在成为众多云服务商的核心竞争力。
但 ASR 模型的持续优化需要大量训练数据的支持,如何高效管理海量训练数据成为云商面临的一个难题。

网易云商在发展 ASR 业务过程中,存储面临了巨大挑战。

- 将海量训练数据保存在单个节点上,不仅存储资源利用率低下,也使数据难以被多个训练任务共享访问。
- 仅存放在本地还带来数据丢失风险。
- 随着语音数据量呈指数增长,单节点存储早已无法负荷。
- 存储空间满溢,将严重制约业务进一步扩张。

针对存储面临的这些困境,网易云商迫切需要找到一个更优的存储解决方案。

## CurveFS

为解决这一痛点,网易云商决定引入开源存储系统CurveFS。

### CurveFS是什么

CurveFS是一个基于 Fuse实现的兼容POSIX 接口的分布式文件系统,架构如下图所示:

![curvefs arch](../../images/curvefs_architecture.png)

CurveFS由三个部分组成:

1. 客户端 curve-fuse,和元数据集群交互处理文件元数据增删改查请求,和数据集群交互处理文件数据的增删改查请求。

2. 元数据集群 metaserver cluster,用于接收和处理元数据(inode 和 dentry)的增删改查请求。
metaserver cluster的架构具有高可靠、高可用、高可扩的特点:MDS用于管理集群拓扑结构,资源调度。
metaserver 是数据节点,一个 metaserver 对应管理一个物理磁盘。
CurveFS 使用 Raft 保证元数据的可靠性和可用性,Raft复制组的基本单元是 copyset。
一个 metaserver 上包含多个 copyset 复制组。

3. 数据集群 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正在成长为一个成熟、强大、适用范围广泛的开源存储系统,为用户提供简单高效的存储服务。它的发展前景广阔,必将为开源社区做出重要贡献。

0 comments on commit 16670fc

Please sign in to comment.