Bugün, Amazon'un en son teknolojiye sahip özelliklerinin kamuya sunulduğunu duyuruyoruz. 20 milyar parametreli Alexa Öğretmen Modeli (AlexaTM 20B) aracılığıyla Amazon SageMaker Hızlı Başlangıç, SageMaker'ın makine öğrenimi merkezi. AlexaTM 20B, Amazon tarafından geliştirilen çok dilli, büyük ölçekli bir diziden diziye (seq2seq) dil modelidir. AlexaTM 20B'yi, finansal raporları özetlemekten müşteri hizmetleri sohbet robotları için soru yanıtlamaya kadar çok çeşitli sektör kullanım durumları için kullanabilirsiniz. Yalnızca birkaç mevcut eğitim örneği olduğunda veya hiç eğitim örneği olmadığında bile uygulanabilir. Alexa™ 20B Mağazasından 175 milyar GPT-3 modeli SuperGLUE gibi sıfır atışlı öğrenme görevlerinde ve XNLI gibi çok dilli sıfır atışlı görevler için son teknoloji performansı gösterir.
Bu yazıda, AlexaTM 20B modeliyle çıkarımın, JumpStart API'leri aracılığıyla programlı olarak nasıl dağıtılacağına ve çalıştırılacağına dair bir genel bakış sunuyoruz. SageMaker Python SDK'sı. Birden fazla dil arasında çeviri yapmak, uzun metinleri özetlemek, belirli bir bağlama göre soruları yanıtlamak ve insanlar tarafından yazılan metinlerden ayırt edilemeyecek görünen metinler oluşturmak için bu modeli nasıl kullanabileceğinizi örneklendiriyoruz.
AlexaTM 20B ve bağlam içi öğrenme
Amazon Alexa AI'nın Alexa Öğretmen Modeli (AlexaTM) programı, genellemeyi iyileştirmeyi ve aşağı yönlü görevler için veri kıtlığını yönetmeyi amaçlayan büyük ölçekli, çok dilli derin öğrenme modelleri (öncelikle Transformer tabanlı) oluşturmak üzere tasarlanmıştır. Büyük ölçekli ön eğitimle öğretmen modelleri, seyrek verilerden yeni görevler öğrenmek için iyi bir genelleme yapabilir ve geliştiricilerin alt görevlerdeki performansı artırmasına yardımcı olabilir. AlexaTM 20B gösterdi rekabetçi performans makine çevirisi, veri oluşturma ve özetleme gibi ortak doğal dil işleme (NLP) kıyaslamaları ve görevleri hakkında.
AlexaTM 20B gibi temel modellerin kullanılması, pahalı model ön eğitimine olan ihtiyacı azaltır ve daha az çaba ve daha az göreve özel eğitim verisi ile görev modellerinin geliştirilmesi için son teknoloji ürünü bir başlangıç noktası sağlar. Temel modellerin temel yeteneklerinden biri, bir modele farklı dillerde soru sorma ve yanıtlama gibi yeni görevleri çok az miktarda girdi örneğiyle ve hiçbir ince ayar veya degrade güncellemesi gerektirmeden gerçekleştirmeyi öğretebilmemizdir. Bu şu şekilde bilinir: bağlam içi öğrenme. Çıkarım için bağlam olarak sağlanan yeni bir görevin yalnızca birkaç örneğiyle AlexaTM 20B modeli, büyük ölçekli ön eğitim sırasında öğrenilenlerden elde edilen bilgileri, hatta diller arasında bile aktarabilir. Buna denir az vuruşlu öğrenme. Bazı durumlarda model, hiçbir eğitim verisi olmadan, yalnızca neyin tahmin edilmesi gerektiğine ilişkin bir açıklamayla iyi performans gösterebilir. Buna denir sıfır vuruşlu öğrenme. Örneğin, tek seferlik doğal dil üretimi için AlexaTM 20B kullandığımızı varsayalım. Modele iletilen girdi, karşılık gelen çıktı metni anlatımıyla birlikte nitelik-değer çiftleri biçimindeki eğitim örneğidir. Daha sonra test örneği, aşağıdaki şekilde gösterildiği gibi tam giriş istemini oluşturacak şekilde eklenir.
Model hakkında daha fazla bilgi edinmek için şuraya göz atın: 20B parametreli Alexa modeli, birkaç adımlık öğrenmede yeni noktalar belirliyor veya orijinal kâğıt.
AlexaTM 20B'nin kullanımı ticari olmayan kullanıma sunulmuştur ve Alexa Öğretmen Modeli Lisans sözleşmesi.
Çözüme genel bakış
Aşağıdaki bölümlerde, modelin nasıl dağıtılacağı, çıkarımın nasıl çalıştırılacağı ve birkaç adımlık öğrenme görevlerini çözmek için bağlam içi öğrenmenin nasıl yapılacağı hakkında adım adım bir demo sağlanmaktadır.
Aşağıdaki bölümün kod parçacıkları içerdiğini unutmayın; Bu demodaki tüm adımları içeren kodun tamamı, beraberindeki not defterinde mevcuttur: SageMaker JumpStart'ta AlexaTM 20B ile bağlam içi öğrenme.
Modeli dağıtın
SageMaker'da geniş bir dil modeli kullanmak için model yükleme, paralelleştirme ve daha fazlası gibi adımları içeren, modele özel bir çıkarım komut dosyasına ihtiyacınız vardır. Ayrıca her üçünün birlikte çalışabileceğini doğrulamak için komut dosyaları, model ve istenen örnek türleri için uçtan uca testler oluşturmanız gerekir. JumpStart, sağlam bir şekilde test edilmiş, kullanıma hazır komut dosyaları sağlayarak bu çabayı ortadan kaldırır.
SageMaker, Docker kapsayıcılarını eğitim ve çıkarım için kapsamlı bir şekilde çalıştırma olanağı sağlar. JumpStart bu mevcut çerçeveye özgü öğeleri kullanır SageMaker Derin Öğrenme Kapsayıcıları (DLC'ler). Optimize edilmiş DLC'yi getirerek başlıyoruz (deploy_image_uri
) kullanmak model_id
. Sonra şunu getiriyoruz model_uri
çıkarım işleme komut dosyaları ve ilgili bağımlılıklarla birlikte model parametrelerini içerir. Daha sonra bir tane oluşturuyoruz model örneği SageMaker'da ve onu gerçek zamanlı bir uç noktaya dağıtın. Aşağıdaki koda bakın:
AlexaTM 20B'nin dağıtımı, en az 50 GB CPU belleği ve en az 42 GB GPU belleği olan GPU destekli bir örnek gerektirir. SageMaker, gerçek zamanlı çıkarımı destekleyen buna benzer birçok örnek sağlar. Bu çözümü üç örnekte test ettik: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Aşağıdaki koda bakın:
Daha sonra modeli bir SageMaker gerçek zamanlı uç noktasına dağıtıyoruz:
AlexaTM 20B, çıkarım kapsayıcısında 40 GB disk alanı gerektirir. Bir ml.g4dn.12xlarge örneği bu gereksinimi karşılar. Örneğin ml.p3.8xlarge ve ml.p3.16xlarge türleri için bir Amazon Elastik Blok Mağazası (Amazon EBS) hacmi, büyük model boyutunu işlemek için kullanılır. Bu nedenle ayarladık volume_size = None
ml.g4dn.12xlarge üzerinde dağıtım yaparken ve volume_size=256
ml.p3.8xlarge veya ml.p3.16xlarge üzerinde dağıtım yaparken.
Modelin dağıtılması 10 dakika kadar sürebilir. Model konuşlandırıldıktan sonra ondan gerçek zamanlı olarak tahminler alabiliriz!
çıkarımı çalıştır
AlexaTM 20B, kısmi bir sıra verildiğinde (bir cümle veya metin parçası) sonraki kelime kümesini üreten bir metin üretme modelidir. Aşağıdaki kod parçacığı, konuşlandırdığımız uç noktayı nasıl sorgulayacağınıza ve otomatik tamamlama görevi için çıktıları nasıl ayrıştıracağınıza dair bir fikir verir. Dağıtılmış bir modele istek göndermek için UTF-8 biçiminde kodlanmış bir JSON sözlüğü kullanırız. Uç nokta yanıtı, oluşturulan metinlerin listesini içeren bir JSON nesnesidir.
Daha sonra uç noktayı sorgularız ve yanıtı örnek bir giriş metninde ayrıştırırız:
AlexaTM 20B şu anda çıkarım sırasında 10 metin oluşturma parametresini desteklemektedir: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
, ve seed
. Her parametrenin geçerli değerleri ve bunların çıktı üzerindeki etkileri hakkında ayrıntılı bilgi için birlikte verilen not defterine bakın: SageMaker JumpStart'ta AlexaTM 20B ile bağlam içi öğrenme.
Bağlam içi öğrenme
Bağlam içi öğrenme şu anlama gelir: dil modeline, görevi gösteren girdi-çıktı çiftlerinin eğitiminden oluşan bir bilgi istemi sağlarız. İsteme bir test girişi ekliyoruz ve dil modelinin, istemi koşullandırarak ve sonraki belirteçleri veya kelimeleri tahmin ederek tahminlerde bulunmasına izin veriyoruz. Bu, birkaç eğitim örneğinden bir görevi öğrendiğimiz birkaç anlık öğrenme problemini çözmek için oldukça etkili bir tekniktir.
Daha sonra, bağlam içi öğrenme yoluyla çeşitli 20 atışlı ve sıfır atışlı görevler için AlexaTM 1B'yi nasıl kullanabileceğinizi göstereceğiz. Önceki diziden diziye modellerden farklı olarak AlexaTM 20B, gürültü gidermenin yanı sıra nedensel dil modelleme konusunda da eğitildi; bu da onu bağlam içi öğrenme için iyi bir model haline getiriyor.
1 çekimlik metin özetleme
Metin özetleme, verileri kısaltma ve orijinal metinde bulunan en önemli bilgileri temsil eden bir özet oluşturma görevidir. 1 çekimlik metin özetleme, metni tek bir eğitim örneğine göre özetlemeyi öğrendiğimiz ortamı ifade eder. Aşağıdaki kod, bir metin özetleme örneğidir. XSUM veri kümesi:
Yalnızca bir eğitim örneği sağlandığında özetleme için aşağıdaki istemi kullanırız. Modelden oluşturulan metin, test makalesinin tahmin edilen özeti olarak yorumlanır.
Çıktı aşağıdaki gibidir:
Tek seferde doğal dil oluşturma
Doğal dil üretimi, girdi metnine göre metin anlatıları üretme görevidir. Aşağıdaki örnekte bir eğitim örneği gösterilmektedir: E2E veri kümesi:
Yalnızca bir eğitim örneği (1 atışlık) sağlandığında doğal dil oluşturmak için aşağıdaki istemi kullanırız. Modelden oluşturulan metin, test girişi için tahmin edilen metin anlatımı olarak yorumlanır (test_inp
).
Çıktı aşağıdaki gibidir:
1 çekimde makine çevirisi
Makine çevirisi, metni bir dilden diğerine çevirme görevidir. Aşağıdaki örnekte bir eğitim örneği gösterilmektedir. WMT19 veri kümesi Almanca'dan İngilizce'ye çevirmemiz gereken:
Yalnızca bir eğitim örneği (1 atışlık) sağlandığında makine çevirisi için aşağıdaki istemi kullanırız. Modelden oluşturulan metin, test girişinin çevirisi olarak yorumlanır (test_inp
).
Çıktı aşağıdaki gibidir:
Sıfır atışlı çıkarımsal soru yanıtlama
Çıkarıcı soru cevaplama, bağlam paragrafından bir sorunun cevabını bulma görevidir. Aşağıda bir bağlam örneği ve bir soru yer almaktadır. SQuAD v2 veri kümesi:
Görevimiz için herhangi bir eğitim örneğimiz olmadığını unutmayın. Bunun yerine, istemdeki son kelimeyle ilgili olarak yapay bir soru yaratırız. test_context
(kukla atış). Bu nedenle, aslında sıfır atışlı çıkarımsal soru yanıtlaması yapıyoruz.
Herhangi bir eğitim örneği sağlanmadığında çıkarımsal soru yanıtlaması için aşağıdaki istemi kullanırız. Modelden oluşturulan metin, test sorusunun cevabı olarak yorumlanır.
Çıktı aşağıdaki gibidir:
Hızlı Mühendislik
Hızlı mühendislik bazen bir sanat olabilir. Bilgi istemi şablonundaki küçük değişiklikler bile modelin belirli bir görevdeki performansında önemli değişikliklere neden olabilir. Aşağıda iyi bilgi istemi şablonları yazmaya yönelik birkaç tavsiye bulunmaktadır. İlk olarak, modelin gerçek cümlelerin yapısını (nedensel dil modelleme) öğrenmek için eğitildiğini hatırlamak önemlidir. Bu nedenle, bilgi istemi şablonunuzun doğal dilde dilbilgisi ve yapısal olarak doğru olduğundan emin olmak en iyisidir. İkincisi, bu özel model, yukarıda gösterildiği gibi, cevapta beklenen yapıyı öğretmeye yardımcı olmak için maket çekimlerden yararlanır. Üçüncüsü, görev performansının her zaman çeşitli aday bilgi istemi şablonları üzerinden incelenmesi önerilir. İstem kaynağı ve Doğal Talimatlar bilgi istemi şablonlarını standartlaştırmaya yönelik iki açık kaynaklı çerçevedir ve mevcut modelleme görevleri için kullanılan çeşitli örnek bilgi istemlerini sağlarlar. Ek olarak, Ek B AlexaTM 20B kağıdı makalede sunulan sonuçları oluşturmak için kullanılan bilgi istemi şablonlarını sağlar. Hem doğal dil hem de sürekli istemler dahil olmak üzere, bir görev için en iyi istemlerin otomatik olarak oluşturulmasına ve öğrenilmesine adanmış, giderek büyüyen bir alt alan bulunmaktadır. Bu, bu eğitimin kapsamı dışındadır.
Sonuç
Bu yazıda AlexaTM 20B modelinin bir SageMaker uç noktasına nasıl konuşlandırılacağını ve çıkarımın nasıl çalıştırılacağını gösterdik. AlexaTM 20B modelini, birkaç adımlık çeşitli öğrenme görevleri için bağlam içi öğrenme amacıyla kullanabilirsiniz. AlexaTM 20B hakkında daha fazla bilgi edinmek için bkz. 20B parametreli Alexa modeli, birkaç adımlık öğrenmede yeni noktalar belirliyor veya orijinal kâğıt.
Yazarlar, bu lansmanı mümkün kılmak için Maciej Rudnicki, Jakub Debski, Ashish Khetan, Anastasiia Dubinina, Vitaliy Korolev, Karl Albertsen, Saleh Soltan ve Mariusz Momotko'ya teknik katkılarından dolayı teşekkür etmek ister.
JumpStart Hakkında
JumpStart, ML'ye hızlı bir şekilde başlamanıza yardımcı olmak için 350'den fazla önceden eğitilmiş model, yerleşik algoritma ve önceden oluşturulmuş çözüm şablonları sunan Amazon SageMaker'ın makine öğrenimi (ML) merkezidir. JumpStart, TensorFlow, PyTorch, Hugging Face ve MXNet gibi popüler model merkezlerinden nesne algılama, metin sınıflandırma ve metin oluşturma gibi popüler makine öğrenimi görevlerini destekleyen son teknoloji ürünü modelleri barındırır. Makine öğrenimi araştırma topluluğu, yakın zamanda geliştirilen modellerin çoğunluğunun kamuya açık hale getirilmesi için büyük miktarda çaba harcadı. JumpStart, doğru ML modellerini ve algoritmalarını bulmanıza ve hemen modeller oluşturmaya başlamanıza yardımcı olmayı amaçlamaktadır. JumpStart özellikle aşağıdaki faydaları sağlar:
- Kullanıcı arayüzü ve SDK ile kolay erişim – SageMaker Python SDK'yı kullanarak JumpStart'taki modellere ve algoritmalara programlı olarak veya Amazon SageMaker Studio'daki JumpStart kullanıcı arayüzü aracılığıyla erişebilirsiniz. Şu anda AlexaTM 20B'ye yalnızca SageMaker Python SDK aracılığıyla erişilebilmektedir.
- SageMaker yerleşik algoritmaları – JumpStart, karşılık gelen eğitim komut dosyaları (destekleniyorsa), çıkarım komut dosyaları ve örnek not defterleriyle birlikte 350'den fazla yerleşik algoritma ve önceden eğitilmiş model sağlar. Komut dosyaları her çerçeve ve görev için optimize edilmiştir ve GPU desteği, otomatik model ayarlama ve artımlı eğitim gibi özellikler sağlar. Uyumluluk sorunlarıyla karşılaşmamanız için komut dosyaları aynı zamanda SageMaker örneklerine ve özelliklerine karşı da test edilir.
- Önceden oluşturulmuş çözümler – JumpStart, talep tahmini ve endüstriyel ve finansal uygulamalar gibi yaygın makine öğrenimi kullanım durumları için yalnızca birkaç tıklamayla dağıtabileceğiniz 23 çözümden oluşan bir set sunar. Çözümler, belirli bir iş kullanım durumunu çözmek için çeşitli AWS hizmetlerini bir araya getiren uçtan uca makine öğrenimi uygulamalarıdır. Hızlı dağıtım için AWS CloudFormation şablonlarını ve referans mimarilerini kullanırlar; bu da tamamen özelleştirilebilir oldukları anlamına gelir.
- Destek – SageMaker, yeni SageMaker özellikleri veya Deep Learning Container sürümleri yayınlandığında güncel sürümleri korumak ve JumpStart içeriklerinin SageMaker ortamında nasıl kullanılacağına ilişkin belgeler oluşturmak gibi bir dizi destek sağlar.
JumpStart hakkında daha fazla bilgi edinmek ve açık kaynak önceden eğitilmiş modelleri çeşitli diğer makine öğrenimi görevleri için nasıl kullanabileceğinizi öğrenmek için aşağıdakilere göz atın. AWS re:Invent 2020 videosu.
Yazarlar Hakkında
Dr.Vivek Madan Amazon SageMaker JumpStart ekibinde Uygulamalı Bilim Adamıdır. Doktorasını Urbana-Champaign'deki Illinois Üniversitesi'nden aldı ve Georgia Tech'de Doktora Sonrası Araştırmacıydı. Makine öğrenimi ve algoritma tasarımında aktif bir araştırmacıdır ve EMNLP, ICLR, COLT, FOCS ve SODA konferanslarında makaleler yayınlamıştır.
Jack FitzGerald Alexa AI'da kıdemli uygulamalı bilim insanıdır ve şu anda büyük dil modelleme, çok dilli metin modelleme ve makine öğrenimi işlemlerine odaklanmaktadır.
Joao Moura Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. Çoğunlukla NLP kullanım örneklerine odaklanıyor ve müşterilerin derin öğrenme modeli eğitimini ve dağıtımını optimize etmesine yardımcı oluyor. Ayrıca, düşük kodlu ML çözümlerinin ve ML'ye özel donanımın aktif bir savunucusudur.
haziran kazandı SageMaker JumpStart ve Yerleşik Algoritmalara sahip bir ürün yöneticisidir. Makine öğrenimi içeriklerini SageMaker müşterileri için kolayca keşfedilebilir ve kullanılabilir hale getirmeye odaklanıyor.
Pulkit Kapur Alexa'nın çok görevli çok modlu temel modellerinin genelleştirilmiş zekasına ve uygulamalarına odaklanan, Alexa AI ile Alexa Öğretmen Modeli programının ürün lideridir.
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon Adaçayı Yapıcı
- Amazon SageMaker Hızlı Başlangıç
- 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
- Temel (100)
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet