이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
Launch FAQ
- 1: Are there best practices for using Launch effectively?
- 2: Can I specify a Dockerfile and let W&B build a Docker image for me?
- 3: Can Launch automatically provision (and spin down) compute resources for me in the target environment?
- 4: Can you specify secrets for jobs/automations? For instance, an API key which you do not wish to be directly visible to users?
- 5: Does Launch support parallelization? How can I limit the resources consumed by a job?
- 6: How can admins restrict which users have modify access?
- 7: How do I control who can push to a queue?
- 8: How do I fix a "permission denied" error in Launch?
- 9: How do I make W&B Launch work with Tensorflow on GPU?
- 10: How does W&B Launch build images?
- 11: I do not like clicking- can I use Launch without going through the UI?
- 12: I do not want W&B to build a container for me, can I still use Launch?
- 13: Is `wandb launch -d` or `wandb job create image` uploading a whole docker artifact and not pulling from a registry?
- 14: What permissions does the agent require in Kubernetes?
- 15: What requirements does the accelerator base image have?
- 16: When multiple jobs in a Docker queue download the same artifact, is any caching used, or is it re-downloaded every run?
1 - Are there best practices for using Launch effectively?
-
쉬운 설정을 위해 에이전트 를 시작하기 전에 먼저 대기열을 생성하세요. 이렇게 하지 않으면 대기열이 추가될 때까지 에이전트 가 작동하지 않게 하는 오류가 발생합니다.
-
에이전트 를 시작하기 위해 W&B 서비스 계정을 생성하여 개별 user 계정에 연결되지 않도록 합니다.
-
wandb.config
를 사용하여 하이퍼파라미터 를 관리하고 작업 재실행 중에 덮어쓸 수 있습니다. argparse 사용에 대한 자세한 내용은 이 가이드 를 참조하세요.
2 - Can I specify a Dockerfile and let W&B build a Docker image for me?
이 기능은 요구 사항은 안정적이지만 코드 베이스가 자주 변경되는 프로젝트에 적합합니다.
Dockerfile을 구성한 후에는 다음 세 가지 방법 중 하나로 W&B에 지정합니다.
- Dockerfile.wandb 사용
- W&B CLI 사용
- W&B App 사용
W&B run 의 진입점과 동일한 디렉토리에 Dockerfile.wandb
파일을 포함합니다. W&B는 내장된 Dockerfile 대신 이 파일을 사용합니다.
wandb launch
코맨드와 함께 --dockerfile
플래그를 사용하여 작업을 대기열에 추가합니다.
wandb launch --dockerfile path/to/Dockerfile
W&B App에서 대기열에 작업을 추가할 때 Overrides 섹션에서 Dockerfile 경로를 제공합니다. "dockerfile"
을 키 로, Dockerfile의 경로를 값 으로 하여 키-값 쌍으로 입력합니다.
다음 JSON은 로컬 디렉토리에 Dockerfile을 포함하는 방법을 보여줍니다.
{
"args": [],
"run_config": {
"lr": 0,
"batch_size": 0,
"epochs": 0
},
"entrypoint": [],
"dockerfile": "./Dockerfile"
}
3 - Can Launch automatically provision (and spin down) compute resources for me in the target environment?
이 프로세스는 환경에 따라 달라집니다. 리소스는 Amazon SageMaker 및 Vertex에서 프로비저닝됩니다. Kubernetes에서는 autoscaler가 수요에 따라 자동으로 리소스를 조정합니다. W&B의 솔루션 설계자는 재시도, autoscaling, 스팟 인스턴스 노드 풀 사용을 가능하게 하도록 Kubernetes 인프라를 구성하는 데 도움을 줍니다. 지원이 필요하면 support@wandb.com으로 문의하거나 공유된 Slack 채널을 이용하세요.
4 - Can you specify secrets for jobs/automations? For instance, an API key which you do not wish to be directly visible to users?
예. 다음 단계를 따르세요:
-
다음 코맨드를 사용하여 run에 지정된 네임스페이스에 Kubernetes secret을 생성합니다:
kubectl create secret -n <namespace> generic <secret_name> <secret_value>
-
secret을 생성한 후, run이 시작될 때 secret을 삽입하도록 큐를 구성합니다. 클러스터 관리자만 secret을 볼 수 있으며, 최종 사용자는 볼 수 없습니다.
5 - Does Launch support parallelization? How can I limit the resources consumed by a job?
Launch는 여러 GPU 및 노드에서 작업 확장을 지원합니다. 자세한 내용은 이 가이드를 참조하세요.
각 Launch 에이전트는 실행할 수 있는 최대 동시 작업 수를 결정하는 max_jobs
파라미터로 구성됩니다. 여러 에이전트가 적절한 실행 인프라에 연결되어 있는 한 단일 대기열을 가리킬 수 있습니다.
리소스 설정에서 대기열 또는 작업 Run 수준에서 CPU, GPU, 메모리 및 기타 리소스에 대한 제한을 설정할 수 있습니다. Kubernetes에서 리소스 제한을 사용하여 대기열을 설정하는 방법에 대한 자세한 내용은 이 가이드를 참조하세요.
Sweeps의 경우 다음 블록을 대기열 설정에 포함하여 동시 Runs 수를 제한합니다.
scheduler:
num_workers: 4
6 - How can admins restrict which users have modify access?
대기열 구성 템플릿을 통해 팀 관리자가 아닌 사용자에 대해 특정 대기열 필드에 대한 엑세스를 제어합니다. 팀 관리자는 관리자가 아닌 사용자가 볼 수 있는 필드를 정의하고 편집 제한을 설정합니다. 팀 관리자만 대기열을 생성하거나 편집할 수 있습니다.
7 - How do I control who can push to a queue?
대기열은 특정 사용자 팀에 해당합니다. 대기열 생성 시 소유 엔티티를 정의하세요. 엑세스를 제한하려면 팀 멤버십을 수정하세요.
8 - How do I fix a "permission denied" error in Launch?
Launch Error: Permission denied
오류 메시지가 발생하면 원하는 프로젝트에 로그할 권한이 부족하다는 의미입니다. 가능한 원인은 다음과 같습니다.
- 이 머신에 로그인하지 않았습니다. 커맨드라인에서
wandb login
을 실행하세요. - 지정된 엔티티가 존재하지 않습니다. 엔티티는 사용자 이름 또는 기존 팀 이름이어야 합니다. 필요한 경우 Subscriptions page에서 팀을 만드세요.
- 프로젝트 권한이 없습니다. 프로젝트 생성자에게 프로젝트에 run을 로그할 수 있도록 개인 정보 보호 설정을 Open으로 변경하도록 요청하세요.
9 - How do I make W&B Launch work with Tensorflow on GPU?
GPU를 사용하는 TensorFlow 작업의 경우, 컨테이너 빌드를 위한 사용자 정의 기본 이미지를 지정하세요. 이렇게 하면 run 동안 적절한 GPU 활용이 보장됩니다. 리소스 설정에서 builder.accelerator.base_image
키 아래에 이미지 태그를 추가합니다. 예시:
{
"gpus": "all",
"builder": {
"accelerator": {
"base_image": "tensorflow/tensorflow:latest-gpu"
}
}
}
W&B 0.15.6 이전 버전에서는 base_image
의 상위 키로 accelerator
대신 cuda
를 사용하세요.
10 - How does W&B Launch build images?
이미지를 빌드하는 단계는 job 소스와 리소스 설정에 지정된 가속기 기본 이미지에 따라 달라집니다.
대기열을 설정하거나 job을 제출할 때 대기열 또는 job 리소스 설정에 기본 가속기 이미지를 포함하세요.
{
"builder": {
"accelerator": {
"base_image": "image-name"
}
}
}
빌드 프로세스에는 job 유형 및 제공된 가속기 기본 이미지를 기반으로 다음 작업이 포함됩니다.
| | apt를 사용하여 Python 설치 | Python 패키지 설치 | 사용자 및 작업 디렉터리 생성 | 이미지를 코드에 복사 | 진입점 설정 | |
11 - I do not like clicking- can I use Launch without going through the UI?
예. 표준 wandb
CLI에는 작업을 실행하는 launch
하위 코맨드가 포함되어 있습니다. 자세한 내용은 다음을 실행하세요.
wandb launch --help
12 - I do not want W&B to build a container for me, can I still use Launch?
미리 빌드된 Docker 이미지를 시작하려면 다음 코맨드를 실행하세요. <>
의 자리 표시자를 특정 정보로 바꾸세요.
wandb launch -d <docker-image-uri> -q <queue-name> -E <entrypoint>
이 코맨드는 job을 생성하고 run을 시작합니다.
이미지에서 job을 생성하려면 다음 코맨드를 사용하세요.
wandb job create image <image-name> -p <project> -e <entity>
13 - Is `wandb launch -d` or `wandb job create image` uploading a whole docker artifact and not pulling from a registry?
아니요, wandb launch -d
코맨드는 이미지를 레지스트리에 업로드하지 않습니다. 이미지를 레지스트리에 별도로 업로드하세요. 다음 단계를 따르세요.
- 이미지를 빌드합니다.
- 이미지를 레지스트리에 푸시합니다.
워크플로우는 다음과 같습니다.
docker build -t <repo-url>:<tag> .
docker push <repo-url>:<tag>
wandb launch -d <repo-url>:<tag>
그러면 Launch 에이전트가 지정된 컨테이너를 가리키는 작업을 시작합니다. 컨테이너 레지스트리에서 이미지를 가져오기 위해 에이전트 엑세스를 구성하는 방법에 대한 예는 고급 에이전트 설정을 참조하세요.
Kubernetes의 경우 Kubernetes 클러스터 포드가 이미지가 푸시되는 레지스트리에 엑세스할 수 있는지 확인하세요.
14 - What permissions does the agent require in Kubernetes?
다음 Kubernetes 매니페스트는 wandb
네임스페이스에 wandb-launch-agent
라는 역할을 생성합니다. 이 역할은 에이전트가 wandb
네임스페이스에서 pod, configmap, secrets를 생성하고 pod 로그에 엑세스할 수 있도록 합니다. wandb-cluster-role
은 에이전트가 pod를 생성하고, pod 로그에 엑세스하고, secrets, jobs를 생성하고, 지정된 모든 네임스페이스에서 job 상태를 확인할 수 있도록 합니다.
15 - What requirements does the accelerator base image have?
가속기를 활용하는 작업의 경우, 필요한 가속기 구성 요소가 포함된 기본 이미지를 제공하세요. 가속기 이미지에 대한 다음 요구 사항을 확인하세요.
- Debian과의 호환성 (Launch Dockerfile은 apt-get을 사용하여 Python을 설치합니다)
- 지원되는 CPU 및 GPU 하드웨어 명령어 세트 (의도한 GPU 와 CUDA 버전 호환성을 확인합니다)
- 제공된 가속기 버전과 기계 학습 알고리즘의 패키지 간 호환성
- 하드웨어 호환성을 위해 추가 단계가 필요한 패키지 설치
16 - When multiple jobs in a Docker queue download the same artifact, is any caching used, or is it re-downloaded every run?
캐싱은 존재하지 않습니다. 각 Launch 작업은 독립적으로 작동합니다. 대기열 또는 에이전트가 대기열 설정에서 Docker 인수를 사용하여 공유 캐시를 마운트하도록 구성하세요.
또한 특정 유스 케이스에 대해 W&B Artifacts 캐시를 영구 볼륨으로 마운트하세요.