首页
/ AXLearn项目中的Artifact Registry bundler功能变更解析

AXLearn项目中的Artifact Registry bundler功能变更解析

2025-07-05 23:06:42作者:曹令琨Iris

在AXLearn项目的使用过程中,近期发现了一个关于Artifact Registry bundler功能的重要变更。本文将从技术角度分析这一变更的背景、影响以及解决方案。

背景介绍

Artifact Registry是Google Cloud提供的一项服务,用于存储和管理容器镜像等构建工件。在AXLearn项目中,原本支持通过axlearn gke start命令直接使用Artifact Registry bundler功能,该功能会自动执行docker builddocker push操作,将构建好的镜像推送到Artifact Registry,然后用于后续的Kubernetes作业。

变更分析

在项目提交a5ffd08a75e23edbb1c3b6c33570ba7ac5ef4405中,移除了对GAR(GCP Artifact Registry) bundling的直接支持。这一变更实际上是项目重构过程中的过渡性修改,目的是为了后续将axlearn gke startaxlearn gcp launch命令进行整合,简化用户体验。

影响评估

这一变更影响了依赖Artifact Registry bundler进行测试的用户工作流程。原本可以通过单一命令完成镜像构建和作业提交的操作,现在需要分两步进行。

临时解决方案

目前可以采用以下工作流程来继续使用Artifact Registry bundler功能:

  1. 首先使用axlearn gcp bundle命令构建并推送镜像:
axlearn gcp bundle --name=$USER-custom-bundle \
        --bundler_spec=allow_dirty=True \
        --bundler_type=artifactregistry --bundler_spec=image=tpu \
        --bundler_spec=dockerfile=Dockerfile --bundler_spec=target=tpu
  1. 然后使用axlearn gcp gke start命令提交作业,确保使用相同的--name参数值:
axlearn gcp gke start --cluster=$USER-axlearn2 --name=$USER-custom-bundle \
        --instance_type=tpu-v6e-16 \
        --num_replicas=1 \
        --bundler_spec=allow_dirty=True \
        --bundler_type=artifactregistry --bundler_spec=image=tpu \
        --bundler_spec=dockerfile=Dockerfile --bundler_spec=target=tpu \
        -- python3 -m axlearn.common.launch_trainer_main \
        --module=text.gpt.c4_trainer --config=fuji-7B-v2-flash-single-host \
          --trainer_dir=gs://$PROJECT_ID-axlearn/$USER-v6e-7b-1/ \
          --data_dir=gs://axlearn-public/tensorflow_datasets  \
          --jax_backend=tpu \
          --mesh_selector=tpu-v6e-16 \
          --trace_at_steps=3

未来展望

根据项目维护者的说明,这一变更是为了后续更简洁的命令行体验做准备。新的实现将统一axlearn gke startaxlearn gcp launch命令,并增加本地运行支持,预计将在近期提交。

总结

对于AXLearn用户来说,目前需要暂时采用两步法来使用Artifact Registry bundler功能。这一过渡期解决方案虽然增加了操作步骤,但确保了功能的可用性。随着项目的发展,未来将提供更简洁统一的命令行体验。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
184
266
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
138
189
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
887
528
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
370
384
Git4ResearchGit4Research
Git4Research旨在构建一个开放、包容、协作的研究社区,让更多人能够参与到科学研究中,共同推动知识的进步。
HTML
19
0
kernelkernel
deepin linux kernel
C
22
6
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
337
1.11 K
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.08 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
84
4
harmony-utilsharmony-utils
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
ArkTS
61
2