Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Amazon SageMaker'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerinde ince ayar yapın

Bugün yaklaşık 7,000 dil kullanılmaktadır. 19. yüzyılın sonlarında Volapük veya Esperanto gibi yerleşik diller icat etme girişimlerine rağmen, hiçbir birleşme belirtisi yoktur. İnsanlar hala yeni diller yaratmayı seçiyor (Klingonca, Dothraki veya Elfçe konuşan en sevdiğiniz film karakterini düşünün).

Bugün, doğal dil işleme (NLP) örneklerine, insan nüfusunun yalnızca %5'i için ana dil olan ve yalnızca %17'si konuşulan İngilizce dili hakimdir.

The dijital bölme dijital teknolojilere erişebilenler ile erişemeyenler arasındaki boşluk olarak tanımlanmaktadır. Dil engelleri nedeniyle bilgiye veya eğitime erişim eksikliği, yalnızca İngilizce bilmeyen insanlar arasında değil, aynı zamanda İngilizce konuşan ve İngilizce olmayan içeriğe erişimi olmayan İngilizce konuşan insanlar için de dijital bölünmeye katkıda bulunur. düşünce ve bilgi çeşitliliğini azaltır. Karşılıklı öğrenecek çok şey var.

Bu gönderide, düşük kaynaklı dillerin zorluklarını özetliyoruz ve Amazon SageMaker'da Hugging Face dönüştürücülerini kullanarak 100'den fazla dili kapsayan farklı çözüm yaklaşımlarını deniyoruz.

Bir soru ve yanıtlama görevi için çeşitli önceden eğitilmiş dönüştürücü tabanlı dil modellerinde ince ayar yapıyoruz. Örneğimizde Türkçe kullanıyoruz, ancak bu yaklaşımı desteklenen diğer dillere uygulayabilirsiniz. Odak noktamız BERT [1] türevleri, çünkü BERT'nin harika bir özelliği, farklı görevlerde birleşik mimarisidir.

Hugging Face transformatörlerini kullanmanın çeşitli faydalarını gösteriyoruz. Amazon Adaçayı Yapıcı, örneğin geniş ölçekte eğitim ve deneme ve artan üretkenlik ve maliyet etkinliği gibi.

NLP'ye Genel Bakış

2017'den bu yana NLP'de birkaç önemli gelişme olmuştur. Transformatörler [2] gibi derin öğrenme mimarilerinin ortaya çıkışı, bu tür modelleri son derece büyük veri kümeleri üzerinde eğitmek için denetimsiz öğrenme teknikleri ve aktarım öğrenimi, mevcut durumu önemli ölçüde iyileştirmiştir. doğal dil anlayışında sanat. Önceden eğitilmiş model merkezlerinin gelişi, NLP topluluğunun toplu bilgisine erişimi daha da demokratikleştirdi ve sıfırdan başlama ihtiyacını ortadan kaldırdı.

Bir dil modeli, bir sıradaki sonraki kelimeyi (veya herhangi bir maskeli kelimeyi) tahmin etmeyi öğrenen bir NLP modelidir. Başlangıç ​​noktası olarak dil modellerinin gerçek güzelliği üç katlıdır: Birincisi, araştırmalar, büyük bir metin bütünü verileri üzerinde eğitilen dil modellerinin, önceki yöntemlere göre kelimelerin daha karmaşık anlamlarını öğrendiğini göstermiştir. Örneğin, bir cümledeki bir sonraki kelimeyi tahmin edebilmek için dil modelinin bağlamı, semantiği ve ayrıca dilbilgisini anlamada iyi olması gerekir. İkincisi, bir dil modelini eğitmek için, ön eğitim sırasında kıt ve pahalı olan etiketli verilere gerek yoktur. Bu önemlidir, çünkü çok büyük miktarda etiketlenmemiş metin verisi web'de birçok dilde herkese açıktır. Üçüncüsü, dil modeli herhangi bir cümle için bir sonraki kelimeyi tahmin etmek için yeterince akıllı olduğunda, çok az etiketlenmiş veri ile duygu analizi veya soru cevaplama gibi diğer NLP görevlerini gerçekleştirmenin nispeten kolay olduğu gösterilmiştir, çünkü ince ayar yeniden kullanır. önceden eğitilmiş bir dil modelinden temsiller [3].

Tam olarak yönetilen NLP hizmetleri, NLP'nin benimsenmesini de hızlandırdı. Amazon Kavramak metin analitiğinin belgelerin içeriğinden içgörüler çıkarmasını sağlayan tam olarak yönetilen bir hizmettir ve çeşitli dilleri destekler. Amazon Comprehend, özel sınıflandırmayı ve özel varlık tanımayı destekler ve herhangi bir ML uzmanlığına ihtiyaç duymadan gereksinimlerinize özel özel NLP modelleri oluşturmanıza olanak tanır.

Düşük kaynaklı diller için zorluklar ve çözümler

Çok sayıda dil için temel zorluk, eğitim için nispeten daha az veriye sahip olmalarıdır. Bunlara denir düşük kaynaklı diller. m-BERT belgesi [4] ve XLM-R belgesi [7], Urduca ve Swahili diline düşük kaynaklı diller olarak atıfta bulunur.

Aşağıdaki şekil, 80'den fazla dilin ISO kodlarını ve iki ana ön eğitim arasındaki boyut farkını (log ölçeğinde) belirtir [7]. Wikipedia'da (turuncu), 18 milyondan fazla makale içeren sadece 1 dil ve 52'den fazla makale içeren 1,000 dil, ancak yalnızca 164–1 makale içeren 10,000 dil vardır [9]. CommonCrawl corpus (mavi), düşük kaynaklı diller için veri miktarını iki büyüklük sırası artırır. Bununla birlikte, İngilizce, Rusça veya Almanca gibi yüksek kaynaklı dillere kıyasla hala nispeten küçüktürler.

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Wikipedia madde numaraları açısından Türkçe, Urduca (100,000.) ile birlikte 28'den fazla maddeden oluşan (54.) aynı gruptaki diğer bir dildir. Urduca ile karşılaştırıldığında, Türkçe orta kaynak bir dil olarak kabul edilecektir. Türkçe, dilbilim ve simgeleştirmede belirli zorluklar yaratarak dil modellerini daha güçlü hale getirebilecek bazı ilginç özelliklere sahiptir. Sondan eklemeli bir dildir. Çok özgür bir kelime düzenine, karmaşık bir morfolojiye veya İngilizce eşdeğerleri olmayan zamanlara sahiptir. İngilizce gibi dillerde birkaç kelimeden oluşan ifadeler, aşağıdaki örnekte gösterildiği gibi tek bir kelime formuyla ifade edilebilir.

Türkce İngilizce
kedi Kedi
kediler Kedis
kedigiller Ailesinin kediler
kedigillergün E ait kedi ailesi
kedibirleştirebileceklerimizdenmişçesineyken Yapabileceklerimizden biri gibi göründüğünde kedi

İki ana çözüm yaklaşımı dile özgü modeller veya çok dilli modellerdir (diller arası denetimli veya denetimsiz):

  • Tek dilli dil modelleri – İlk yaklaşım, belirli bir hedef dile bir BERT varyantı uygulamaktır. Eğitim verileri ne kadar fazlaysa, model performansı o kadar iyi olur.
  • Çok dilli maskeli dil modelleri – Diğer yaklaşım, büyük transformatör modellerini birçok dilde önceden eğitmektir. Çok dilli dil modelleme, bir dilden öğrenilen NLP görevlerinin diğer dillere aktarılabilmesi için çok sayıda dilde ön eğitim vererek düşük kaynaklı diller için veri sorununu çözmeyi amaçlar. Çok dilli maskeli dil modelleri (MLM'ler), en son teknolojiyi diller arası anlama görevlerine itti. İki örnek:
    • Çok dilli BERT – Çok dilli BERT modeli, Wikipedia korpusu kullanılarak 104 farklı dilde eğitilmiştir. Ancak, yalnızca benzer dil yapıları ve tipolojik özellikler (örneğin, benzer kelime sırasına sahip diller) arasında iyi bir genelleme yaptığı gösterilmiştir. Özellikle farklı kelime dizilimlerine sahip dillerde (örneğin özne/nesne/fiil) çok dillilik azalır [4].
    • XLM-R – Çapraz dilli dil modelleri (XLM'ler), paralel veri kümeleri kullanılarak (iki farklı dilde aynı metin) veya tek dilli veri kümeleri kullanılarak diller arası bir amaç olmadan diller arası bir hedefle eğitilir [6]. Araştırmalar, düşük kaynaklı dillerin daha fazla dile ölçeklendirmeden fayda sağladığını gösteriyor. XLM-RoBERTa, RoBERTa'dan [5] ilham alan transformatör tabanlı bir modeldir ve başlangıç ​​noktası, çok dilli BERT ve XLM'nin yetersiz ayarlandığı önermesidir. Hem Wikipedia hem de CommonCrawl corpus kullanılarak 100 dilde eğitilmiştir, bu nedenle düşük kaynaklı diller için eğitim verilerinin miktarı m-BERT'e kıyasla yaklaşık iki büyüklük sırası daha fazladır [7].

Düşük kaynaklı diller için çok dilli dil modellerinin bir başka zorluğu da kelime boyutu ve simgeleştirmedir. Tüm diller çok dilli dil modellerinde aynı ortak kelime dağarcığını kullandığından, kelime dağarcığı boyutunu artırma (bu, hesaplama gereksinimlerini artırır) ile azaltma (kelime dağarcığında bulunmayan kelimeler bilinmeyen olarak işaretlenir veya karakter kullanma) arasında bir denge vardır. kelimeler yerine belirteçler olarak herhangi bir yapıyı yok sayar). Kelime parçası tokenizasyon algoritması, her iki yaklaşımın faydalarını birleştirir. Örneğin, kelime dağarcığında bulunana veya bireysel karaktere ulaşılana kadar kelimeyi alt kelimelere bölerek kelime dağarcığı dışındaki kelimeleri etkili bir şekilde işler. Karakter tabanlı tokenizasyon, Çince gibi belirli diller dışında pek kullanışlı değildir. Belirli dağılımlarla örnekleme gibi düşük kaynaklı diller için zorlukların üstesinden gelmek için teknikler mevcuttur [6].

Aşağıdaki tablo, üç farklı belirtecin “kedileri” (“kedileri” anlamına gelir) kelimesi için nasıl davrandığını göstermektedir. Belirli diller ve NLP görevleri için bu bir fark yaratacaktır. Örneğin, soru yanıtlama görevi için model, başlangıç ​​belirteci dizini ve bitiş belirteç dizininin yayılımını döndürür; “kediler” (“kediler”) veya “kedileri” (“kedileri”) döndürmek, bazı bağlamları kaybedecek ve belirli metrikler için farklı değerlendirme sonuçlarına yol açacaktır.

Önceden eğitilmiş Model kelime boyutu “Kedileri” için Tokenizasyon*
dbmdz/bert-base-türk-kasasız 32,000 Jeton [CLS] eğitimli ##ben [Eylül]
Giriş kimlikleri 2 23714 1023 3
bert-base-çok dilli-kasasız 105,879 Jeton [CLS] KED ##iler ##ben [Eylül]
Giriş kimlikleri 101 30210 33719 10116 102
derin set/xlm-roberta-base-squad2 250,002 Jeton Ke di leri
Giriş kimlikleri 0 1345 428 1341 .
*İngilizce: (onun) kedileri

Bu nedenle, düşük kaynaklı diller çok dilli dil modellerinden yararlansa da, paylaşılan bir kelime dağarcığında simgeleştirme gerçekleştirmek, belirli diller için bazı dil özelliklerini göz ardı edebilir.

Bir sonraki bölümde, Türkçe için bir QA veri seti kullanarak bir soru cevaplama görevi için ince ayar yaparak üç yaklaşımı karşılaştırıyoruz: BERTurk [8], çok dilli BERT [4] ve XLM-R [7].

Çözüme genel bakış

İş akışımız aşağıdaki gibidir:

  1. Veri kümesini bir Amazon SageMaker Stüdyosu not defteri ortamına yükleyin ve Amazon Basit Depolama Hizmeti (Amazon S3).
  2. İnce ayar komut dosyasını sağlayarak SageMaker eğitim derin öğrenme kapsayıcılarında paralel eğitim işleri başlatın.
  3. Her deneyden meta verileri toplayın.
  4. Sonuçları karşılaştırın ve en uygun modeli belirleyin.

Aşağıdaki şemada çözüm mimarisi gösterilmektedir.

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Studio not defterleri hakkında daha fazla bilgi için bkz. Amazon SageMaker Studio Notebooks mimarisinin derinliklerine dalın. Hugging Face'in SageMaker ile nasıl entegre edildiği hakkında daha fazla bilgi için bkz. AWS ve Hugging Face, Doğal Dil İşleme modellerinin benimsenmesini basitleştirmek ve hızlandırmak için işbirliği yapıyor.

Veri kümesini hazırlayın

Hugging Face Veri Kümeleri kitaplığı, bir derin öğrenme modelinde bir veri kümesini eğitime hızlı bir şekilde hazırlamak için güçlü veri işleme yöntemleri sağlar. Aşağıdaki kod, Türkçe KG veri setini yükler ve içindekileri araştırır:

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

Yaklaşık 9,000 örnek var.

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Girdi veri kümesi, önceden eğitilmiş modellerin beklediği bir biçime biraz dönüştürülür ve aşağıdaki sütunları içerir:

df = pd.DataFrame(ds['train'])
df.sample(1)

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.
Çıktının İngilizce çevirisi aşağıdaki gibidir:

  • bağlam – Reşit Emre Kongar (d. 13 Ekim 1941, İstanbul), Türk sosyolog, profesör.
  • soru – Emre Kongar'ın akademik unvanı nedir?
  • cevap - Profesör

İnce ayar komut dosyası

Hugging Face Transformers kitaplığı, bir soru yanıtlama görevi için bir modelde ince ayar yapmak için örnek bir kod sağlar. run_qa.py. Aşağıdaki kod, eğiticiyi başlatır:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

Yapı taşlarını üst düzeyde gözden geçirelim.

Tokenizatör

Komut dosyası, aşağıdakileri kullanarak bir belirteç yükler: AutoTokenizer sınıf. AutoTokenizer class, modele karşılık gelen doğru belirteci döndürmekle ilgilenir:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

Aşağıda belirteç oluşturucunun nasıl çalıştığına dair bir örnek verilmiştir:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Model

Komut dosyası bir model yükler. AutoModel sınıflar (örneğin, AutoModelForQuestionAnswering) önceden eğitilmiş modelin adı ve yolu verilen ilgili mimarinin ağırlıkları, konfigürasyonu ve sözlüğü ile doğrudan bir sınıf oluşturun. Hugging Face ile yapılan soyutlama sayesinde, sadece modelin adını vererek aynı kodu kullanarak farklı bir modele kolayca geçiş yapabilirsiniz. Aşağıdaki örnek koda bakın:

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

Ön işleme ve eğitim

The prepare_train_features() ve prepare_validation_features() yöntemler sırasıyla eğitim veri kümesini ve doğrulama veri kümelerini önceden işler. Kod, giriş veri kümesi üzerinde yinelenir ve doğru modele özgü belirteç türü kimlikleri (belirteçlerin sayısal temsilleri) ve dikkat maskeleriyle bağlamdan ve geçerli sorudan bir dizi oluşturur. Dizi daha sonra modelden geçirilir. Bu, aşağıdaki tabloda gösterildiği gibi hem başlangıç ​​hem de bitiş konumları için bir dizi puan verir.

Veri Kümesi Alanlarını Girin QuestionAnsweringTrainer için Önceden İşlenmiş Eğitim Veri Kümesi Alanları
id girdi_kimlikleri
başlık dikkat_maske
bağlam başlangıç_konumları
soru bitiş_pozisyonları
Yanıtlar { answer_start, answer_text } .

Değerlendirme

The compute_metrics() yöntem, metriklerin hesaplanmasıyla ilgilenir. Soru yanıtlama görevleri için aşağıdaki popüler metrikleri kullanıyoruz:

  • Tam eşleme – Temel gerçek yanıtlarından herhangi biriyle tam olarak eşleşen tahminlerin yüzdesini ölçer.
  • F1 skoru – Tahmin ve kesin gerçek yanıtı arasındaki ortalama örtüşmeyi ölçer. F1 puanı, kesinlik ve hatırlamanın harmonik ortalamasıdır:
    • Hassas – Tahminde paylaşılan kelime sayısının toplam kelime sayısına oranı.
    • Geri çağırmak – Yer gerçeğinde paylaşılan kelime sayısının toplam kelime sayısına oranı.

SageMaker'da yönetilen eğitim

Özel makine öğrenimi (ML) ortamlarını kurmak ve yönetmek zaman alıcı ve zahmetli olabilir. İle AWS Derin Öğrenme Kapsayıcısı (DLC'ler) için, önceden paketlenmiş ve optimize edilmiş derin öğrenme çerçevelerine erişimimiz var, bu da komut dosyamızı minimum ek kodla birden çok eğitim işinde çalıştırmayı kolaylaştırıyor.

Sadece kullanmamız gerekiyor Sarılma Yüz Tahmincisi aşağıdaki girişlerle SageMaker Python SDK'da mevcuttur:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

Sonuçları değerlendirin

Türkçe soru cevaplama görevi için ince ayar işleri tamamlandığında, üç yaklaşımın model performansını karşılaştırırız:

  • Tek dilli dil modeli – Türkçe soru cevaplama metni üzerinde önceden eğitilmiş modele ince ayar yapılır. bert-base-türk-kasasız [8]. Sadece iki çağda ve 1 etiketli öğeyle 75.63 F56.17 puanı ve 9,000 tam eşleşme puanı elde ediyor. Ancak bu yaklaşım, önceden eğitilmiş bir dil modeli olmadığında veya sıfırdan eğitim için çok az veri olduğunda düşük kaynaklı bir dil için uygun değildir.
  • Çok dilli BERT ile çok dilli dil modeli – Önceden eğitilmiş modele denir bert-base-çok dilli-kasasız. Çok dilli BERT belgesi [4], bunun diller arasında iyi bir genelleme yaptığını göstermiştir. Tek dilli modelle karşılaştırıldığında, daha kötü bir performans sergiliyor (F1 puanı 71.73, tam eşleşme 50:45), ancak bu modelin 100'den fazla dili ele aldığını ve Türkçeyi temsil etmek için daha az yer bıraktığını unutmayın.
  • XLM-R ile çok dilli dil modeli – Önceden eğitilmiş modele denir xlm-roberta-üs-takım2. XLM-R makalesi, dil başına performanstan ödün vermeden 100'den fazla dil için tek bir büyük modele sahip olmanın mümkün olduğunu göstermektedir [7]. Türkçe soru cevaplama görevi için, çok dilli BERT ve tek dilli BERT F1 puanlarını sırasıyla %5 ve %2 oranında geride bırakmaktadır (F1 puanı 77.14, tam eşleşme 56.39).

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.

Karşılaştırmamız, model kapasitesi, kullanılan eğitim veri kümeleri, önceden eğitilmiş NLP görevleri, kelime boyutu veya simgeleştirme gibi modeller arasındaki diğer farklılıkları dikkate almaz.

Ek deneyler

Sağlanan not defteri ek deney örnekleri içerir.

SageMaker, çok çeşitli eğitim örneği türleri sağlar. XLM-R modelinde p3.2xlarge (GPU: Nvidia V100 GPU, GPU mimarisi: Volta (2017)), p3.16xlarge (GPU: 8 Nvidia V100 GPU) ve g4dn.xlarge (GPU: Nvidia T4) üzerinde ince ayar yaptık GPU, GPU mimarisi: Turing (2018)) ve şunları gözlemledi:

  • Eğitim süresi – Deneyimize göre, XLM-R modelinin p24xlarge üzerinde eğitilmesi yaklaşık 3.2 dakika ve g30dn.xlarge üzerinde 4 dakika (yaklaşık %23 daha uzun) sürdü. Ayrıca iki p3.16xlarge örneği üzerinde dağıtılmış ince ayar yaptık ve eğitim süresi 10 dakikaya indirildi. SageMaker'da transformatör tabanlı bir modelin dağıtılmış eğitimi hakkında daha fazla bilgi için bkz. Amazon SageMaker'da Hugging Face Transformers kullanılarak Soru Cevaplama Görevi için bir BERT Large modelinin dağıtılmış ince ayarı.
  • Eğitim maliyetleri – Anında hesaplamak için SageMaker isteğe bağlı fiyatlarını almak için AWS Fiyatlandırma API'sini kullandık. Deneyimize göre, eğitimin maliyeti p1.58xlarge üzerinde yaklaşık 3.2$ ve g4dn.xlarge üzerinde yaklaşık dört kat daha az (0.37$). 3.16 GPU kullanan iki p16xlarge bulut sunucusunda dağıtılmış eğitimin maliyeti 9.68 ABD dolarıdır.

Özetlemek gerekirse, g4dn.xlarge en ucuz makine olmasına rağmen, aynı zamanda eğitilmesi, denediğimiz en güçlü örnek türünden (iki p3.16xlarge) yaklaşık üç kat daha uzun sürdü. Proje önceliklerinize bağlı olarak, çok çeşitli SageMaker eğitim örneği türleri arasından seçim yapabilirsiniz.

Sonuç

Bu yazıda, bir orta kaynak dil (bu örnekte Türkçe) için bir soru yanıtlama görevi için önceden eğitilmiş transformatör tabanlı dil modellerinin ince ayarını araştırdık. Bu yaklaşımı tek bir model kullanarak 100'den fazla dile uygulayabilirsiniz. Yazarken, bir modelin ölçeğini dünyanın tüm 7,000 dilini kapsayacak şekilde büyütmek hâlâ yasak, ancak NLP alanı ufkumuzu genişletmek için bir fırsat sunuyor.

Dil, insan iletişiminin başlıca yöntemidir ve değerleri iletmenin ve kültürel mirasın güzelliğini paylaşmanın bir aracıdır. Dilsel çeşitlilik, kültürlerarası diyaloğu güçlendirir ve kapsayıcı toplumlar inşa eder.

ML, oldukça yinelemeli bir süreçtir; tek bir proje boyunca, veri bilimcileri maksimum doğruluk arayışı içinde yüzlerce farklı model, veri kümesi ve parametreyi eğitir. SageMaker, makine öğrenimi ve derin öğrenmenin gücünden yararlanmak için en eksiksiz araç setini sunar. ML deneylerini geniş ölçekte düzenlemenize, izlemenize, karşılaştırmanıza ve değerlendirmenize olanak tanır.

Hugging Face, veri bilimcilerin son teknoloji NLP modellerini daha hızlı ve kolay bir şekilde geliştirmesine, eğitmesine ve ayarlamasına yardımcı olmak için SageMaker ile entegre edilmiştir. Amazon SageMaker'da Hugging Face transformatörlerini kullanmanın geniş ölçekte eğitim ve deneme, artan üretkenlik ve maliyet verimliliği gibi çeşitli yararlarını gösterdik.

SageMaker'ın kullanılabildiği tüm AWS Bölgelerinde SageMaker'da tercih ettiğiniz dilde NLP görevlerini deneyebilirsiniz. Örnek not defteri kodu şurada mevcuttur: GitHub.

Amazon SageMaker Training Compiler'ın derin öğrenme modellerinin eğitimini %50'ye kadar nasıl hızlandırabileceğini öğrenmek için bkz. Yeni – SageMaker Eğitim Derleyicisi ile Tanışın.

Yazarlar, taslakları gözden geçirdikleri ve tavsiyelerde bulundukları için Mariano Kamp ve Emily Webber'e en derin takdirlerini ifade etmek isterler.

Referanslar

  1. J. Devlin ve diğerleri, “BERT: Dil Anlama için Derin Çift Yönlü Transformatörlerin Ön Eğitimi”, (2018).
  2. A. Vaswani ve diğerleri, “İhtiyacınız Olan Tek Şey Dikkat”, (2017).
  3. J. Howard ve S. Ruder, “Metin Sınıflandırması için Evrensel Dil Modeli İnce Ayarı”, (2018).
  4. T. Pires ve diğerleri, “Çok Dilli BERT Ne Kadar Çok Dillidir?”, (2019).
  5. Y. Liu ve diğerleri, “RoBERTa: Sağlam Bir Şekilde Optimize Edilmiş BERT Ön Eğitim Yaklaşımı”, (2019).
  6. G. Lample ve A. Conneau, “Cross-Lingual Language Model Pretraining”, (2019).
  7. A. Conneau ve diğerleri, “Denetimsiz Diller Arası Temsil Öğrenimi Ölçekte”, (2019).
  8. Stefan Schweter. BERTurk – Türkçe için BERT modelleri (2020).
  9. Çok Dilli Wiki İstatistikleri https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

Yazarlar Hakkında

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.Arnav Khare AWS'de Küresel Finansal Hizmetler için Baş Çözüm Mimarıdır. Öncelikli odak noktası, Finansal Hizmetler Kurumlarının bulutta Analitik ve Makine Öğrenimi uygulamaları oluşturmasına ve tasarlamasına yardımcı olmaktır. Arnav, Edinburgh Üniversitesi'nden Yapay Zeka alanında yüksek lisans derecesine sahiptir ve kurduğu küçük girişimlerden Nokia ve Bank of America gibi büyük işletmelere kadar 18 yıllık sektör deneyimine sahiptir. Arnav, iş dışında iki kızıyla vakit geçirmeyi, yeni bağımsız kafeler bulmayı, okumayı ve seyahat etmeyi seviyor. beni bulabilirsin LinkedIn ve gerçek hayatta Surrey, İngiltere'de.

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.Hasan-Basri AKIRMAK (Bilgisayar Mühendisliği Lisans ve Yüksek Lisans ve İşletme Yüksek Lisans Okulu'nda Executive MBA) Amazon Web Services'de Kıdemli Çözüm Mimarıdır. Kurumsal segment müşterilerine danışmanlık yapan bir iş teknolojisi uzmanıdır. Uzmanlık alanı, büyük ölçekli veri işleme sistemleri ve Makine Öğrenimi çözümleri üzerinde mimariler ve iş senaryoları tasarlamaktır. Hasan, Avrupa, Orta Doğu ve Afrika'daki müşteriler için İş geliştirme, Sistem Entegrasyonu, Program Yönetimi sağladı. 2016'dan beri yüzlerce girişimciye ücretsiz girişim kuluçka programlarında danışmanlık yaptı.

Amazon SageMaker PlatoBlockchain Data Intelligence'da Hugging Face ile dil çeşitliliği için dönüştürücü dil modellerine ince ayar yapın. Dikey Arama. Ai.heiko hotz AI ve Makine Öğrenimi için Kıdemli Çözüm Mimarıdır ve AWS içindeki Doğal Dil İşleme (NLP) topluluğuna liderlik eder. Bu görevden önce, Amazon'un AB Müşteri Hizmetlerinde Veri Bilimi Başkanıydı. Heiko, müşterilerimizin AWS'deki AI/ML yolculuklarında başarılı olmalarına yardımcı olur ve Sigortacılık, Finansal Hizmetler, Medya ve Eğlence, Sağlık Hizmetleri, Kamu Hizmetleri ve İmalat dahil olmak üzere birçok sektördeki kuruluşlarla birlikte çalışmıştır. Heiko boş zamanlarında mümkün olduğunca çok seyahat eder.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi