This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# 2 * 50GiB
|
||||
# `--model` can directly accept a model with FP8 weights,
|
||||
# and the FP8 weight model will be saved directly upon training completion.
|
||||
PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
NPROC_PER_NODE=2 \
|
||||
CUDA_VISIBLE_DEVICES=0,1 \
|
||||
IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
VIDEO_MAX_TOKEN_NUM=128 \
|
||||
FPS_MAX_FRAMES=12 \
|
||||
megatron sft \
|
||||
--model Qwen/Qwen3.5-4B \
|
||||
--save_safetensors true \
|
||||
--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
|
||||
'AI-ModelScope/alpaca-gpt4-data-en#500' \
|
||||
'swift/self-cognition#500' \
|
||||
'AI-ModelScope/LaTeX_OCR:human_handwrite#2000' \
|
||||
--model_author swift \
|
||||
--model_name swift-robot \
|
||||
--linear_decoupled_in_proj true \
|
||||
--load_from_cache_file true \
|
||||
--add_non_thinking_prefix true \
|
||||
--loss_scale ignore_empty_think \
|
||||
--fp8_recipe blockwise \
|
||||
--fp8_format e4m3 \
|
||||
--fp8_param_gather true \
|
||||
--split_dataset_ratio 0.01 \
|
||||
--tuner_type full \
|
||||
--tensor_model_parallel_size 2 \
|
||||
--micro_batch_size 1 \
|
||||
--global_batch_size 2 \
|
||||
--recompute_granularity full \
|
||||
--recompute_method uniform \
|
||||
--recompute_num_layers 1 \
|
||||
--num_train_epochs 1 \
|
||||
--packing true \
|
||||
--finetune true \
|
||||
--freeze_llm false \
|
||||
--freeze_vit true \
|
||||
--freeze_aligner true \
|
||||
--cross_entropy_loss_fusion true \
|
||||
--lr 1e-5 \
|
||||
--lr_warmup_fraction 0.05 \
|
||||
--min_lr 1e-6 \
|
||||
--output_dir megatron_output/Qwen3.5-4B-FP8 \
|
||||
--eval_steps 200 \
|
||||
--save_steps 200 \
|
||||
--max_length 4096 \
|
||||
--dataloader_num_workers 8 \
|
||||
--dataset_num_proc 8 \
|
||||
--no_save_optim true \
|
||||
--no_save_rng true \
|
||||
--sequence_parallel true \
|
||||
--mtp_num_layers 1 \
|
||||
--attention_backend flash
|
||||
|
||||
# PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
# CUDA_VISIBLE_DEVICES=0 \
|
||||
# IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
# VIDEO_MAX_TOKEN_NUM=128 \
|
||||
# FPS_MAX_FRAMES=12 \
|
||||
# swift infer \
|
||||
# --model megatron_output/Qwen3.5-4B-FP8/vx-xxx/checkpoint-xxx \
|
||||
# --stream true \
|
||||
# --enable_thinking false \
|
||||
# --load_data_args true
|
||||
|
||||
# vllm
|
||||
# PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
# CUDA_VISIBLE_DEVICES=0 \
|
||||
# IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
# VIDEO_MAX_TOKEN_NUM=128 \
|
||||
# FPS_MAX_FRAMES=12 \
|
||||
# swift infer \
|
||||
# --model megatron_output/Qwen3.5-4B-FP8/vx-xxx/checkpoint-xxx \
|
||||
# --stream true \
|
||||
# --enable_thinking false \
|
||||
# --load_data_args true \
|
||||
# --infer_backend vllm \
|
||||
# --vllm_tensor_parallel_size 1 \
|
||||
# --vllm_max_model_len 8192 \
|
||||
# --vllm_speculative_config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}'
|
||||
@@ -0,0 +1,70 @@
|
||||
# 4 * 40GiB
|
||||
|
||||
PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
NPROC_PER_NODE=4 \
|
||||
CUDA_VISIBLE_DEVICES=0,1,2,3 \
|
||||
IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
VIDEO_MAX_TOKEN_NUM=128 \
|
||||
FPS_MAX_FRAMES=12 \
|
||||
megatron sft \
|
||||
--model Qwen/Qwen3.5-35B-A3B \
|
||||
--save_safetensors true \
|
||||
--merge_lora true \
|
||||
--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
|
||||
'AI-ModelScope/alpaca-gpt4-data-en#500' \
|
||||
'swift/self-cognition#500' \
|
||||
'AI-ModelScope/LaTeX_OCR:human_handwrite#2000' \
|
||||
--load_from_cache_file true \
|
||||
--add_non_thinking_prefix true \
|
||||
--loss_scale ignore_empty_think \
|
||||
--split_dataset_ratio 0.01 \
|
||||
--tuner_type lora \
|
||||
--lora_rank 8 \
|
||||
--lora_alpha 32 \
|
||||
--target_modules all-linear \
|
||||
--expert_model_parallel_size 4 \
|
||||
--moe_permute_fusion true \
|
||||
--moe_grouped_gemm true \
|
||||
--moe_shared_expert_overlap true \
|
||||
--moe_aux_loss_coeff 1e-6 \
|
||||
--micro_batch_size 4 \
|
||||
--global_batch_size 16 \
|
||||
--recompute_granularity full \
|
||||
--recompute_method uniform \
|
||||
--recompute_num_layers 1 \
|
||||
--num_train_epochs 1 \
|
||||
--group_by_length true \
|
||||
--finetune true \
|
||||
--freeze_llm false \
|
||||
--freeze_vit true \
|
||||
--freeze_aligner true \
|
||||
--cross_entropy_loss_fusion true \
|
||||
--lr 1e-4 \
|
||||
--lr_warmup_fraction 0.05 \
|
||||
--min_lr 1e-5 \
|
||||
--output_dir megatron_output/Qwen3.5-35B-A3B \
|
||||
--eval_steps 200 \
|
||||
--save_steps 200 \
|
||||
--max_length 2048 \
|
||||
--dataloader_num_workers 8 \
|
||||
--dataset_num_proc 8 \
|
||||
--no_save_optim true \
|
||||
--no_save_rng true \
|
||||
--sequence_parallel true \
|
||||
--attention_backend flash \
|
||||
--padding_free false \
|
||||
--model_author swift \
|
||||
--model_name swift-robot
|
||||
|
||||
|
||||
# PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
# CUDA_VISIBLE_DEVICES=0,1,2,3 \
|
||||
# IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
# VIDEO_MAX_TOKEN_NUM=128 \
|
||||
# FPS_MAX_FRAMES=12 \
|
||||
# swift infer \
|
||||
# --model megatron_output/Qwen3.5-35B-A3B/vx-xxx/checkpoint-xxx-merged \
|
||||
# --stream true \
|
||||
# --experts_impl grouped_mm \
|
||||
# --enable_thinking false \
|
||||
# --load_data_args true
|
||||
@@ -0,0 +1,64 @@
|
||||
# Qwen3.5-35B-A3B (MoE) Megatron GRPO LoRA Training Example
|
||||
|
||||
SYSTEM_PROMPT="""You are a helpful math assistant. Solve the problem step by step and put your final answer within \\boxed{}."""
|
||||
|
||||
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
|
||||
NPROC_PER_NODE=8 \
|
||||
PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
megatron rlhf \
|
||||
--rlhf_type grpo \
|
||||
--model Qwen/Qwen3.5-35B-A3B \
|
||||
--save_safetensors true \
|
||||
--enable_thinking false \
|
||||
--merge_lora true \
|
||||
--context_parallel_size 1 \
|
||||
--tensor_model_parallel_size 1 \
|
||||
--expert_model_parallel_size 8 \
|
||||
--pipeline_model_parallel_size 1 \
|
||||
--moe_permute_fusion true \
|
||||
--dataset open-r1/DAPO-Math-17k-Processed \
|
||||
--system "$SYSTEM_PROMPT" \
|
||||
--num_train_epochs 1 \
|
||||
--global_batch_size 64 \
|
||||
--micro_batch_size 1 \
|
||||
--steps_per_generation 2 \
|
||||
--num_generations 8 \
|
||||
--reward_funcs accuracy \
|
||||
--use_vllm true \
|
||||
--vllm_mode colocate \
|
||||
--vllm_gpu_memory_utilization 0.5 \
|
||||
--vllm_tensor_parallel_size 2 \
|
||||
--vllm_max_model_len 9192 \
|
||||
--max_length 1000 \
|
||||
--max_completion_length 8192 \
|
||||
--tuner_type lora \
|
||||
--target_modules all-linear \
|
||||
--lr 5e-5 \
|
||||
--bf16 true \
|
||||
--beta 0.00 \
|
||||
--epsilon 0.2 \
|
||||
--epsilon_high 0.28 \
|
||||
--dynamic_sample false \
|
||||
--overlong_filter true \
|
||||
--loss_type grpo \
|
||||
--sleep_level 1 \
|
||||
--offload_model true \
|
||||
--offload_bridge false \
|
||||
--offload_optimizer true \
|
||||
--logging_steps 1 \
|
||||
--recompute_granularity full \
|
||||
--recompute_method uniform \
|
||||
--recompute_num_layers 1 \
|
||||
--finetune \
|
||||
--dataloader_num_workers 8 \
|
||||
--dataset_num_proc 8 \
|
||||
--no_save_optim \
|
||||
--no_save_rng \
|
||||
--save_steps 20 \
|
||||
--attention_backend flash \
|
||||
--moe_expert_capacity_factor 2 \
|
||||
--temperature 1.0 \
|
||||
--padding_free false \
|
||||
--sequence_parallel true \
|
||||
--log_completions true \
|
||||
--report_to tensorboard swanlab
|
||||
@@ -0,0 +1,51 @@
|
||||
# 8 * 80GiB
|
||||
PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
NPROC_PER_NODE=8 \
|
||||
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
|
||||
IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
VIDEO_MAX_TOKEN_NUM=128 \
|
||||
FPS_MAX_FRAMES=12 \
|
||||
megatron sft \
|
||||
--model Qwen/Qwen3.5-35B-A3B \
|
||||
--save_safetensors true \
|
||||
--dataset 'AI-ModelScope/LongAlpaca-12k' \
|
||||
--load_from_cache_file true \
|
||||
--add_non_thinking_prefix true \
|
||||
--split_dataset_ratio 0.01 \
|
||||
--tuner_type full \
|
||||
--tensor_model_parallel_size 4 \
|
||||
--expert_model_parallel_size 8 \
|
||||
--moe_permute_fusion true \
|
||||
--moe_grouped_gemm true \
|
||||
--moe_shared_expert_overlap true \
|
||||
--moe_aux_loss_coeff 1e-6 \
|
||||
--micro_batch_size 1 \
|
||||
--global_batch_size 4 \
|
||||
--recompute_granularity full \
|
||||
--recompute_method uniform \
|
||||
--recompute_num_layers 1 \
|
||||
--num_train_epochs 1 \
|
||||
--packing true \
|
||||
--finetune true \
|
||||
--freeze_llm false \
|
||||
--freeze_vit true \
|
||||
--freeze_aligner true \
|
||||
--cross_entropy_loss_fusion true \
|
||||
--lr 1e-5 \
|
||||
--lr_warmup_fraction 0.05 \
|
||||
--min_lr 1e-6 \
|
||||
--output_dir megatron_output/Qwen3.5-35B-A3B \
|
||||
--eval_steps 200 \
|
||||
--save_steps 200 \
|
||||
--max_length 32768 \
|
||||
--dataloader_num_workers 8 \
|
||||
--dataset_num_proc 8 \
|
||||
--no_save_optim true \
|
||||
--no_save_rng true \
|
||||
--sequence_parallel true \
|
||||
--moe_expert_capacity_factor 2 \
|
||||
--mtp_num_layers 1 \
|
||||
--optimizer_cpu_offload true \
|
||||
--use_precision_aware_optimizer true \
|
||||
--optimizer_offload_fraction 0.64 \
|
||||
--attention_backend flash
|
||||
@@ -0,0 +1,49 @@
|
||||
# 4 * 30GiB
|
||||
PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
NPROC_PER_NODE=4 \
|
||||
IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
VIDEO_MAX_TOKEN_NUM=128 \
|
||||
FPS_MAX_FRAMES=12 \
|
||||
CUDA_VISIBLE_DEVICES=0,1,2,3 \
|
||||
swift sft \
|
||||
--model Qwen/Qwen3.5-35B-A3B \
|
||||
--tuner_type lora \
|
||||
--dataset 'AI-ModelScope/LaTeX_OCR:human_handwrite#2000' \
|
||||
--load_from_cache_file true \
|
||||
--add_non_thinking_prefix true \
|
||||
--split_dataset_ratio 0.01 \
|
||||
--torch_dtype bfloat16 \
|
||||
--num_train_epochs 1 \
|
||||
--per_device_train_batch_size 4 \
|
||||
--per_device_eval_batch_size 4 \
|
||||
--learning_rate 1e-4 \
|
||||
--lora_rank 8 \
|
||||
--lora_alpha 32 \
|
||||
--target_modules all-linear \
|
||||
--experts_impl grouped_mm \
|
||||
--router_aux_loss_coef 1e-3 \
|
||||
--gradient_accumulation_steps 1 \
|
||||
--group_by_length true \
|
||||
--output_dir output/Qwen3.5-35B-A3B \
|
||||
--eval_steps 50 \
|
||||
--save_steps 50 \
|
||||
--save_total_limit 2 \
|
||||
--logging_steps 5 \
|
||||
--max_length 2048 \
|
||||
--warmup_ratio 0.05 \
|
||||
--dataset_num_proc 4 \
|
||||
--dataloader_num_workers 4 \
|
||||
--deepspeed zero3
|
||||
|
||||
|
||||
# PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \
|
||||
# CUDA_VISIBLE_DEVICES=0,1,2,3 \
|
||||
# IMAGE_MAX_TOKEN_NUM=1024 \
|
||||
# VIDEO_MAX_TOKEN_NUM=128 \
|
||||
# FPS_MAX_FRAMES=12 \
|
||||
# swift infer \
|
||||
# --adapters output/Qwen3.5-35B-A3B/vx-xxx/checkpoint-xxx \
|
||||
# --stream true \
|
||||
# --experts_impl grouped_mm \
|
||||
# --enable_thinking false \
|
||||
# --load_data_args true
|
||||
Reference in New Issue
Block a user