Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jaringan
Pertimbangkan Bandwidth Jaringan yang Lebih Tinggi atau Adaptor Kain Elastis Untuk Aplikasi dengan Komunikasi Antar Node Tinggi
Untuk beban kerja pelatihan terdistribusi di Amazon EKS dengan tuntutan komunikasi antar simpul yang tinggi, pertimbangkan untuk memilih instans dengan bandwidth jaringan yang lebih tinggi atau Elastic Fabric Adapter (EFA). Kinerja jaringan yang tidak memadai dapat menghambat transfer data, memperlambat tugas pembelajaran mesin seperti pelatihan multi-GPU terdistribusi. Perhatikan bahwa beban kerja inferensi biasanya tidak memiliki komunikasi antar simpul yang tinggi.
Contoh
Misalnya, menggunakan Karpenter:
apiVersion: v1 kind: Pod metadata: name: ml-workload spec: nodeSelector: karpenter.k8s.aws/instance-network-bandwidth: "100000" # 100 Gbps in Mbps node.kubernetes.io/instance-type: p5.48xlarge # EFA-enabled instance containers: - name: training-job image: `763104351884.dkr.ecr.us-west-2.amazonaws.com/pytorch-inference:2.6.0-gpu-py312-cu124-ubuntu22.04-ec2-v1.6` resources: limits: vpc.amazonaws.com/efa: 1 # Requires EFA device plugin
Pastikan alat seperti MPI dan NCCL dipasang di gambar kontainer Anda untuk memanfaatkan EFA untuk pekerjaan pelatihan.
Tingkatkan jumlah alamat IP yang tersedia untuk mengaktifkan waktu peluncuran pod yang lebih cepat
Di EKS, setiap pod membutuhkan alamat IP dari blok CIDR VPC. Saat klaster Anda menskalakan dengan lebih banyak node dan pod, Anda berisiko kehabisan alamat IP atau kinerja yang lebih lambat, tetapi mengaktifkan delegasi awalan dapat mengurangi masalah ini dengan mengalokasikan rentang IP terlebih dahulu dan mengurangi panggilan EC2 API, menghasilkan waktu peluncuran pod yang lebih cepat dan peningkatan skalabilitas.
Mengaktifkan delegasi awalan setelah membuat cluster Anda memungkinkan VPC Container Network Interface (CNI) untuk menetapkan awalan IP (/28, masing-masing memberikan 16 alamat IP) ke antarmuka jaringan pada instance. EC2 Ini berarti setiap node dapat mendukung lebih banyak pod, mengurangi risiko kekurangan IP. Misalnya, pada sebuah c5.4xlarge
instance, Anda dapat mendukung hingga 110 pod dengan delegasi awalan.
Sementara delegasi awalan sangat penting untuk mengoptimalkan penggunaan IP di lingkungan dengan banyak pod kecil, AI/ML beban kerja sering menggunakan pod yang lebih sedikit dan lebih besar (misalnya, satu pod per GPU). Mengaktifkan delegasi awalan memungkinkan VPC CNI untuk mengalokasikan awalan terlebih dahulu untuk startup pod yang lebih cepat dengan mempertahankan kolam yang hangat. Ini berarti alamat IP sudah tersedia, mengurangi waktu yang dibutuhkan untuk inisialisasi pod dibandingkan dengan alokasi sesuai permintaan dalam mode non-awalan. Dalam kasus seperti itu, penghematan IP dari mengaktifkan delegasi awalan menawarkan manfaat kinerja untuk beban kerja. AI/ML Dengan mengurangi jumlah panggilan EC2 API yang diperlukan untuk konfigurasi alamat IP dan pra-alokasi rentang IP, menggunakan delegasi awalan memungkinkan waktu peluncuran pod yang lebih cepat, yang sangat bermanfaat untuk penskalaan beban kerja dengan cepat. AI/ML
Untuk mengaktifkan delegasi awalan:
kubectl set env daemonset/aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
Pastikan perencanaan yang tepat untuk subnet VPC untuk menghindari kelelahan alamat IP, terutama dalam penerapan besar, dan kelola blok CIDR untuk menghindari tumpang tindih. VPCs Untuk mempelajari lebih lanjut, lihat Mengoptimalkan Pemanfaatan Alamat IP dan Menetapkan lebih banyak alamat IP ke node Amazon EKS dengan awalan.