MiniMax 成立于 2021 年 12 月,是领先的通用人工智能科技公司,致力于与用户共创智能。MiniMax 自主研发了不同模态的通用大模型,其中包括万亿参数的 MoE 文本大模型、语音大模型以及图像大模型。

基于不同模态的通用大模型,MiniMax 推出生产力工具 “海螺 AI” 、沉浸式 AI 内容社区 “星野” 等原生应用。MiniMax 开放平台为企业和开发者提供安全、灵活、可靠的 API 服务,助力快速搭建 AI 应用。

01 多模态大模型研发的存储挑战

作为一家初创公司,MiniMax 在构建基础设施时主要关注灵活性和成本效率。因此,公司选择在本地数据中心部署关键负载(如 GPU 资源),其它源则部署于云端,以便能够利用云平台的技术优势、弹性和灵活性。由此,MiniMax 采纳了结合本地数据中心与多云环境的混合云方案。鉴于底层基础设施的复杂性和管理挑战,公司采用 Kubernetes 作为基础设施的统一管理层。

存储层作为基础设施平台的关键组成部分,面临挑战主要如下:

  • 高性能:大模型的训练和推理需要处理和存储海量的数据,这不仅要求有高容量的存储解决方案,还需要保证数据的快速读写;
  • POSIX 兼容性:深度学习框架和算法工程师的日常工作都是基于 POSIX 接口,这就要求存储系统必须完全兼容 POSIX,否则会使得 AI 任务无法正常运行;
  • 混合云架构:计算资源,尤其是 GPU,分布在不同的地理区域以及由不同的服务商提供。为了让计算任务可以高效调度,存储系统需要可适用于各种服务商和硬件环境的方案,且具备高度的灵活性,支持跨区域的数据复制、访问和迁移;
  • 存储成本优化:随着数据量的不断增加,尤其是在大数据和 AI 应用领域,扩展存储容量的同时能够有效控制成本成为一大挑战。企业需要采用成本效益高的存储技术,同时确保这些技术能够与现有的 IT 架构无缝集成。

02 为什么选择 JuiceFS 企业版?

初期进行选型时,MiniMax 调研过 CephFS,它在元数据服务方面存在一些瓶颈。同时,MiniMax 也尝试过一些公有云服务的高性能文件存储方案,但最终由于成本过高而放弃。MiniMax 希望能够使用一种既具有足够灵活性和高度可扩展性,同时也能解决成本问题,以及可满足混合云架构的存储系统。

最终, MiniMax 选择了 JuiceFS 企业版作为公司级 AI 平台的存储底座,支持上层各类模型(包括文本大模型、语音大模型、图像大模型、多模态模型)在数据清洗、模型训练、模型推理等场景上的高性能数据访问需求。特别是在超大规模 GPU 集群分布式训练场景中,JuiceFS 优异的表现为模型迭代和 GPU 利用率的提升起到了关键作用。

  • 兼容性:支持 POSIX、HDFS 和 S3 接口,提供统一的存储方案以减少数据拷贝和迁移;
  • 优化 I/O 效率:通过多级缓存、预读和并发读取策略显著提升 I/O 性能;
  • 高性能元数据服务:自研的元数据服务能够处理每秒上百万的请求,响应时间在亚毫秒级,满足 AI 训练各阶段的严苛要求;
  • 多云/混合云数据管理:自动跨云和跨区域的数据复制,确保数据随计算迁移而自动同步,适合全球分布的计算需求;
  • 成本低:JuiceFS 通过其基于对象存储的设计显著降低了数据存储成本,使 MiniMax 能够利用成本效益高的对象存储。此外,JuiceFS 的简便运维也有助于降低 MiniMax 的总体成本。

03 混合云架构下,如何基于 JuiceFS 构建统一的存储系统?

最初,MiniMax 主要面临频繁的读操作需求,而写操作相对较少。为此,公司采用了 JuiceFS 的分布式缓存功能,使用 NVMe 全闪存加速读取操作。随着数据处理需求和集群建设的扩大,单个集群的能力已不足以满足 MiniMax 的需求。因此,MiniMax 基于 JuiceFS 构建了一个中心化的元数据分发引擎和一个能进行高速读写操作的边缘集群架构。

MiniMax 使用 JuiceFS 的镜像文件系统功能,将中心集群的元数据自动复制到各个边缘集群。边缘集群不存储实际数据,而是通过专线从中心集群预热数据到 JuiceFS 的分布式缓存,利用高性能的缓存集群提高读带宽并减少数据重复存储。

此外,数据也可以按需下载到边缘的 JuiceFS 集群,并由上层服务进行生命周期管理。

基于这个统一存储系统,MiniMax 建设了一张覆盖全国的大型环网,并将部分城市作为核心接入点。同时,在各 IDC 机房内近距离连接到这些接入点,以支持高效的数据分发。

“ JuiceFS 不仅提供了适应我们混合云需求的存储系统,还通过高性能元数据服务和多接口兼容性优化了数据处理流程,显著降低了运维成本,是我们运营大模型平台的理想选择。”

—— 星龙,MiniMax 技术总监

MiniMax:如何基于 JuiceFS 构建高性能、低成本的大模型 AI 平台的更多相关文章

  1. 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台

    开发企业级的部标GPS监控平台,投入的开发力量很大,开发周期也很长,选择主流的开发语言以及成熟的开源技术框架来构建基础平台,是最恰当不过的事情,在设计之初就避免掉了技术选型的风险,避免以后在开发过程中 ...

  2. 乾象投资:基于JuiceFS 构建云上量化投研平台

    背景 乾象投资 Metabit Trading 成立于2018年,是一家以人工智能为核心的科技型量化投资公司.核心成员毕业于 Stanford.CMU.清北等高校.目前,管理规模已突破 30 亿元人民 ...

  3. 基于Kubernetes构建企业Jenkins master/slave CI/CD平台

    搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...

  4. 基于PHP构建OAuth 2.0 服务端 认证平台

    OAuth2.0 认证服务 安装 你可以在github上下载OAuth Server PHP,也可以用下列命令下载,不过内容都是一样的 mkdir my-oauth2-walkthrough cd m ...

  5. 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标1077视频监控平台

    开发企业级的部标GPS监控平台,投入的开发力量很大,开发周期也很长,选择主流的开发语言以及成熟的开源技术框架来构建基础平台,是最恰当不过的事情,在设计之初就避免掉了技术选型的风险,避免以后在开发过程中 ...

  6. AI场景存储优化:云知声超算平台基于 JuiceFS 的存储实践

    云知声是一家专注于语音及语言处理的技术公司.Atlas 超级计算平台是云知声的计算底层基础架构,为云知声在 AI 各个领域(如语音.自然语言处理.视觉等)的模型迭代提供训练加速等基础计算能力.Atla ...

  7. 云知声: 基于 JuiceFS 的超算平台存储实践

    云知声从一家专注于语音及语言处理的技术公司,现在技术栈已经发展到具备图像.自然语言处理.信号等全栈式的 AI 能力,是国内头部人工智能独角兽企业.公司拥抱云计算,在智慧医疗.智慧酒店.智慧教育等方面都 ...

  8. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  9. 一个基于mysql构建的队列表

    通常大家都会使用redis作为应用的任务队列表,redis的List结构,在一段进行任务的插入,在另一端进行任务的提取. 任务的插入 $redis->lPush("key:task:l ...

  10. 构建高性能web站点--读书大纲

    用户输入你的站点网址,等了半天..还没打开,裤衩一下就给关了.好了,流失了一个用户.为什么会有这样的问题呢.怎么解决自己站点“慢”,体验差的问题呢. 在这段等待的时间里,到底发生了什么?事实上这并不简 ...

随机推荐

  1. 基于python3 flet库的证书查看工具

    前言 基于python3 flet库实现了证书信息的提取,留作自用,如有错误欢迎指正. 正文 程序架构: 主程序 main.py 证书解析程序 certHandle.py 运行 python main ...

  2. MongoDB手稿

  3. Java FastJson解析json字符串

    json转map Map<String, 实体类> titleMap=JSON.parseObject(JSON字符串, new TypeReference<HashMap<S ...

  4. 详解C#委托与事件

    在C#中,委托是一种引用类型的数据类型,允许我们封装方法的引用.通过使用委托,我们可以将方法作为参数传递给其他方法,或者将多个方法组合在一起,从而实现更灵活的编程模式.委托类似于函数指针,但提供了类型 ...

  5. redis环境的安装

    Redis环境的安装(源码安装),主要分为单机安装与集群安装,无论是单机安装还是集群安装,Redis本身的依赖是必须要有的,本文所采用的Redis版本是redis-5.0.3,所需要的依赖如下: cp ...

  6. 【郝斌C ST】 指针入门

    #include <stdio.h> int main() { printf("Hello, World!\n"); int i = 3; int * p = & ...

  7. 【Spring Data JPA】02 快速上手

    完成一个CRUD - 创建工程导入依赖坐标 - 配置Spring的配置文件 - 配置ORM的实体类,绑定映射关系 - 编写一个符合SpringDataJpa的dao接口 Maven依赖坐标 <p ...

  8. 【Vue】Re17 Router 第四部分(参数传递,守卫函数)

    一.案例搭建 新建Profile组件 组件写好内容后配置路由 { path : '/profile', component : () => import('../components/Profi ...

  9. 【Layui】16 表单元素 Form

    文档地址: https://www.layui.com/demo/form.html 表单元素: 1.输入框 2.密码框 3.下拉列表 4.单选框 5.复选框 6.文档域 7.富文本 8.开关 单行输 ...

  10. springboot实现事务管理

    Springboot实现事务步骤1.在启动类加上@EnableTransactionManagement 2.在业务层方法上加 @Transactional(rollbackFor = Excepti ...