news 2026/8/26 16:32:32

Marin部署指南:从本地服务器到云端平台的无缝迁移

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Marin部署指南:从本地服务器到云端平台的无缝迁移

Marin部署指南:从本地服务器到云端平台的无缝迁移

【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marin

Marin作为开源的基础模型研发框架,提供了从本地服务器到云端平台的完整部署方案。本指南将帮助你快速掌握Marin的部署技巧,实现从本地GPU环境到云端集群的无缝迁移,让基础模型训练和推理更加高效便捷。

本地GPU环境部署:快速启动基础模型训练

系统环境准备

部署Marin本地环境需要满足以下条件:

  • Ubuntu 24.04操作系统
  • NVIDIA驱动580或更高版本(支持CUDA 13)
  • 已完成基础安装(参考安装指南)

首先验证NVIDIA驱动是否符合要求:

nvidia-smi

安装GPU运行时

Marin使用JAX作为核心库,通过以下命令安装GPU支持的运行时:

uv sync --extra=gpu

对于DGX Spark等具有统一内存的机器,建议设置内存分配比例:

export XLA_PYTHON_CLIENT_MEM_FRACTION=0.5

可以将此配置添加到.bashrc.zshrc文件中,使其永久生效。

运行本地实验

使用统一教程脚本即可启动训练:

export MARIN_PREFIX=local_store uv run python experiments/tutorials/train_tiny_model.py --device h100x8 --dataset wikitext

脚本通过--device参数自动适配不同硬件配置,例如h100x8表示使用8块H100 GPU。设备配置在experiments/tutorials/train_tiny_model.py中定义:

resources = ResourceConfig.with_gpu("H100", count=8, cpu=32, disk="128G", ram="128G") batch_size = 256

云端GPU部署:利用集群资源扩展训练能力

云端集群概览

Marin通过Iris调度系统连接到CoreWeave的H100 GPU集群,主要包含以下集群:

集群位置加速器配置
marinGCPTPU v4/v5e/v5p/v6e, CPU
cw-rno2aCoreWeave, RenoH100 (8 per node)
cw-us-east-02aCoreWeave, US EastH100 (8 per node)

提交云端GPU任务

使用以下命令提交GPU作业到云端集群:

uv run iris --cluster=marin job run \ --target-cluster cw-rno2a \ --cpu=1 --memory=2G --extra=cpu \ -e WANDB_API_KEY "$WANDB_API_KEY" \ -- python -m experiments.tutorials.train_tiny_model --device h100x8 --dataset wikitext

关键参数说明:

  • --target-cluster:指定GPU集群(如cw-rno2a或cw-us-east-02a)
  • MARIN_PREFIX:云端存储路径,默认使用s3://marin-us-east-02a/marin

资源配置与扩展

在代码中配置GPU资源需求:

from fray.types import ANY_REGION, ResourceConfig ResourceConfig.with_gpu("H100", count=8, cpu=32, disk="128G", ram="128G", regions=[ANY_REGION])

支持的GPU配置包括:

  • 单GPU:count=1(8 vCPU,64G内存)
  • 多GPU:count=8(32 vCPU,128G内存)
  • 多节点:增加replicas参数实现跨节点扩展

监控云端任务

使用以下命令监控任务状态和日志:

uv run iris --cluster=marin job logs -f /<user>/<job-name> uv run iris --cluster=marin job summary /<user>/<job-name>

从本地到云端的迁移策略

数据存储迁移

本地存储路径通常设置为:

export MARIN_PREFIX=local_store

迁移到云端时,需要使用S3兼容的对象存储:

export MARIN_PREFIX="s3://marin-us-east-02a/scratch/my-experiment"

所有训练数据、缓存和输出文件都需要存储在S3路径下,CoreWeave集群无法访问GCP存储(如gs://前缀)。

设备配置调整

本地与云端的设备配置差异主要体现在资源参数上:

本地配置示例:

# 本地8卡H100配置 resources = ResourceConfig.with_gpu("H100", count=8, cpu=32, disk="128G", ram="128G")

云端配置示例:

# 云端8卡H100配置,添加区域参数 from fray.types import ANY_REGION resources = ResourceConfig.with_gpu("H100", count=8, cpu=32, disk="128G", ram="128G", regions=[ANY_REGION])

训练流程迁移

Marin的统一脚本设计使迁移变得简单,只需修改以下参数:

配置项本地环境云端环境
设备参数--device h100x8--device h100x8
存储路径MARIN_PREFIX=local_storeMARIN_PREFIX=s3://...
提交方式直接运行脚本通过iris job run提交

分布式训练架构解析

Marin采用先进的分布式训练架构,支持多设备并行计算。下图展示了2D设备网格的分布式布局:

该架构通过以下方式优化训练效率:

  • 数据并行:跨设备拆分训练数据
  • 模型并行:将模型层分布到不同设备
  • 自动分片:Haliax库自动处理张量分片和通信

常见问题与解决方案

内存管理

问题:GPU内存不足导致训练中断
解决方案:调整内存分配比例

export XLA_PYTHON_CLIENT_MEM_FRACTION=0.5

详细优化方法参见HBM优化指南

存储访问

问题:云端任务无法访问本地数据
解决方案:确保所有路径使用S3前缀

export MARIN_PREFIX="s3://marin-us-east-02a/scratch/my-experiment"

设备识别

问题:JAX未正确识别GPU设备
解决方案:检查JAX安装和CUDA版本

uv sync --extra=gpu python -c "import jax; print(jax.devices())"

总结与下一步

通过本指南,你已经掌握了Marin从本地到云端的部署方法。关键要点包括:

  1. 本地环境需要NVIDIA驱动580+和JAX GPU运行时
  2. 云端部署通过Iris提交到CoreWeave的H100集群
  3. 迁移时重点调整存储路径和资源配置
  4. 使用统一脚本实现环境无关的训练流程

下一步建议:

  • 探索高级训练配置
  • 学习资源优化技巧
  • 尝试多节点分布式训练

Marin框架的设计理念是简化基础模型的研发流程,无论是本地实验还是大规模云端训练,都能提供一致的用户体验和高效的计算能力。

【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 16:30:47

pyspark开发

pyspark开发 pyspark认识 关于PySpark,它是Python调用Spark的接口,可以通过调用Python API的方式来编写Spark程序,它支持了大多数的Spark功能,比如SparkDataFrame、Spark SQL、Streaming、MLlib等等。 Spark SQL使用 这个模块是Spark中用来处理结构化数据的,提供一个S…

作者头像 李华
网站建设 2026/8/26 16:28:31

HR必须关注的12个考勤数据指标!建议收藏

很多HR每天都在看考勤。 谁迟到了&#xff0c;谁没打卡&#xff0c;谁请假了&#xff0c;谁补卡还没审批&#xff0c;月底再把异常拉出来核一遍。 事情不少&#xff0c;但做久了会发现&#xff0c;如果考勤管理一直停留在查谁没打卡&#xff0c;其实很难给管理带来多少价值。 真…

作者头像 李华
网站建设 2026/8/26 16:27:13

autocad 2020 模型窗口输出布局窗口

布局空间是模型空间的观察窗口&#xff0c;便于进行局部查看和打印操作模型窗口和布局窗口数据编辑同步多个图框图纸输出&#xff0c;一个图纸输出到一个布局窗口操作步骤&#xff1a;1. 打开 CAD 图纸&#xff0c;如果没有布局&#xff0c;可以新建布局&#xff1b;2. 点击布局…

作者头像 李华
网站建设 2026/8/26 16:24:35

FPGA入门实战:按键控制蜂鸣器播放音乐,LED还能跟着节奏闪烁

FPGA入门实战&#xff1a;按键控制蜂鸣器播放音乐&#xff0c;LED还能跟着节奏闪烁一、缘起&#xff1a;从“让蜂鸣器响”到“让蜂鸣器唱歌”二、基础知识&#xff1a;音符频率与PWM波2.1 音符与频率的对应关系2.2 用PLL产生精确时钟三、系统架构总览四、模块代码实现&#xff…

作者头像 李华