Amazon Web Services 한국 블로그
Amazon Alexa, 비용 효율적인 EC2 Inf1 인스턴스 기반 추론 작업 전환 사례
Amazon Alexa 팀은 대다수의 GPU 기반 기계 학습 추론 워크로드를 AWS Inferentia 기반의 Amazon Elastic Compute Cloud(EC2) Inf1 인스턴스로 마이그레이션했습니다. 그 결과 GPU 기반 인스턴스에 비해 Alexa 텍스트-음성 변환 워크로드의 전체 지연이 25% 단축되고 비용이 30% 절감되었습니다. 지연이 짧으면 Alexa 엔지니어가 보다 복잡한 알고리즘으로 혁신하고 Alexa의 전반적인 고객 경험을 개선할 수 있습니다.
AWS는 클라우드에서 최저 비용의 기계 학습(ML) 추론을 제공하기 위해 완전히 새로운 AWS Inferentia 칩을 만들었습니다. 이 칩은 AWS re:Invent 2019에서 출시된 Inf1 인스턴스를 구동합니다. Inf1 인스턴스는 GPU 기반 G4 인스턴스에 비해 처리량이 최대 30% 더 많고 추론당 비용은 최대 45% 저렴합니다. Inf1 이전에는 GPU 기반 G4 인스턴스가 클라우드에서 ML 추론에 사용할 수 있는 가장 저렴한 인스턴스였습니다.
Alexa는 Amazon Echo 디바이스와 140,000개 이상의 모델(스마트 스피커, 조명, 플러그, 스마트 TV 및 카메라)을 구동하는 Amazon의 클라우드 기반 음성 서비스입니다. 현재, 1억 대 이상의 고객 디바이스가 Alexa에 연결되어 있습니다. 그리고 매달, 수천만 명의 고객이 100,000개 이상의 Alexa 스킬을 통해 Alexa와 상호 작용하여 가정용 디바이스를 제어하거나(“Alexa, 거실 온도를 높여줘,” “Alexa, 침실 불을 꺼줘’“), 라디오와 음악을 듣거나(“Alexa, 침실에서 Maxi 80을 켜줘,” “Alexa, Spotify에서 Van Halen을 재생해줘“), 정보를 얻거나(“Alexa, 새로운 소식이 있니?” “Alexa, 오늘 비가 오니?“), 교육을 받거나, 오락을 즐깁니다.
Alexa에게 네 집이 어디냐고 물으면 바로 이곳이라고 대답할 것입니다. 그러나 Alexa의 머리는 클라우드에 있습니다. 실제로 Alexa의 두뇌는 AWS에 배포되어 있으므로 AWS가 고객을 위해 구축한 것과 동일한 민첩성, 대규모 인프라 및 글로벌 네트워크의 이점을 활용할 수 있습니다.
Alexa 작동 방식
거실에서 Alexa에게 날씨를 물어봅니다. 그러면 복잡한 시스템이 트리거됩니다. 먼저, 온디바이스 칩이 시작 단어(Alexa)를 감지합니다. 감지된 후 마이크는 사용자가 말하는 것을 기록하고 사운드를 스트리밍하여 클라우드에서 분석합니다. 개괄적으로, 음성의 사운드는 2개 단계로 분석됩니다. 먼저, Alexa가 사운드를 텍스트로 변환합니다. 이를 자동 음성 인식(ASR)이라고 합니다. 텍스트를 파악한 후 두 번째 단계는 사용자가 뜻하는 바를 이해하는 것입니다. 이를 자연어 이해(NLU)라고 합니다. NLU의 출력은 의도(사용자가 원하는 것)와 관련 파라미터입니다. 이 예(“Alexa, 오늘 날씨는 어때?”)에서 의도는 “GetWeatherForecast
”이고 파라미터는 사용자 프로필에서 유추된 사용자의 우편 번호일 수 있습니다.
이 전체 프로세스에서는 엄청난 양의 인공 지능을 사용하여 음성의 사운드를 음소로, 음소를 단어로, 단어를 구로, 구를 의도로 변환합니다. Alexa는 NLU 출력을 기반으로 의도를 서비스로 라우팅하여 이를 이행합니다. 여기서 서비스는 Alexa 내부 또는 외부에 있을 수 있습니다. 예를 들어 사용자의 Alexa 계정에서 활성화된 스킬이 여기에 포함됩니다. 이행 서비스는 의도를 처리하고 응답을 JSON 문서로 반환합니다. 이 문서에는 Alexa가 말해야 하는 응답의 텍스트가 포함됩니다.
프로세스의 마지막 단계는 텍스트에서 Alexa의 음성을 생성하는 것입니다. 이를 텍스트-음성 변환(TTS)이라고 합니다. TTS로 사운드 데이터가 생성되기 시작하는 즉시 사운드는 Amazon Echo 디바이스로 다시 스트리밍됩니다. “오늘 날씨는 다소 흐리며 기온은 최고 16도, 최저 8도입니다.”(유럽 기준 섭씨 :-) ). 이 텍스트-음성 변환 프로세스에는 발음, 리듬, 단어 사이의 연결, 억양 등의 측면에서 자연스럽게 들리는 문구를 만드는 많은 수의 기계 학습 모델이 포함됩니다.
Alexa는 세계에서 가장 널리 사용되는 하이퍼스케일 기계 학습 서비스 중 하나이며 매주 수십억 건의 추론 요청을 수신합니다. Alexa의 3가지 주요 추론 워크로드(ASR, NLU 및 TTS) 중에서 TTS 워크로드는 처음에 GPU 기반 인스턴스에서 실행되었습니다. 그러나 Alexa 팀은 고객 경험을 개선하고 서비스 컴퓨팅 비용을 줄이기 위해 가능한 한 빨리 Inf1 인스턴스로 전환하기로 결정했습니다.
AWS Inferentia란?
AWS Inferentia는 기계 학습 추론 워크로드를 가속화하고 해당 비용을 최적화하기 위해 AWS가 구축한 사용자 지정 칩입니다. 각 AWS Inferentia 칩에는 4개의 NeuronCore가 포함됩니다. 각 NeuronCore는 고성능 시스톨릭 배열 행렬 곱셈 엔진을 구현하여 컨볼루션 및 트랜스포머와 같은 일반적인 딥 러닝 연산의 속도를 크게 높여줍니다. 또한 NeuRonCore에는 외부 메모리 액세스를 줄이고, 지연을 극적으로 낮추며, 처리량을 늘리는 대형 온칩 캐시가 장착되어 있습니다.
AWS Inferentia는 TensorFlow, PyTorch 및 MXNet과 같은 주요 기계 학습 프레임워크에서 AWS Neuron을 통해 기본적으로 사용할 수 있습니다. AWS Neuron은 AWS Inferentia 칩을 사용하여 기계 학습 추론을 실행하기 위한 소프트웨어 개발 키트(SDK)입니다. 고성능 및 짧은 지연의 추론을 실행할 수 있는 컴파일러, 런타임 및 프로파일링 도구로 구성됩니다.
Amazon EC2 Inf1를 사용하는 다른 서비스
Alexa에 더해 Amazon Rekognition도 AWS Inferentia를 도입하고 있습니다. Inf1 인스턴스에서 객체 분류와 같은 모델을 실행하면 GPU 인스턴스에서 이러한 모델을 실행할 때에 비해 지연 시간이 8배 단축되고 처리량이 두 배로 늘어났습니다.
Fortune 500대 기업에서 스타트업에 이르는 고객이 기계 학습 추론에 Inf1 인스턴스를 사용하고 있습니다. 일례로 Snap Inc.는 Snapchat의 여러 측면에 기계 학습(ML)을 포함합니다. 이 회사는 이 분야에서 혁신을 모색하는 것을 최우선 순위로 삼습니다. AWS Inferentia에 대한 소식을 들었을 때 회사는 ML 배포의 성능 및 비용 등을 개선하기 위해 AWS와 협업하여 Inf1 인스턴스를 도입했습니다. 추천 모델 추론으로 시작했으며 앞으로 더 많은 모델을 Inf1 인스턴스에 배포할 것으로 기대합니다.
세계 최고의 미디어 회사 중 하나인 Conde Nast는 추천 엔진에 GPU 기반 인스턴스를 사용할 때보다 추론 비용을 72% 절감할 수 있었습니다. 미국 최고의 의료 회사 중 하나인 Anthem은 고객 감성 기계 학습 워크로드에 GPU 기반 인스턴스를 사용할 때에 비해 2배 높은 처리량을 달성했습니다.
Amazon EC2 Inf1을 시작하는 방법
오늘부터 Inf1 인스턴스를 사용할 수 있습니다.
자체 기계 학습 애플리케이션 개발 플랫폼을 관리하려는 경우 Neuroron SDK가 포함된 AWS 딥 러닝 AMI로 Inf1 인스턴스를 시작하거나 컨테이너식 기계 학습 애플리케이션을 위한 Amazon Elastic Kubernetes Service(Amazon ECS)를 통해 Inf1 인스턴스를 사용할 수 있습니다. Inf1 인스턴스에서 컨테이너를 실행하는 방법에 대해 자세히 알아보려면 ECS에서 시작하는 방법과 EKS에 시작하는 방법에 대한 각 블로그를 읽어보세요.
Inf1 인스턴스를 시작하는 가장 쉽고 빠른 방법은 기계 학습 모델을 빠르게 구축, 훈련 및 배포할 수 있는 완전관리형 서비스인 Amazon SageMaker를 사용하는 것입니다.