View a markdown version of this page

Pemecahan Masalah - Amazon SageMaker AI

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

Pemecahan Masalah

Jika pekerjaan pelatihan Anda gagal atau berperilaku tidak terduga, bagian berikut dapat membantu Anda mengidentifikasi dan menyelesaikan masalah. Memeriksa status pekerjaan Anda dapat membantu mempersempit apakah masalah ada dalam konfigurasi atau agen Anda, dan bagian khusus agen di bawah ini mencakup log dan masalah umum untuk setiap jalur penerapan.

Debugging tingkat pekerjaan

Gunakan DescribeJob API untuk memeriksa status pekerjaan Anda saat ini dan lihat mengapa gagal. Tanggapan tersebut mencakup status pekerjaan, alasan kegagalan jika pekerjaan gagal, dan garis waktu transisi status yang menunjukkan seberapa jauh pekerjaan berkembang sebelum masalah terjadi.

aws sagemaker describe-job \ --job-name "my-agent-rft-job" \ --job-category AgentRFT \ --region us-west-2

Bidang kunci untuk memeriksa:

  • JobStatus: Keadaan saat ini (InProgress,Completed,Failed,Stopping,Stopped)

  • SecondaryStatus: Lebih banyak fase granular (Starting,, DownloadingTraining,Uploading)

  • FailureReason: Jika pekerjaan gagal, deskripsi mengapa

  • SecondaryStatusTransitions: Garis waktu penuh perubahan status dengan stempel waktu

CloudWatch Log Job

Informasi kemajuan pelatihan dan tingkat peluncuran dicatat ke grup log berikut di akun Anda:

/aws/sagemaker/Job/AgentRFT

Nama log stream adalah<job-name>/.

Log ini menangkap kemajuan langkah pelatihan, acara pemanggilan peluncuran, dan kesalahan tingkat tinggi. Mereka dapat membantu untuk memahami seberapa jauh pekerjaan Anda berkembang dan apakah peluncuran berhasil dilakukan.

Jika pekerjaan Anda gagal, periksa FailureReason bidang untuk detailnya. Jika gagal selama Training fase, masalahnya mungkin ada di agen Anda. Dalam hal ini, periksa log agen Anda untuk informasi lebih lanjut.

Debugging tingkat agen

Debugging Amazon Bedrock AgentCore

Jika Anda telah menyebarkan agen Anda ke Amazon Bedrock AgentCore, berikut ini dapat membantu untuk menyelidiki masalah sisi agen.

Log agen

Output stdout dan stderr container agen Anda ditangkap di Amazon CloudWatch Logs di akun Anda. Anda dapat menemukannya di grup log berikut:

/aws/bedrock-agentcore/runtimes/<runtime-name>-<id>-<qualifier>

Log ini menangkap output dari kode agen Anda, termasuk kesalahan, jejak tumpukan, dan pesan SDK. Log ini dapat digunakan untuk menyelidiki masalah yang terkait dengan kode agen, dependensi, atau konektivitas Anda ke Runtime RFT.

Periksa kesehatan agen

Pastikan runtime agen Anda sehat:

aws bedrock-agentcore-control list-agent-runtimes --region us-west-2

Untuk detail tentang runtime tertentu:

aws bedrock-agentcore-control get-agent-runtime \ --agent-runtime-id <runtime-id> \ --region us-west-2

Debugging agen kustom

Jika Anda menggunakan jalur forwarder Lambda, masalah dapat terjadi di fungsi Lambda itu sendiri atau di agen eksternal Anda. Berikut ini dapat membantu untuk menyelidiki keduanya.

Log forwarder Lambda

Log eksekusi fungsi Lambda Anda ditangkap di Log Amazon CloudWatch . Anda dapat menemukannya di grup log berikut:

/aws/lambda/<function-name>

Log ini dapat digunakan untuk menyelidiki masalah yang terkait dengan penerusan permintaan, batas waktu, atau konektivitas antara Lambda dan agen Anda. Periksa:

  • Kesalahan pemanggilan (Lambda tidak dapat menghubungi agen Anda)

  • Kesalahan batas waktu (agen butuh waktu terlalu lama untuk merespons)

  • Kesalahan validasi (permintaan peluncuran yang salah)

Verifikasi konektivitas

Jika log Lambda Anda menunjukkan kesalahan pemanggilan atau batas waktu, masalahnya mungkin Lambda tidak dapat menghubungi agen Anda. Pemeriksaan berikut dapat membantu mengonfirmasi apakah koneksi antara Lambda dan agen Anda berfungsi.

Pemeriksaan Kesehatan — konfirmasi agen Anda sedang berjalan:

curl -s "http://$AGENT_ENDPOINT/health" # Expected: {"status": "ok"}

Panggilan uji Lambda - konfirmasi Lambda dapat menghubungi agen Anda:

aws lambda invoke \ --function-name rft-agent-forwarder \ --cli-binary-format raw-in-base64-out \ --payload '{"prompt": "test", "metadata": {"jobArn": "test", "rolloutId": "test-1"}}' \ --region us-west-2 \ /tmp/response.json && cat /tmp/response.json # Note: This will return an InternalServerError because the jobArn "test" # does not correspond to an active training job. This is expected. # Success means the Lambda executed and reached your agent — check agent # logs to confirm the request was received.

Jika Lambda Anda berhasil dijalankan tetapi pekerjaan masih gagal, log agen Anda mungkin memiliki detail lebih lanjut. Periksa log agen Anda untuk kesalahan yang terkait dengan panggilan inferensi atau pelaporan hadiah.

Log agen

Log agen Anda sendiri bergantung pada di mana ia digunakan. Log ini dapat digunakan untuk menyelidiki masalah yang terkait dengan kode agen Anda, panggilan inferensi ke Runtime RFT, atau pelaporan hadiah.

Misalnya, jika Anda menyebarkan agen Anda ke Amazon EKS, Anda dapat memeriksa log agen Anda dengan:

kubectl logs -l app=external-agent --tail=50

Menggunakan CloudTrail untuk debugging

CloudTrail peristiwa data dapat membantu mengonfirmasi apakah panggilan agen Anda ke RFT Runtime berhasil. Cari acara dengan:

  • eventNameSample:,,, SampleWithResponseStream CompleteRollout UpdateReward

  • resources.type: AWS::SageMaker::Job

Jika Anda tidak melihat peristiwa ini, agen Anda tidak berhasil memanggil RFT Runtime. Periksa log dan izin agen.

Pencatatan panggilan API dengan AWS CloudTrail

Amazon SageMaker AI terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan. CloudTrail menangkap semua panggilan API untuk Amazon SageMaker AI sebagai peristiwa. Panggilan yang diambil termasuk panggilan dari konsol Amazon SageMaker AI dan panggilan kode ke operasi Amazon SageMaker AI API. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk Amazon SageMaker AI, alamat IP dari mana permintaan itu dibuat, kapan dibuat, dan detail tambahan.

Setiap entri peristiwa atau log berisi informasi tentang entitas yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan berikut hal ini:

  • Baik permintaan tersebut dibuat dengan kredensial pengguna root atau pengguna.

  • Apakah permintaan dibuat atas nama pengguna IAM Identity Center.

  • Apakah permintaan tersebut dibuat dengan kredensial keamanan sementara untuk satu peran atau pengguna gabungan.

  • Apakah permintaan itu dibuat oleh AWS layanan lain.

CloudTrail aktif di AWS akun Anda saat Anda membuat akun dan Anda secara otomatis memiliki akses ke riwayat CloudTrail Acara. Riwayat CloudTrail Acara menyediakan catatan yang dapat dilihat, dapat dicari, dapat diunduh, dan tidak dapat diubah dari 90 hari terakhir dari peristiwa manajemen yang direkam di suatu Wilayah. AWS Untuk informasi selengkapnya, lihat Bekerja dengan riwayat CloudTrail Acara di Panduan AWS CloudTrail Pengguna. Tidak ada CloudTrail biaya untuk melihat riwayat Acara.

Untuk catatan peristiwa yang sedang berlangsung di AWS akun Anda selama 90 hari terakhir, buat jejak atau penyimpanan data acara CloudTrail Lake.

CloudTrail jalan setapak

Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Semua jalur yang dibuat menggunakan AWS Management Console adalah Multi-region. Anda dapat membuat jalur Single-region atau Multi-region dengan menggunakan CLI AWS . Membuat jejak Multi-wilayah disarankan karena Anda menangkap aktivitas di semua AWS Wilayah di akun Anda. Jika Anda membuat jejak wilayah Tunggal, Anda hanya dapat melihat peristiwa yang dicatat di AWS Wilayah jejak. Untuk informasi selengkapnya tentang jejak, lihat Membuat jejak untuk AWS akun Anda dan Membuat jejak untuk organisasi di Panduan AWS CloudTrail Pengguna.

Anda dapat mengirimkan satu salinan acara manajemen yang sedang berlangsung ke bucket Amazon S3 Anda tanpa biaya CloudTrail dengan membuat jejak, namun, ada biaya penyimpanan Amazon S3. Untuk informasi selengkapnya tentang CloudTrail harga, lihat AWS CloudTrailHarga. Untuk informasi tentang harga Amazon S3, lihat Harga Amazon S3.

CloudTrail Menyimpan data acara danau

CloudTrail Lake memungkinkan Anda menjalankan SQL-based kueri pada acara Anda. CloudTrail Lake mengonversi peristiwa yang ada dalam format JSON berbasis baris ke format Apache ORC. ORC adalah format penyimpanan kolumnar yang dioptimalkan untuk pengambilan data dengan cepat. Peristiwa digabungkan ke dalam penyimpanan data peristiwa, yang merupakan kumpulan peristiwa yang tidak dapat diubah berdasarkan kriteria yang Anda pilih dengan menerapkan pemilih acara tingkat lanjut. Penyeleksi yang Anda terapkan ke penyimpanan data acara mengontrol peristiwa mana yang bertahan dan tersedia untuk Anda kueri. Untuk informasi lebih lanjut tentang CloudTrail Danau, lihat Bekerja dengan AWS CloudTrail Danau di Panduan AWS CloudTrail Pengguna.

CloudTrail Penyimpanan data acara danau dan kueri menimbulkan biaya. Saat Anda membuat penyimpanan data acara, Anda memilih opsi harga yang ingin Anda gunakan untuk penyimpanan data acara. Opsi penetapan harga menentukan biaya untuk menelan dan menyimpan peristiwa, dan periode retensi default dan maksimum untuk penyimpanan data acara. Untuk informasi lebih lanjut tentang harga CloudTrail , lihat Harga AWS CloudTrail.

SageMaker Peristiwa data AI di CloudTrail

Peristiwa data memberikan informasi tentang operasi sumber daya yang dilakukan pada atau di sumber daya (misalnya, membaca atau menulis ke objek Amazon S3). Ini juga dikenal sebagai operasi bidang data. Peristiwa data sering kali merupakan aktivitas bervolume tinggi. Secara default, CloudTrail tidak mencatat peristiwa data. Riwayat CloudTrail peristiwa tidak merekam peristiwa data.

Biaya tambahan berlaku untuk peristiwa data. Untuk informasi lebih lanjut tentang harga CloudTrail, lihat Harga AWS CloudTrail.

Anda dapat mencatat peristiwa data untuk berbagai jenis sumber daya Amazon SageMaker AI dengan menggunakan operasi CloudTrail konsol, AWS CLI, atau CloudTrail API. Untuk informasi selengkapnya tentang cara mencatat peristiwa data, lihat Mencatat peristiwa data dengan Konsol AWS Manajemen dan peristiwa data Pencatatan dengan Antarmuka Baris AWS Perintah di Panduan AWS CloudTrail Pengguna.

Tabel berikut mencantumkan jenis sumber daya Amazon SageMaker AI yang dapat digunakan untuk mencatat peristiwa datanya:

Jenis sumber daya (konsol) nilai resources.type API data masuk CloudTrail Referensi API
SageMaker titik akhir AWS::SageMaker::Endpoint InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream InvokeEndpoint, InvokeEndpointAsync, InvokeEndpointWithResponseStream
SageMaker Lowongan AWS::SageMaker::Job CompleteRollout, Sampel, SampleWithResponseStream CompleteRollout, Sampel, SampleWithResponseStream
catatan

Panggilan InvokeEndpoint InvokeEndpointAsyncSample,,, dan SampleWithResponseStream API tidak mencatat parameter permintaan.

Anda dapat mengonfigurasi pemilih acara lanjutan untuk memfilter pada eventNamereadOnly,, dan resources.ARN bidang untuk mencatat hanya peristiwa yang penting bagi Anda. Untuk informasi selengkapnya tentang bidang ini, lihat AdvancedFieldSelectordi Referensi AWS CloudTrail API.

Contoh: Log peristiwa data untuk SageMaker titik akhir dan pekerjaan

Contoh berikut menunjukkan cara menggunakan perintah AWS CLI put-event-selectors untuk menambahkan pemilih acara lanjutan:

[ { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:sagemaker:us-east-1:111122223333:endpoint/your-inference-endpoint-arn"] }, { "Field": "resources.type", "Equals": ["AWS::SageMaker::Endpoint"] } ] }, { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:sagemaker:us-east-1:111122223333:job/your-job-arn"] }, { "Field": "resources.type", "Equals": ["AWS::SageMaker::Job"] } ] } ]

Kemudian jalankan:

aws cloudtrail put-event-selectors \ --trail-name your-trail-name \ --advanced-event-selectors=file://advanced-event-selectors.json

SageMaker Acara manajemen AI di CloudTrail

Acara manajemen memberikan informasi tentang operasi manajemen yang dilakukan pada sumber daya di AWS akun Anda. Ini juga dikenal sebagai operasi bidang kontrol. Secara default, CloudTrail mencatat peristiwa manajemen.

Amazon SageMaker AI mencatat semua operasi pesawat kontrol SageMaker AI Amazon sebagai peristiwa manajemen. Untuk daftar operasi pesawat kontrol Amazon SageMaker AI yang dicatat oleh Amazon SageMaker AI CloudTrail, lihat Referensi API Amazon SageMaker AI.

CloudTrail contoh acara

Untuk informasi tentang konten CloudTrail rekaman, lihat konten CloudTrail rekaman di Panduan AWS CloudTrail Pengguna.

Paket model dan pos pemeriksaan

Ikhtisar

Selama pelatihan RL multi-putaran, platform secara berkala menyimpan parameter yang dipelajari model sebagai pos pemeriksaan. Pos pemeriksaan ini disimpan sebagai Paket SageMaker Model dalam Grup Paket Model, memungkinkan pembuatan versi, pelacakan garis keturunan, dan kontinuitas lintas pekerjaan.

Konsep utama

Model Package

Model Package adalah artefak berversi dan tidak dapat diubah dalam SageMaker AI yang berisi bobot model terlatih pada titik waktu tertentu. Setiap pos pemeriksaan yang dihasilkan selama pelatihan disimpan sebagai Model Package. Sebuah Model Package memiliki:

  • ARN (mis.,) arn:aws:sagemaker:us-west-2:123456789012:model-package/my-group/5

  • Lokasi S3 yang berisi file model

  • Metadata tentang kapan itu dibuat dan dari mana langkah pelatihan

Model Package Group

Model Package Group adalah wadah yang menampung beberapa versi Model Package. Multi-turn RL menggunakan dua kelompok terpisah:

Kelompok Tujuan Daftar Isi
Grup Package Model Output Pos pemeriksaan model terlatih terakhir HuggingFace-compatible Bobot adaptor LoRa cocok untuk inferensi dan pelatihan lanjutan
Grup Paket Model Pos Pemeriksaan Menengah Status pelatihan yang dapat dilanjutkan Status pengoptimal penuh+bobot adaptor untuk melanjutkan pelatihan yang terputus

Anda menentukan keduanya saat membuat pekerjaan:

{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints" } }

Jenis pos pemeriksaan

Pos Pemeriksaan yang Dapat Dilanjutkan (Status Penuh)

  • Isi: Bobot adaptor LoRa+status pengoptimal+metadata langkah pelatihan (per peringkat GPU)

  • Disimpan di: Grup Paket Model Pos Pemeriksaan Menengah

  • Tujuan: Lanjutkan pelatihan dari titik yang tepat itu terputus

  • Format: Format internal (tidak dapat digunakan secara langsung untuk inferensi)

  • Saat dibuat: Setiap langkah

  • Kasus penggunaan: Ketahanan otomatis atau pelatihan lanjutan eksplisit

Pos Pemeriksaan Model (Hanya Bobot)

  • Isi: Bobot adaptor HuggingFace-compatible LoRa dalam format SafeTensors

  • Disimpan di: Output Model Package Group

  • Tujuan: Inferensi, penyebaran, atau pelatihan lanjutan

  • Format: Format HuggingFace adaptor standar (adapter_config.json+adapter_model.safetensors)

  • Saat dibuat: Setiap langkah, saat penyelesaian pekerjaan, dan saat pekerjaan dihentikan

  • Kasus penggunaan: Terapkan model yang disetel dengan baik untuk inferensi, atau gunakan sebagai masukan untuk pekerjaan pelatihan baru

Melanjutkan pelatihan yang terputus

Jika pekerjaan pelatihan gagal atau dihentikan di tengah pelatihan, Anda dapat memulai pekerjaan baru yang dilanjutkan dari titik yang tepat di mana pekerjaan sebelumnya berhenti. Platform memuat status pelatihan penuh (bobot+pengoptimis+penghitung langkah) dari pos pemeriksaan yang dapat dilanjutkan.

Untuk melanjutkan, tentukan pos pemeriksaan yang dapat dilanjutkan (dari Intermediate Checkpoint Model Package Group) sebagai: InputModelPackageArn

{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints", "InputModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/my-intermediate-checkpoints/5" } }

Persyaratan:

  • InputModelPackageArnHarus menunjuk ke pos pemeriksaan yang dapat dilanjutkan (satu dengan metadata IsCheckpoint=true Paket Model)

  • Pekerjaan baru harus menggunakan model dasar yang sama

  • Pekerjaan baru harus menggunakan konfigurasi LoRa yang sama (peringkat, alfa)

  • Pekerjaan baru harus menggunakan hyperparameter yang sama (tingkat pembelajaran, ukuran batch, dll.)

  • Pekerjaan baru harus menggunakan dataset yang sama

Pelatihan berulang (pelatihan lanjutan)

Pelatihan berulang memungkinkan Anda membangun model yang dilatih sebelumnya dengan hiperparameter baru, kumpulan data yang berbeda, atau konfigurasi pelatihan yang berbeda. Tidak seperti melanjutkan, ini memulai latihan baru yang diinisialisasi dari bobot LoRa yang terlatih tetapi dengan status pengoptimal baru.

Untuk melakukan pelatihan berulang, tentukan pos pemeriksaan model (dari Output Model Package Group) sebagai: InputModelPackageArn

{ "ModelPackageConfig": { "OutputModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-final-models", "IntermediateCheckpointModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/my-intermediate-checkpoints", "InputModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/my-final-models/3" } }

Apa yang dapat Anda ubah di antara iterasi:

  • Hyperparameters (tingkat pembelajaran, ukuran batch, max_steps, group_size, dll.)

  • Dataset (petunjuk berbeda, distribusi data berbeda)

  • Fungsi hadiah (lambda hadiah berbeda)

  • Konfigurasi agen

Apa yang harus tetap sama:

  • Model dasar (adaptor LoRa khusus untuk arsitektur model dasar)

Kasus penggunaan umum:

  • Latih masalah mudah terlebih dahulu, kemudian lanjutkan masalah yang lebih sulit (pembelajaran kurikulum)

  • Berlatih dengan fungsi reward sederhana, lalu sempurnakan dengan yang lebih bernuansa

  • Tingkatkan ukuran batch atau sesuaikan laju pembelajaran setelah mengamati dinamika pelatihan awal

Siklus hidup pos pemeriksaan

Training Step 1 → Intermediate Checkpoint (Resumable) Training Step 1 → Intermediate Checkpoint (HFCompatible) ... Training Step N-1 → Intermediate Checkpoint (Resumable) Training Step N-1 → Intermediate Checkpoint (HFCompatible) ... Training Step N (final) → Model Checkpoint (HuggingFace LoRA) → Output Model Package Group

Ketika pekerjaan selesai dengan sukses: Bobot model akhir disimpan sebagai Model Package di Output Model Package Group. OutputModelPackageArnBidang pada catatan pekerjaan berisi ARN dari model akhir.

Ketika pekerjaan gagal atau dihentikan: Pos pemeriksaan perantara terakhir dipromosikan ke Output Model Package Group (upaya terbaik).

Praktik terbaik untuk pos pemeriksaan

  • Pantau pembuatan pos pemeriksaan - gunakan DescribeJob untuk melacak ResumableCheckpoint dan ModelCheckpoint bidang selama pelatihan

  • Untuk pekerjaan yang panjang, gunakan pelatihan berulang — jika pekerjaan dengan banyak langkah mungkin gagal, rencanakan untuk melanjutkan dari pos pemeriksaan daripada memulai kembali dari awal