Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Konfigurasi umum

Mode fokus
Konfigurasi umum - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

File config.yaml menentukan resep pelatihan dan cluster. Ini juga mencakup konfigurasi runtime seperti variabel lingkungan untuk pekerjaan pelatihan.

defaults: - _self_ - cluster: slurm - recipes: training/llama/hf_llama3_8b_seq8192_gpu instance_type: p5.48xlarge git: repo_url_or_path: null branch: null commit: null entry_script: null token: null env_vars: NCCL_DEBUG: WARN

Anda dapat memodifikasi parameter berikut diconfig.yaml:

  1. defaults: Tentukan pengaturan default Anda, seperti cluster default atau resep default.

  2. instance_type: Ubah jenis EC2 instans Amazon agar sesuai dengan jenis instans yang Anda gunakan.

  3. git: Tentukan lokasi repositori adaptor SageMaker HyperPod resep untuk pekerjaan pelatihan.

  4. env_vars: Anda dapat menentukan variabel lingkungan yang akan diteruskan ke pekerjaan pelatihan runtime Anda. Misalnya, Anda dapat menyesuaikan tingkat logging NCCL dengan menentukan variabel lingkungan NCCL_DEBUG.

Resepnya adalah konfigurasi inti yang mendefinisikan arsitektur pekerjaan pelatihan Anda. File ini mencakup banyak informasi penting untuk pekerjaan pelatihan Anda, seperti berikut ini:

  • Apakah akan menggunakan paralelisme model

  • Sumber dataset Anda

  • Pelatihan presisi campuran

  • Konfigurasi terkait pos pemeriksaan

Anda dapat menggunakan resep apa adanya. Anda juga dapat menggunakan informasi berikut untuk memodifikasinya.

run

Berikut ini adalah informasi lari dasar untuk menjalankan pekerjaan pelatihan Anda.

run: name: llama-8b results_dir: ${base_results_dir}/${.name} time_limit: "6-00:00:00" model_type: hf
  1. name: Tentukan nama untuk pekerjaan pelatihan Anda di file konfigurasi.

  2. results_dir: Anda dapat menentukan direktori tempat hasil pekerjaan pelatihan Anda disimpan.

  3. time_limit: Anda dapat mengatur waktu pelatihan maksimum untuk pekerjaan pelatihan Anda untuk mencegahnya menempati sumber daya perangkat keras terlalu lama.

  4. model_type: Anda dapat menentukan jenis model yang Anda gunakan. Misalnya, Anda dapat menentukan hf apakah model Anda berasal dari HuggingFace.

manajer exp_

Exp_manager mengonfigurasi eksperimen. Dengan exp_manager, Anda dapat menentukan bidang seperti direktori output atau pengaturan pos pemeriksaan. Berikut ini adalah contoh bagaimana Anda dapat mengkonfigurasi exp_manager.

exp_manager: exp_dir: null name: experiment create_tensorboard_logger: True
  1. exp_dir: Direktori eksperimen menyertakan output standar dan file kesalahan standar untuk pekerjaan pelatihan Anda. Secara default, ia menggunakan direktori Anda saat ini.

  2. name: Nama eksperimen yang digunakan untuk mengidentifikasi eksperimen Anda di bawah exp_dir.

  3. create_tensorboard_logger: Tentukan True atau False untuk mengaktifkan atau menonaktifkan TensorBoard logger.

Checkpointing

Berikut adalah tiga jenis checkpointing yang kami dukung:

  • Pos pemeriksaan otomatis

  • Pos pemeriksaan manual

  • Checkpointing penuh

Pos pemeriksaan otomatis

Jika Anda menyimpan atau memuat pos pemeriksaan yang dikelola secara otomatis oleh adaptor SageMaker HyperPod resep, Anda dapat mengaktifkanauto_checkpoint. Untuk mengaktifkanauto_checkpoint, atur enabled keTrue. Anda dapat menggunakan pos pemeriksaan otomatis untuk pelatihan dan fine-tuning. Anda dapat menggunakan pos pemeriksaan otomatis untuk sistem file bersama dan Amazon S3.

exp_manager checkpoint_dir: ${recipes.exp_manager.exp_dir}/checkpoints/ auto_checkpoint: enabled: True

Pos pemeriksaan otomatis menyimpan local_state_dict secara asinkron dengan interval penyimpanan optimal yang dihitung secara otomatis.

catatan

Di bawah mode checkpointing ini, checkpointing yang disimpan secara otomatis tidak mendukung re-sharding di antara latihan berjalan. Untuk melanjutkan dari pos pemeriksaan tersimpan otomatis terbaru, Anda harus mempertahankan derajat pecahan yang sama. Anda tidak perlu menentukan informasi tambahan untuk melanjutkan secara otomatis.

Pos pemeriksaan manual

Anda dapat memodifikasi checkpoint_callback_params untuk menyimpan pos pemeriksaan perantara secara asinkron di shared_state_dict. Misalnya, Anda dapat menentukan konfigurasi berikut untuk mengaktifkan pos pemeriksaan sharded setiap 10 langkah dan menyimpan 3 pos pemeriksaan terbaru.

Checkpointing sharded memungkinkan Anda mengubah derajat pecahan antara latihan berjalan dan memuat pos pemeriksaan dengan pengaturan. resume_from_checkpoint

catatan
  • Jika merupakan fine tuning PEFT, checkpointing sharded tidak mendukung Amazon S3.

  • Checkpointing otomatis dan manual saling eksklusif.

  • Hanya derajat pecahan FSDP dan perubahan derajat replikasi yang diizinkan.

exp_manager: checkpoint_callback_params: # Set save_top_k = 0 to disable sharded checkpointing save_top_k: 3 every_n_train_steps: 10 monitor: "step" mode: "max" save_last: False resume_from_checkpoint: ${recipes.exp_manager.exp_dir}/checkpoints/

Untuk mempelajari selengkapnya tentang pos pemeriksaan, lihat. Checkpointing menggunakan SMP

Checkpointing penuh

Pos pemeriksaan full_state_dict yang diekspor dapat digunakan untuk inferensi atau fine tuning. Anda dapat memuat pos pemeriksaan lengkap melalui hf_model_name_or_path. Di bawah mode ini, hanya bobot model yang disimpan.

Untuk mengekspor model full_state_dict, Anda dapat mengatur parameter berikut.

catatan

Saat ini, pos pemeriksaan penuh tidak didukung untuk pos pemeriksaan Amazon S3. Anda tidak dapat mengatur jalur S3 exp_manager.checkpoint_dir jika Anda mengaktifkan pos pemeriksaan penuh. Namun, Anda dapat mengatur exp_manager.export_full_model.final_export_dir ke direktori tertentu di sistem file lokal saat menyetel exp_manager.checkpoint_dir ke jalur Amazon S3.

exp_manager: export_full_model: # Set every_n_train_steps = 0 to disable full checkpointing every_n_train_steps: 0 save_last: True final_export_dir : null

model

Tentukan berbagai aspek arsitektur model dan proses pelatihan Anda. Ini termasuk pengaturan untuk paralelisme model, presisi, dan penanganan data. Di bawah ini adalah komponen utama yang dapat Anda konfigurasikan dalam bagian model:

model paralelisme

Setelah Anda menentukan resep, Anda menentukan model yang Anda latih. Anda juga dapat menentukan paralelisme model. Misalnya, Anda dapat menentukan tensor_model_parallel_degree. Anda dapat mengaktifkan fitur lain seperti pelatihan dengan FP8 presisi. Misalnya, Anda dapat melatih model dengan paralelisme tensor dan paralelisme konteks:

model: model_type: llama_v3 # Base configs train_batch_size: 4 val_batch_size: 1 seed: 12345 grad_clip: 1.0 # Model parallelism tensor_model_parallel_degree: 4 expert_model_parallel_degree: 1 context_parallel_degree: 2

Untuk mendapatkan pemahaman yang lebih baik tentang berbagai jenis teknik paralelisme model, Anda dapat merujuk pada pendekatan berikut:

FP8

Untuk mengaktifkan FP8 (presisi floating-point 8-bit), Anda dapat menentukan konfigurasi FP8 -related dalam contoh berikut:

model: # FP8 config fp8: True fp8_amax_history_len: 1024 fp8_amax_compute_algo: max

Penting untuk dicatat bahwa format FP8 data saat ini hanya didukung pada jenis instans P5. Jika Anda menggunakan jenis instans yang lebih lama, seperti P4, nonaktifkan FP8 fitur untuk proses pelatihan model Anda. Untuk informasi lebih lanjut tentang FP8, lihatPelatihan presisi campuran.

data

Anda dapat menentukan kumpulan data khusus untuk pekerjaan pelatihan Anda dengan menambahkan jalur data di bawah data. Modul data dalam sistem kami mendukung format data berikut:

  1. JSON

  2. JSONGZ (JSON Terkompresi)

  3. PANAH

Namun, Anda bertanggung jawab untuk menyiapkan dataset pra-token Anda sendiri. Jika Anda adalah pengguna tingkat lanjut dengan persyaratan khusus, ada juga opsi untuk mengimplementasikan dan mengintegrasikan modul data yang disesuaikan. Untuk informasi selengkapnya tentang HuggingFace kumpulan data, lihat Datasets.

model: data: train_dir: /path/to/your/train/data val_dir: /path/to/your/val/data dataset_type: hf use_synthetic_data: False

Anda dapat menentukan bagaimana Anda melatih model. Secara default, resep menggunakan pra-pelatihan alih-alih fine-tuning. Contoh berikut mengonfigurasi resep untuk menjalankan pekerjaan fine-tuning dengan LoRa (Adaptasi Peringkat Rendah).

model: # Fine tuning config do_finetune: True # The path to resume from, needs to be HF compatible hf_model_name_or_path: null hf_access_token: null # PEFT config peft: peft_type: lora rank: 32 alpha: 16 dropout: 0.1

Untuk informasi tentang resep, lihat SageMaker HyperPodresep.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.