All Products
Search
Document Center

Elastic Container Instance:Jalankan tugas TensorFlow dengan ECI

Last Updated:Jun 21, 2026

Anda dapat mengontainerisasi lingkungan perangkat lunak yang diperlukan untuk pekerjaan pelatihan AI dan menjalankannya di ECI. Pendekatan ini menyederhanakan penyiapan lingkungan serta memungkinkan Anda hanya membayar berdasarkan waktu proses, sehingga mengurangi biaya dan meningkatkan efisiensi. Topik ini menggunakan contoh pekerjaan pelatihan TensorFlow berbasis GPU dari GitHub untuk menunjukkan cara menjalankan pekerjaan pelatihan pada kluster ACK Serverless dengan menggunakan ECI.

Latar Belakang

Kecerdasan buatan dan pembelajaran mesin kini banyak digunakan, menghasilkan berbagai model pelatihan dan peningkatan jumlah pekerjaan pelatihan berbasis cloud. Namun, setelah bermigrasi ke cloud, Anda mungkin menghadapi tantangan berikut saat menjalankan pekerjaan pelatihan:

  • Anda harus membeli instans GPU dan menginstal driver GPU. Bahkan setelah pekerjaan pelatihan dikontainerisasi, Anda tetap perlu menginstal hook runtime GPU.

  • Untuk menghemat biaya, Anda biasanya melepas sumber daya setelah pekerjaan selesai. Namun, saat menjalankan pekerjaan berikutnya, Anda harus membuat ulang instans dan mengonfigurasi ulang lingkungan. Jika node komputasi memiliki sumber daya yang tidak mencukupi, Anda perlu melakukan penskalaan manual, lalu membuat ulang dan mengonfigurasi ulang.

Untuk mengatasi masalah tersebut, kami merekomendasikan penggunaan kluster ACK Serverless dan ECI untuk menjalankan pekerjaan pelatihan Anda. Solusi ini memberikan manfaat berikut:

  • Pembayaran pay-as-you-go dan bebas operasional & pemeliharaan (O&M-free).

  • Konfigurasi sekali, gunakan berulang kali tanpa batas.

  • Fitur cache gambar mempercepat pembuatan instans sehingga pekerjaan pelatihan dapat dimulai lebih cepat.

  • Data dipisahkan dari model pelatihan dan dapat disimpan secara persisten.

Prasyarat

  1. Siapkan data pelatihan dan gambar kontainer.

    • Data pelatihan: Topik ini menggunakan contoh pekerjaan pelatihan TensorFlow dari GitHub. Untuk informasi selengkapnya, lihat Pekerjaan pelatihan TensorFlow.

    • Gambar kontainer: ECI menyediakan contoh gambar yang telah diunggah ke Alibaba Cloud Container Registry (ACR). Anda dapat langsung menggunakan gambar tersebut atau menyesuaikannya sesuai kebutuhan.

      • Alamat internal: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/tensorflow:1.0

      • Alamat publik: registry.cn-hangzhou.aliyuncs.com/eci_open/tensorflow:1.0

  2. Buat kluster ACK Serverless.

    Buat kluster ACK Serverless di Konsol Container Service for Kubernetes. Untuk informasi selengkapnya, lihat Buat kluster ACK Serverless.

    Penting

    Jika Anda perlu menarik gambar dari internet atau pekerjaan pelatihan Anda memerlukan akses internet, konfigurasikan NAT Gateway.

    Anda dapat menggunakan kubectl untuk mengelola dan mengakses kluster ACK Serverless sebagai berikut:

  3. Buat sistem file NAS dan tambahkan titik pemasangan.

    Buat sistem file dan tambahkan titik pemasangan di Konsol File Storage NAS. Sistem file tersebut harus berada dalam VPC yang sama dengan kluster ACK Serverless. Untuk informasi selengkapnya, lihat Kelola sistem file dan Kelola titik pemasangan.

Langkah-langkah

Buat cache gambar

Fitur cache gambar diintegrasikan ke dalam kluster ACK Serverless sebagai CRD Kubernetes untuk mempercepat proses menarik gambar kontainer.

  1. Buat file YAML untuk cache gambar.

    Kode berikut menyediakan contoh file imagecache.yaml:

    Catatan

    Jika kluster Anda berada di China (Hangzhou), gunakan alamat gambar internal. Jika tidak, gunakan alamat publik.

    apiVersion: eci.alibabacloud.com/v1
    kind: ImageCache
    metadata:
      name: tensorflow
    spec:
      images:
      - registry.cn-hangzhou.aliyuncs.com/eci_open/tensorflow:1.0
  2. Buat cache gambar.

    kubectl create -f imagecache.yaml

    Pembuatan cache gambar melibatkan proses menarik gambar, yang mungkin memerlukan waktu tergantung pada ukuran gambar dan kondisi jaringan. Anda dapat menjalankan perintah berikut untuk memeriksa progres pembuatan cache gambar:

    kubectl get imagecache tensorflow

    Cache gambar berhasil dibuat ketika output seperti berikut dikembalikan.

    :~$ kubectl get imagecache tensorflow
    NAME          AGE   CACHEID                    PHASE   PROGRESS
    tensorflow    13m   imc-2zei4b7k43lxxxbvoz     Ready   100%

Buat pekerjaan pelatihan

  1. Buat PV dan PVC untuk sistem file NAS.

    1. Siapkan file YAML.

      Kode berikut menyediakan contoh file nas.yaml:

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: pv-nas
        labels:
          alicloud-pvname: pv-nas
      spec:
        capacity:
          storage: 100Gi
        accessModes:
          - ReadWriteMany
        csi:
          driver: nasplugin.csi.alibabacloud.com
          volumeHandle: pv-nas
          volumeAttributes:
            server: 15e1d4****-gt***.cn-beijing.nas.aliyuncs.com    # Titik pemasangan sistem file NAS.
            path: /
        mountOptions:
          - nolock,tcp,noresvport
          - vers=3
      ---
      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: pvc-nas
      spec:
        accessModes:
          - ReadWriteMany
        resources:
          requests:
            storage: 100Gi
        selector:
          matchLabels:
            alicloud-pvname: pv-nas
    2. Buat PV dan PVC.

      kubectl create -f nas.yaml
  2. Buat Pod ECI untuk menjalankan pekerjaan pelatihan.

    1. Siapkan file YAML.

      Kode berikut menyediakan contoh file tensorflow.yaml:

      apiVersion: v1
      kind: Pod
      metadata:
        name: tensorflow
        labels:
          app: tensorflow
          alibabacloud.com/eci: "true"
        annotations:
          k8s.aliyun.com/eci-use-specs: "ecs.gn6i-c4g1.xlarge"   # Tentukan tipe instans GPU.
          k8s.aliyun.com/eci-auto-imc: "true"                    # Aktifkan pencocokan cache gambar otomatis.
      spec:
        restartPolicy: OnFailure
        containers:
          - name: tensorflow
            image: registry.cn-hangzhou.aliyuncs.com/eci_open/tensorflow:1.0  # Gunakan alamat gambar yang sesuai dengan cache gambar.
            command:
              - python
            args:
              - /home/classify_image/classify_image.py      # Skrip pelatihan yang dijalankan setelah kontainer dimulai.
            resources:
              limits:
                nvidia.com/gpu: "1"   # Jumlah GPU yang dibutuhkan oleh kontainer.
            volumeMounts:             # Pasang sistem file NAS untuk menyimpan hasil pelatihan secara persisten.
              - name: pvc-nas
                mountPath: /tmp/classify_image_model
        volumes:
          - name: pvc-nas
            persistentVolumeClaim:
              claimName: pvc-nas
    2. Buat Pod.

      kubectl create -f tensorflow.yaml
  3. Periksa status pekerjaan pelatihan.

    kubectl get pod

    Saat status Pod berubah menjadi 'Completed', pekerjaan pelatihan telah selesai.

    kubectl get pod
    NAME            READY   STATUS      RESTARTS   AGE
    tensorflow      0/1     Completed   0          118s
    Catatan

    Anda juga dapat melihat detail Pod dengan menjalankan kubectl describe pod <pod name> atau melihat log dengan menjalankan kubectl logs <pod name>.

Lihat hasil

Anda dapat melihat hasil pekerjaan pelatihan.

  • Di Konsol File Storage NAS, Anda dapat melihat bahwa hasil pelatihan disimpan pada sistem file NAS. Setelah Anda memasang ulang sistem file tersebut, Anda dapat melihat data hasil di jalur yang sesuai.

    Pada daftar sistem file, kolom Used Capacity menampilkan kapasitas penyimpanan yang digunakan, misalnya 45,71 MiB, dan status sistem file adalah Running.

  • Di Konsol Elastic Container Instance, Anda dapat melihat instans ECI yang sesuai dengan Pod tersebut.

    Status 'Succeeded' menunjukkan bahwa kontainer dalam instans telah berhenti berjalan. Sistem kemudian akan mereklaim sumber daya komputasi dasar dan menghentikan penagihan untuk Pod tersebut.

Topik terkait

Topik ini menggunakan fitur cache gambar untuk mempercepat proses menarik gambar dan sistem file NAS untuk penyimpanan persisten. Untuk informasi selengkapnya, lihat topik-topik berikut: