ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

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

Marin部署指南:从本地服务器到云端平台的无缝迁移 Marin部署指南从本地服务器到云端平台的无缝迁移【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marinMarin作为开源的基础模型研发框架提供了从本地服务器到云端平台的完整部署方案。本指南将帮助你快速掌握Marin的部署技巧实现从本地GPU环境到云端集群的无缝迁移让基础模型训练和推理更加高效便捷。本地GPU环境部署快速启动基础模型训练系统环境准备部署Marin本地环境需要满足以下条件Ubuntu 24.04操作系统NVIDIA驱动580或更高版本支持CUDA 13已完成基础安装参考安装指南首先验证NVIDIA驱动是否符合要求nvidia-smi安装GPU运行时Marin使用JAX作为核心库通过以下命令安装GPU支持的运行时uv sync --extragpu对于DGX Spark等具有统一内存的机器建议设置内存分配比例export XLA_PYTHON_CLIENT_MEM_FRACTION0.5可以将此配置添加到.bashrc或.zshrc文件中使其永久生效。运行本地实验使用统一教程脚本即可启动训练export MARIN_PREFIXlocal_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, count8, cpu32, disk128G, ram128G) batch_size 256云端GPU部署利用集群资源扩展训练能力云端集群概览Marin通过Iris调度系统连接到CoreWeave的H100 GPU集群主要包含以下集群集群位置加速器配置marinGCPTPU v4/v5e/v5p/v6e, CPUcw-rno2aCoreWeave, RenoH100 (8 per node)cw-us-east-02aCoreWeave, US EastH100 (8 per node)提交云端GPU任务使用以下命令提交GPU作业到云端集群uv run iris --clustermarin job run \ --target-cluster cw-rno2a \ --cpu1 --memory2G --extracpu \ -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-02aMARIN_PREFIX云端存储路径默认使用s3://marin-us-east-02a/marin资源配置与扩展在代码中配置GPU资源需求from fray.types import ANY_REGION, ResourceConfig ResourceConfig.with_gpu(H100, count8, cpu32, disk128G, ram128G, regions[ANY_REGION])支持的GPU配置包括单GPUcount18 vCPU64G内存多GPUcount832 vCPU128G内存多节点增加replicas参数实现跨节点扩展监控云端任务使用以下命令监控任务状态和日志uv run iris --clustermarin job logs -f /user/job-name uv run iris --clustermarin job summary /user/job-name从本地到云端的迁移策略数据存储迁移本地存储路径通常设置为export MARIN_PREFIXlocal_store迁移到云端时需要使用S3兼容的对象存储export MARIN_PREFIXs3://marin-us-east-02a/scratch/my-experiment所有训练数据、缓存和输出文件都需要存储在S3路径下CoreWeave集群无法访问GCP存储如gs://前缀。设备配置调整本地与云端的设备配置差异主要体现在资源参数上本地配置示例# 本地8卡H100配置 resources ResourceConfig.with_gpu(H100, count8, cpu32, disk128G, ram128G)云端配置示例# 云端8卡H100配置添加区域参数 from fray.types import ANY_REGION resources ResourceConfig.with_gpu(H100, count8, cpu32, disk128G, ram128G, regions[ANY_REGION])训练流程迁移Marin的统一脚本设计使迁移变得简单只需修改以下参数配置项本地环境云端环境设备参数--device h100x8--device h100x8存储路径MARIN_PREFIXlocal_storeMARIN_PREFIXs3://...提交方式直接运行脚本通过iris job run提交分布式训练架构解析Marin采用先进的分布式训练架构支持多设备并行计算。下图展示了2D设备网格的分布式布局该架构通过以下方式优化训练效率数据并行跨设备拆分训练数据模型并行将模型层分布到不同设备自动分片Haliax库自动处理张量分片和通信常见问题与解决方案内存管理问题GPU内存不足导致训练中断解决方案调整内存分配比例export XLA_PYTHON_CLIENT_MEM_FRACTION0.5详细优化方法参见HBM优化指南存储访问问题云端任务无法访问本地数据解决方案确保所有路径使用S3前缀export MARIN_PREFIXs3://marin-us-east-02a/scratch/my-experiment设备识别问题JAX未正确识别GPU设备解决方案检查JAX安装和CUDA版本uv sync --extragpu python -c import jax; print(jax.devices())总结与下一步通过本指南你已经掌握了Marin从本地到云端的部署方法。关键要点包括本地环境需要NVIDIA驱动580和JAX GPU运行时云端部署通过Iris提交到CoreWeave的H100集群迁移时重点调整存储路径和资源配置使用统一脚本实现环境无关的训练流程下一步建议探索高级训练配置学习资源优化技巧尝试多节点分布式训练Marin框架的设计理念是简化基础模型的研发流程无论是本地实验还是大规模云端训练都能提供一致的用户体验和高效的计算能力。【免费下载链接】marinOpen-source framework for the research and development of foundation models.项目地址: https://gitcode.com/GitHub_Trending/ma/marin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表