Men-deploy dan menggunakan container Deep Learning (DL)

Container Deep Learning (DL) adalah container Docker dengan framework, library, dan alat data science yang telah diinstal sebelumnya. Pengguna, seperti ilmuwan data, memilih satu penampung DL dan men-deploy-nya. Container yang di-deploy memiliki lingkungan yang konsisten dan dioptimalkan untuk performa yang membantu pembuatan prototipe dan penerapan alur kerja dengan cepat.

Men-deploy container DL

Sebelum menggunakan container DL, Anda harus memilih dan men-deploy image container yang menjalankan tugas Machine Learning (ML) Anda. Framework, library, dan alat yang telah diinstal sebelumnya menyediakan container DL.

Men-deploy container DL menggunakan file kubeconfig

Perangkat Google Distributed Cloud (GDC) dengan air gap menyediakan file kubeconfig berikut yang men-deploy container DL Anda:

  • CLUSTER_KUBECONFIG: file kubeconfig untuk cluster Kubernetes bare metal. GDC menyediakan satu cluster untuk semua workload.

Untuk mengetahui informasi selengkapnya tentang login ke UI dan alat kubectl, lihat Login. Untuk mengambil file CLUSTER_KUBECONFIG file, lihat Mendapatkan file kubeconfig.

Mendownload skrip dan set data Machine Learning (ML) contoh

Download skrip ML contoh, beginner.ipynb, dan set data, mnist.npz, untuk menjalankan tutorial memulai cepat ML. Tutorial ini menunjukkan cara men-deploy dan menggunakan container DL untuk menjalankan eksperimen ML.

mkdir -p /tmp/datasets
cd /tmp/datasets

wget --no-check-certificate
https://GDC_APPLIANCE_URL/.well-known/static/dl-container-tutorial/beginner.ipynb

wget --no-check-certificate
https://GDC_APPLIANCE_URL/.well-known/static/dl-container-tutorial/mnist.npz

Ganti GDC_APPLIANCE_URL dengan nama domain yang digunakan untuk mengakses GDC. Saat membuka URL apa pun untuk pertama kalinya, GDC akan mengalihkan Anda ke halaman login penyedia identitas Anda.

Cari alamat IP Harbor registry

Sebelum menggunakan skrip dan set data contoh, Anda harus menemukan lokasi image container DL di registry Harbor. Registry Harbor adalah layanan yang menyimpan image container pribadi.

Baris pertama kode contoh menetapkan jalur variabel lingkungan KUBECONFIG, yang mendapatkan alamat registry Harbor. Alamat registri Harbor memberikan akses ke daftar image container yang tersedia.

Di baris kedua kode contoh, alat kubectl menggunakan variabel lingkungan KUBECONFIG.

Di baris ketiga kode contoh, perintah REGISTRY_URL#https:// menghapus awalan https:// dari URL dan menyimpan domain registry Harbor dalam variabel lingkungan REGISTRY_IP.

Di baris terakhir contoh kode, alat kubectl mengambil sandi untuk pengguna admin.

export KUBECONFIG=CLUSTER_KUBECONFIG

REGISTRY_URL=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
REGISTRY_IP=${REGISTRY_URL#https://}
ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin -o jsonpath="{.data.secret}" | base64 -d)

Pilih image container

Anda harus memilih image container yang akan di-deploy sebelum dapat menjalankan tugas ML. Gunakan Harbor registry domain dan jalur dalam tabel berikut dari Harbor registry untuk melihat daftar image container yang tersedia:

Framework Prosesor Nama Image Container
Dasar GPU base-cu113
Dasar CPU base-cpu
TensorFlow Enterprise 2.x GPU tf2-gpu
PyTorch GPU pytorch-gpu

Tabel ini disusun berdasarkan framework dan prosesor. Untuk memilih image penampung DL yang dapat memproses eksperimen ML Anda, ikuti langkah-langkah berikut:

  1. Identifikasi framework, yang berisi alat ML.
  2. Pilih pemroses. Anda memilih prosesor berdasarkan jenis tugas ML yang akan dijalankan dan intensitas komputasi tugas tersebut. Misalnya, pilih salah satu prosesor GPU saat Anda memiliki tugas ML yang intensif secara komputasi, dan alokasikan resource GPU ke penampung DL.

Membuat dan men-deploy container DL ke cluster Kubernetes

Untuk membuat instance GDC, tentukan jalur ke file kubeconfig cluster Kubernetes bare metal. Variabel lingkungan KUBECONFIG menentukan cluster tempat alat kubectl men-deploy container DL. Perintah kubectl apply men-deploy instance container DL.

Ganti CONTAINER_IMAGE_NAME dengan image yang dipilih dari daftar image di Choose a container image, dan pastikan untuk memberikan tag.

export KUBECONFIG=CLUSTER_KUBECONFIG

kubectl apply -f - <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: dl-container-pod
  namespace: NAMESPACE
spec:
  containers:
  - image: gcr.io/private-cloud-staging/notebooks/deeplearning-platform-release/CONTAINER_IMAGE_NAME:CONTAINER_IMAGE_TAG
    command: ["tail", "-f", "/dev/null"]
    name: training
EOF

Menggunakan container DL yang di-deploy

Topik berikut memberikan contoh cara menggunakan image container DL untuk melatih dan menggunakan model guna membuat prediksi.

Menyalin file tutorial ke pod container DL

Salin file tutorial memulai cepat ke pod penampung DL Anda. beginner.ipynb berisi langkah-langkah untuk melatih dan menggunakan model guna membuat prediksi. Tutorial pelatihan ML menggunakan file set data mnist.npz untuk melatih model.

cd /tmp/datasets

kubectl cp beginner.ipynb dl-container-pod:/tmp
kubectl cp mnist.npz dl-container-pod:/tmp

Menjalankan tutorial mulai cepat ML

Jalankan tutorial dengan perintah berikut. Gunakan baris pertama untuk memasukkan pod penampung. Setelah Anda berada di pod penampung, ubah direktori ke tmp, lalu jalankan alat papermill yang dikemas dalam penampung DL. Alat papermill menjalankan tutorial untuk membuat notebook yang menghasilkan prediksi.

  1. Masukkan terminal interaktif ke dalam pod DL:

    kubectl exec -it dl-container-pod -- /bin/bash
    
  2. Dalam konteks pod DL, jalankan perintah berikut:

    cd tmp
    papermill beginner.ipynb result.ipynb
    

    Deployment akan menghasilkan file result.ipynb di direktori /tmp.

  3. Lihat konten dan output prediksi dari model ML yang dihasilkan:

    cat result.ipynb
    

Opsional: Hapus pod container DL

Setelah Anda selesai menjalankan eksperimen di pod penampung DL, hapus pod sebagai praktik terbaik:

kubectl delete pod dl-container-pod