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 socket 获取域名信息

    可以当ping用,应用场景可以在一些没有安装ping工具的镜像容器中,诊断dns或域名的可用性. #-*- coding:utf-8 -*- import socket import tracebac ...

  2. Notepad++ 搭建简单Java编译运行环境

    简介 有时候使用Eclips进行Java相关方法的测试和验证太繁琐,经过查询实践,使用了Notepad++和JDK搭建了一个简单的编译运行环境. 搭建过程 在电脑上安装Java环境(网上教程很多,此过 ...

  3. BootStrap Table 添加序列号

    js $('#table').bootstrapTable({ striped: true,//隔行换色 columns: [ { field: '', title: '序号', sortable: ...

  4. cf edu 133 D

    题意 思路 根据题意,最开始可以想到一个二维的dp状态 用dp[i][j]表示跳了j次刚好到i的方案数 如果是跳了j次,那么这次应该要被k+j-1整除才行 那么这样状态转移就是 dp[i][j] = ...

  5. canvas绘制飞线效果

    在我们做的可视化大屏项目中,经常会遇到飞线的效果. 在我们的大屏编辑器中,可以通过拖拽+配置参数的方式很快就能够实现.下面是我们使用大屏编辑器实现的一个项目效果: 中间地图就有飞线的效果. 抛开编辑器 ...

  6. [oeasy]python0123_中文字符_文字编码_gb2312_激光照排技术_王选

    中文编码GB2312 回忆上次内容 上次回顾了 日韩各有 编码格式 日本 有假名 五十音 一字节 可以勉强放下   有日本汉字 字符数量超过20000+     韩国 有谚文 数量超过500 一个字节 ...

  7. jfinal实验体会

    这次实验我使用的是vue前端+jfinal后端,出现了非常多的问题,因此也花费了我不少时间.在一开始啃jfinal的文档的时候,我感觉jfinal是一个和springboot非常类似的框架,但是使用中 ...

  8. cpu亲和性相关函数和宏 基础讲解[cpu_set_t]

    cpu亲和性相关函数和宏讲解: 写在前面: 我在查找关于linux cpu宏函数没看到有对宏函数基础的.详细的讲解,笔者便通过官方文档入手,对次进行的翻译和理解希望能帮到对这方面宏有疑惑的读者 exp ...

  9. 【Mybatis】06 Session获取 & 配置参数总结

    会话获取 SqlSessionFactory 最佳的获取方式就是使用Mybatis提供的资源类加载配置文件 调用会话工厂建造者实例的建造方法注入读取流 要注意的是建造者生成了了实例就可以不需要了 这里 ...

  10. 【FastDFS】04 Docker搭建

    直接拉取镜像,创建容器并运行容器一把梭哈: docker run -d --restart=always \ --privileged=true \ --net=host \ --name=fastd ...