기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Edge Manager 에이전트를 수동으로 다운로드하고 설정합니다.
운영 체제, 아키텍처 및 AWS 리전에 따라 Edge Manager 에이전트를 다운로드합니다. 에이전트는 주기적으로 업데이트되므로 릴리스 날짜 및 버전에 따라 에이전트를 선택할 수 있습니다. 에이전트가 준비되면 JSON 구성 파일을 생성합니다. 디바이스 IoT 사물 이름, 플릿 이름, 디바이스 자격 증명 및 기타 키-값 쌍을 지정합니다. Edge Manager 에이전트 실행에서 구성 파일에 지정해야 하는 키의 전체 목록을 확인합니다. 에이전트를 실행 가능한 바이너리로 실행하거나 동적 공유 객체(DSO)에 대한 링크로 실행할 수 있습니다.
에이전트 작동 방법
에이전트는 디바이스의 CPU에서 실행됩니다. 에이전트는 컴파일 작업 중에 지정한 대상 디바이스의 프레임워크와 하드웨어에서 추론을 실행합니다. 예를 들어, Jetson Nano용으로 모델을 컴파일한 경우 에이전트는 입력된 딥 러닝 런타임
지원되는 운영 체제에 따라 에이전트는 바이너리 형식으로 릴리스됩니다. 운영 체제가 지원되고 다음 테이블의 최소 OS 요구 사항을 충족하는지 확인하세요.
Edge Manager 에이전트 설치
Edge Manager 에이전트를 사용하려면 먼저 릴리스 아티팩트와 루트 인증서를 확보해야 합니다. 릴리스 아티팩트는 us-west-2
리전에 있는 Amazon S3 버킷에 저장됩니다. 아티팩트를 다운로드하려면 운영 체제(<OS>
)와 <VERSION>
을(를) 지정합니다.
운영 체제에 따라 <OS>
을(를) 다음 중 하나로 바꿉니다.
Windows 32비트 | Windows 64비트 | Linux x86-64 | Linux ARMv8 |
---|---|---|---|
windows-x86 | windows-x64 | linux-x64 | linux-armv8 |
VERSION
은(는) 세 가지 구성 요소 <MAJOR_VERSION>.<YYYY-MM-DD>-<SHA-7>
(으)로 구분됩니다.
-
<MAJOR_VERSION>
: 릴리스 버전. 릴리스 버전은 현재1
(으)로 설정되어 있습니다. -
<YYYY-MM-DD>
: 아티팩트 릴리스의 타임스탬프. -
<SHA-7>
: 릴리스가 빌드된 리포지토리 커밋 ID.
<MAJOR_VERSION>
및 타임스탬프를 YYYY-MM-DD
형식으로 입력해야 합니다. 최신 아티팩트 릴리스 타임스탬프를 사용할 것을 추천합니다.
명령줄에서 다음을 실행하여 최신 타임스탬프를 가져옵니다. <OS>
을(를) 사용자의 운영 체제로 바꿉니다.
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Releases/ | sort -r
예를 들어, Windows 32비트 OS 사용 시
aws s3 ls s3://sagemaker-edge-release-store-us-west-2-windows-x86/Releases/ | sort -r
반환:
2020-12-01 23:33:36 0 PRE 1.20201218.81f481f/ PRE 1.20201207.02d0e97/
이 예제의 반환 출력에는 두 개의 릴리스 아티팩트가 표시됩니다. 첫 번째 릴리스 아티팩트 파일은 릴리스 버전의 주요 릴리스 버전 1
, 타임스탬프 20201218
(YYYY-MM-DD 형식) 및 81f481f
SHA-7 커밋 ID를 기록합니다.
참고
이전 명령은 사용자가 AWS Command Line Interface을(를) 구성했다고 가정합니다. 자세한 내용은가 상호 작용하는 데 AWS CLI 사용하는 설정을 구성하는 방법에 대한 자세한 내용은 CLI 구성을 AWS참조하세요. AWS
운영 체제에 따라 다음 명령으로 아티팩트를 설치합니다.
또한 루트 인증서를 다운로드해야 합니다. 이 인증서는 엣지 디바이스에 로드 AWS 하기 전에에서 서명한 모델 아티팩트를 검증합니다.
<OS>
을(를) 지원되는 운영 체제 목록에 있는 사용 중인 플랫폼으로 바꾸고 <REGION>
을(를) 사용 중인 AWS
리전으로 바꿉니다.
aws s3 cp s3://sagemaker-edge-release-store-us-west-2-
<OS>
/Certificates/<REGION>
/<REGION>
.pem .
Edge Manager 에이전트 실행
SageMaker AI Edge Manager 에이전트를 실행 파일 및 연결 형식(ELF) 실행 파일 바이너리의 형태로 독립 실행형 프로세스로 실행하거나 동적 공유 객체(.dll)로 연결할 수 있습니다. Linux에서 지원하는 독립 실행형 바이너리 실행이 기본 설정 모드입니다. Windows에서는 공유 객체(.dll) 실행을 지원합니다.
Linux에서는 초기화(init
) 시스템의 일부인 서비스를 통해 바이너리를 실행할 것을 권장합니다. 바이너리를 직접 실행하려면 다음 예제와 같이 터미널에서 실행하면 됩니다. 최신 OS를 사용하는 경우 모든 요구 사항이 실행 파일에 정적으로 내장되어 있으므로 에이전트를 실행하기 전에 다른 설치를 할 필요가 없습니다. 터미널에서, 서비스로 또는 컨테이너 내에서 에이전트를 유연하게 실행할 수 있습니다.
에이전트를 실행하려면 우선 JSON 구성 파일을 생성합니다. 다음 키-값 페어를 지정합니다.
-
sagemaker_edge_core_device_name
: 디바이스 이름. SageMaker Edge Manager 콘솔에서 디바이스 플릿과 함께 등록해야 하는 디바이스 이름. -
sagemaker_edge_core_device_fleet_name
: 디바이스가 속한 플릿 이름. -
sagemaker_edge_core_region
: 디바이스, 플릿 및 Amazon S3 버킷과 연결된 AWS 리전입니다. 디바이스가 등록되고 Amazon S3 버킷이 생성된 리전에 해당(동일할 것으로 예상). 모델 자체는 다른 리전에서 SageMakerNeo로 컴파일할 수 있습니다. 이 구성은 모델 컴파일 리전과 관련이 없습니다. -
sagemaker_edge_core_root_certs_path
: 루트 인증서의 절대 폴더 경로. 이는 관련 AWS 계정으로 디바이스를 검증하는 데 사용됩니다. -
sagemaker_edge_provider_aws_ca_cert_file
: 아마존 루트 CA 인증서(AmazonRootca1.pem) 절대 경로. 이는 관련 AWS 계정으로 디바이스를 검증하는 데 사용됩니다.는에서 소유한 인증서AmazonCA
입니다 AWS. -
sagemaker_edge_provider_aws_cert_file
: 루트 인증서()에 AWS IoT 서명하는 절대 경로입니다*.pem.crt
. -
sagemaker_edge_provider_aws_cert_pk_file
: AWS IoT 프라이빗 키의 절대 경로입니다. (*.pem.key
). -
sagemaker_edge_provider_aws_iot_cred_endpoint
: AWS IoT 자격 증명 엔드포인트(identifier
.iot.region
.amazonaws.com). 자격 증명 검증 시 사용되는 엔드포인트. AWS IoT에 디바이스 연결하기에서 자세한 정보를 확인하세요. -
sagemaker_edge_provider_provider
: 사용 중인 공급자 인터페이스의 구현을 나타냄. 공급자 인터페이스는 최종 네트워크 서비스와 통신하여 업로드, 하트비트, 등록 검증 수행. 기본값은"Aws"
로 설정되어 있습니다. 공급자 인터페이스를 사용자 정의로 구현할 수 있습니다. 공급자가 없을 경우None
또는 관련 공유 객체 경로를 입력하여 사용자 지정 구현 시Custom
(으)로 설정할 수 있습니다. -
sagemaker_edge_provider_provider_path
: 공급자 구현 공유 객체(.so 또는 .dll 파일) 절대 경로 입력."Aws"
공급자 .dll 또는 .so 파일은 에이전트 릴리스와 함께 입력. 이 필드는 필수항목입니다. -
sagemaker_edge_provider_s3_bucket_name
: Amazon S3 버킷 이름(Amazon S3 버킷 URI 아님). 버킷 이름 내에sagemaker
문자열이 있어야 함. -
sagemaker_edge_log_verbose
(부울): 선택 사항. 디버그 로그 설정.True
또는False
을 선택합니다. -
sagemaker_edge_telemetry_libsystemd_path
: Linux 전용으로systemd
에서 에이전트 충돌 카운터 지표 구현. libsystemd 절대 경로를 설정하여 충돌 카운터 지표 활성화.whereis libsystemd
을(를) 디바이스 터미널에서 실행하여 기본 libsystemd 경로를 찾을 수 있습니다. -
sagemaker_edge_core_capture_data_destination
: 캡처 데이터 업로드 대상."Cloud"
또는"Disk"
을 선택합니다. 기본값은"Disk"
로 설정됩니다."Disk"
(으)로 설정하면 입력 및 출력 텐서와 보조 데이터를 기본 설정 위치에서 로컬 파일 시스템에 작성합니다."Cloud"
에 작성할 때는sagemaker_edge_provider_s3_bucket_name
구성에서 입력된 Amazon S3 버킷 이름을 사용합니다. -
sagemaker_edge_core_capture_data_disk_path
:"Disk"
이(가) 대상일 때 캡처 데이터 파일이 기록되는 로컬 파일 시스템의 절대 경로 설정."Cloud"
이(가) 대상으로 지정된 경우 이 필드가 사용되지 않음. -
sagemaker_edge_core_folder_prefix
:"Cloud"
을(를) 캡처 대상(sagemaker_edge_core_capture_data_disk_path)
)으로 지정했을 때 캡처 데이터가 저장되는 Amazon S3 내 상위 접두사. 캡처 데이터는sagemaker_edge_core_capture_data_disk_path
아래 하위 폴더에 저장됨("Disk"
이(가) 데이터 대상으로 설정된 경우). -
sagemaker_edge_core_capture_data_buffer_size
(정수 값): 캡처 데이터 원형 버퍼 크기. 버퍼에 저장된 최대 요청 수를 나타냄. -
sagemaker_edge_core_capture_data_batch_size
(정수 값): 캡처 데이터 배치 크기. 버퍼에서 처리되는 요청 배치의 크기를 나타냄. 이 값은sagemaker_edge_core_capture_data_buffer_size
미만이어야 함. 최대 버퍼 크기의 절반을 버퍼 크기로 권장합니다. -
sagemaker_edge_core_capture_data_push_period_seconds
(정수 값): 캡처 데이터 푸시 기간(초). 버퍼에 있는 요청 배치는 버퍼에 배치 크기 요청이 있는 경우 또는 이 기간이 완료될 때(둘 중 먼저 도래하는 날짜에) 처리됩니다. 이 구성은 해당 기간을 설정합니다. -
sagemaker_edge_core_capture_data_base64_embed_limit
: 캡처 데이터 업로드 제한(바이트). 정수 값
구성 파일은 다음 예제와 비슷해야 합니다(특정 값 지정 시). 이 예제에서는 기본 AWS 공급자("Aws"
)를 사용하며 정기 업로드를 지정하지 않습니다.
{ "sagemaker_edge_core_device_name":
"device-name"
, "sagemaker_edge_core_device_fleet_name":"fleet-name"
, "sagemaker_edge_core_region":"region"
, "sagemaker_edge_core_root_certs_path": "<Absolute path to root certificates>
", "sagemaker_edge_provider_provider": "Aws", "sagemaker_edge_provider_provider_path" : "/path/to/
libprovider_aws.so", "sagemaker_edge_provider_aws_ca_cert_file": "<Absolute path to Amazon Root CA certificate>
/AmazonRootCA1.pem", "sagemaker_edge_provider_aws_cert_file": "<Absolute path to AWS IoT signing root certificate>
/device.pem.crt", "sagemaker_edge_provider_aws_cert_pk_file": "<Absolute path to AWS IoT private key.>
/private.pem.key", "sagemaker_edge_provider_aws_iot_cred_endpoint": "https://<AWS IoT Endpoint Address>
", "sagemaker_edge_core_capture_data_destination": "Cloud", "sagemaker_edge_provider_s3_bucket_name": "sagemaker-bucket-name
", "sagemaker_edge_core_folder_prefix":"Amazon S3 folder prefix"
, "sagemaker_edge_core_capture_data_buffer_size": 30, "sagemaker_edge_core_capture_data_batch_size": 10, "sagemaker_edge_core_capture_data_push_period_seconds": 4000, "sagemaker_edge_core_capture_data_base64_embed_limit": 2, "sagemaker_edge_log_verbose": false }
릴리스 아티팩트에는 sagemaker_edge_agent_binary
바이너리 실행 파일이 /bin
디렉터리에 포함되어 있습니다. 바이너리를 실행하려면 -a
플래그를 사용하여 선택한 디렉터리에 소켓 파일 설명자(.sock)를 생성하고 -c
플래그로 생성한 에이전트 JSON 구성 파일의 경로를 지정합니다.
./sagemaker_edge_agent_binary -a
<ADDRESS_TO_SOCKET>
-c<PATH_TO_CONFIG_FILE>
다음 예제에서 디렉터리와 파일 경로가 지정된 코드 조각을 볼 수 있습니다.
./sagemaker_edge_agent_binary -a /tmp/sagemaker_edge_agent_example.sock -c sagemaker_edge_config.json
이 예제에서는 sagemaker_edge_agent_example.sock
이라는 소켓 파일 설명자가 /tmp
디렉터리에 생성되고 sagemaker_edge_config.json
에이전트와 동일한 작업 디렉터리에 있는 구성 파일을 가리킵니다.