Twitter, Amazon SageMaker ve Hugging Face PlatoBlockchain Veri Zekası ile haber tabanlı, gerçek zamanlı bir uyarı sistemi oluşturun. Dikey Arama. Ai.

Twitter, Amazon SageMaker ve Hugging Face ile haber tabanlı gerçek zamanlı bir uyarı sistemi oluşturun

Günümüzde sosyal medya büyük bir haber kaynağıdır. Kullanıcılar haberleri tüketmek için Facebook ve Twitter gibi platformlara güveniyor. Sigorta şirketleri, ilk yanıt verenler, kolluk kuvvetleri ve devlet kurumları gibi belirli endüstriler için, meydana gelen ilgili olaylarla ilgili haberleri hızlı bir şekilde işleyebilmek, bu olaylar hala ortaya çıkarken harekete geçmelerine yardımcı olabilir.

Metin verilerinden değer çıkarmaya çalışan kuruluşların, karmaşık bir NLP (doğal dil işleme) modelinin eğitimini içermeyen bir çözüm araması alışılmadık bir durum değildir. Bu kuruluşlar için önceden eğitilmiş bir NLP modeli kullanmak daha pratiktir. Ayrıca, seçilen model başarı ölçütlerini karşılamıyorsa, kuruluşlar başka bir modeli kolayca seçebilmek ve yeniden değerlendirebilmek isterler.

Şu anda, aşağıdakiler sayesinde metin verilerinden bilgi çıkarmak her zamankinden daha kolay:

  • Transformatörler gibi son teknoloji ürünü, genel amaçlı NLP mimarilerinin yükselişi
  • Geliştiricilerin ve veri bilimcilerin, bulut üzerinde makine öğrenimi (ML) modellerini aşağıdaki gibi hizmetlerle hızla oluşturma, eğitme ve dağıtma yeteneği Amazon Adaçayı Yapıcı
  • Yüzlerce dilde binlerce önceden eğitilmiş NLP modelinin mevcudiyeti ve topluluk tarafından aşağıdaki gibi platformlarda sağlanan çoklu çerçeve desteği sarılma yüz hub

Bu gönderide, Hugging Face Hub'dan önceden eğitilmiş bir model kullanarak Twitter'dan gelen haberleri tüketen ve tweet'leri sınıflandıran gerçek zamanlı bir uyarı sisteminin nasıl oluşturulacağını gösteriyoruz. Bu çözümü sıfır atış sınıflandırması için kullanabilirsiniz, yani tweet'leri hemen hemen her kategoride sınıflandırabilir ve modeli gerçek zamanlı çıkarım için SageMaker ile dağıtabilirsiniz.

Alternatif olarak, sosyal medya etkileşimlerini analiz ederek müşterinizin konuşmaları hakkında fikir edinmek ve marka bilinirliğini derinleştirmek istiyorsanız, şuraya göz atmanızı öneririz: Yapay Zeka Odaklı Sosyal Medya Kontrol Paneli. Çözüm kullanır Amazon Kavramak, makine öğrenimi deneyimi gerektirmeden metindeki değerli içgörüleri ve bağlantıları ortaya çıkaran tam olarak yönetilen bir NLP hizmeti.

Sıfır vuruşlu öğrenme

NLP ve doğal dil anlama (NLU) alanları, metin sınıflandırma, soru yanıtlama, özetleme, metin oluşturma ve daha fazlasını içeren kullanım durumlarını ele almak için hızla gelişmiştir. Bu evrim, kısmen, son teknoloji, transformatörler gibi genel amaçlı mimarilerin yükselişi, ancak aynı zamanda bu tür modellerin eğitimi için daha fazla ve daha kaliteli metin külliyatının mevcudiyeti sayesinde mümkün olmuştur.

Transformatör mimarisi, sıfırdan eğitilmek için alan uzmanlığı ve büyük miktarda veri gerektiren karmaşık bir sinir ağıdır. Yaygın bir uygulama, BERT, RoBERTa, T5, GPT-2 veya DistilBERT gibi önceden eğitilmiş son teknoloji ürünü bir transformatörü almak ve modelde belirli bir kullanım durumuna ince ayar yapmaktır (öğrenmeyi aktarma).

Bununla birlikte, önceden eğitilmiş bir NLP modelinde transfer öğrenimi gerçekleştirmek bile çoğu zaman zorlu bir görev olabilir, büyük miktarda etiketli metin verisi ve verileri düzenlemek için bir uzman ekibi gerektirir. Bu karmaşıklık, çoğu kuruluşun bu modelleri etkili bir şekilde kullanmasını engeller, ancak sıfır adımlı öğrenme, makine öğrenimi uygulayıcılarının ve kuruluşların bu eksikliğin üstesinden gelmesine yardımcı olur.

Sıfır atışlı öğrenme, bir sınıflandırıcının eğitim sırasında bir etiket kümesi üzerinde öğrendiği ve ardından çıkarım sırasında sınıflandırıcının daha önce hiç görmediği farklı bir etiket kümesi üzerinde değerlendirildiği belirli bir makine öğrenimi görevidir. NLP'de, herhangi bir ince ayar yapmadan metni sınıflandırmak için bir doğal dil çıkarımı (NLI) görevi üzerinde eğitilmiş bir sıfır-adım dizisi sınıflandırıcısı kullanabilirsiniz. Bu yazıda popüler NLI'yi kullanıyoruz BART tweet'leri sınıflandırmak için bart-large-mnli modeli. Bu, Hugging Face model merkezinde bulunan önceden eğitilmiş büyük bir modeldir (1.6 GB).

Hugging Face, 100'den fazla farklı dilde ve TensorFlow ve PyTorch gibi farklı çerçeveleri destekleyen binlerce önceden eğitilmiş NLP modeli (transformatör) ile açık kaynaklı bir platformu (Hugging Face Hub) yöneten bir AI şirketidir. Transformers kitaplığı, geliştiricilerin ve veri bilimcilerinin sınıflandırma, bilgi çıkarma, soru yanıtlama, özetleme, çeviri ve metin oluşturma gibi karmaşık NLP ve NLU görevlerine başlamalarına yardımcı olur.

AWS ve Sarılma Yüz NLP modellerinin benimsenmesini basitleştirmek ve hızlandırmak için işbirliği yapıyorlar. PyTorch veya TensorFlow'da eğitim ve çıkarım için bir dizi Derin Öğrenme Kapsayıcısı (DLC) ve SageMaker Python SDK için Hugging Face tahmin edicileri ve tahmin edicileri artık mevcut. Bu yetenekler, her düzeyde uzmanlığa sahip geliştiricilerin NLP'yi kolayca kullanmaya başlamasına yardımcı olur.

Çözüme genel bakış

Seçilen Twitter hesaplarından gerçek zamanlı olarak tweet getiren çalışan bir çözüm sunuyoruz. Çözümümüzün gösterimi için üç hesap kullanıyoruz, Amazon Web Servisleri (@kafadergisi), AWS Güvenliği (@AWSSecurityBilgi) ve Amazon Bilimi (@AmazonBilim) ve içeriklerini şu kategorilerden birinde sınıflandırın: güvenlik, veritabanı, bilgi işlem, depolama ve makine öğrenimi. Model, güven puanı %40'ın üzerinde olan bir kategori döndürürse bir bildirim gönderilir.

Aşağıdaki örnekte, model, Amazon Web Services'den bir tweet'i makine öğrenimi kategorisinde %97'lik bir güven puanıyla sınıflandırarak bir uyarı oluşturdu.

Çözüm, tweet'leri çıkarım zamanında sağlanan bir dizi etikete göre sınıflandırmak için önceden eğitilmiş bir Hugging Face transformatör modeline (Hugging Face Hub'dan) dayanır; modelin eğitilmesi gerekmez. Aşağıdaki ekran görüntüleri daha fazla örnek ve bunların nasıl sınıflandırıldığını göstermektedir.
Bazı ilgili örnekler
Çözümü kendiniz denemenizi öneririz. Kaynak kodunu adresinden indirmeniz yeterlidir. GitHub deposu ve README dosyasındaki dağıtım talimatlarını izleyin.

Çözüm mimarisi

Çözüm, Twitter'ın uç noktasıyla açık bir bağlantı kuruyor ve yeni bir tweet geldiğinde kuyruğa bir mesaj gönderiyor. Bir tüketici, kuyruktaki mesajları okur, sınıflandırma uç noktasını çağırır ve sonuçlara bağlı olarak son kullanıcıyı bilgilendirir.

Aşağıda çözümün mimari diyagramı verilmiştir.
Çözümün kapsamı
Çözüm iş akışı aşağıdaki bileşenlerden oluşur:

  1. Çözüm, yapılandırılmış kurallarla (ilgilenen hesaplardan gelen tweetler) eşleşen tweet'leri gerçek zamanlı olarak almak için Twitter'ın Akış API'sine dayanır. Bunu yapmak için, bir kapsayıcı içinde çalışan bir uygulama, Twitter'ın uç noktasıyla açık bir bağlantı kurar. bkz. Twitter API'sı daha fazla ayrıntı için.
  2. Konteyner çalışır Amazon Elastik Konteyner Hizmeti (Amazon ECS), kapsayıcılı uygulamaları dağıtmanızı, yönetmenizi ve ölçeklendirmenizi kolaylaştıran, tam olarak yönetilen bir kapsayıcı düzenleme hizmeti. tarafından yönetilen sunucusuz bir altyapı üzerinde tek bir görev yürütülür. AWS Fargate.
  3. Twitter Taşıyıcı jetonu güvenli bir şekilde şurada saklanır: AWS Systems Manager Parametre Deposu, yeteneği AWS Sistem Yöneticisi yapılandırma verileri ve sırlar için güvenli, hiyerarşik depolama sağlar. Kapsayıcı resmi şurada barındırılıyor: Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR), yüksek performanslı barındırma sunan tam olarak yönetilen bir kapsayıcı kayıt defteri.
  4. Yeni bir tweet geldiğinde, konteyner uygulaması tweet'i bir Amazon Basit Kuyruk Hizmeti (Amazon SQS) kuyruğu. Amazon SQS, mikro hizmetleri, dağıtılmış sistemleri ve sunucusuz uygulamaları ayırmanıza ve ölçeklendirmenize olanak tanıyan, tümüyle yönetilen bir ileti kuyruğa alma hizmetidir.
  5. Çözümün mantığı bir AWS Lambda işlev. Lambda, sunucusuz, olaya dayalı bir bilgi işlem hizmetidir. İşlev, kuyruktan yeni tweet'leri tüketir ve bir bitiş noktası çağırarak bunları sınıflandırır.
  6. Uç nokta, Hugging Face modeline dayanır ve SageMaker'da barındırılır. Uç nokta, çıkarımı çalıştırır ve tweet'in sınıfını verir.
  7. Sınıflandırmaya bağlı olarak, işlev aracılığıyla bir bildirim oluşturur. Amazon Basit Bildirim Servisi (Amazon SNS), tam olarak yönetilen bir mesajlaşma hizmetidir. SNS konusuna abone olabilirsiniz ve birden fazla hedef bu bildirimi alabilir (bkz. Amazon SNS etkinlik hedefleri). Örneğin, bildirimi gelen kutularına e-posta mesajları olarak gönderebilirsiniz (bkz. Email bildirimleri).

SageMaker ile Hugging Face modellerini dağıtın

Halka açık 10,000'den fazla modelden herhangi birini seçebilirsiniz. Sarılma Yüz Modeli Hub ve bunları kullanarak SageMaker ile konuşlandırın Hugging Face Inference DLC'leri.

Kullanırken AWS CloudFormation, herkese açık olanlardan birini seçersiniz Sarılma Yüz Çıkarım Kapsayıcıları ve modeli ve görevi yapılandırın. Bu çözüm, facebook/bart-büyük-mnli model ve sıfır atış sınıflandırma görevi, ancak aşağıdaki modellerden herhangi birini seçebilirsiniz. Sıfır Atış Sınıflandırması Hugging Face Model Hub'da. Bunları, CloudFormation şablonunuzda HF_MODEL_ID ve HF_TASK ortam değişkenlerini aşağıdaki kodda olduğu gibi ayarlayarak yapılandırırsınız:

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

Alternatif olarak, AWS CloudFormation kullanmıyorsanız, birkaç satır kodla aynı sonuçları elde edebilirsiniz. bkz. Modelleri Amazon SageMaker'a dağıtın daha fazla ayrıntı için.

İçeriği sınıflandırmak için SageMaker uç noktasını çağırmanız yeterlidir. Aşağıdaki bir Python kod parçacığıdır:

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())

Not Yanlış değeri çoklu sınıf Her sınıf için tüm olasılıkların toplamının 1'e eşit olacağını gösteren parametre.

Çözüm iyileştirmeleri

Tweet'leri ve model sonuçlarını saklayarak burada önerilen çözümü geliştirebilirsiniz. Amazon Basit Depolama Hizmeti Bir nesne depolama hizmeti olan (Amazon S3) seçeneklerden biridir. Tweet'leri, sonuçları ve diğer meta verileri JSON nesneleri olarak bir S3 kovasına yazabilirsiniz. Daha sonra kullanarak bu içeriğe karşı geçici sorgular gerçekleştirebilirsiniz. Amazon Atina, standart SQL kullanarak Amazon S3'teki verileri analiz etmeyi kolaylaştıran etkileşimli bir sorgu hizmeti.

Geçmişi yalnızca içgörüleri çıkarmak için değil, aynı zamanda özel bir model eğitmek için de kullanabilirsiniz. SageMaker ile kendi verilerinizle bir modeli eğitmek için Hugging Face desteğini kullanabilirsiniz. Daha fazla bilgi edinin Amazon SageMaker'da eğitim çalıştırın.

Gerçek dünya kullanım örnekleri

Müşteriler halihazırda SageMaker'da Hugging Face modellerini deniyorlar. Seguros Bolivar1939'da kurulan Kolombiyalı bir finans ve sigorta şirketi buna bir örnektir.

“Müşteriler ve sigorta brokerleri için bir tehdit bildirimi çözümü geliştirdik. Talepleri azaltmaya yardımcı olacak bir önleme stratejisi olarak müşterilerimiz için gerçek zamanlıya yakın bildirimler oluşturmak üzere ilgili hesaplardan gelen tweetleri sınıflandırmak için Hugging Face önceden eğitilmiş NLP modellerini kullanıyoruz. Müşteriler maruz kaldıkları risk düzeyinin farkında olmadıkları için bir talep oluşur. Çözüm, müşterilerimizde farkındalık yaratmamızı ve riski somut durumlarda ölçülebilir bir şeye dönüştürmemizi sağlıyor.”

– Julian Rico, Seguros Bolivar Araştırma ve Bilgi Şefi.

Seguros Bolivar, çözümlerini yeniden yapılandırmak için AWS ile birlikte çalıştı; artık SageMaker'a güveniyor ve bu gönderide açıklanana benziyor.

Sonuç

Sıfır atış sınıflandırması, özel bir metin sınıflandırıcıyı eğitmek için çok az veriye sahip olduğunuzda veya özel bir NLP modeli eğitmeyi göze alamadığınızda idealdir. Özel kullanım durumları için, metin belirli sözcüklere veya terimlere dayalı olduğunda, özel bir eğitim kümesine dayalı denetimli bir sınıflandırma modeliyle gitmek daha iyidir.

Bu gönderide, AWS'de bir Hugging Face sıfır çekim modelini kullanarak bir haber sınıflandırıcısının nasıl oluşturulacağını gösterdik. Twitter'ı haber kaynağımız olarak kullandık, ancak özel ihtiyaçlarınıza daha uygun bir haber kaynağı seçebilirsiniz. Ayrıca, modeli kolayca değiştirebilirsiniz, seçtiğiniz modeli CloudFormation şablonunda belirtmeniz yeterlidir.

Kaynak kodu için bkz. GitHub deposu Tam kurulum talimatlarını içerir. Kendiniz klonlayabilir, değiştirebilir, dağıtabilir ve çalıştırabilirsiniz. Ayrıca bunu bir başlangıç ​​noktası olarak kullanabilir ve kategorileri ve uyarı mantığını özelleştirebilir veya benzer bir kullanım durumu için başka bir çözüm oluşturabilirsiniz.

Lütfen bir deneyin ve ne düşündüğünüzü bize bildirin. Her zaman olduğu gibi, görüşlerinizi dört gözle bekliyoruz. Bunu her zamanki AWS Support kişilerinize veya şuradan gönderebilirsiniz: SageMaker için AWS Forumu.


yazarlar hakkında

Twitter, Amazon SageMaker ve Hugging Face PlatoBlockchain Veri Zekası ile haber tabanlı, gerçek zamanlı bir uyarı sistemi oluşturun. Dikey Arama. Ai.david laredo LATAM'daki AWS Envision Engineering'de bir Prototipleme Mimarıdır ve burada birden çok makine öğrenimi prototipinin geliştirilmesine yardımcı olmuştur. Daha önce Makine Öğrenimi Mühendisi olarak çalışmış ve 5 yılı aşkın süredir makine öğrenimi yapmaktadır. İlgi alanları NLP, zaman serileri ve uçtan uca ML'dir.

Twitter, Amazon SageMaker ve Hugging Face PlatoBlockchain Veri Zekası ile haber tabanlı, gerçek zamanlı bir uyarı sistemi oluşturun. Dikey Arama. Ai.rafael werneck Brezilya merkezli AWS Envision Engineering'de Kıdemli Prototipleme Mimarıdır. Daha önce Amazon.com.br ve Amazon RDS Performance Insights'ta Yazılım Geliştirme Mühendisi olarak çalıştı.

Twitter, Amazon SageMaker ve Hugging Face PlatoBlockchain Veri Zekası ile haber tabanlı, gerçek zamanlı bir uyarı sistemi oluşturun. Dikey Arama. Ai.vikram elango Virginia, ABD merkezli Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. Vikram, finans ve sigorta sektörü müşterilerine, geniş ölçekte makine öğrenimi uygulamaları oluşturmak ve dağıtmak için tasarım ve düşünce liderliği ile yardımcı olur. Şu anda doğal dil işleme, sorumlu yapay zeka, çıkarım optimizasyonu ve kurum genelinde makine öğrenimini ölçeklendirmeye odaklanıyor. Boş zamanlarında ailesiyle seyahat etmekten, yürüyüş yapmaktan, yemek yapmaktan ve kamp yapmaktan hoşlanır.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi