

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 하이브리드 작업 인스턴스 구성
<a name="braket-jobs-configure-job-instance-for-script"></a>

알고리즘에 따라 요구 사항이 다를 수 있습니다. 기본적으로 Amazon Braket은 `ml.m5.large` 인스턴스에서 알고리즘 스크립트를 실행합니다. 그러나 다음 가져오기 및 구성 인수를 사용하여 하이브리드 작업을 생성할 때 이 인스턴스 유형을 사용자 지정할 수 있습니다.

```
from braket.jobs.config import InstanceConfig

job = AwsQuantumJob.create(
    ...
    instance_config=InstanceConfig(instanceType="ml.g4dn.xlarge"), # Use NVIDIA T4 instance with 4 GPUs.
    ...
    ),
```

임베디드 시뮬레이션을 실행 중이고 디바이스 구성에서 로컬 디바이스를 지정한 경우, `instanceCount`를 지정하고 둘 이상으로 설정하여 `InstanceConfig`에서 둘 이상의 인스턴스를 추가로 요청할 수 있습니다. 상한은 5입니다. 예를 들어 다음과 같이 인스턴스 3개를 선택할 수 있습니다.

```
from braket.jobs.config import InstanceConfig
job = AwsQuantumJob.create(
    ...
    instance_config=InstanceConfig(instanceType="ml.g4dn.xlarge", instanceCount=3), # Use 3 NVIDIA T4 instances
    ...
    ),
```

여러 인스턴스를 사용하는 경우 데이터 병렬 기능을 사용하여 하이브리드 작업을 배포하는 것이 좋습니다. 이 [QML을 위한 병렬화 훈련](https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/hybrid_jobs/5_Parallelize_training_for_QML/Parallelize_training_for_QML.ipynb) 예제를 확인하는 방법에 대한 자세한 내용은 다음 예제 노트북을 참조하세요.

다음 세 개의 표에는 표준, 고성능 및 GPU 가속 인스턴스에 사용할 수 있는 인스턴스 유형과 사양이 나와 있습니다.

**참고**  
하이브리드 작업에 대한 기본 고전 컴퓨팅 인스턴스 할당량을 보려면 [Amazon Braket 할당량](braket-quotas.md) 페이지를 참조하세요.


| 표준 인스턴스 | vCPU | 메모리(GiB) | 
| --- | --- | --- | 
| ml.t3.large | 2 | 8 | 
| ml.t3.xlarge | 4 | 16 | 
| ml.t3.2xlarge | 8 | 32 | 
| ml.m5.large(기본값) | 4 | 16 | 
| ml.m5.xlarge | 4 | 16 | 
| ml.m5.2xlarge | 8 | 32 | 
| ml.m5.4xlarge | 16 | 64 | 
| ml.m5.12xlarge | 48 | 192 | 
| ml.m5.24xlarge | 96 | 384 | 


| 고성능 인스턴스 | vCPU | 메모리(GiB) | 
| --- | --- | --- | 
| ml.c5.xlarge | 4 | 8 | 
| ml.c5.2xlarge | 8 | 16 | 
| ml.c5.4xlarge | 16 | 32 | 
| ml.c5.9xlarge | 36 | 72 | 
| ml.c5.18xlarge | 72 | 144 | 
| ml.c5n.xlarge | 4 | 10.5 | 
| ml.c5n.2xlarge | 8 | 21 | 
| ml.c5n.4xlarge | 16 | 32 | 
| ml.c5n.9xlarge | 36 | 72 | 
| ml.c5n.18xlarge | 72 | 192 | 


| GPU 가속 인스턴스 | GPU | vCPU | 메모리(GiB) | GPU 메모리(GiB) | 
| --- | --- | --- | --- | --- | 
| ml.p4d.24xlarge | 8 | 96 | 1152 | 320 | 
| ml.g4dn.xlarge | 1 | 4 | 16 | 16 | 
| ml.g4dn.2xlarge | 1 | 8 | 32 | 16 | 
| ml.g4dn.4xlarge | 1 | 16 | 64 | 16 | 
| ml.g4dn.8xlarge | 1 | 32 | 128 | 16 | 
| ml.g4dn.12xlarge | 4 | 48 | 192 | 64 | 
| ml.g4dn.16xlarge | 1 | 64 | 256 | 16 | 
| ml.g6.xlarge | 1 | 4 | 16 | 24 | 
| ml.g6.2xlarge | 1 | 8 | 32 | 24 | 
| ml.g6.4xlarge | 1 | 16 | 64 | 24 | 
| ml.g6.8xlarge | 1 | 32 | 128 | 24 | 
| ml.g6.12xlarge | 4 | 48 | 192 | 96 | 
| ml.g6.16xlarge | 1 | 64 | 256 | 24 | 
| ml.g6.24xlarge | 4 | 96 | 384 | 96 | 
| ml.g6.48xlarge | 8 | 192 | 768 | 192 | 
| ml.g6e.xlarge | 1 | 4 | 32 | 48 | 
| ml.g6e.2xlarge | 1 | 8 | 64 | 48 | 
| ml.g6e.4xlarge | 1 | 16 | 128 | 48 | 
| ml.g6e.8xlarge | 1 | 32 | 256 | 48 | 
| ml.g6e.12xlarge | 4 | 48 | 384 | 192 | 
| ml.g6e.16xlarge | 1 | 64 | 512 | 48 | 
| ml.g6e.24xlarge | 4 | 96 | 768 | 192 | 
| ml.g6e.48xlarge | 8 | 192 | 1536 | 384 | 

각 인스턴스는 30GB의 기본 데이터 스토리지(SSD) 구성을 사용합니다. 그러나 `instanceType`을 구성하는 것과 동일한 방식으로 스토리지를 조정할 수 있습니다. 다음 예제에서는 총 스토리지를 50GB로 늘리는 방법을 보여줍니다.

```
from braket.jobs.config import InstanceConfig

job = AwsQuantumJob.create(
    ...
    instance_config=InstanceConfig(
        instanceType="ml.g4dn.xlarge",
        volumeSizeInGb=50,
    ),
    ...
    ),
```

## `AwsSession`에서 기본 버킷 구성
<a name="braket-jobs-configure-default-bucket"></a>

자체 `AwsSession` 인스턴스를 활용하면 기본 Amazon S3 버킷의 사용자 지정 위치를 지정하는 등 향상된 유연성을 누릴 수 있습니다. 기본적으로 `AwsSession`에는 `"amazon-braket-{id}-{region}"`의 사전 구성된 Amazon S3 버킷 위치가 있습니다. 그러나 `AwsSession`을 생성할 때 기본 Amazon S3 버킷 위치를 재정의할 수 있는 옵션이 있습니다. 다음 코드 예제에서 볼 수 있듯이, 사용자는 `aws_session` 파라미터를 제공하여 선택적으로 `AwsSession` 객체를 `AwsQuantumJob.create()` 메서드로 전달할 수 있습니다.

```
aws_session = AwsSession(default_bucket="amazon-braket-s3-demo-bucket")

# Then you can use that AwsSession when creating a hybrid job
job = AwsQuantumJob.create(
    ...
    aws_session=aws_session
)
```