稿定科技:多云架构下的 AI 存储挑战与 JuiceFS 实践

稿定科技(gaoding.com)是一家专注于为企业和个人提供视觉内容创新方案的科技公司,致力于打造全新的设计方式,帮助更多用户轻松掌控设计,创造价值。

随着 AI 技术的加速发展,数据存储和管理成为支撑公司创新与发展的关键基础设施。最初,“稿定”的 AI 训练数据主要依赖公有云厂商提供的对象存储和 NAS 服务。但随着业务快速发展,单一云厂商的 GPU 资源已无法满足需求,“稿定”逐步转向多云架构,以获取更灵活的计算资源。但这也带来了新的技术难题:如何在多个云环境中统一管理训练数据,实现高效、低成本的跨云读写访问。

JuiceFS 正是在这一背景下被引入,其出色的多云兼容性、灵活的挂载机制与完善的工具支持,帮助“稿定”快速打通了不同云环境间的数据访问通路。目前,JuiceFS 管理了其训练数据和模型库,极大简化了模型数据在多云环境下的管理流程,高效的缓存机制显著加快了训练过程中的数据加载,同时加速了模型推理阶段的挂载响应,为业务带来了实质性的性能与效率提升。

01 训练场景的存储挑战:数据规模、性能与多云难题

随着人工智能业务的迅速发展,稿定运维体系面临诸多新挑战,其中存储无疑是最为关键的环节之一。AI 模型训练通常包含五个主要步骤,而每个环节几乎都离不开数据存储的支持。

  1. 数据处理: 根据需求从各种渠道收集并存储原始数据。
  2. 数据清洗与加工: 对收集到的数据进行清洗、裁剪和预处理。
  3. 模型训练: 基于处理好的数据和算法模型进行训练。
  4. 模型产出与验证: 训练完成后生成模型,并对其进行基本的性能和质量验证。
  5. 推理服务: 模型验证无误后,部署上线提供推理服务。

在这一过程中,模型训练环节面临的存储挑战最大,呈现出下三大特点:

数据规模庞大: 相较于常规工作中常见的几十 GB 甚至一两 TB 的数据,AI 训练数据往往体量巨大,小则几十 GB,大则可达几十 TB 甚至上百 TB。

数据读取性能要求极高: 模型训练离不开昂贵的 GPU 资源。如果数据读取性能不佳,导致 GPU 使用率低下,将造成巨大的资源浪费。

热数据管理需求: 模型训练通常会对同一批数据进行多次迭代使用。这意味着当前使用的数据很可能在不久的将来会被再次访问,因此希望能够将这些数据缓存起来,以提高后续读取速度。

若采用常规存储方案作为训练数据存储,将面临诸多问题:对于本地磁盘,采购和维护大容量磁盘成本较高,且单块磁盘容量有限,需多个磁盘支持大规模数据存储。此外,数据与计算紧密绑定,任务必须调度到数据所在的服务器,缺乏调度灵活性。

对象存储的最大优势是低廉的存储成本,并且公有云厂商提供的 CSI(容器存储接口)使得挂载更加便捷。然而,尽管成本低,读写性能较差,无法满足大规模数据训练对高性能存储的需求。

公有云 NAS 是许多训练数据存储的常见解决方案,但存在几个问题:操作效率较低,尤其在数据删除和拷贝时速度较慢;权限管理功能不够细粒化,权限控制存在不足;数据统计困难,难以准确计算目录下的数据量。虽然像阿里云 CPFS 等高级 NAS 服务能够提升性能,但其成本明显增加。

除了上述存储方案的局限性,我们还面临更大的挑战:单一公有云厂商已无法提供足够的 GPU 资源。由于全球芯片供应紧张,获取高性能 GPU 越发困难,这迫使我们考虑采用多云策略。然而,多云环境带来了新的存储难题:如何在不同云厂商之间共享训练数据?每家云厂商的 NAS 服务差异较大,若要自行解决数据共享和同步问题,将是一个复杂且耗时的工程。

因此,我们不得不重新审视和规划所需的存储架构,以期能够满足在多云环境下进行 AI 训练的严苛需求。

02 为什么选择 JuiceFS?

经过一系列选型,我们最终选择了 JuiceFS 作为存储解决方案,主要基于以下考量:

  1. 多云架构支持: JuiceFS 能够无缝对接大多数公有云平台。通过其数据跨区域复制或镜像文件系统功能,我们能便捷地实现多云或多区域之间的数据共享,解决了跨区域数据管理和同步的复杂性。

  2. 卓越的数据读取能力: 借助 JuiceFS 独特的分布式多级缓存机制,它能够提供极其出色的数据读取性能,这对于对 IOPS 和吞吐量要求极高的 AI 训练场景至关重要。

  3. 核心数据管理能力

    • 权限控制: 尽管 JuiceFS 的权限控制是基于 Token 级别的,但已完全能够满足我们的日常业务需求。
    • 回收站功能: 提供了回收站机制,当数据被误删除时,能够快速进行恢复,有效保障了数据安全。
  4. 完善的工具链: JuiceFS 提供了一套相对完整的工具链,极大便利了我们的运维与管理

    • CSI 支持: 对我们而言,CSI 至关重要,它使得 JuiceFS 在 Kubernetes 环境下的部署和使用变得非常简便。
    • 监控体系: JuiceFS 提供了丰富的监控信息,使我们能够方便快捷地排查问题。
    • 命令行工具:JuiceFS 的命令行工具功能强大且易于使用,特别是其中的克隆功能。数据处理前,通常需要进行备份,而传统的拷贝方式速度较慢。相比之下,JuiceFS 的克隆功能能够在秒级完成大数据量(如 1TB 或 2TB)的处理,显著提高了工作效率。

以下是我们在选型过程中对 JuiceFS 和某 NAS 方案进行的性能比较测试,主要模拟日常 AI 训练中常见的图片数据。我们使用了随机生成的 1 万个文件,大小从 200KB 到 3MB 不等,总计 10K 数据。

测试结果显示:

  • 有数据缓存的情况下,JuiceFS 的读取性能遥遥领先。
  • 没有缓存的情况下,其性能可能会略低于 NAS。

但在实际 AI 训练任务中,所用的数据通常是预知的,我们可以在训练任务开始前进行数据预热,从而确保数据已建立缓存。在这种情况下,JuiceFS 的读取性能优势将得以充分发挥。在多点并行写入场景下,JuiceFS 的性能也优于 NAS。

03 多云模型数据存储实践

多云需求是我们架构中的关键问题之一,因此在此我们对其进行详细介绍。最初,我们的模型数据存储方案主要包括两种方式:

第一种是将模型上传至对象存储。在打包镜像时:一是将模型直接打包进镜像。由于部分模型体积较大,可能达到十几 GB,这会导致镜像体积增加至 20 多GB,进而造成镜像拉取缓慢,甚至超时。二是在服务容器启动时通过链接获取模型。如果服务有多个实例,下载时间将大幅增加,可能导致效率低下。我们曾有一个服务采用此方式,十几个实例的滚动更新需超过一个小时。无论采用哪种方式,都会在K8s集群中存储多份模型数据,造成存储资源的浪费。

第二种方案是将模型存储到 NAS,服务容器挂载 NAS 使用。此方案存在两个问题:其一,由于业务部署在国内外多个区域及不同云厂商,需要手动管理多个区域的模型数据同步;其二, NAS 的模型加载性能一般,容易导致业务请求超时。实际测试表明,每次加载模型所需时间大致相同。

引入 JuiceFS 后,我们使用其镜像文件系统功能来建设多地域模型存储架构。如下图所示,该架构中,左侧是源文件系统,右侧对应多个镜像文件系统。我们只需将模型导入到源文件系统,其他区域的镜像文件系统便会自动同步这些模型数据。即使模型数据尚未完全同步过来,业务访问时也会自动回源读取。整个数据管理流程大为简化,且缓存后的模型数据加载速度提高,JuiceFS 的加载性能约为传统 NAS 的三倍。

通过引入JuiceFS,我们有效简化了跨云数据共享的复杂性,减轻了多云环境中的存储压力。此外,JuiceFS提升了数据读取性能,显著提高了GPU利用率,从而优化了整体训练过程。通过优化存储架构并充分利用闲置资源,我们降低了存储成本和人工管理成本,提升了运维效率。希望我们的实践经验能为社区用户在多云存储架构优化方面提供一些参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92646.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

徘徊识别场景误报率↓77%:陌讯动态时序建模方案实战解析

原创声明本文为原创技术解析,核心技术参数与架构设计参考自《陌讯技术白皮书》,转载请注明来源。一、行业痛点:徘徊识别的现实困境在安防监控领域,徘徊行为识别是保障公共安全的关键技术(如商场防盗窃、园区防闯入等场…

C# 通过第三方库INIFileParser管理INI配置文件

C# 通过第三方库INIFileParser管理INI配置文件目录前言一、添加动态库二、添加接口类代码总结前言 很多时候我们是直接调用系统的C库中的GetPrivateProfileString和WritePrivateProfileString接口来实现管理INI文件的,这个接口最久可以追溯到上个世纪80年代&#x…

政府数字化大屏系统 - Flask实现方案

下面我将设计一个基于Flask的政府数字化大屏系统,包含数据可视化、实时监控和统计分析功能,全套代码下载看底部。 设计思路 使用Flask作为后端框架提供数据接口 前端采用响应式设计,适配大屏展示 使用ECharts实现多种数据可视化 模拟实时…

2025年主流开源音视频播放项目深度解析

音视频技术作为多媒体领域的核心支撑,其开源生态在近年来呈现爆发式发展。从底层编解码引擎到跨平台播放器应用,开源项目已形成完整的技术栈,满足从个人娱乐到企业级流媒体服务的全场景需求。本文将深入剖析2025年最具影响力的五大开源音视频…

【C++详解】AVL树深度剖析与模拟实现(单旋、双旋、平衡因⼦更新、平衡检测)

文章目录一、AVL树的概念二、AVL树的实现AVL树的结构AVL树的插⼊AVL树插⼊⼀个值的⼤概过程平衡因⼦更新更新原则更新停⽌条件插入结点及更新平衡因子的代码实现旋转旋转的原则右单旋右单旋代码实现左单旋左单旋代码实现左右双旋左右双旋代码实现右左双旋代码实现判断旋转中序遍…

C++ 中的 enable_shared_from_this 详解

# C 中的 enable_shared_from_this 详解enable_shared_from_this 是 C 标准库中的一个模板类,用于解决在类的成员函数中需要获取指向自身的 shared_ptr 的问题。## 基本概念当一个对象由 shared_ptr 管理时,如果你想在对象的成员函数中获得一个指向自身的…

day11 - 浮动

1. 标签之间的空白问题 1.1. 问题重现 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>img {width: 100px;}</style> </head> <body><a…

MetaBit基金会加码投资图灵协议,深化去中心化金融与元宇宙生态合作

2025年7月15日 —— 新加坡MetaBit基金会宣布进一步加大对图灵协议&#xff08;Turing Protocol&#xff09;的战略投资&#xff0c;涵盖其去中心化交易所&#xff08;DEX&#xff09;、聚合交易平台&#xff08;CEX&#xff09;及公链生态的技术与资金支持。双方还将围绕元宇宙…

NWinfo(硬件信息检测工具)v1.4.20绿色免费版,U盘随走随检,结果即刻导出

[软件名称]: NWinfo(硬件信息检测工具)v1.4.20绿色免费版 [软件大小]: 1.4 MB [软件大小]: 夸克网盘 | 迅雷网盘 软件介绍 NWinfo 诞生于给老旧机器做体检的需求&#xff1a;一个单文件、零依赖的 Win32 小程序&#xff0c;却能像放大镜一样把机箱里的故事读出来。它不借助…

Numpy科学计算与数据分析:Numpy高效数据处理与优化

Numpy性能优化 学习目标 本课程将深入探讨如何利用Numpy库的特性来优化Python代码的性能&#xff0c;重点讲解向量化操作、避免Python循环等技术&#xff0c;帮助学员掌握高效的数据处理方法。 相关知识点 Numpy性能优化 学习内容 1 Numpy性能优化 1.1 Numpy数组与Pytho…

鸿蒙HarmonyOS中Axios网络库封装与文件上传功能实现

在开发鸿蒙HarmonyOS应用时&#xff0c;网络请求功能是必不可少的。axios是一个非常流行的基于Promise的HTTP客户端&#xff0c;适用于浏览器和Node.js环境。本文将介绍如何在鸿蒙HarmonyOS中封装axios库&#xff0c;使其能够支持文件上传&#xff0c;并提供额外的配置选项以满…

【AI】从零开始的文本分类模型实战:从数据到部署的全流程指南

目录 引言 一、项目背景与目标 二、环境准备 三、数据获取与探索 3.1 数据获取 3.2 数据探索 四、数据预处理 4.1 文本清洗 4.2 分词 4.3 标签编码 4.4 数据集划分 4.5 特征提取 五、模型构建与训练 5.1 逻辑回归模型 5.2 LSTM 模型 六、模型评估 6.1 逻辑回归…

Rust学习心得---特征对象和泛型区别

区别特性泛型&#xff08;静态分发&#xff09;特征对象&#xff08;动态分发&#xff09;决策时机编译时单态化&#xff08;生成具体类型的代码&#xff09;运行时通过vtable查找方法运行性能零运行时开销&#xff08;直接内联调用&#xff09;有额外开销&#xff08;指针跳转…

ESP32-menuconfig(2) -- Application manager

按顺序来说&#xff0c;第二篇本来应该是Security features&#xff0c;但是这块内容应该到小批量才用的到&#xff0c;而一些爱好者可能永远都不会修改这块&#xff0c;所以先看看更常用Application manager&#xff0c;这部分内容也比较少。 Application managerCONFIG_APP_C…

ArgoCD 与 GitOps:K8S 原生持续部署的实操指南

容器技术的爆发让 Kubernetes&#xff08;K8s&#xff09;成为了「云原生时代的操作系统」—— 它能高效编排成千上万的容器&#xff0c;解决弹性伸缩、资源调度等核心问题。但随着企业应用规模扩大&#xff0c;K8s 的「部署与管理」逐渐暴露新的挑战&#xff1a; 多环境&…

Day36--动态规划--1049. 最后一块石头的重量 II,494. 目标和,474. 一和零

Day36–动态规划–1049. 最后一块石头的重量 II&#xff0c;494. 目标和&#xff0c;474. 一和零 遇到难题&#xff0c;思考超过20分钟没有思路的&#xff0c;要跳过&#xff01;不然时间效率太低了。 **看题解同理&#xff0c;看20分钟看不懂的&#xff0c;也要跳过&#xff0…

前端开发技术深度总结报告

前端开发技术深度总结报告 &#x1f4cb; 项目背景 基于 Vue 3 TypeScript Element Plus 的企业级产品管理系统&#xff0c;重点解决产品表单的数据缓存、页面导航、用户体验等核心问题。&#xfffd;&#xfffd; 遇到的问题及解决方案 1. 浏览器控制台错误处理 问题: 大量第…

Linux 单机部署 Kafka 详细教程(CentOS 7+)

系列博客专栏&#xff1a; SpringBoot与微服务实践系列博客Java互联网高级培训教程 一、环境准备 1. 操作系统要求 Kafka 可以在多种 Linux 发行版上运行&#xff0c;本文以 CentOS 7 为例&#xff0c;其他发行版步骤类似&#xff0c;只需调整包管理命令。 2. Java 环境要…

解析工业机器视觉中的飞拍技术

在工业机器视觉的领域&#xff0c;"飞拍"这个术语时常被提起&#xff0c;尤其是在高速检测和动态捕捉的场景中。但你真的了解飞拍是什么吗&#xff1f;它到底如何工作&#xff0c;能为工业应用带来哪些突破性改进呢&#xff1f;让我们一起来解密。1. 飞拍的核心概念 …

[特殊字符]企业游学 | 探秘字节,解锁AI科技新密码

宝子们&#xff0c;想知道全球科技巨头字节跳动的成功秘籍吗&#xff1f;一场企业游学&#xff0c;带你深入字节跳动创新基地&#xff0c;探索AI新科技&#xff0c;揭开规模化增长背后的神秘面纱✨字节跳动&#xff1a;全球经济价值的创造者字节跳动可太牛啦&#xff01;TikTok…