[CICD] Add train image pipeline and real TE-FL smoke testCi/ascend train te smoke - #1250
[CICD] Add train image pipeline and real TE-FL smoke testCi/ascend train te smoke#1250AlexMa616 wants to merge 20 commits into
Conversation
be82b5a to
c2a56d4
Compare
c2a56d4 to
3d7ea91
Compare
There was a problem hiding this comment.
Next time we try to build a build_image_common.yml and use vendor.yml to control the build workflow
There was a problem hiding this comment.
We’ll reuse a common image-build workflow with vendor-specific configuration for future chips.
| envs: | ||
| ASCEND_VISIBLE_DEVICES: "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" | ||
| HCCL_WHITELIST_DISABLE: 1 | ||
| CC: ./tools/install/ascend/triton_gxx_wrapper.sh |
There was a problem hiding this comment.
This wrapper serializes concurrent Triton compilation to prevent .gch file conflicts. I’ve added a comment to clarify it.
|
|
||
| data: | ||
| # Keep the accelerator smoke test independent of runner-local .idx/.bin files. | ||
| # MockGPTDataset still exercises tokenization, forward/backward, HCCL, and the optimizer. |
There was a problem hiding this comment.
If use the MockGPTDataset,we can‘t verify the accuracy with golden value
There was a problem hiding this comment.
I replaced the mock dataset with the existing real dataset and added golden loss validation.
There was a problem hiding this comment.
We write a test script to test another test script?
There was a problem hiding this comment.
The extra parser logic and its unit test have been removed.
3eec7aa to
64843ae
Compare
|
Following the review suggestion, image building has been split from this PR. This PR now contains only the standard Ascend workflow and test validation using prebuilt images; it no longer changes Dockerfiles, image-build workflows, requirements, or Ascend image installers. The image-build work is preserved separately on BrianPei:ci/ascend-image-build and will be submitted after this workflow PR is merged. |
5abe025 to
b0de48f
Compare
b0de48f to
b3072f1
Compare
…d-train-te-smoke # Conflicts: # .github/workflows/all_tests.yml # tests/test_utils/runners/run_functional_tests.sh
| ci_image: harbor.baai.ac.cn/flagscale/vllm-plugin-fl:v0.1.0-ascend-ci | ||
| ci_train_image: harbor.baai.ac.cn/flagscale/vllm-plugin-fl:v0.1.0-ascend-ci | ||
| ci_inference_image: harbor.baai.ac.cn/flagscale/vllm-plugin-fl:v0.1.0-ascend-ci | ||
| ci_image: harbor.baai.ac.cn/flagos-dev/flagscale@sha256:e5b8e3b2c37584f980dffa1c08649b44e9edd2415522e123502e8d82a7854ef1 |
There was a problem hiding this comment.
The Image tag seems strange to me?
| envs: | ||
| HYDRA_FULL_ERROR: 1 | ||
| ASCEND_VISIBLE_DEVICES: "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" | ||
| ASCEND_VISIBLE_DEVICES: "2,3" |
There was a problem hiding this comment.
Are there any reasons why we set ASCEND_VISIBLE_DEVICES: "2,3"and “3, 4” in serve? It seems strange.
There was a problem hiding this comment.
This ensures that the inference and serving CI pipelines use separate NPUs when running in parallel, thereby avoiding device contention, VRAM conflicts, and mutual interference between tasks.
There was a problem hiding this comment.
Does YuZhou agree with this ideas?
There was a problem hiding this comment.
Remove platform-related configs in a follow-up change
| || { echo "❌ vllm-plugin-FL install failed"; exit 1; } | ||
| echo "✅ vllm-plugin-FL installed successfully" | ||
|
|
||
| # Install FlagScale and dependencies |
There was a problem hiding this comment.
Is this necessary? Install FlagScale CLI in line 188 & in line 25, we installed FlagScale CLI again.
| #### 1. Launch Container | ||
| ```bash | ||
| docker pull quay.io/ascend/vllm-ascend:v0.13.0rc1-a3 | ||
| ASCEND_IMAGE=harbor.baai.ac.cn/flagos-dev/flagscale@sha256:e5b8e3b2c37584f980dffa1c08649b44e9edd2415522e123502e8d82a7854ef1 |
There was a problem hiding this comment.
do we need to update the image tag?
| - data | ||
|
|
||
| data: | ||
| data_path: /home/gitlab-runner/data/pile_wikipedia_demo/pile_wikipedia_demo |
There was a problem hiding this comment.
is this the right data path?
| # after the Ascend inference and serve matrices pass. | ||
| FLAGGEMS_REF="${FLAGSCALE_FLAGGEMS_REF:-61f3ff2773bc9c8e86b97489775ef9668a96a33c}" | ||
| VLLM_PLUGIN_REPO="${FLAGSCALE_VLLM_PLUGIN_REPO:-https://github.com/flagos-ai/vllm-plugin-FL.git}" | ||
| VLLM_PLUGIN_REF="${FLAGSCALE_VLLM_PLUGIN_REF:-43edeb601f4b8f616f56109de64836529e758deb}" |
There was a problem hiding this comment.
why we use this commit tag
Description
Add an Ascend training image pipeline and enable the Ascend CI suite with a
real TransformerEngine-FL training smoke test.
The change builds the training runtime from Ascend-specific Docker and installer
files, validates Megatron-LM-FL and TE-FL NPU initialization, and runs a
two-device Qwen3 0.6B smoke test through the TE-FL reference backend.
Chip-specific setup remains outside reusable common workflows. Ascend behavior
is defined through the platform configuration, Ascend installer and launcher,
Dockerfile, and dedicated image-build workflow. No FlagScale core source is
changed.
Prerequisite: TransformerEngine-FL must include
771a7488(
fix(ascend): include NPU backend in Python package) or an equivalent upstreamchange before rebuilding the image from the official TE-FL repository.
Type of change
Changes
Megatron-LM-FL and TransformerEngine-FL.
platform initialization.
transformer_impl: transformer_engineand TE-FLreference.torchoperators.all_testsworkflow and selected thevalidated Harbor training image.
torch_npu 2.7.1.post2 runtime.
relative requirements include processing.
Validation
through
reference.torch.1 passedFLAGSCALE_ASCEND_REPO_IMAGE=PASSharbor.baai.ac.cn/flagos-dev/flagscale:manual-20260724-ascend-train-426ad116-te771a7488sha256:2fe15cf8b339b6828395fc3ce56e67b004b7c5f251d9e6673f20579819fe2c16in the Ascend matrix.
2 passed.Checklist