Twitter, Amazon SageMaker 및 Hugging Face PlatoBlockchain Data Intelligence로 뉴스 기반 실시간 알림 시스템을 구축하십시오. 수직 검색. 일체 포함.

Twitter, Amazon SageMaker 및 Hugging Face로 뉴스 기반 실시간 알림 시스템 구축

오늘날 소셜 미디어는 뉴스의 거대한 원천입니다. 사용자는 뉴스를 소비하기 위해 Facebook 및 Twitter와 같은 플랫폼에 의존합니다. 보험 회사, 최초 응답자, 법 집행 기관 및 정부 기관과 같은 특정 산업의 경우 발생하는 관련 이벤트에 대한 뉴스를 신속하게 처리할 수 있으면 이러한 이벤트가 아직 진행 중인 동안 조치를 취하는 데 도움이 될 수 있습니다.

텍스트 데이터에서 가치를 추출하려는 조직이 복잡한 NLP(자연어 처리) 모델의 교육을 포함하지 않는 솔루션을 찾는 것은 드문 일이 아닙니다. 이러한 조직의 경우 사전 훈련된 NLP 모델을 사용하는 것이 더 실용적입니다. 또한 선택한 모델이 성공 메트릭을 충족하지 못하는 경우 조직은 다른 모델을 쉽게 선택하고 재평가할 수 있기를 원합니다.

현재 다음 덕분에 텍스트 데이터에서 정보를 추출하는 것이 그 어느 때보다 쉬워졌습니다.

  • 변압기와 같은 최첨단 범용 NLP 아키텍처의 부상
  • 개발자와 데이터 과학자가 다음과 같은 서비스를 통해 클라우드에서 대규모 머신 러닝(ML) 모델을 신속하게 구축, 교육 및 배포해야 하는 기능 아마존 세이지 메이커
  • 수백 개의 언어로 사전 훈련된 수천 개의 NLP 모델을 사용할 수 있으며 다음과 같은 플랫폼에서 커뮤니티에서 제공하는 여러 프레임워크를 지원합니다. 허깅 페이스 허브

이 게시물에서는 Hugging Face Hub에서 사전 훈련된 모델을 사용하여 Twitter의 뉴스를 소비하고 트윗을 분류하는 실시간 알림 시스템을 구축하는 방법을 보여줍니다. 이 솔루션을 제로샷 분류에 사용할 수 있습니다. 즉, 거의 모든 범주 세트에서 트윗을 분류하고 실시간 추론을 위해 SageMaker로 모델을 배포할 수 있습니다.

또는 고객의 대화에 대한 통찰력을 찾고 소셜 미디어 상호 작용을 분석하여 브랜드 인지도를 심화하려면 다음을 확인하는 것이 좋습니다. AI 기반 소셜 미디어 대시 보드. 솔루션 사용 아마존 이해, 기계 학습 경험 없이도 텍스트에서 귀중한 통찰력과 연결을 발견하는 완전 관리형 NLP 서비스입니다.

제로 샷 학습

NLP 및 자연어 이해(NLU) 분야는 텍스트 분류, 질문 답변, 요약, 텍스트 생성 등과 관련된 사용 사례를 다루기 위해 빠르게 발전했습니다. 이러한 진화는 부분적으로 변압기와 같은 최첨단 범용 아키텍처의 등장과 이러한 모델의 교육에 사용할 수 있는 더 많은 품질의 텍스트 말뭉치의 가용성 덕분에 가능했습니다.

트랜스포머 아키텍처는 처음부터 훈련하기 위해 도메인 전문 지식과 엄청난 양의 데이터가 필요한 복잡한 신경망입니다. 일반적인 관행은 BERT, RoBERTa, T5, GPT-2 또는 DistilBERT와 같은 사전 훈련된 최첨단 변압기를 사용하여 특정 사용 사례에 맞게 모델을 미세 조정(전이 학습)하는 것입니다.

그럼에도 불구하고 사전 훈련된 NLP 모델에서 전이 학습을 수행하는 것조차 많은 양의 레이블이 지정된 텍스트 데이터와 데이터를 선별하는 전문가 팀이 필요한 어려운 작업이 될 수 있습니다. 이러한 복잡성으로 인해 대부분의 조직에서는 이러한 모델을 효과적으로 사용하지 못하지만 제로샷 학습은 ML 실무자와 조직이 이러한 단점을 극복하는 데 도움이 됩니다.

제로샷 학습은 분류기가 훈련 중에 한 레이블 세트에서 학습한 다음 추론 중에 분류기가 이전에 본 적이 없는 다른 레이블 세트에서 평가되는 특정 ML 작업입니다. NLP에서는 NLI(자연어 추론) 작업에 대해 훈련된 제로샷 시퀀스 분류기를 사용하여 미세 조정 없이 텍스트를 분류할 수 있습니다. 이 게시물에서는 인기 있는 NLI를 사용합니다. 바트 트윗을 분류하기 위한 모델 bart-large-mnli. 이것은 Hugging Face 모델 허브에서 사용할 수 있는 대규모 사전 훈련된 모델(1.6GB)입니다.

Hugging Face는 TensorFlow 및 PyTorch와 같은 다양한 프레임워크를 지원하고 100개 이상의 다른 언어로 수천 개의 사전 훈련된 NLP 모델(변환기)이 있는 오픈 소스 플랫폼(Hugging Face Hub)을 관리하는 AI 회사입니다. 변환기 라이브러리는 개발자와 데이터 과학자가 분류, 정보 추출, 질문 답변, 요약, 번역 및 텍스트 생성과 같은 복잡한 NLP 및 NLU 작업을 시작할 수 있도록 도와줍니다.

AWS와 포옹하는 얼굴 NLP 모델의 채택을 단순화하고 가속화하기 위해 협력해 왔습니다. 이제 PyTorch 또는 TensorFlow에서 훈련 및 추론을 위한 DLC(딥 러닝 컨테이너) 세트와 SageMaker Python SDK용 Hugging Face 추정기 및 예측기를 사용할 수 있습니다. 이러한 기능을 통해 모든 수준의 전문 지식을 갖춘 개발자가 NLP를 쉽게 시작할 수 있습니다.

솔루션 개요

우리는 선택된 Twitter 계정에서 실시간으로 트윗을 가져오는 작업 솔루션을 제공합니다. 솔루션 시연을 위해 Amazon Web Services(뿡뿡), AWS 보안(@AWSSecurityInfo), 아마존 사이언스(@아마존사이언스), 콘텐츠를 보안, 데이터베이스, 컴퓨팅, 스토리지, 머신 러닝 등의 범주 중 하나로 분류합니다. 모델이 신뢰도 점수가 40%보다 큰 범주를 반환하면 알림이 전송됩니다.

다음 예에서 모델은 Amazon Web Services의 트윗을 기계 학습 범주로 분류하여 97%의 신뢰도 점수로 경고를 생성했습니다.

이 솔루션은 Hugging Face Hub의 사전 훈련된 변환기 모델에 의존하여 추론 시간에 제공되는 레이블 집합을 기반으로 트윗을 분류합니다. 모델은 훈련될 필요가 없습니다. 다음 스크린샷은 더 많은 예와 분류 방법을 보여줍니다.
몇 가지 관련 예
솔루션을 직접 사용해 보시기 바랍니다. 에서 소스 코드를 다운로드하기만 하면 됩니다. GitHub 저장소 README 파일의 배포 지침을 따릅니다.

솔루션 아키텍처

이 솔루션은 Twitter의 끝점에 대한 열린 연결을 유지하고 새 트윗이 도착하면 대기열에 메시지를 보냅니다. 소비자는 대기열에서 메시지를 읽고 분류 끝점을 호출하며 결과에 따라 최종 사용자에게 알립니다.

다음은 솔루션의 아키텍처 다이어그램입니다.
솔루션 범위
솔루션 워크플로는 다음 구성 요소로 구성됩니다.

  1. 이 솔루션은 Twitter의 Stream API를 사용하여 구성된 규칙과 일치하는 트윗(관심 계정의 트윗)을 실시간으로 가져옵니다. 이를 위해 컨테이너 내부에서 실행되는 애플리케이션은 Twitter의 끝점에 대한 열린 연결을 유지합니다. 인용하다 트위터 API 자세한 내용은.
  2. 컨테이너 실행 Amazon 탄력적 컨테이너 서비스 (Amazon ECS), 컨테이너화된 애플리케이션을 쉽게 배포, 관리 및 확장할 수 있는 완전 관리형 컨테이너 오케스트레이션 서비스입니다. 단일 작업은 에서 관리하는 서버리스 인프라에서 실행됩니다. AWS 파게이트.
  3. Twitter Bearer 토큰은 다음 위치에 안전하게 저장됩니다. AWS Systems Manager 파라미터 스토어, 능력 AWS 시스템 관리자 구성 데이터 및 비밀을 위한 안전한 계층적 스토리지를 제공합니다. 컨테이너 이미지가 호스팅되는 위치 Amazon Elastic Container Registry (Amazon ECR), 고성능 호스팅을 제공하는 완전 관리형 컨테이너 레지스트리.
  4. 새로운 트윗이 도착할 때마다 컨테이너 애플리케이션은 트윗을 아마존 단순 대기열 서비스 (Amazon SQS) 대기열. Amazon SQS는 마이크로서비스, 분산 시스템 및 서버리스 애플리케이션을 분리하고 확장할 수 있는 완전관리형 메시지 대기열 서비스입니다.
  5. 솔루션의 논리는 AWS 람다 기능. Lambda는 서버리스, 이벤트 기반 컴퓨팅 서비스입니다. 이 함수는 대기열에서 새 트윗을 사용하고 끝점을 호출하여 분류합니다.
  6. 엔드포인트는 Hugging Face 모델에 의존하며 SageMaker에서 호스팅됩니다. 엔드포인트는 추론을 실행하고 트윗의 클래스를 출력합니다.
  7. 분류에 따라 함수는 다음을 통해 알림을 생성합니다. 아마존 단순 알림 서비스 (Amazon SNS), 완전 관리형 메시징 서비스. SNS 주제를 구독할 수 있으며 여러 대상이 해당 알림을 받을 수 있습니다(참조 Amazon SNS 이벤트 대상). 예를 들어 알림을 이메일 메시지로 받은 편지함에 전달할 수 있습니다(참조 이메일 알림).

SageMaker로 포옹 얼굴 모델 배포

에서 공개적으로 사용 가능한 10,000개 이상의 모델 중 하나를 선택할 수 있습니다. 허깅페이스 모델 허브 다음을 사용하여 SageMaker와 함께 배포합니다. 포옹 얼굴 추론 DLC.

사용시 AWS 클라우드 포메이션, 공개적으로 사용 가능한 포옹 얼굴 추론 컨테이너 모델과 작업을 구성합니다. 이 솔루션은 페이스북/bart-large-mnli 모델 및 제로샷 분류 작업을 수행하지만 아래의 모델 중 하나를 선택할 수 있습니다. 제로샷 분류 허깅페이스 모델 허브에서 다음 코드와 같이 CloudFormation 템플릿에서 HF_MODEL_ID 및 HF_TASK 환경 변수를 설정하여 구성합니다.

SageMakerModel:
  Type: AWS::SageMaker::Model
  Properties:
    ExecutionRoleArn: !GetAtt SageMakerModelRole.Arn
    PrimaryContainer:
      Image: 763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7-transformers4.6-cpu-py36-ubuntu18.04
      Environment:
        HF_MODEL_ID: facebook/bart-large-mnli
        HF_TASK: zero-shot-classification
        SAGEMAKER_CONTAINER_LOG_LEVEL: 20
        SAGEMAKER_REGION: us-east-1

또는 AWS CloudFormation을 사용하지 않는 경우 몇 줄의 코드로 동일한 결과를 얻을 수 있습니다. 인용하다 Amazon SageMaker에 모델 배포 자세한 내용은.

콘텐츠를 분류하려면 SageMaker 끝점을 호출하기만 하면 됩니다. 다음은 Python 코드 스니펫입니다.

endpoint_name = os.environ['ENDPOINT_NAME']
labels = os.environ['ENDPOINT_NAME']

data = {
    'inputs': tweet,
    'parameters': {
        'candidate_labels': labels,
        'multi_class': False
    }
}

response = sagemaker.invoke_endpoint(EndpointName=endpoint_name,
                                     ContentType='application/json',
                                     Body=json.dumps(data))

response_body = json.loads(response['Body'].read())

참고 사항 거짓멀티 클래스 각 클래스에 대한 모든 확률의 합이 1이 될 것임을 나타내는 매개변수입니다.

솔루션 개선

트윗과 모델 결과를 저장하여 여기에 제안된 솔루션을 향상시킬 수 있습니다. 아마존 단순 스토리지 서비스 (Amazon S3), 객체 스토리지 서비스가 하나의 옵션입니다. 트윗, 결과 및 기타 메타데이터를 JSON 객체로 S3 버킷에 쓸 수 있습니다. 그런 다음 다음을 사용하여 해당 콘텐츠에 대해 임시 쿼리를 수행할 수 있습니다. 아마존 아테나, 표준 SQL을 사용하여 Amazon S3의 데이터를 쉽게 분석할 수 있는 대화형 쿼리 서비스입니다.

히스토리를 사용하여 통찰력을 추출할 뿐만 아니라 사용자 지정 모델을 학습할 수도 있습니다. Hugging Face 지원을 사용하여 SageMaker로 자신의 데이터로 모델을 훈련할 수 있습니다. 자세히 알아보기 Amazon SageMaker에서 교육 실행.

실제 사용 사례

고객은 이미 SageMaker에서 포옹 얼굴 모델을 실험하고 있습니다. 세구로스 볼리바르1939년에 설립된 콜롬비아 금융 및 보험 회사가 그 예입니다.

“우리는 고객과 보험 중개인을 위한 위협 알림 솔루션을 개발했습니다. 우리는 Hugging Face 사전 훈련된 NLP 모델을 사용하여 관련 계정의 트윗을 분류하여 청구를 완화하는 데 도움이 되는 예방 전략으로 거의 실시간으로 고객에게 알림을 생성합니다. 고객이 노출된 위험 수준을 인식하지 못하기 때문에 클레임이 발생합니다. 이 솔루션을 통해 우리는 고객의 인식을 제고하고 위험을 구체적인 상황에서 측정 가능한 것으로 전환할 수 있습니다.”

– Julian Rico, Seguros Bolívar의 연구 및 지식 책임자

Seguros Bolívar는 AWS와 협력하여 솔루션을 재설계했습니다. 이제 SageMaker에 의존하며 이 게시물에 설명된 것과 유사합니다.

결론

Zero-shot 분류는 사용자 지정 텍스트 분류기를 훈련할 데이터가 거의 없거나 사용자 지정 NLP 모델을 훈련할 여유가 없을 때 이상적입니다. 특수한 사용 사례의 경우 텍스트가 특정 단어나 용어를 기반으로 하는 경우 사용자 지정 훈련 세트를 기반으로 하는 지도 분류 모델을 사용하는 것이 좋습니다.

이 게시물에서는 AWS에서 Hugging Face 제로샷 모델을 사용하여 뉴스 분류기를 구축하는 방법을 보여주었습니다. Twitter를 뉴스 소스로 사용했지만 특정 요구 사항에 더 적합한 뉴스 소스를 선택할 수 있습니다. 또한 CloudFormation 템플릿에서 선택한 모델을 지정하기만 하면 모델을 쉽게 변경할 수 있습니다.

소스 코드는 다음을 참조하십시오. GitHub 저장소 여기에는 전체 설정 지침이 포함되어 있습니다. 직접 복제, 변경, 배포 및 실행할 수 있습니다. 또한 이를 시작점으로 사용하고 범주 및 경고 논리를 사용자 지정하거나 유사한 사용 사례에 대한 다른 솔루션을 구축할 수 있습니다.

한 번 시도해 보시고 의견을 알려주십시오. 언제나 그렇듯이 여러분의 피드백을 기다리고 있습니다. 일반적인 AWS Support 연락처로 보내거나 SageMaker 용 AWS 포럼.


저자 소개

Twitter, Amazon SageMaker 및 Hugging Face PlatoBlockchain Data Intelligence로 뉴스 기반 실시간 알림 시스템을 구축하십시오. 수직 검색. 일체 포함.데이비드 라레도 LATAM에 있는 AWS Envision Engineering의 프로토타입 설계자이며 여러 기계 학습 프로토타입 개발을 도왔습니다. 이전에는 기계 학습 엔지니어로 일했으며 5년 넘게 기계 학습을 하고 있습니다. 그의 관심 분야는 NLP, 시계열 및 종단 간 ML입니다.

Twitter, Amazon SageMaker 및 Hugging Face PlatoBlockchain Data Intelligence로 뉴스 기반 실시간 알림 시스템을 구축하십시오. 수직 검색. 일체 포함.라파엘 워넥 브라질에 본사를 둔 AWS Envision Engineering의 시니어 프로토타입 설계자입니다. 이전에는 Amazon.com.br 및 Amazon RDS Performance Insights에서 소프트웨어 개발 엔지니어로 일했습니다.

Twitter, Amazon SageMaker 및 Hugging Face PlatoBlockchain Data Intelligence로 뉴스 기반 실시간 알림 시스템을 구축하십시오. 수직 검색. 일체 포함.비크람 엘랑고 미국 버지니아에 위치한 Amazon Web Services의 AI/ML 전문가 솔루션 아키텍트입니다. Vikram은 설계 및 사고 리더십을 갖춘 금융 및 보험 업계 고객이 기계 학습 애플리케이션을 대규모로 구축 및 배포할 수 있도록 지원합니다. 그는 현재 자연어 처리, 책임 있는 AI, 추론 최적화 및 기업 전반에 걸친 ML 확장에 중점을 두고 있습니다. 여가 시간에는 가족과 함께 여행, 하이킹, 요리, 캠핑을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습