NLP alanında son zamanlarda birçok gelişme olmuştur. Önceden eğitilmiş modeller ve tam olarak yönetilen NLP hizmetleri, NLP'nin erişimini ve benimsenmesini demokratikleştirmiştir. Amazon Kavramak özel varlık tanıma, konu modelleme, duygu analizi ve daha fazlası gibi NLP görevlerini gerçekleştirebilen ve önceden herhangi bir ML deneyimine ihtiyaç duymadan verilerden içgörüler elde edebilen tam olarak yönetilen bir hizmettir.
Geçen yıl, AWS bir ortaklık ile Sarılma Yüz doğal dil işleme (NLP) modellerinin üretime daha hızlı getirilmesine yardımcı olmak için. Hugging Face, NLP'ye odaklanan açık kaynaklı bir AI topluluğudur. Python tabanlı kütüphaneleri (Transformers), BERT, RoBERTa ve GPT gibi popüler son teknoloji Transformer mimarilerini kolayca kullanmak için araçlar sağlar. Bu modelleri metin sınıflandırma, bilgi çıkarma ve soru cevaplama gibi çeşitli NLP görevlerine uygulayabilirsiniz. diğerleri.
Amazon Adaçayı Yapıcı geliştiricilere ve veri bilimcilerine makine öğrenimi (ML) modellerini hızlı bir şekilde oluşturma, eğitme ve dağıtma yeteneği sağlayan tam olarak yönetilen bir hizmettir. SageMaker, makine öğrenimi sürecinin her adımındaki ağır yükleri ortadan kaldırarak yüksek kaliteli modeller geliştirmeyi kolaylaştırır. SageMaker Python SDK, birkaç farklı ML ve derin öğrenme çerçevesi kullanarak modelleri SageMaker'da eğitmek ve dağıtmak için açık kaynaklı API'ler ve kapsayıcılar sağlar.
SageMaker ile Hugging Face entegrasyonu, kendi etki alanına özgü kullanım durumlarınız için uygun ölçekte Hugging Face modelleri oluşturmanıza olanak tanır.
Bu gönderide, SageMaker'da özel bir Hugging Face metin özetleyicisinin nasıl oluşturulacağına ve dağıtılacağına dair bir örnekte size yol gösteriyoruz. Bu amaç için Pegasus [1] kullanıyoruz, soyutlayıcı metin özetleme için özel olarak hazırlanmış bir hedef üzerinde özel olarak önceden eğitilmiş ilk Transformer tabanlı model. BERT, bir cümlede rastgele sözcükleri maskeleme konusunda önceden eğitilmiştir; Buna karşılık, Pegasus'un ön eğitiminde, cümleler bir girdi belgesinden maskelenir. Ardından model, maskelenmemiş tüm cümleleri bağlam olarak kullanarak tek bir çıktı dizisi olarak eksik cümleleri oluşturur ve sonuç olarak belgenin bir yönetici özetini oluşturur.
HuggingFace kitaplığının esnekliği sayesinde, bu gönderide gösterilen kodu t5, BART ve daha fazlası gibi diğer transformatör modelleri için kolayca uyarlayabilirsiniz.
Hugging Face modelinde ince ayar yapmak için kendi veri kümenizi yükleyin
Bir CSV dosyasından özel bir veri kümesi yüklemek için load_dataset
Transformers paketinden yöntem. Yüklenen veri kümesine belirteçleştirmeyi aşağıdakileri kullanarak uygulayabiliriz: datasets.Dataset.map
işlevi. map
function, yüklenen veri kümesi üzerinde yinelenir ve tokenize işlevini her örneğe uygular. Belirtilmiş veri kümesi daha sonra modelde ince ayar yapmak için eğiticiye iletilebilir. Aşağıdaki koda bakın:
Hugging Face SageMaker tahmincisi için eğitim komut dosyanızı oluşturun
Yazıda açıklandığı gibi AWS ve Hugging Face, Doğal Dil İşleme modellerinin benimsenmesini basitleştirmek ve hızlandırmak için işbirliği yapıyor, SageMaker'da Hugging Face modelini eğitmek hiç bu kadar kolay olmamıştı. Bunu, Hugging Face tahmincisini kullanarak yapabiliriz. Adaçayı Yapıcı SDK'sı.
Aşağıdaki kod parçacığı, veri kümemizde Pegasus'a ince ayar yapar. Ayrıca birçok bulabilirsiniz örnek defterler Bu, doğrudan transformatörlerin GitHub deposunda bulunan farklı model türlerinde ince ayar yapmanızda size rehberlik eder. Dağıtılmış eğitimi etkinleştirmek için kullanabiliriz Veri Paralellik Kitaplığı HuggingFace Trainer API'sinde yerleşik olarak bulunan SageMaker'da. Veri paralelliğini etkinleştirmek için şunları tanımlamamız gerekir: distribution
Hugging Face tahmincimizdeki parametre.
Yapılandırabileceğiniz maksimum eğitim grubu boyutu, model boyutuna ve kullanılan örneğin GPU belleğine bağlıdır. SageMaker dağıtılmış eğitimi etkinleştirilirse, toplam toplu iş boyutu, her aygıt/GPU'ya dağıtılan her toplu işin toplamıdır. Bir ml.g4dn.xlarge örneği yerine dağıtılmış eğitime sahip bir ml.g16dn.4xlarge kullanırsak, bir ml.g8dn.xlarge örneğinin (4 GPU) sekiz katı (1 GPU) daha fazla belleğimiz olur. Cihaz başına parti boyutu aynı kalır, ancak sekiz cihaz paralel olarak eğitilir.
SageMaker ile her zamanki gibi, bir train.py
Komut Dosyası Modu ile kullanılacak komut dosyası ve eğitim için hiperparametreler geçirin. Pegasus için aşağıdaki kod parçacığı modeli yükler ve Transformers'ı kullanarak eğitir Trainer
sınıf:
Tam kod şu adreste mevcuttur: GitHub.
Eğitimli Hugging Face modelini SageMaker'a dağıtın
Hugging Face'deki arkadaşlarımız, SageMaker for Transformers modelleri üzerinde, SageMaker Kucaklayan Yüz Çıkarım Araç Seti. Ortam değişkenini ayarlayarak önceden eğitilmiş modeli doğrudan dağıtabilirsiniz. "HF_TASK":"summarization"
(talimatlar için bkz. Pegasus Modelleri), seçme Sürüşve ardından seçim Amazon Adaçayı Yapıcı, bir çıkarım komut dosyası yazmaya gerek kalmadan.
Bununla birlikte, örneğin, farklı metin oluşturma parametrelerinin bir listesine dayalı olarak birkaç özet önerisi oluşturmak gibi, tahminler oluşturmak veya sonradan işlemek için belirli bir yola ihtiyacınız varsa, kendi çıkarım komut dosyanızı yazmak yararlı ve nispeten basit olabilir:
Önceki kodda gösterildiği gibi, SageMaker'da HuggingFace için böyle bir çıkarım betiği yalnızca aşağıdaki şablon işlevlerine ihtiyaç duyar:
- model_fn() – İçerideki eğitim işinin sonunda kaydedilenlerin içeriğini okur
SM_MODEL_DIR
veya tar.gz dosyası olarak kaydedilmiş mevcut bir model ağırlıkları dizininden Amazon Basit Depolama Hizmeti (Amazon S3). Eğitilmiş modeli ve ilişkili belirteci yüklemek için kullanılır. - input_fn () – Uç noktaya yapılan bir istekten alınan verileri biçimlendirir.
- predict_fn () – çıkışını çağırır
model_fn()
(model ve belirteç) çıktısı üzerinde çıkarım yapmak içininput_fn()
(biçimlendirilmiş veriler).
İsteğe bağlı olarak, bir output_fn()
çıktısını kullanarak çıkarım biçimlendirme işlevi predict_fn()
, ki bu yazıda göstermedik.
Daha sonra, eğitimli Hugging Face modelini, ilişkili çıkarım komut dosyasıyla birlikte kullanarak SageMaker'a dağıtabiliriz. Sarılma Yüz SageMaker Modeli sınıf:
Dağıtılan modeli test edin
Bu demo için modeli şu konuda eğittik: Kadın E-Ticaret Giyim İncelemeleri veri seti, giyim makalelerinin (girdi metni olarak kabul ettiğimiz) incelemelerini ve bunlarla ilişkili başlıklarını (özet olarak değerlendirdiğimiz) içerir. Eksik başlıkları olan makaleleri çıkardıktan sonra, veri kümesi 19,675 inceleme içeriyor. Bu makalelerin %70'ini içeren bir eğitim setinde Pegasus modeline beş dönem için ince ayar yapmak, ml.p3.5xlarge örneği üzerinde yaklaşık 3.16 saat sürdü.
Daha sonra modeli konuşlandırabilir ve test setinden bazı örnek verilerle test edebiliriz. Aşağıdaki, bir süveteri anlatan örnek bir incelemedir:
Bir SageMaker uç noktasında barındırılan özel çıkarım komut dosyamız sayesinde, bu inceleme için farklı metin oluşturma parametreleriyle birkaç özet oluşturabiliriz. Örneğin, uç noktadan farklı uzunluk cezaları belirten çok kısa ila orta uzunlukta özetler aralığı oluşturmasını isteyebiliriz (uzunluk cezası ne kadar küçükse, oluşturulan özet o kadar kısa olur). Aşağıda bazı parametre girişi örnekleri ve ardından makine tarafından oluşturulan özetler verilmiştir:
Hangi özeti tercih edersiniz? İlk oluşturulan başlık, kelime sayısının dörtte biri ile inceleme hakkındaki tüm önemli gerçekleri yakalar. Buna karşılık, sonuncusu, süveterin en önemli özelliğine odaklanmak için yalnızca üç kelime (orijinal incelemenin uzunluğunun 1/10'undan daha az) kullanır.
Sonuç
Özel veri kümenizde bir metin özetleyiciye ince ayar yapabilir ve şu adreste bulunan bu basit örnekle SageMaker'da üretime dağıtabilirsiniz. GitHub. Ek örnek defterler SageMaker üzerinde Hugging Face modellerini eğitmek ve dağıtmak için de mevcuttur.
Her zaman olduğu gibi, AWS geri bildirimleri memnuniyetle karşılar. Lütfen herhangi bir yorum veya soru gönderin.
Referanslar
[1] PEGASUS: Soyutlayıcı Özetleme için Çıkarılmış Boşluk Cümleleri ile Ön Eğitim
yazarlar hakkında
Viktor Maleseviç AWS Profesyonel Hizmetlerine sahip, Doğal Dil İşleme ve MLOps konusunda tutkulu bir Makine Öğrenimi Mühendisidir. Zorlu derin öğrenme modelleri geliştirmek ve AWS'de üretime geçirmek için müşterilerle birlikte çalışır. Boş zamanlarında arkadaşlarıyla bir kadeh kırmızı şarap ve biraz peynir paylaşmaktan hoşlanır.
Aamna Necmi AWS Professional Services ile bir Veri Bilimcisidir. Verilerden iş değeri ve içgörülerden yararlanmak için müşterilerin Büyük Veri ve Yapay Zeka teknolojileriyle yenilik yapmasına yardımcı olma konusunda tutkulu. Boş zamanlarında bahçe işleri yapmaktan ve yeni yerlere seyahat etmekten hoşlanır.
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon Adaçayı Yapıcı
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet