全部产品
Search
文档中心

Platform For AI:Pengaturan Parameter

更新时间:Jun 22, 2025

Topik ini menjelaskan skenario penggunaan Pai-Megatron-Patch dan parameter yang dapat diatur saat menggunakan PAI-Rapidformer untuk mempercepat pelatihan transformer. Disarankan untuk membaca topik ini sebelum menggunakan PAI-Rapidformer.

Skenario

  • Mempercepat fine-tuning transformer secara black-box

  • Mempercepat pre-training transformer secara black-box

  • Mempercepat fine-tuning transformer secara white-box dengan menggunakan template kode Finetuner

  • Mempercepat pre-training transformer secara white-box dengan menggunakan template kode Pretrainer

Pengaturan pelatihan reguler: Parameter pada data

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--micro-batch-size

Integer

Ya

Tidak ada

N/A

Ukuran batch setiap GPU.

--global-batch-size

Integer

Ya

Tidak ada

N/A

Ukuran batch semua GPU dalam pelatihan terdistribusi.

--tokenizer-type

String

Tidak

Tidak ada

  • BertWordPieceLowerCase

  • BertWordPieceCase

  • GPT2BPETokenizer

Jenis analisis.

--split

String

Tidak

969, 30, 1

N/A

Pembagian set pra-pelatihan, pelatihan, validasi, dan pengujian.

--data-impl

String

Tidak

mmap

  • lazy

  • cached

  • mmap

  • infer

Cara dataset terindeks dilakukan pra-pelatihan.

--data-path

String

Ya

Tidak ada

N/A

Path file tempat set pra-pelatihan disimpan.

--data-dir

String

Tidak

Tidak ada

N/A

Path file tempat dataset untuk fine-tuning disimpan.

--data-name

String

Ya

Tidak ada

N/A

Nama file tempat dataset untuk fine-tuning disimpan.

Pengaturan pelatihan reguler: Parameter pada transformer

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--pretrained-model-name-or-path

String

Ya

Tidak ada

N/A

Nama atau path transformer yang akan dilakukan pra-pelatihan.

--num-layers

Integer

Ya

Tidak ada

N/A

Jumlah lapisan.

--hidden-size

Integer

Ya

Tidak ada

N/A

Dimensi lapisan tersembunyi.

--num-attention-heads

Integer

Ya

Tidak ada

N/A

Jumlah kepala dalam lapisan perhatian diri.

--max-position-embeddings

Integer

Ya

Tidak ada

N/A

Panjang urutan untuk penyematan posisi.

--seq-length

Integer

Ya

Tidak ada

N/A

Panjang urutan.

Pengaturan pelatihan reguler: Parameter pada pelatihan

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--task

String

Ya

Tidak ada

  • sequence_classification

  • token_classification

  • question_answering

  • masked_lm

  • casual_lm

  • seq2seq_lm

  • pretraining

Nama tugas pelatihan.

--save

String

Ya

Tidak ada

N/A

Path file tempat transformer disimpan.

--lr

Float

Ya

Tidak ada

N/A

Tingkat pembelajaran.

--lr-decay-style

String

Ya

linear

  • constant

  • linear

  • cosine

Skema penurunan tingkat pembelajaran.

--weight-decay

Float

Ya

0.01

N/A

Nilai penurunan bobot.

--clip-grad

Float

Tidak

1

N/A

Nilai pemotongan gradien.

--lr-warmup-fraction

Float

Tidak

Tidak ada

N/A

Pemanasan tingkat pembelajaran.

--train-iters

Integer

Ya

Tidak ada

N/A

Jumlah iterasi.

--epochs

Integer

Tidak

Tidak ada

N/A

Jumlah epoch.

--log-interval

Integer

Tidak

100

N/A

Interval tampilan log.

Pengaturan saklar akselerasi: Parameter pada MoE bergerbang jarang

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--num-experts

Integer

Tidak

Tidak ada

N/A

Jumlah lapisan mixture-of-experts (MoE).

Pengaturan saklar akselerasi: Parameter pada pelatihan presisi campuran

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--mixed-precision

Boolean

Tidak

Tidak ada

N/A

Menentukan apakah akan mengaktifkan transfer data FP16.

Catatan: Pelatihan presisi campuran hanya dapat diaktifkan jika menggunakan template kode Trainer, Pretrainer, atau Finetuner yang disediakan oleh PAI-Rapidformer.

Pengaturan saklar akselerasi: Parameter pada partisi status model menggunakan ZeRO, OSS, SDP, atau FSDP

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--oss-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan Optimizer State Sharding (OSS) untuk mempartisi status pengoptimal.

--oss-sdp-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan Sharded Data Parallel (SDP) untuk mempartisi status pengoptimal dan gradien.

--fsdp-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan Fully Sharded Data Parallel (FSDP) untuk mempartisi status pengoptimal, gradien, dan parameter.

--zero-1-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan Zero Redundancy Optimizer (ZeRO) untuk mempartisi status pengoptimal.

--zero-2-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan ZeRO untuk mempartisi status pengoptimal dan gradien.

--zero-3-memory-optimization

Boolean

Tidak

N/A

N/A

Menentukan apakah akan menggunakan ZeRO untuk mempartisi status pengoptimal, gradien, dan parameter.

Catatan: ZeRO hanya dapat digunakan jika menggunakan template kode Trainer. OSS, SDP, atau FSDP dapat digunakan jika tidak menggunakan template kode Trainer.

Pengaturan saklar akselerasi: Parameter pada paralelisme 3D (paralelisme data, tensor, dan pipeline)

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--tensor-model-parallel-size

Integer

Tidak

1

N/A

Ukuran paralelisme tensor.

--pipeline-model-parallel-size

Integer

Tidak

1

N/A

Ukuran paralelisme pipeline.

Catatan:

  • Untuk mengaktifkan paralelisme 3D dan partisi status model secara bersamaan, ZeRO hanya dapat digunakan untuk mempartisi status pengoptimal dan gradien, atau hanya mempartisi status pengoptimal.

  • Paralelisme 3D hanya dapat diaktifkan jika menggunakan template kode Trainer.

Pengaturan saklar akselerasi: Parameter pada optimasi graf

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--onnx-runtime-training

Boolean

Tidak

Tidak ada

N/A

Menentukan apakah akan mengaktifkan optimasi graf yang disediakan oleh ONNX Runtime.

Pengaturan saklar akselerasi: Parameter pada pelatihan beban CPU

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--cpu-offload

Boolean

Tidak

Tidak ada

N/A

Menentukan apakah akan mengaktifkan pelatihan beban CPU.

Catatan: Untuk mengaktifkan pelatihan beban CPU dan partisi status model secara bersamaan, ZeRO harus digunakan untuk partisi status model.

Pengaturan saklar akselerasi: Parameter pada aktivasi checkpoint

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--checkpoint-activations

Boolean

Tidak

Tidak ada

N/A

Menentukan apakah akan mengaktifkan checkpoint.

Pengaturan saklar akselerasi: Parameter pada akumulasi gradien

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--micro-batch-size

Integer

Ya

1

N/A

Ukuran mini-batch.

--global-batch-size

Integer

Ya

1

N/A

Ukuran batch global.

Catatan:

  • Akumulasi gradien hanya dapat diaktifkan jika menggunakan template kode Pretrainer atau Finetuner untuk pra-pelatihan berbasis iterasi. Tidak dapat diaktifkan jika melakukan fine-tuning berbasis epoch.

  • Hasil akumulasi gradien dapat dihitung otomatis berdasarkan nilai parameter dalam tabel sebelumnya dan nilai parameter rank.

Pengaturan saklar akselerasi: Parameter pada iterator data Dynamic Shape

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--data-iterator dynamic-shape

String

Tidak

Tidak ada

  • dynamic-shape

  • fixed-shape

Iterator data Dynamic Shape.

Catatan: Iterator data Dynamic Shape hanya dapat diaktifkan jika menggunakan template kode Pretrainer untuk pra-pelatihan.

Pengaturan saklar akselerasi: Parameter pada pengoptimal fusi berbasis operasi

Parameter

Tipe

Diperlukan

Nilai default

Nilai enumerasi

Deskripsi

--optimizers

String

Ya

apex_adam

  • apex_adam

  • apex_lamb

Apex fused adam/lamb