Amazon Web Services 한국 블로그

Amazon Advertisement, Amazon SageMaker 및 AWS Inferentia를 사용한 광고 이미지 검증 확장 사례

Amazon Advertisement 팀은 15개 국 이상에서 웹사이트, 앱, 스트리밍 TV 콘텐츠 등 Amazon 스토어 안팎에 게재되는 광고를 통해 기업이 브랜드를 구축하고 쇼핑객과 소통할 수 있도록 지원합니다. Amazon Marketplace의 등록된 셀러, 공급 업체, 도서 공급업체, Kindle Direct Publishing(KDP) 저자, 앱 개발자 및 에이전시를 비롯한 모든 규모의 기업 또는 브랜드는 이미지, 동영상, 오디오 및 Amazon에서 판매되는 제품 등 자신의 광고 크리에이티브를 업로드할 수 있습니다. 정확하고 안전하며 즐거운 쇼핑 경험을 제공하기 위해 이러한 광고는 콘텐츠 가이드라인을 준수해야 합니다.

다음은 간단한 예제입니다. 다음 광고 중 두 개가 규정을 준수하지 않는 이유를 알아낼 수 있습니까?

Amazon 광고

중앙의 광고는 제품의 컨텍스트가 표시되지 않습니다. 또한 동일한 제품을 여러 번 표시합니다. 오른쪽 광고는 훨씬 좋아 보이지만 텍스트가 포함되어 있어 이 광고 형식에는 허용되지 않습니다.

새로운 광고 크리에이티브는 다양한 크기, 모양, 언어로 제공되며 대규모로 제공됩니다. 가능하다고 가정한 내용이라도 수동으로 확인하는 것은 복잡하고 느리고 오류가 발생하기 쉬운 프로세스입니다. 기계 학습(ML)이 도와드립니다!

기계 학습을 사용하여 광고 크리에이티브 검증
각 광고는 여러 규칙에 따라 평가되어야 하며, 단일 모델로는 합리적으로 학습할 수 없습니다. 실제로 광고 속성을 확인하는 데는 많은 모델이 필요합니다. 예를 들면 다음과 같습니다.

  • 미디어 중심 모델은 광고 대상 제품을 설명하는 이미지, 동영상, 오디오 및 텍스트를 분석합니다.
  • 콘텐츠 중심 모델은 헤드라인, 텍스트, 배경 및 객체를 감지합니다.
  • 언어 중심 모델은 구문과 문법을 검증하고 승인되지 않은 언어에 플래그를 지정합니다.

이러한 기능 중 일부는 AWS AI 서비스에서 즉시 사용할 수 있습니다. 예를 들어 Amazon 광고 팀은 Amazon Rekognition을 사용하여 이미지와 동영상에서 메타데이터 정보를 추출합니다.

다른 기능에는 사내 데이터 세트에 대해 훈련된 사용자 지정 모델이 필요합니다. 이를 위해 Amazon 팀은 수동 레이블 지정 및 능동적 학습의 자동 레이블 지정을 조합하여 Amazon SageMaker Ground Truth를 통해 대규모 광고 데이터 세트에 레이블을 지정했습니다 그런 다음 팀은 이러한 데이터 세트와 함께 Amazon SageMaker를 사용해 모델을 훈련시켜서 AWS Cloud Development Kit(AWS CDK)Amazon SageMaker Pipelines를 통해 실시간 예측 엔드포인트에 자동으로 배포했습니다.

기업이 새 광고를 업로드하면 관련 모델이 동시에 호출되어 특정 광고 구성 요소를 처리하고 신호를 추출하며 품질 점수를 산출합니다. 그런 다음 모든 점수가 통합되어 광고를 수동으로 검토해야 하는지 여부를 예측하는 최종 모델에 전송됩니다.

이 프로세스 덕분에 대부분의 새 광고가 자동으로 확인되고 게시되므로 기업이 브랜드 및 제품을 빠르게 홍보할 수 있으며 Amazon은 고품질의 쇼핑 경험을 유지할 수 있습니다.

그러나 점점 더 복잡한 모델이 늘어남에 따라 Amazon 광고 팀은 비용은 줄이면서 예측 처리량을 늘릴 수 있는 솔루션을 찾기 시작했습니다. 해답은 AWS Inferentia에서 발견되었습니다.

AWS Inferentia란?
Amazon EC2 Inf1 인스턴스에서 사용할 수 있는 AWS Inferentia는 기계 학습 추론 워크로드를 가속화하고 해당 비용을 최적화하기 위해 AWS가 구축한 사용자 지정 칩입니다. 각 AWS Inferentia 칩에는 4개의 NeuronCore가 포함됩니다. 각 NeuronCore는 고성능 시스톨릭 배열 행렬 곱셈 엔진을 구현하여 컨볼루션 및 트랜스포머와 같은 일반적인 딥 러닝 연산의 속도를 크게 높여줍니다. 또한 NeuRonCore에는 외부 메모리 액세스를 줄이고, 대기 시간을 낮추며, 처리량을 늘리는 대형 온칩 캐시가 장착되어 있습니다.

기계 학습 추론을 위한 소프트웨어 개발 키트인 AWS Neuron 덕분에 AWS InferentiaTensorFlow, PyTorchApache MXNet 등의 기계 학습 프레임워크에서 기본적으로 사용할 수 있습니다. 이는 고성능 및 짧은 대기 시간의 추론을 실행할 수 있는 컴파일러, 런타임 및 프로파일링 도구로 구성됩니다. 여러 훈련된 모델에서 컴파일은 Neuron SDK를 사용한 간단한 작업이므로 애플리케이션 코드를 추가로 변경할 필요가 없습니다. 그 결과, 비용을 통제하면서 쉽게 확장할 수 있는 고성능 추론 배포가 가능합니다. Neuron 설명서에서 많은 예제를 찾을 수 있습니다. 또는 Amazon SageMaker Neo로 인해 SageMaker에서 직접 모델을 컴파일할 수도 있습니다.

AWS Inferentia를 사용한 광고 검증 확장
Amazon 광고 팀은 Inferentia용 모델을 컴파일해서 Inf1 인스턴스로 구동되는 SageMaker 엔드포인트에 배포하기 시작했습니다. 그리고 Inf1 엔드포인트를 지금까지 사용하던 GPU 엔드포인트와 비교했습니다. 팀은 BERT와 같은 대규모 딥 러닝 모델이 Inferentia에서 더 효과적으로 실행되어 대기 시간을 30% 줄이고 비용을 71% 감소시키는 것을 확인했습니다. 몇 달 전 Amazon Alexa에서 근무하는 기계 학습 팀도 같은 결론을 내렸습니다.

예측 품질은 어떻습니까? GPU 모델은 일반적으로 단정밀도 부동 소수점 데이터(FP32)로 훈련됩니다. Inferentia는 더 짧은 FP16, BF16 및 INT8 데이터 유형을 사용하므로 예측 출력값에 약간의 차이가 발생할 수 있습니다. GPU 모델과 Inferentia 모델을 병렬로 실행하면서 팀은 확률 분포를 분석하고 Inferentia 모델의 예측 임계값을 조정했으며 해당 모델이 GPU 모델과 마찬가지로 광고를 예측할 수 있도록 했습니다. 해당 기술에 대한 자세한 내용은 설명서의 성능 조정 단원에서 확인할 수 있습니다.

이러한 최종 조정이 끝난 후 Amazon 광고 팀은 GPU 모델을 단계적으로 중단하기 시작했습니다. 이제 Inferentia에서 모든 텍스트 데이터를 예측하고 컴퓨터 비전 파이프라인의 마이그레이션이 진행 중입니다.

AWS Inferentia로 성공하는 AWS 고객
Amazon 팀 외에 고객들도 Inferentia를 사용하여 기계 학습 워크로드를 확장하고 최적화하는 데 매우 좋은 결과를 보고합니다.

Autodesk의 수석 데이터 사이언티스트인 Binghui Ouyang: “오토데스크는 Inferenita를 사용해 AI 기반 가상 비서인 Autodesk 가상 에이전트(AVA)의 인지 기술을 발전시키고 있습니다. AVA는 자연어 이해(NLU) 및 딥 러닝 기법을 적용하여 조회와 관련된 맥락, 의도 및 의미를 추출함으로써 매달 100,000개 이상의 고객 질문에 답변합니다. Inferentia를 시범 운영하면서 NLU 모델의 G4dn보다 4.9배 높은 처리량을 얻을 수 있으며, Inferentia 기반 Inf1 인스턴스에서 더 많은 워크로드를 실행할 수 있기를 기대합니다.
 

Condé Nast의 AI 인프라 담당 수석 엔지니어인Paul Fryzel: “Condé Nast의 글로벌 포트폴리오에는 Wired, Vogue, Vanity Fair 등 20개 이상의 선도적인 미디어 브랜드가 포함됩니다. 몇 주 만에 우리 팀은 추천 엔진을 AWS Inferentia 칩과 통합할 수 있었습니다. 이 조합을 사용하면 SageMaker의 Inf1 인스턴스에서 최첨단 자연어 모델에 대해 여러 런타임 최적화를 수행할 수 있습니다. 그 결과, 이전에 배포된 GPU 인스턴스보다 비용이 72% 절감되었습니다.”
 

시작하기
지금 바로 Amazon SageMaker 또는 Neuron SDK를 사용하여 Inferentia 및 Inf1 인스턴스를 시작할 수 있습니다. 이 자습형 워크숍에서는 두 가지 옵션을 모두 안내합니다.

체험해보시고 의견을 알려주세요. 항상 그렇듯이, 여러분의 피드백을 기다리고 있습니다. 일반 AWS Support 담당자, SageMaker의 AWS 포럼 또는 Neuron SDK의 Gibhub 리포지토리를 통해 의견을 보내실 수 있습니다.

– Julien