Library klien Vertex AI Neural Architecture Search

Dokumen ini menjelaskan library klien Vertex AI Neural Architecture Search.

Klien Neural Architecture Search (di vertex_nas_cli.py) menggabungkan API pengelolaan tugas dan memfasilitasi pengembangan Neural Architecture Search. API ini menyediakan subperintah berikut:

  • vertex_nas_cli.py build: mem-build container Neural Architecture Search dan mengirim ke Artifact Registry.
  • vertex_nas_cli.py run_latency_calculator_local: menjalankan kalkulator latensi secara lokal untuk tugas penelusuran tahap 1 Neural Architecture Search.
  • vertex_nas_cli.py search_in_local: menjalankan tugas Neural Architecture Search secara lokal di komputer Anda dengan arsitektur dengan sampel acak.
  • vertex_nas_cli.py search: menjalankan tugas Neural Architecture Search dengan penelusuran tahap 1 dan pelatihan tahap 2 di Google Cloud.
  • vertex_nas_cli.py search_resume: melanjutkan tugas Neural Architecture Search sebelumnya di Google Cloud.
  • vertex_nas_cli.py list_trials: mencantumkan uji coba Neural Architecture Search untuk tugas tertentu.
  • vertex_nas_cli.py train: melatih arsitektur model yang ditelusuri (uji coba) di Google Cloud.

Build

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py build:

python3 vertex_nas_cli.py build -h

Jika --trainer_docker_id ditentukan, metode ini akan membangun docker pelatih dari file Docker yang ditentukan oleh flag --trainer_docker_file. Docker dibuat dengan URI lengkap gcr.io/project_id/trainer_docker_id dan dikirim ke Artifact Registry.

Jika --latency_calculator_docker_id ditentukan, metode ini akan membangun Docker kalkulator latensi dari file Docker yang ditentukan oleh flag --latency_calculator_docker_file. Docker dibuat dengan URI lengkap gcr.io/project_id/latency_calculator_docker_id dan dikirim ke Artifact Registry.

Selain mem-build dengan Dockerfile, Anda juga dapat menggunakan alat lain seperti bazel untuk mem-build pelatih, dan menggunakannya dengan layanan Neural Architecture Search.

Jalankan kalkulator latensi secara lokal

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py run_latency_calculator_local:

python3 vertex_nas_cli.py run_latency_calculator_local -h

Telusuri secara lokal

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py search_in_local:

python3 vertex_nas_cli.py search_in_local -h

Anda harus menentukan --search_space_module atau --prebuilt_search_space sehingga vertex_nas_cli.py secara internal menghasilkan arsitektur model acak yang akan digunakan.

Perintah ini akan menjalankan gcr.io/project_id/trainer_docker_id:latest docker di komputer lokal Anda dengan arsitektur dengan sampel acak.

Anda dapat meneruskan flag yang akan digunakan oleh container setelah --search_docker_flags. Misalnya, Anda dapat meneruskan --training_data_path dan validation_data_path ke container:

python3 vertex_nas_cli.py search_in_local \
--project_id=${PROJECT_ID} \
--trainer_docker_id=${TRAINER_DOCKER_ID} \
--prebuilt_search_space=spinenet \
--use_prebuilt_trainer=True \
--local_output_dir=${JOB_DIR} \
--search_docker_flags \
training_data_path=/test_data/test-coco.tfrecord \
validation_data_path=/test_data/test-coco.tfrecord \
model=retinanet

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py search:

python3 vertex_nas_cli.py search -h

Anda harus menentukan --search_space_module atau --prebuilt_search_space sehingga vertex_nas_cli.py secara internal membuat search_space_spec.

Mesin untuk menjalankan tugas Neural Architecture Search dapat ditentukan oleh --accelerator_type. Untuk mengetahui informasi selengkapnya atau menyesuaikan kebutuhan Anda sendiri, seperti menggunakan lebih banyak GPU, lihat add_machine_configurations.

Gunakan flag dengan awalan train_ untuk menetapkan parameter terkait pelatihan tahap 2.

Lanjutkan Penelusuran

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py search_resume:

python3 vertex_nas_cli.py search_resume -h

Anda dapat melanjutkan tugas penelusuran yang dijalankan sebelumnya dengan meneruskan previous_nas_job_id dan previous_latency_job_id secara opsional. Flag previous_latency_job_id hanya diperlukan jika tugas penelusuran Anda sebelumnya melibatkan tugas latensi Google Cloud. Jika menggunakan kalkulator latensi lokal, bukan tugas latensi Google Cloud, Anda harus menjalankan lagi tugas kalkulator latensi lokal tersebut secara terpisah. Tugas pencarian sebelumnya tidak boleh berupa pekerjaan melanjutkan. Region untuk tugas melanjutkan penelusuran harus sama dengan tugas penelusuran sebelumnya. Contoh perintah search_resume terlihat seperti berikut:

python3 vertex_nas_cli.py search_resume \
  --project_id=${PROJECT} \
  --region=${REGION} \
  --job_name="${JOB_NAME}" \
  --previous_nas_job_id=${previous_nas_job_id} \
  --previous_latency_job_id=${previous_latency_job_id} \
  --root_output_dir=${GCS_ROOT_DIR} \
  --max_nas_trial=2 \
  --max_parallel_nas_trial=2 \
  --max_failed_nas_trial=2

Mencantumkan uji coba

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py list_trials:

python3 vertex_nas_cli.py list_trials -h

Latih

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py train:

python3 vertex_nas_cli.py train -h

Pengukuran varians tugas proxy

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py measure_proxy_task_variance:

python3 vertex_nas_cli.py measure_proxy_task_variance -h

Pemilihan model tugas proxy

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py select_proxy_task_models:

python3 vertex_nas_cli.py select_proxy_task_models -h

Jalankan perintah berikut untuk melihat daftar argumen yang didukung oleh vertex_nas_cli.py search_proxy_task:

python3 vertex_nas_cli.py search_proxy_task -h