Anda dapat mengurangi biaya penyesuaian model besar dengan mengaktifkan grup skala untuk secara otomatis menjadwalkan spot instances. Jika spot instances terganggu atau direklamasi, yang baru akan diluncurkan dalam grup skala, dan pelatihan dilanjutkan dari checkpoint terbaru, memastikan kemajuan berkelanjutan.
Ikhtisar Solusi
Solusi ini memungkinkan penyesuaian model besar dengan biaya rendah menggunakan grup skala. Solusi ini memprioritaskan spot instances dan memanfaatkan Object Storage Service (OSS) untuk penyimpanan checkpoint persisten. Fitur utama meliputi:
Prioritas Spot Instance: Spot instances diprioritaskan untuk tugas pelatihan dalam grup skala, dengan checkpoint disimpan secara otomatis ke OSS buckets untuk ketahanan.
Skalabilitas Otomatis dengan Kontinuitas Failover: Ketika spot instances terganggu atau direklamasi, Auto Scaling pertama-tama mencoba menyediakan penggantian spot instances di zona lain. Jika jenis spot instance tidak tersedia, sistem beralih ke pay-as-you-go instances. Dalam kedua kasus tersebut, pelatihan dilanjutkan tanpa hambatan dari checkpoint terbaru.
Otomatis Kembali ke Spot Instances: Setelah jenis spot instance tersedia kembali, Auto Scaling secara otomatis beralih kembali dari pay-as-you-go ke spot instances, dan pelatihan dilanjutkan dari checkpoint terbaru.

Untuk memaksimalkan penghematan biaya, konfigurasikan grup skala Anda untuk menggunakan spot instances selama proses pelatihan penuh, meskipun ini mungkin menunda waktu penyelesaian pelatihan. Jika jenis spot instance menjadi tidak tersedia, jeda pelatihan dan lanjutkan nanti ketika inventaris spot dikembalikan. Untuk informasi lebih lanjut tentang cara mengoptimalkan biaya dengan menggabungkan grup skala dengan spot instances, lihat Gunakan Spot Instances untuk Mengurangi Biaya.
Perbandingan Biaya
Perbandingan biaya dalam tabel di bawah ini hanya untuk referensi, karena penghematan aktual tergantung pada penggunaan dunia nyata.
Dengan asumsi periode pelatihan 12 jam, harga satuan untuk spot instance adalah 3,5 CNY per jam, sedangkan instance pay-as-you-go berharga 10 CNY per jam. Tabel berikut memberikan perbandingan biaya antara kedua opsi tersebut.
Mode | Semua Spot | Hibrida (Spot + Pay-as-you-go) | Semua Pay-as-you-go |
Deskripsi | Ketika spot instance terganggu dan direklamasi, pelatihan dijeda. Setelah inventaris jenis spot instance dipulihkan, spot instance baru secara otomatis dibuat untuk melanjutkan pelatihan. | Sebuah spot instance berjalan selama 1 jam sebelum terganggu dan direklamasi. Setelah gangguan, instance pay-as-you-go digunakan selama 0,5 jam sambil menunggu kapasitas spot. Pelatihan kemudian beralih kembali ke spot instance baru setelah inventaris jenis spot instance tersedia. | Pelatihan dilakukan secara eksklusif pada instance pay-as-you-go. |
Biaya | 12h x 3,5 CNY/h = 42 | 8h x 3,5 CNY/h + 4h x 10 CNY/h = 68 | 12h x 10 CNY/h = 120 |
Penghematan biaya dibandingkan menggunakan hanya instance pay-as-you-go | 65% | 43,33% | 0% |
Prosedur
Buat Gambar Dasar dengan Lingkungan Pelatihan Esensial
Gambar ini berfungsi sebagai template startup untuk instance dalam grup skala. Skrip auto-start bawaan memastikan instance baru dapat dengan cepat melanjutkan pelatihan dan berjalan secara otomatis.
Buat dan Konfigurasikan Grup Skala
Grup skala memastikan tugas pelatihan berlanjut dengan secara otomatis meluncurkan spot atau pay-as-you-go instances baru ketika yang ada terganggu atau direklamasi.
Mulai Pelatihan
Setelah grup skala dikonfigurasi, acara scale-out secara otomatis dipicu. Ini menciptakan instance baru, yang segera mulai menjalankan tugas pelatihan berdasarkan aturan otomatisasi yang telah ditentukan.
Uji: Simulasikan Gangguan dan Reklamasi
Secara manual picu gangguan dan reklamasi instance untuk memastikan bahwa sistem secara otomatis meluncurkan instance baru dan melanjutkan tugas pelatihan yang terganggu dengan benar. Validasi ini penting untuk memastikan stabilitas dan keandalan selama skenario reklamasi sumber daya.
1. Buat gambar dasar yang berisi lingkungan pelatihan esensial
Topik ini menunjukkan langkah-langkah untuk penyesuaian diri model DeepSeek-R1-Distill-Qwen-7B menggunakan kerangka pelatihan Swift dalam setup satu mesin, satu GPU.
Untuk meningkatkan efisiensi startup instance tugas, pertama-tama buat instance dengan lingkungan pelatihan dan dependensi yang diperlukan, lalu hasilkan gambar kustom darinya untuk berfungsi sebagai template peluncuran grup skala. Gambar ini harus mencakup skrip pelatihan otomatis yang sudah diinstal sebelumnya dan layanan startup untuk memastikan seluruh proses berjalan tanpa intervensi manual. Arsitektur instance Elastic Compute Service (ECS) yang digunakan untuk membuat gambar ditunjukkan pada gambar berikut.

Poin-poin penting dirangkum di sini:
Dependensi Lingkungan Pelatihan Dasar: Dependensi yang diperlukan termasuk driver GPU, CUDA, dan paket Python. Dependensi spesifik bergantung pada kerangka pelatihan yang dipilih.
Skrip Pelatihan Otomatis: Skrip ini harus secara otomatis mendeteksi apakah akan melanjutkan pelatihan dari checkpoint terbaru dan menentukan apakah pelatihan sudah selesai.
Otomatis Mount Bucket saat Startup: Saat skrip pelatihan dimulai, ia membaca file bobot model, dataset, dan checkpoint yang dihasilkan langsung dari OSS bucket.
Otomatis Mulai Pelatihan saat Instance Diluncurkan: Setelah instance dimulai, skrip pelatihan berjalan secara otomatis, membaca file dari OSS bucket untuk memulai atau melanjutkan pelatihan.
Setelah Anda memahami poin-poin penting, ikuti langkah-langkah ini untuk membangun gambar:
1.1 Buat instance dan bangun lingkungan dasar
Instance ini berfungsi sebagai template untuk membuat gambar. Nanti, Auto Scaling akan secara otomatis meluncurkan instance baru dari gambar ini dalam grup skala.
Pergi ke ECS Console untuk membuat instance yang dioptimalkan dengan akselerasi GPU.
Pertama, Anda perlu membuat instance GPU-accelerated pay-as-you-go untuk menyiapkan lingkungan dasar. Contoh ini menggunakan tipe instance
ecs.gn7i-c8g1.2xlarge, diterapkan di Zona J wilayah China (Hangzhou). Langkah-langkah konfigurasi diilustrasikan pada gambar berikut.① Metode Penagihan: Atur nilai menjadi Pay-as-you-go.
② Wilayah: Pilih China (Hangzhou).
③④ Jaringan dan Zona: Pilih VPC dan vSwitches. Jika tidak ada VPC atau vSwitches yang ada, ikuti petunjuk di layar untuk membuatnya.

⑤⑥ Instance > Semua Jenis Instance: Pilih
ecs.gn7i-c8g1.2xlarge.
⑦⑧⑨ Image > Public Images: Pilih Ubuntu 22.04 64 bit.
⑩ Instalasi Otomatis Driver GPU: Tentukan Versi CUDA 12.4.1,Versi Driver 550.127.08, dan Versi CUDNN 9.2.0.82.

⑪ System Disk > Size: Masukkan 60 GiB.

⑫ Alamat IP Publik: Pilih Assign Public IPv4 Address untuk mengaktifkan akses Internet dan unduhan file.
⑬ Bandwidth Billing Method: Pilih Pay-by-traffic.
⑭ Maximum Bandwidth: Pilih 100 Mbps.
⑮ Grup Keamanan: Klik tab New Security Group.
⑯ Jenis Grup Keamanan: Atur nilainya menjadi Grup Keamanan Dasar.
⑰ Buka Port/Protokol IPv4: Pilih SSH (TCP:22) dan ICMP (IPv4) untuk memfasilitasi koneksi jarak jauh berikutnya.

⑱⑲⑳ Log Kredensial: Pilih Key Pair. Pasangan kunci ini diperlukan untuk masuk ke instance ECS. Anda juga dapat mengatur nilainya menjadi Kata Sandi Kustom. Lengkapi pengaturan sesuai petunjuk.
㉑ Nama Instance: Masukkan nama untuk instance ECS. Gunakan nama instance yang jelas dan mudah diingat untuk mempermudah pencarian. Dalam contoh ini,
ess-lora-deepseek7b-templatedigunakan.
Klik Confirm Order. Tunggu hingga instance ECS dibuat.
Setelah instance ECS siap, hubungkan ke instance tersebut dan tunggu hingga instalasi driver GPU selesai.
Pergi ke ECS Console - Instance.
Temukan instance ECS yang Anda buat pada langkah sebelumnya, dan klik Connect di kolom Actions. Gunakan Workbench untuk membangun koneksi, dan masuk ke instance ECS sesuai petunjuk.
Jika instance ECS tidak ditemukan, periksa apakah wilayah saat ini sesuai dengan wilayah instance. Anda dapat beralih wilayah menggunakan daftar tarik-turun di sudut kiri atas.
Jika instance ECS dihentikan, segarkan halaman dan tunggu hingga dimulai.

Setelah Anda terhubung ke instance ECS, tunggu hingga instalasi driver GPU selesai. Setelah instalasi selesai, sistem akan meminta Anda untuk menyambungkan kembali ke instance ECS.
Jika antarmuka menjadi tidak responsif, coba segarkan halaman dan sambungkan kembali ke instance ECS.

Instal dependensi Python.
Untuk menginstal dependensi Python yang diperlukan untuk pelatihan, jalankan perintah berikut:
Contoh ini menggunakan Ubuntu 22.04 64-bit image, yang mencakup Python 3.10. Akibatnya, Anda tidak perlu menginstal dependensi Python secara terpisah.
# The Ubuntu 22.04 64-bit image includes Python 3.10 by default, so no extra installation is needed. python3 -m pip install --upgrade pip # Switch to Alibaba Cloud internal image repository. pip config set global.index-url http://mirrors.cloud.aliyuncs.com/pypi/simple/ pip install modelscope==1.22.3 pip install openai==1.61.0 pip install tqdm==4.67.1 pip install "vllm>=0.5.1" -U pip install "lmdeploy>=0.5,<0.6.5" -U --no-deps pip install autoawq -U --no-deps pip install auto_gptq optimum bitsandbytes -U pip install ms-swift[all] pip install timm -U pip install deepspeed==0.14.* -U pip install qwen_vl_utils decord librosa pyav icecream -U
Saat menunggu dependensi diinstal, Anda dapat mengklik ikonuntuk mengaktifkan fitur multi-terminal dan melanjutkan langkah-langkah di Langkah 1.2.
1.2 Buat dan lampirkan OSS bucket
Untuk menyimpan file bobot model, dataset, dan checkpoint yang dihasilkan selama pelatihan, Anda harus terlebih dahulu membuat OSS bucket. Setelah bucket dibuat, lampirkan ke instance ECS Anda sebagai disk data tambahan.
Pergi ke Konsol OSS untuk membuat bucket.
Gambar-gambar berikut menunjukkan pengaturan parameter utama untuk contoh ini. Pertahankan nilai default untuk parameter apa pun yang tidak terdaftar.
② Nama Bucket: Masukkan nama untuk bucket. Nama bucket diperlukan saat memasang bucket.
③ Wilayah: Pilih wilayah. Wilayah yang dipilih harus sesuai dengan wilayah instance ECS. Dalam contoh ini, wilayah harus China (Hangzhou).
Anda dapat menggunakan instance ECS untuk mengakses OSS buckets dalam wilayah yang sama melalui jaringan internal, dan tidak ada biaya untuk lalu lintas di jaringan ini. Untuk informasi lebih lanjut, lihat Akses ke Sumber Daya OSS dari Instance ECS Menggunakan Titik Akhir Internal OSS.

Buat dan Ikat RAM Role.
Resource Access Management (RAM) role digunakan untuk memberikan izin kepada instance ECS untuk mengakses OSS buckets. Untuk membuat dan mengikat RAM role, lakukan langkah-langkah berikut:
Dalam Konsol RAM, buat RAM role. Gambar-gambar berikut menunjukkan pengaturan parameter utama untuk contoh ini.

② Jenis Principal: Pilih Cloud Service.
③ Nama Principal: Pilih Elastic Compute Service, yang menentukan bahwa RAM role akan diberikan ke instance ECS.
④ Klik OK dan tentukan nama untuk RAM role sesuai petunjuk.

Dalam Konsol RAM, buat kebijakan kustom seperti yang ditunjukkan pada gambar berikut.


③ Kebijakan ini memberikan semua izin yang diperlukan untuk mengakses OSS bucket. Skrip kebijakan adalah sebagai berikut:
PentingSaat mengonfigurasi kebijakan kustom, ganti
<bucket_name>dengan nama bucket yang sebenarnya Anda buat.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:*", "Resource": [ "acs:oss:*:*:<bucket_name>", "acs:oss:*:*:<bucket_name>/*" ] } ] }Klik OK, lalu konfigurasikan nama kebijakan sesuai permintaan.
Dalam Konsol RAM, berikan izin ke RAM role.
⑥ Principal: Pilih RAM role yang Anda buat.
⑦ Policy: Pilih kebijakan kustom yang Anda buat.

Klik Grant permissions.
Masuk ke Konsol ECS dan tetapkan RAM role ke instance ECS.
Jika instance ECS tidak ditemukan, periksa apakah wilayah saat ini sesuai dengan wilayah instance. Anda dapat beralih wilayah menggunakan daftar tarik-turun di sudut kiri atas.

Mount OSS bucket ke instance ECS.
Hubungkan ke instance ECS yang dibuat di Langkah 1.1, dan jalankan perintah berikut untuk menginstal ossfs:
wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.5_ubuntu22.04_amd64.deb apt-get update DEBIAN_FRONTEND=noninteractive apt-get install gdebi-core DEBIAN_FRONTEND=noninteractive gdebi -n ossfs_1.91.5_ubuntu22.04_amd64.debJalankan perintah berikut untuk memasang OSS bucket: Perbarui pengaturan parameter dalam perintah dengan nilai-nilai berikut:
<bucket_name>: Ganti ini dengan nama bucket yang Anda buat.<ecs_ram_role>: Ganti ini dengan nama RAM role yang Anda buat.<internal_endpoint>: Ganti ini denganoss-cn-hangzhou-internal.aliyuncs.com.PentingDalam contoh ini, bucket berada di wilayah China (Hangzhou). Akibatnya, endpoint VPC yang digunakan adalah
oss-cn-hangzhou-internal.aliyuncs.com.
# Ganti nama bucket, endpoint VPC, dan RAM role dengan nilai-nilai sebenarnya. BUCKET_NAME="<bucket_name>" ECS_RAM_ROLE="<ecs_ram_role>" INTERNAL_ENDPOINT="<internal_endpoint>" # Direktori mount bucket. BUCKET_MOUNT_PATH="/mnt/oss-data" #1. Cadangkan file fstab sebelum mounting. cp /etc/fstab /etc/fstab.bak #2. Buat direktori mount. mkdir $BUCKET_MOUNT_PATH #3. Mount bucket ke instance. ossfs $BUCKET_NAME $BUCKET_MOUNT_PATH -ourl=$INTERNAL_ENDPOINT -oram_role=http://100.100.100.200/latest/meta-data/ram/security-credentials/$ECS_RAM_ROLE #4. Aktifkan pemasangan otomatis saat startup instance. echo "ossfs#$BUCKET_NAME $BUCKET_MOUNT_PATH fuse _netdev,url=http://$INTERNAL_ENDPOINT,ram_role=http://100.100.100.200/latest/meta-data/ram/security-credentials/$ECS_RAM_ROLE,allow_other 0 0" | sudo tee -a /etc/fstab
Periksa apakah ruang penyimpanan tersedia.
Unggah file apa pun ke OSS bucket.

Jalankan perintah berikut di instance untuk memeriksa apakah file tersebut terlihat di direktori mount:
ls /mnt/oss-data/Jika muncul, ini berarti pemasangan berhasil.

1.3 Siapkan model dan dataset
File bobot model dan dataset yang dirujuk dalam topik ini dapat diunduh dari komunitas ModelScope. Setelah terhubung ke instance ECS, unduh model dan dataset ke direktori mount OSS bucket dan tunggu hingga semua file selesai diunduh.
Unduh Dataset
# Direktori mount bucket. BUCKET_MOUNT_PATH="/mnt/oss-data" # Unduh dataset penyesuaian dari komunitas ModelScope. # Gunakan alat modelscope yang diinstal di Langkah 1.1. modelscope download --dataset swift/self-cognition --local_dir $BUCKET_MOUNT_PATH/self-cognition modelscope download --dataset AI-ModelScope/alpaca-gpt4-data-zh --local_dir $BUCKET_MOUNT_PATH/alpaca-gpt4-data-zh modelscope download --dataset AI-ModelScope/alpaca-gpt4-data-en --local_dir $BUCKET_MOUNT_PATH/alpaca-gpt4-data-enJika kemajuan macet, coba tekan Enter beberapa kali.
Unduh File Bobot Model
PentingJika file bobot model terlalu besar dan unduhan gagal atau muncul pesan
silakan coba lagi, cukup ulangi perintah untuk melanjutkan unduhan.# Direktori mount bucket. BUCKET_MOUNT_PATH="/mnt/oss-data" # Unduh model DeepSeek-R1-Distill-Qwen-7B dari komunitas ModelScope. modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir $BUCKET_MOUNT_PATH/DeepSeek-R1-Distill-Qwen-7BJika kemajuan macet, coba tekan Enter beberapa kali.
Verifikasi apakah file bobot model valid
Setelah unduhan selesai, jalankan perintah berikut di terminal untuk menguji fungsionalitas model dan memverifikasi apakah file bobot model lengkap.
# Direktori mount bucket. BUCKET_MOUNT_PATH="/mnt/oss-data" CUDA_VISIBLE_DEVICES=0 swift infer \ --model $BUCKET_MOUNT_PATH/DeepSeek-R1-Distill-Qwen-7B \ --stream true \ --infer_backend pt \ --max_new_tokens 2048Setelah file bobot model dimuat, seperti yang ditunjukkan pada gambar berikut, Anda dapat mulai berinteraksi dengan model besar. Jika file bobot model gagal dimuat, coba unduh lagi.

Masukkan
exitsetelah pengujian selesai.
1.4 Tulis skrip pelatihan otomatis
Tulis skrip pelatihan otomatis.
Jalankan perintah berikut untuk membuat skrip pelatihan otomatis dan berikan izin eksekusi. Skrip ini akan secara otomatis melanjutkan pelatihan dari checkpoint terbaru dan memantau kemajuan pelatihan hingga selesai.
# Buat skrip pelatihan otomatis. cat <<EOF > /root/train.sh #!/bin/bash # Direktori mount bucket. BUCKET_MONTH_PATH="/mnt/oss-data" # Direktori penyimpanan file bobot model dan dataset. MODEL_PATH="\$BUCKET_MONTH_PATH/DeepSeek-R1-Distill-Qwen-7B" DATASET_PATH="\$BUCKET_MONTH_PATH/alpaca-gpt4-data-zh#500 \$BUCKET_MONTH_PATH/alpaca-gpt4-data-en#500 \$BUCKET_MONTH_PATH/self-cognition#500" # Tetapkan direktori keluaran. OUTPUT_DIR="\$BUCKET_MONTH_PATH/output" mkdir -p "\$OUTPUT_DIR" # Konfirmasi bahwa pelatihan telah selesai tanpa memerlukan operasi apa pun. if [ -f "\$OUTPUT_DIR/logging.jsonl" ]; then last_line=\$(tail -n 1 "\$OUTPUT_DIR/logging.jsonl") if echo "\$last_line" | grep -q "last_model_checkpoint" && echo "\$last_line" | grep -q "best_model_checkpoint"; then echo "Pelatihan sudah selesai. Keluar." exit 0 fi fi # Inisialisasi parameter pemulihan. RESUME_ARG="" # Temukan checkpoint terbaru LATEST_CHECKPOINT=\$(ls -dt \$OUTPUT_DIR/checkpoint-* 2>/dev/null | head -1) if [ -n "\$LATEST_CHECKPOINT" ]; then RESUME_ARG="--resume_from_checkpoint \$LATEST_CHECKPOINT" echo "Melanjutkan pelatihan dari: \$LATEST_CHECKPOINT" else echo "Tidak ada checkpoint ditemukan. Memulai pelatihan baru." fi # Mulai perintah pelatihan. CUDA_VISIBLE_DEVICES=0 swift sft \\ --model \$MODEL_PATH \\ --train_type lora \\ --dataset \$DATASET_PATH \\ --torch_dtype bfloat16 \\ --num_train_epochs 1 \\ --per_device_train_batch_size 1 \\ --per_device_eval_batch_size 1 \\ --learning_rate 1e-4 \\ --lora_rank 8 \\ --lora_alpha 32 \\ --target_modules all-linear \\ --gradient_accumulation_steps 16 \\ --eval_steps 50 \\ --save_steps 10 \\ --save_total_limit 5 \\ --logging_steps 5 \\ --max_length 2048 \\ --output_dir "\$OUTPUT_DIR" \\ --add_version False \\ --overwrite_output_dir True \\ --system 'Anda adalah asisten yang membantu.' \\ --warmup_ratio 0.05 \\ --dataloader_num_workers 4 \\ --model_author swift \\ --model_name swift-robot \\ \$RESUME_ARG EOF # Berikan izin eksekusi. chmod +x /root/train.shSiapkan layanan Linux dan aktifkan auto-start saat boot sistem.
Jalankan perintah berikut untuk membuat layanan Linux dan aktifkan skrip pelatihan untuk mulai secara otomatis saat startup sistem:
# Buat direktori penyimpanan log. mkdir -p /root/train-service-log # Tulis file konfigurasi layanan. cat <<EOF > /etc/systemd/system/train.service [Unit] Description=Train AI Model Script After=network.target local-fs.target remote-fs.target Requires=local-fs.target remote-fs.target [Service] ExecStart=/root/train.sh WorkingDirectory=/root/ User=root Environment="PATH=/usr/bin:/usr/local/bin" Environment="CUDA_VISIBLE_DEVICES=0" StandardOutput=append:/root/train-service-log/train.log StandardError=append:/root/train-service-log/train_error.log [Install] WantedBy=multi-user.target EOF # Muat ulang konfigurasi systemd. systemctl daemon-reload # Aktifkan train.service untuk mulai secara otomatis saat startup sistem. systemctl enable train.serviceMenjalankan perintah menghasilkan hasil berikut:

1.5 Bangun gambar
Setelah Anda menyelesaikan semua langkah sebelumnya, bangun gambar kustom dari instance yang dikonfigurasi. Gambar ini akan berfungsi sebagai template startup untuk instance yang diskalakan, menghilangkan kebutuhan untuk menginstal ulang dependensi setiap kali.
Pergi ke Konsol ECS.
Buat gambar mengikuti langkah-langkah yang ditunjukkan pada gambar di bawah ini.

Tunggu hingga gambar dibuat, yang biasanya memakan waktu sekitar 5 menit. Anda dapat memantau kemajuan di Konsol ECS.

Setelah gambar siap, Anda dapat lepaskan instance yang dibuat di Langkah 1.1.
2. Buat grup skala
Anda dapat mengonfigurasi grup skala untuk mengotomatiskan manajemen instance. Grup skala memastikan bahwa spot atau pay-as-you-go instances baru secara otomatis dibuat untuk melanjutkan pelatihan jika instance yang ada ditangguhkan atau direklamasi. Ketika tersedia, spot instances akan secara otomatis menggantikan pay-as-you-go instances untuk mengurangi biaya.
2.1 Buat grup skala
Untuk membuat grup skala, lakukan langkah-langkah berikut:
Pergi ke Konsol Auto Scaling.
PentingGrup skala harus berada di wilayah yang sama dengan instance ECS yang dibuat di Langkah 1.1.

Konfigurasikan grup skala mengikuti langkah-langkah yang ditunjukkan pada gambar di bawah ini. Untuk informasi lebih lanjut tentang cara mengonfigurasi grup skala, lihat Parameter.
PentingSaat mengonfigurasi VPC (⑤) dan vSwitch (⑥), kami sarankan memilih vSwitches di beberapa zona. Ini memungkinkan Auto Scaling mendistribusikan instance secara efisien dan meningkatkan peluang menggunakan spot instances.

PentingUntuk mengurangi biaya dengan hanya menggunakan spot instances, nonaktifkan opsi berikut: Gunakan Pay-as-you-go Instances untuk Melengkapi Kapasitas Spot (⑮) dan Ganti Pay-as-you-go Instances dengan Spot Instances (⑯).
Klik Create, lalu ikuti petunjuk di layar untuk membuat konfigurasi skala.

2.2 Buat konfigurasi skala
Konfigurasi skala mendefinisikan spesifikasi dan gambar instance dalam grup skala. Setelah konfigurasi skala dibuat, Auto Scaling menggunakannya untuk meluncurkan instance baru secara otomatis dalam grup skala sesuai dengan pengaturan instance yang telah ditentukan. Untuk membuat konfigurasi skala, ikuti langkah-langkah berikut:
① Nama Konfigurasi Skala: Masukkan ② Metode Penagihan: Pilih Spot Instance.
|
③④ Pilih Image > Gambar Kustom: Klik tab Custom Image dan pilih gambar kustom yang dibuat di Langkah 1.5. ⑤ Mode Konfigurasi Instance: Pilih Specify Instance Type. ⑥ Durasi Penggunaan Instance: Pilih 1-Hour Usage Duration. Dengan opsi ini, setelah spot instances berjalan selama 1 jam, Auto Scaling akan mengevaluasi apakah akan menangguhkan dan mereklamasi mereka. Jika memilih Tidak Ada Durasi Penggunaan Tertentu, instance pay-as-you-go mungkin digunakan dengan biaya lebih rendah. Namun, karena kemungkinan terminasi dan reklamasi yang lebih tinggi, checkpoint yang valid mungkin tidak dibuat sebelum instance direklamasi, yang dapat mengakibatkan kemajuan pelatihan yang lebih lambat. Untuk informasi lebih lanjut tentang perbedaan antara kedua opsi, lihat Gunakan spot instances untuk mengurangi biaya. ⑦ Harga Tertinggi per Instance: Pilih Use Automatic Bid. Dengan opsi ini, Auto Scaling akan secara otomatis menyesuaikan harga penawaran sesuai dengan harga pasar saat ini. ⑧ Pilih Jenis Instance: Pilih jenis instance yang dipilih di Langkah 1.1, yaitu
|
⑨ Grup Keamanan: Pilih grup keamanan yang dipilih di Langkah 1.1. Contoh ini mengilustrasikan solusi pelatihan offline, sehingga penugasan alamat IP publik tidak diperlukan.
|
⑩ Kredensial Login: Pilih Image Preset Password.
|
⑪⑫⑬ Pilih RAM role yang dibuat di Langkah 1.2. Saat instance secara otomatis dibuat dalam grup skala, RAM role secara otomatis ditetapkan ke instance baru.
|
Klik Buat. Jika muncul pesan bahwa kekuatan skala tidak mencukupi, cukup klik Continue.
Aktifkan grup skala dan konfigurasi skala sesuai petunjuk.
|
|
|
3. Mulai pelatihan
Setelah grup skala dikonfigurasi, sesuaikan jumlah instance yang diharapkan menjadi 1. Proses ini diilustrasikan pada gambar di bawah ini.
|
|
Selanjutnya, Auto Scaling secara otomatis menyediakan instance baru dalam grup skala untuk memulai pelatihan.
Auto Scaling secara berkala memeriksa apakah jumlah instance dalam grup skala sesuai dengan jumlah yang diharapkan. Jika tidak ada instance dalam grup skala (yaitu, jumlahnya 0), operasi scale-out secara otomatis dipicu untuk membuat instance baru.
Setelah menyesuaikan jumlah instance yang diharapkan, pembuatan instance mungkin tertunda. Anda dapat memantau kemajuan aktivitas skala pada tab Scaling Activities grup skala.
Setelah instance dibuat dan dimulai, direktori
outputakan tersedia di OSS bucket, yang menyimpan checkpoint yang dihasilkan selama pelatihan.
4. Uji: Simulasikan gangguan dan reklamasi
Setelah instance mulai menjalankan tugas pelatihan, periksa direktori output bucket OSS untuk memastikan folder seperti checkpoint-10 telah dibuat. Setelah checkpoint dihasilkan, Anda dapat melepaskan instance secara manual untuk mensimulasikan gangguan dan reklamasi. Ikuti langkah-langkah berikut:
Lepaskan instance secara manual.
Pergi ke tab Instances grup skala. Klik ID instance untuk pergi ke halaman detail instance.

Di tab Detail Instance, pilih di pojok kanan atas, lalu lepaskan instance sesuai petunjuk.

Verifikasi apakah pelatihan dapat dilanjutkan dari checkpoint terbaru.
Tunggu hingga instance baru dibuat dalam grup skala. Setelah instance siap, sambungkan ke instance tersebut dan periksa log pelatihan.
Pergi ke tab Instances grup skala. Klik ID instance untuk pergi ke halaman detail instance.
Klik Connect di pojok kanan atas dan sambungkan ke instance sesuai petunjuk.
Untuk melihat log pelatihan model, jalankan perintah berikut. Jalur log adalah yang Anda tentukan di Langkah 1.4.
cat /root/train-service-log/train.logOutput perintah menunjukkan bahwa tugas pelatihan dilanjutkan dari checkpoint terbaru.

Apa yang harus dilakukan selanjutnya
Gunakan model yang telah disesuaikan untuk inferensi
Lepaskan sumber daya yang digunakan dalam topik ini
Saran untuk menerapkan solusi ini ke lingkungan produksi
Sebelum menerapkan solusi ini ke lingkungan produksi, tinjau saran berikut dan sesuaikan solusi agar memenuhi kebutuhan bisnis spesifik Anda.
Integrasikan CloudMonitor untuk mendeteksi gangguan dan reklamasi
Untuk lingkungan produksi, disarankan mengintegrasikan CloudMonitor ke dalam kode pelatihan Anda guna mendeteksi dan menangani gangguan serta reklamasi spot instance. Dengan menyimpan checkpoint 5 menit sebelum gangguan atau reklamasi, Anda dapat meminimalkan kehilangan kemajuan saat melanjutkan pelatihan. Arsitektur solusi yang diperbarui adalah sebagai berikut:

Buat mekanisme pemulihan tugas komprehensif
Dalam contoh pada topik ini, pelatihan akan secara otomatis dilanjutkan dari checkpoint terbaru. Namun, validitas checkpoint tidak diverifikasi secara otomatis. Dalam aplikasi praktis, disarankan menerapkan mekanisme deteksi anomali untuk menyaring checkpoint yang tidak valid dan memastikan pelatihan dilanjutkan dari checkpoint terbaru yang valid.
Tingkatkan kesimpulan tugas pelatihan
Anda dapat mengintegrasikan logika untuk menentukan akhir pelatihan ke dalam kode pelatihan. Setelah pelatihan selesai, gunakan CLI atau SDK untuk memanggil Operasi API dan atur jumlah instance yang diharapkan menjadi 0. Auto Scaling kemudian akan secara otomatis melepaskan instance berlebih dalam grup skala, mencegah biaya tidak perlu akibat pemborosan sumber daya.
Anda juga dapat melaporkan acara kustom ke CloudMonitor setelah pelatihan selesai. CloudMonitor kemudian akan memberi tahu Anda tentang hasil pelatihan melalui email, pesan teks, atau chatbot DingTalk.
Beralih ke model penyimpanan yang lebih efisien
Saat melatih model dengan banyak parameter, OSS dapat menyebabkan hambatan sistem. Untuk meningkatkan efisiensi sistem secara keseluruhan, disarankan menggunakan file system berkapasitas tinggi dan latensi rendah, seperti CPFS, untuk mounting.
Konfigurasikan vSwitch multi-zona
Jika Anda mengonfigurasi vSwitch hanya di satu zona, Auto Scaling hanya akan dapat membuat instance di zona tersebut untuk grup skala. Hal ini dapat menyebabkan kegagalan scale-out jika tidak ada cukup sumber daya yang tersedia di zona tersebut. Disarankan mengonfigurasi vSwitches di beberapa zona. Ketika spot instance direklamasi, Auto Scaling secara otomatis meluncurkan spot instance baru di zona lain, meningkatkan kemungkinan penggunaan spot instances.














