이 문서에서는 Vertex AI 신경망 아키텍처 검색 클라이언트 라이브러리를 설명합니다.
신경망 아키텍처 검색 클라이언트(vertex_nas_cli.py
)는 작업 관리 API를 래핑하고 신경망 아키텍처 검색 개발을 지원합니다. 다음 하위 명령어를 제공합니다.
vertex_nas_cli.py build
: Neural Architecture Search 컨테이너를 빌드하고 Artifact Registry로 푸시합니다.vertex_nas_cli.py run_latency_calculator_local
: 신경망 아키텍처 검색 stage-1 검색 작업의 지연 시간 계산기를 로컬로 실행합니다.vertex_nas_cli.py search_in_local
: 무작위로 샘플링된 아키텍처를 사용하여 머신에서 Neural Architecture Search 작업을 로컬로 실행합니다.vertex_nas_cli.py search
: Google Cloud에서 stage-1 검색 및 stage-2 학습을 통해 Neural Architecture Search 작업을 실행합니다.vertex_nas_cli.py search_resume
: Google Cloud에서 이전 신경망 아키텍처 검색 작업을 다시 시작합니다.vertex_nas_cli.py list_trials
: 특정 작업의 신경망 아키텍처 검색 시도를 나열합니다.vertex_nas_cli.py train
: Google Cloud에서 검색된 모델 아키텍처(무료 체험판)를 학습시킵니다.
빌드
vertex_nas_cli.py build
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py build -h
--trainer_docker_id
가 지정된 경우 --trainer_docker_file
플래그로 지정된 docker 파일에서 트레이너 docker를 빌드합니다. Docker는 전체 URI gcr.io/project_id/trainer_docker_id
로 빌드되고 Artifact Registry에 푸시됩니다.
--latency_calculator_docker_id
가 지정되었으면 --latency_calculator_docker_file
플래그로 지정된 docker 파일로부터 지연 시간 계산기 docker를 빌드합니다. Docker는 전체 URI gcr.io/project_id/latency_calculator_docker_id
로 빌드되고 Artifact Registry로 푸시됩니다.
Dockerfile로 빌드하는 대신 bazel
과 같은 다른 도구를 사용하여 트레이너를 빌드하고 이를 신경망 아키텍처 검색 서비스에 사용할 수도 있습니다.
로컬에서 지연 시간 계산기 실행
vertex_nas_cli.py run_latency_calculator_local
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py run_latency_calculator_local -h
로컬에서 검색
vertex_nas_cli.py search_in_local
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py search_in_local -h
vertex_nas_cli.py
가 사용할 무작위 모델 아키텍처를 내부적으로 생성할 수 있도록 --search_space_module
또는 --prebuilt_search_space
를 지정해야 합니다.
이 명령어는 무작위로 샘플링된 아키텍처를 사용해서 로컬 머신에서 docker gcr.io/project_id/trainer_docker_id:latest
를 실행합니다.
--search_docker_flags
다음 컨테이너에 사용할 플래그를 전달할 수 있습니다. 예를 들어 --training_data_path
및 validation_data_path
를 컨테이너로 전달할 수 있습니다.
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
검색
vertex_nas_cli.py search
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py search -h
vertex_nas_cli.py
가 내부적으로 search_space_spec
을 만들 수 있도록 --search_space_module
또는 --prebuilt_search_space
를 지정해야 합니다.
Neural Architecture Search 작업을 실행하는 머신은 --accelerator_type
으로 지정할 수 있습니다.
자세한 내용을 보거나 더 많은 GPU 사용과 같은 요구사항에 맞게 맞춤설정하려면 add_machine_configurations
를 참조하세요.
프리픽스가 train_
인 플래그를 사용하여 stage-2 학습 관련 매개변수를 설정합니다.
검색 재개
vertex_nas_cli.py search_resume
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py search_resume -h
previous_nas_job_id
및 previous_latency_job_id
(선택사항)를 전달하여 이전에 실행한 검색 작업을 재개할 수 있습니다.
previous_latency_job_id
플래그는 이전 검색 작업에 Google Cloud 지연 시간 작업이 포함된 경우에만 필요합니다. Google Cloud 지연 시간 작업 대신 온프레미스 지연 시간 계산기를 사용한 경우 온프레미스 지연 시간 계산기 작업을 별도로 다시 실행해야 합니다.
이전 검색 작업 자체가 재개 작업이 아니어야 합니다. 검색 재개 작업의 리전은 이전 검색 작업과 동일해야 합니다.
search_resume
명령어 예시는 다음과 같습니다.
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
시도 나열
vertex_nas_cli.py list_trials
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py list_trials -h
기차
vertex_nas_cli.py train
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py train -h
프록시 태스크 분포 측정
vertex_nas_cli.py measure_proxy_task_variance
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py measure_proxy_task_variance -h
프록시 태스크 모델 선택
vertex_nas_cli.py select_proxy_task_models
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py select_proxy_task_models -h
프록시 태스크 검색
vertex_nas_cli.py search_proxy_task
에서 지원하는 인수 목록을 보려면 다음 명령어를 실행하세요.
python3 vertex_nas_cli.py search_proxy_task -h