docs: consolidate training/fine-tuning guides under training_guides/ - #256
Conversation
Move every training and fine-tuning page (mdx, md, ipynb) plus their assets out of kubeflow/how_to/ and workbench/how_to/ into a new top-level docs/en/training_guides/ section. Add an index page that points to each guide based on the user's workflow. Tighten each moved guide: drop verbose background, collapse duplicate parameter / data sections, and keep the prerequisites, YAMLs, and notebooks intact. Standardize file names to kebab-case. Update internal links (training_guides → workbench/how_to / model_inference / kueue references) and external references from the MLOps coding-agents page. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Quote `<your-namespace>` and `<vendor-fine-tuning-image>` so the embedded YAML is copy-pasteable without YAML parsing surprises. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
WalkthroughThis PR consolidates training and fine-tuning documentation from deprecated ChangesTraining Guides Reorganization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/en/training_guides/fine-tune-and-pretrain-llms-on-ascend-npu.mdx`:
- Around line 11-13: The three notebook links (`qwen3_finetune_verify.ipynb`,
`qwen25_pretrain_verify.ipynb`, `qwen3_0.6b_finetune_verify.ipynb`) are
root-absolute (`/...ipynb`) and will break after the reorg; update each link in
the table to a relative path (e.g. remove the leading slash or use
`./qwen3_finetune_verify.ipynb`) so the markdown in this file
(`fine-tune-and-pretrain-llms-on-ascend-npu.mdx`) points to the notebooks now
located under the same `training_guides` directory.
In `@docs/en/training_guides/fine-tune-with-trainer-v2.mdx`:
- Around line 30-33: The links to the notebooks use GitHub "/tree/" paths which
are for directories and can break navigation; update both URLs in the text that
reference fine-tune-with-trainer-v2.ipynb and
fine-tune-with-trainer-v2-mindspeed-npu.ipynb to point to the actual file blob
URLs (replace "/tree/" with "/blob/" and include the branch/path as in the repo)
so the links open the notebook file directly; ensure you update the two
occurrences that mention the notebook filenames in the paragraph describing
TrainingRuntime/TrainJob and the Huawei Ascend NPU note.
- Line 46: Update the YAML example where the line reads namespace:
<your-namespace> to quote the placeholder so parsers don't misinterpret angle
brackets; locate the YAML block containing the symbol "namespace:
<your-namespace>" in the fine-tune-with-trainer-v2.mdx doc and change it to use
quoted placeholder (e.g., namespace: "<your-namespace>" or namespace:
'<your-namespace>').
In `@docs/en/training_guides/fine-tuning-using-notebooks.mdx`:
- Around line 163-165: Remove the unsafe git configuration flag `-c
http.sslVerify=false` from the documented git commands (the `git -c
http.sslVerify=false -c lfs.activitytimeout=36000 clone
"https://${gitauth}@${BASE_MODEL_URL#https://}"` and the `(cd ${BASE_MODEL_NAME}
&& git -c http.sslVerify=false -c lfs.activitytimeout=36000 lfs pull)`) and the
other occurrences referenced (around the other snippets at 169-170 and 270),
leaving only `-c lfs.activitytimeout=36000` (or no `-c` flags) and update
surrounding text to advise configuring proper CA trust instead of disabling TLS
verification.
- Around line 406-408: The non-NVIDIA vendor template still uses hard-coded
NVIDIA resource keys (nvidia.com/gpualloc, nvidia.com/gpucores,
nvidia.com/gpumem); update that resource block in the fine-tuning notebook
content to use explicit vendor placeholders (e.g., <vendor>.com/gpualloc,
<vendor>.com/gpucores, <vendor>.com/gpumem or a descriptive placeholder like
ACME.com/*) so the example is generic and schedulable on non-NVIDIA
accelerators; ensure any accompanying text mentions replacing <vendor> with the
actual accelerator vendor name.
In `@docs/en/training_guides/kubeflow-trainer-quick-start.md`:
- Line 93: The notebook link for "kubeflow-trainer-mnist.ipynb" currently uses a
/tree/ URL which points to a directory view; update the URL in the markdown line
that contains the link text kubeflow-trainer-mnist.ipynb to use the GitHub
/blob/ path (or the raw file URL) instead of /tree/ so the notebook can be
opened/downloaded directly.
In `@docs/en/training_guides/training-hub-fine-tuning.mdx`:
- Around line 48-49: Replace the GitHub "tree" URLs for
sft-comprehensive-tutorial.ipynb and osft-comprehensive-tutorial.ipynb with
direct raw-file or repo-relative documentation links so the table's "Download"
action opens/serves the notebook file (for example use the
raw.githubusercontent.com URL for each .ipynb or a docs permalink that serves
the file) and update the table entries for "sft-comprehensive-tutorial.ipynb"
and "osft-comprehensive-tutorial.ipynb" accordingly.
In `@docs/en/training_guides/training-runtimes.mdx`:
- Around line 52-58: The smoke-test instructions are incomplete: before applying
trainjob-smoke.yaml, download the remote file (trainjob-smoke.yaml), edit it to
set metadata.namespace to your namespace and spec.runtimeRef.name to the runtime
you want, then kubectl apply the edited file; alternatively show a patch/kubectl
-n <your-namespace> apply -f /tmp/trainjob-smoke.yaml example so the subsequent
kubectl -n <your-namespace> get trainjobs and the trainjob=$(kubectl -n
<your-namespace> ...) log command target the same namespace and runtime.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 83ff1be6-fbf5-42d4-ab29-d4f0df007f90
⛔ Files ignored due to path filters (1)
docs/en/training_guides/assets/build-train-image/uv.lockis excluded by!**/*.lock
📒 Files selected for processing (31)
docs/en/kubeflow/how_to/fine-tune-with-trainer-v2.mdxdocs/en/kubeflow/how_to/training-runtimes.mdxdocs/en/model_inference/inference_service/how_to/mlops_with_coding_agents.mdxdocs/en/training_guides/assets/build-train-image/fine_tune_with_llamafactory.Containerfiledocs/en/training_guides/assets/build-train-image/fine_tune_with_llamafactory_npu.Containerfiledocs/en/training_guides/assets/build-train-image/pyproject.tomldocs/en/training_guides/assets/kf-trainingruntime.yamldocs/en/training_guides/assets/kf-trainjob.yamldocs/en/training_guides/assets/training-runtimes/llamafactory0.9-cann8.5-arm64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/llamafactory0.9-cu126-amd64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/mindspeed-llm-cann8.5-arm64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/torch2.6-cann8.5-arm64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/torch2.6-cu126-amd64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/traininghub0.1-cu126-amd64-trainingruntime.yamldocs/en/training_guides/assets/training-runtimes/trainjob-smoke.yamldocs/en/training_guides/fine-tune-and-pretrain-llms-on-ascend-npu.mdxdocs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynbdocs/en/training_guides/fine-tune-with-trainer-v2.ipynbdocs/en/training_guides/fine-tune-with-trainer-v2.mdxdocs/en/training_guides/fine-tuning-using-notebooks.mdxdocs/en/training_guides/index.mdxdocs/en/training_guides/kubeflow-trainer-mnist.ipynbdocs/en/training_guides/kubeflow-trainer-quick-start.mddocs/en/training_guides/osft-comprehensive-tutorial.ipynbdocs/en/training_guides/sft-comprehensive-tutorial.ipynbdocs/en/training_guides/training-hub-fine-tuning.mdxdocs/en/training_guides/training-runtimes.mdxdocs/en/workbench/how_to/fine-tune-and-pretrain-llms-on-ascend-npu.mdxdocs/en/workbench/how_to/fine_tunning_using_notebooks.mdxdocs/en/workbench/how_to/kubeflow_trainer_quick_start.mddocs/en/workbench/how_to/training_hub_fine_tuning.mdx
💤 Files with no reviewable changes (6)
- docs/en/kubeflow/how_to/training-runtimes.mdx
- docs/en/workbench/how_to/fine-tune-and-pretrain-llms-on-ascend-npu.mdx
- docs/en/workbench/how_to/training_hub_fine_tuning.mdx
- docs/en/workbench/how_to/fine_tunning_using_notebooks.mdx
- docs/en/kubeflow/how_to/fine-tune-with-trainer-v2.mdx
- docs/en/workbench/how_to/kubeflow_trainer_quick_start.md
| | [`qwen3_finetune_verify.ipynb`](/qwen3_finetune_verify.ipynb) | `PyTorch CANN` | Full-parameter SFT of `Qwen3-8B` (MindSpeed-LLM) | | ||
| | [`qwen25_pretrain_verify.ipynb`](/qwen25_pretrain_verify.ipynb) | `PyTorch CANN` | Pretraining of `Qwen2.5-7B` (MindSpeed-LLM) | | ||
| | [`qwen3_0.6b_finetune_verify.ipynb`](/qwen3_0.6b_finetune_verify.ipynb) | `MindSpore CANN` | Full-parameter SFT of `Qwen3-0.6B` (bundled MindSpeed-Core-MS + MindSpeed-LLM) | |
There was a problem hiding this comment.
Use relative notebook links to avoid broken navigation after the move.
On Line 11, Line 12, and Line 13, the notebook URLs are root-absolute (/...ipynb). In this reorg, these assets were moved under training_guides, so root-absolute links can 404 depending on site routing.
Suggested fix
-| [`qwen3_finetune_verify.ipynb`](/qwen3_finetune_verify.ipynb) | `PyTorch CANN` | Full-parameter SFT of `Qwen3-8B` (MindSpeed-LLM) |
-| [`qwen25_pretrain_verify.ipynb`](/qwen25_pretrain_verify.ipynb) | `PyTorch CANN` | Pretraining of `Qwen2.5-7B` (MindSpeed-LLM) |
-| [`qwen3_0.6b_finetune_verify.ipynb`](/qwen3_0.6b_finetune_verify.ipynb) | `MindSpore CANN` | Full-parameter SFT of `Qwen3-0.6B` (bundled MindSpeed-Core-MS + MindSpeed-LLM) |
+| [`qwen3_finetune_verify.ipynb`](./qwen3_finetune_verify.ipynb) | `PyTorch CANN` | Full-parameter SFT of `Qwen3-8B` (MindSpeed-LLM) |
+| [`qwen25_pretrain_verify.ipynb`](./qwen25_pretrain_verify.ipynb) | `PyTorch CANN` | Pretraining of `Qwen2.5-7B` (MindSpeed-LLM) |
+| [`qwen3_0.6b_finetune_verify.ipynb`](./qwen3_0.6b_finetune_verify.ipynb) | `MindSpore CANN` | Full-parameter SFT of `Qwen3-0.6B` (bundled MindSpeed-Core-MS + MindSpeed-LLM) |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | [`qwen3_finetune_verify.ipynb`](/qwen3_finetune_verify.ipynb) | `PyTorch CANN` | Full-parameter SFT of `Qwen3-8B` (MindSpeed-LLM) | | |
| | [`qwen25_pretrain_verify.ipynb`](/qwen25_pretrain_verify.ipynb) | `PyTorch CANN` | Pretraining of `Qwen2.5-7B` (MindSpeed-LLM) | | |
| | [`qwen3_0.6b_finetune_verify.ipynb`](/qwen3_0.6b_finetune_verify.ipynb) | `MindSpore CANN` | Full-parameter SFT of `Qwen3-0.6B` (bundled MindSpeed-Core-MS + MindSpeed-LLM) | | |
| | [`qwen3_finetune_verify.ipynb`](./qwen3_finetune_verify.ipynb) | `PyTorch CANN` | Full-parameter SFT of `Qwen3-8B` (MindSpeed-LLM) | | |
| | [`qwen25_pretrain_verify.ipynb`](./qwen25_pretrain_verify.ipynb) | `PyTorch CANN` | Pretraining of `Qwen2.5-7B` (MindSpeed-LLM) | | |
| | [`qwen3_0.6b_finetune_verify.ipynb`](./qwen3_0.6b_finetune_verify.ipynb) | `MindSpore CANN` | Full-parameter SFT of `Qwen3-0.6B` (bundled MindSpeed-Core-MS + MindSpeed-LLM) | |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/fine-tune-and-pretrain-llms-on-ascend-npu.mdx` around
lines 11 - 13, The three notebook links (`qwen3_finetune_verify.ipynb`,
`qwen25_pretrain_verify.ipynb`, `qwen3_0.6b_finetune_verify.ipynb`) are
root-absolute (`/...ipynb`) and will break after the reorg; update each link in
the table to a relative path (e.g. remove the leading slash or use
`./qwen3_finetune_verify.ipynb`) so the markdown in this file
(`fine-tune-and-pretrain-llms-on-ascend-npu.mdx`) points to the notebooks now
located under the same `training_guides` directory.
| Download [`fine-tune-with-trainer-v2.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2.ipynb) into your workbench and follow the cells. The notebook creates a `TrainingRuntime`, then submits a `TrainJob` that mounts the shared PVC and uses the `aml-image-builder-secret`. | ||
|
|
||
| For Huawei Ascend NPUs, use [`fine-tune-with-trainer-v2-mindspeed-npu.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynb) instead — it runs the MindSpeed-LLM SFT pipeline (HF → MCore checkpoint, preprocess, train) on `huawei.com/Ascend910B4` resources with `runtimeClassName: ascend`. | ||
|
|
There was a problem hiding this comment.
Use file URLs for notebook links instead of /tree/ paths.
Both notebook links target files via /tree/, which is intended for directories and can break user navigation.
Suggested doc fix
-Download [`fine-tune-with-trainer-v2.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2.ipynb) into your workbench and follow the cells.
+Download [`fine-tune-with-trainer-v2.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/fine-tune-with-trainer-v2.ipynb) into your workbench and follow the cells.
-For Huawei Ascend NPUs, use [`fine-tune-with-trainer-v2-mindspeed-npu.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynb) instead
+For Huawei Ascend NPUs, use [`fine-tune-with-trainer-v2-mindspeed-npu.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynb) instead📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Download [`fine-tune-with-trainer-v2.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2.ipynb) into your workbench and follow the cells. The notebook creates a `TrainingRuntime`, then submits a `TrainJob` that mounts the shared PVC and uses the `aml-image-builder-secret`. | |
| For Huawei Ascend NPUs, use [`fine-tune-with-trainer-v2-mindspeed-npu.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynb) instead — it runs the MindSpeed-LLM SFT pipeline (HF → MCore checkpoint, preprocess, train) on `huawei.com/Ascend910B4` resources with `runtimeClassName: ascend`. | |
| Download [`fine-tune-with-trainer-v2.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/fine-tune-with-trainer-v2.ipynb) into your workbench and follow the cells. The notebook creates a `TrainingRuntime`, then submits a `TrainJob` that mounts the shared PVC and uses the `aml-image-builder-secret`. | |
| For Huawei Ascend NPUs, use [`fine-tune-with-trainer-v2-mindspeed-npu.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/fine-tune-with-trainer-v2-mindspeed-npu.ipynb) instead — it runs the MindSpeed-LLM SFT pipeline (HF → MCore checkpoint, preprocess, train) on `huawei.com/Ascend910B4` resources with `runtimeClassName: ascend`. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/fine-tune-with-trainer-v2.mdx` around lines 30 - 33,
The links to the notebooks use GitHub "/tree/" paths which are for directories
and can break navigation; update both URLs in the text that reference
fine-tune-with-trainer-v2.ipynb and
fine-tune-with-trainer-v2-mindspeed-npu.ipynb to point to the actual file blob
URLs (replace "/tree/" with "/blob/" and include the branch/path as in the repo)
so the links open the notebook file directly; ensure you update the two
occurrences that mention the notebook filenames in the paragraph describing
TrainingRuntime/TrainJob and the Huawei Ascend NPU note.
| kind: LocalQueue | ||
| metadata: | ||
| name: local-queue | ||
| namespace: <your-namespace> |
There was a problem hiding this comment.
Quote angle-bracket placeholder in YAML example for copy-paste safety.
<your-namespace> should be quoted in YAML examples to avoid parse issues in some tools.
Suggested doc fix
- namespace: <your-namespace>
+ namespace: "<your-namespace>"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| namespace: <your-namespace> | |
| namespace: "<your-namespace>" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/fine-tune-with-trainer-v2.mdx` at line 46, Update the
YAML example where the line reads namespace: <your-namespace> to quote the
placeholder so parsers don't misinterpret angle brackets; locate the YAML block
containing the symbol "namespace: <your-namespace>" in the
fine-tune-with-trainer-v2.mdx doc and change it to use quoted placeholder (e.g.,
namespace: "<your-namespace>" or namespace: '<your-namespace>').
| GIT_LFS_SKIP_SMUDGE=1 git -c http.sslVerify=false -c lfs.activitytimeout=36000 \ | ||
| clone "https://${gitauth}@${BASE_MODEL_URL#https://}" | ||
| (cd ${BASE_MODEL_NAME} && git -c http.sslVerify=false -c lfs.activitytimeout=36000 lfs pull) |
There was a problem hiding this comment.
Remove http.sslVerify=false from documented Git commands.
These commands teach users to bypass TLS certificate validation for clone/pull/push, which weakens transport security and can expose credentials in MITM scenarios. Keep TLS verification on; document proper CA trust configuration instead.
Suggested doc patch
- GIT_LFS_SKIP_SMUDGE=1 git -c http.sslVerify=false -c lfs.activitytimeout=36000 \
+ GIT_LFS_SKIP_SMUDGE=1 git -c lfs.activitytimeout=36000 \
clone "https://${gitauth}@${BASE_MODEL_URL#https://}"
- (cd ${BASE_MODEL_NAME} && git -c http.sslVerify=false -c lfs.activitytimeout=36000 lfs pull)
+ (cd ${BASE_MODEL_NAME} && git -c lfs.activitytimeout=36000 lfs pull)
- git -c http.sslVerify=false -c lfs.activitytimeout=36000 \
+ git -c lfs.activitytimeout=36000 \
clone "https://${gitauth}@${DATASET_URL#https://}"
- git -c http.sslVerify=false -c lfs.activitytimeout=36000 push -u ${PUSH_URL} sft-${push_branch}
+ git -c lfs.activitytimeout=36000 push -u ${PUSH_URL} sft-${push_branch}Also applies to: 169-170, 270-270
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/fine-tuning-using-notebooks.mdx` around lines 163 -
165, Remove the unsafe git configuration flag `-c http.sslVerify=false` from the
documented git commands (the `git -c http.sslVerify=false -c
lfs.activitytimeout=36000 clone "https://${gitauth}@${BASE_MODEL_URL#https://}"`
and the `(cd ${BASE_MODEL_NAME} && git -c http.sslVerify=false -c
lfs.activitytimeout=36000 lfs pull)`) and the other occurrences referenced
(around the other snippets at 169-170 and 270), leaving only `-c
lfs.activitytimeout=36000` (or no `-c` flags) and update surrounding text to
advise configuring proper CA trust instead of disabling TLS verification.
| nvidia.com/gpualloc: "1" | ||
| nvidia.com/gpucores: "50" | ||
| nvidia.com/gpumem: "8192" |
There was a problem hiding this comment.
Vendor template still hard-codes NVIDIA resource keys in the non-NVIDIA section.
In a “non-NVIDIA” template, nvidia.com/* limits are misleading and can make the example unschedulable on other accelerators. Replace these with explicit vendor placeholders.
Suggested doc patch
- nvidia.com/gpualloc: "1"
- nvidia.com/gpucores: "50"
- nvidia.com/gpumem: "8192"
+ <vendor-device-resource-key>: "1"
+ # Optional vendor-specific subresources:
+ # <vendor-device-cores-key>: "50"
+ # <vendor-device-memory-key>: "8192"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| nvidia.com/gpualloc: "1" | |
| nvidia.com/gpucores: "50" | |
| nvidia.com/gpumem: "8192" | |
| <vendor-device-resource-key>: "1" | |
| # Optional vendor-specific subresources: | |
| # <vendor-device-cores-key>: "50" | |
| # <vendor-device-memory-key>: "8192" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/fine-tuning-using-notebooks.mdx` around lines 406 -
408, The non-NVIDIA vendor template still uses hard-coded NVIDIA resource keys
(nvidia.com/gpualloc, nvidia.com/gpucores, nvidia.com/gpumem); update that
resource block in the fine-tuning notebook content to use explicit vendor
placeholders (e.g., <vendor>.com/gpualloc, <vendor>.com/gpucores,
<vendor>.com/gpumem or a descriptive placeholder like ACME.com/*) so the example
is generic and schedulable on non-NVIDIA accelerators; ensure any accompanying
text mentions replacing <vendor> with the actual accelerator vendor name.
|
|
||
| The notebook installs Python packages and downloads MNIST, so the workbench needs outbound network access. | ||
|
|
||
| Download [`kubeflow-trainer-mnist.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/kubeflow-trainer-mnist.ipynb) and upload it to your workbench, then follow it to submit the `TrainJob`. |
There was a problem hiding this comment.
Fix the notebook URL path (/tree/ → /blob/ or raw).
The current notebook link points to a file via /tree/, which is a directory route and can break direct navigation/download for users.
Suggested doc fix
-Download [`kubeflow-trainer-mnist.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/kubeflow-trainer-mnist.ipynb) and upload it to your workbench, then follow it to submit the `TrainJob`.
+Download [`kubeflow-trainer-mnist.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/kubeflow-trainer-mnist.ipynb) and upload it to your workbench, then follow it to submit the `TrainJob`.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Download [`kubeflow-trainer-mnist.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/kubeflow-trainer-mnist.ipynb) and upload it to your workbench, then follow it to submit the `TrainJob`. | |
| Download [`kubeflow-trainer-mnist.ipynb`](https://github.com/alauda/aml-docs/blob/master/docs/en/training_guides/kubeflow-trainer-mnist.ipynb) and upload it to your workbench, then follow it to submit the `TrainJob`. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/kubeflow-trainer-quick-start.md` at line 93, The
notebook link for "kubeflow-trainer-mnist.ipynb" currently uses a /tree/ URL
which points to a directory view; update the URL in the markdown line that
contains the link text kubeflow-trainer-mnist.ipynb to use the GitHub /blob/
path (or the raw file URL) instead of /tree/ so the notebook can be
opened/downloaded directly.
| | SFT comprehensive tutorial | SFT | [`sft-comprehensive-tutorial.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/sft-comprehensive-tutorial.ipynb) | | ||
| | OSFT comprehensive tutorial | OSFT | [`osft-comprehensive-tutorial.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/osft-comprehensive-tutorial.ipynb) | |
There was a problem hiding this comment.
Fix notebook “Download” links to actual downloadable targets.
The table labels these as downloads, but https://github.com/.../tree/master/...ipynb opens repo pages instead of directly downloading/opening the notebook content. Use raw file URLs (or repo-relative docs links) so the action matches user intent.
Suggested patch
-| SFT comprehensive tutorial | SFT | [`sft-comprehensive-tutorial.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/sft-comprehensive-tutorial.ipynb) |
-| OSFT comprehensive tutorial | OSFT | [`osft-comprehensive-tutorial.ipynb`](https://github.com/alauda/aml-docs/tree/master/docs/en/training_guides/osft-comprehensive-tutorial.ipynb) |
+| SFT comprehensive tutorial | SFT | [`sft-comprehensive-tutorial.ipynb`](https://raw.githubusercontent.com/alauda/aml-docs/master/docs/en/training_guides/sft-comprehensive-tutorial.ipynb) |
+| OSFT comprehensive tutorial | OSFT | [`osft-comprehensive-tutorial.ipynb`](https://raw.githubusercontent.com/alauda/aml-docs/master/docs/en/training_guides/osft-comprehensive-tutorial.ipynb) |🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/en/training_guides/training-hub-fine-tuning.mdx` around lines 48 - 49,
Replace the GitHub "tree" URLs for sft-comprehensive-tutorial.ipynb and
osft-comprehensive-tutorial.ipynb with direct raw-file or repo-relative
documentation links so the table's "Download" action opens/serves the notebook
file (for example use the raw.githubusercontent.com URL for each .ipynb or a
docs permalink that serves the file) and update the table entries for
"sft-comprehensive-tutorial.ipynb" and "osft-comprehensive-tutorial.ipynb"
accordingly.
| A shared smoke template applies to any runtime — set `spec.runtimeRef.name` to the runtime you want to exercise: | ||
|
|
||
| ```bash | ||
| kubectl apply -f $base/trainjob-smoke.yaml | ||
| kubectl -n <your-namespace> get trainjobs | ||
| trainjob=$(kubectl -n <your-namespace> get trainjobs -o name | tail -1) | ||
| kubectl -n <your-namespace> logs -f -l jobset.sigs.k8s.io/jobset-name=${trainjob##*/}-node |
There was a problem hiding this comment.
TrainJob smoke-test commands are incomplete and can fail as written
Line 52 says to set spec.runtimeRef.name, but Line 55 applies a remote YAML directly, so users never actually change runtimeRef.name. Also, the smoke YAML carries an explicit metadata.namespace, while Lines 56-58 query <your-namespace>, which can return nothing if they differ.
Please add an explicit mutation step (download/edit/patch) before apply, or provide per-runtime/per-namespace apply examples.
Suggested doc patch
A shared smoke template applies to any runtime — set `spec.runtimeRef.name` to the runtime you want to exercise:
```bash
-kubectl apply -f $base/trainjob-smoke.yaml
+curl -L "$base/trainjob-smoke.yaml" -o /tmp/trainjob-smoke.yaml
+# edit /tmp/trainjob-smoke.yaml:
+# - metadata.namespace: <your-namespace>
+# - spec.runtimeRef.name: <your-runtime-name>
+kubectl apply -f /tmp/trainjob-smoke.yaml
kubectl -n <your-namespace> get trainjobs
trainjob=$(kubectl -n <your-namespace> get trainjobs -o name | tail -1)
kubectl -n <your-namespace> logs -f -l jobset.sigs.k8s.io/jobset-name=${trainjob##*/}-node</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @docs/en/training_guides/training-runtimes.mdx around lines 52 - 58, The
smoke-test instructions are incomplete: before applying trainjob-smoke.yaml,
download the remote file (trainjob-smoke.yaml), edit it to set
metadata.namespace to your namespace and spec.runtimeRef.name to the runtime you
want, then kubectl apply the edited file; alternatively show a patch/kubectl -n
apply -f /tmp/trainjob-smoke.yaml example so the subsequent
kubectl -n get trainjobs and the trainjob=$(kubectl -n
...) log command target the same namespace and runtime.
</details>
<!-- fingerprinting:phantom:poseidon:hawk -->
<!-- This is an auto-generated comment by CodeRabbit -->
rspress build failed with `ShikiError: Language `Dockerfile` is not included in this bundle`. Match the previous convention of bare code fences for Containerfile blocks. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Deploying alauda-ai with
|
| Latest commit: |
507cc40
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://194a7a4b.alauda-ai.pages.dev |
| Branch Preview URL: | https://codex-training-guides-reorg.alauda-ai.pages.dev |
Move `mlops_with_coding_agents.mdx` and `coding_agents_with_inference_service.mdx` out of docs/en/model_inference/inference_service/how_to/ into a new top-level docs/en/agentic_mlops/ section, standardizing names to kebab-case. Rewrite every relative link to resolve from the new location: the two pages still reference each other and link out to inference-service how-tos, Envoy AI Gateway, hardware profiles, training guides, LLM compressor, and the MLflow page. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
docs/en/kubeflow/how_to/anddocs/en/workbench/how_to/into a single top-leveldocs/en/training_guides/section, with a landingindex.mdxthat routes users by workflow.mlops_with_coding_agents.mdx,coding_agents_with_inference_service.mdx) out ofdocs/en/model_inference/inference_service/how_to/into a new top-leveldocs/en/agentic_mlops/section.Notes
training-runtimesREADME links to asset paths underdocs/en/kubeflow/how_to/...; those will need a follow-up pointing atdocs/en/training_guides/....llms.txtandllmstxt-state.jsonstill reference the old paths; they regenerate fromllmstxt-config.yamlon the next docs build.Test plan
yarn buildagainst this branch — site builds, thetraining_guidesandagentic_mlopssections appear in the sidebar, every moved page renders.llms.txt/llmstxt-state.json.