Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)
Not
Bu belgede ayrıntılı olarak yer alan YAML söz dizimi, ML CLI v2 uzantısının en son sürümü için JSON şemasını temel alır. Bu söz diziminin yalnızca ML CLI v2 uzantısının en son sürümüyle çalışması garanti edilir. Eski uzantı sürümleri için şemaları adresinde https://azuremlschemasprod.azureedge.net/bulabilirsiniz.
Her Azure Machine Learning varlığının şeması oluşturulmuş bir YAML gösterimi vardır. YAML yapılandırma dosyasından veya .yml
uzantısıyla yeni bir .yaml
varlık oluşturabilirsiniz.
Bu makalede, bu YAML dosyalarını NLP metin sınıflandırması çok etiketli işler için yapılandırırken karşılaşacağınız bazı söz dizimi kavramları için bir başvuru sağlanır.
Kaynak JSON şemasına şu konumdan ulaşabilirsiniz: https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLNLPTextClassificationMultilabelJob.schema.json
YAML söz dizimi
Anahtar | Türü | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
$schema |
Dize | YAML şemasını yüklemek için konumu/URL'yi temsil eder. Kullanıcı YAML dosyasını yazmak için Azure Machine Learning VS Code uzantısını kullanıyorsa, dosyanın üst kısmı da dahil olmak üzere $schema kullanıcının şema ve kaynak tamamlamalarını çağırmasına olanak tanır. |
||
type |
Const | Gerekli. İşin türü. | automl |
automl |
task |
Const | Gerekli. AutoML görevinin türü. Çok etiketli sınıflandırma için görev açıklaması: Birden çok olası sınıf vardır ve her örneğe herhangi bir sayıda sınıf atanabilir. Görev, her örnek için tüm sınıfları tahmin etmektir. Örneğin, bir film betiğini "Komedi", "Romantik" veya "Komedi ve Romantik" olarak sınıflandırma. |
text_classification_multilabel |
|
name |
Dize | İşin adı. Çalışma alanı içindeki tüm işlerde benzersiz olmalıdır. Belirtilmezse, Azure Machine Learning ad için bir GUID'yi otomatik olarak oluşturur. | ||
display_name |
Dize | Stüdyo kullanıcı arabiriminde işin görünen adı. Çalışma alanı içinde benzersiz olmayabilir. Belirtilmezse, Azure Machine Learning görünen ad için insan tarafından okunabilen bir sıfat-isim tanımlayıcısını otomatik olarak oluşturur. | ||
experiment_name |
Dize | İşin düzenleyeceği deneme adı. Her işin çalıştırma kaydı, stüdyonun "Denemeler" sekmesinde ilgili deneme altında düzenlenir. Belirtilmezse, Azure Machine Learning bunu varsayılan olarak işin oluşturulduğu çalışma dizininin adı olarak belirler. | ||
description |
Dize | İşin açıklaması. | ||
tags |
nesne | İş için etiket sözlüğü. | ||
compute |
Dize | İşin yürütülecek işlem hedefinin adı. Çalışma alanında var olan bir hesaplamaya başvurmak için söz dizimini kullanırız: azureml:<compute_name> |
||
log_verbosity |
Numara | Farklı günlük ayrıntı düzeyleri. |
not_set , debug , info , , warning , error , critical |
info |
primary_metric |
Dize | AutoML'nin model seçimi için iyileştireceği ölçüm. | accuracy |
accuracy |
target_column_name |
Dize | Gerekli. Tahminler için hedef kullanılacak sütunun adı. Her zaman belirtilmelidir. Bu parametre ve training_data için validation_data geçerlidir. |
||
training_data |
nesne | Gerekli. İşin içinde kullanılacak veriler. Daha fazla ayrıntı için çoklu etiket bölümüne bakın. | ||
validation_data |
nesne | Gerekli. İşin içinde kullanılacak doğrulama verileri. Eğitim verileriyle sütun kümesi, her sütun için veri türü, soldan sağa sütunların sırası ve en az iki benzersiz etiket açısından tutarlı olmalıdır. Not: Her veri kümesindeki sütun adları benzersiz olmalıdır. Daha fazla bilgi için veri doğrulama bölümüne bakın. |
||
limits |
nesne | İşin sınır yapılandırmaları sözlüğü. Bu bölümdeki parametreler: max_concurrent_trials , max_nodes , max_trials , timeout_minutes , trial_timeout_minutes . Ayrıntılar için bkz . sınırlar . |
||
training_parameters |
nesne | İş için eğitim parametrelerini içeren sözlük. Ayrıntılı bilgi için desteklenen hiper parametrelere bakın. Not: içinde training_parameters ayarlanan hiper parametreler tüm süpürme çalıştırmalarında sabitlenir ve bu nedenle arama alanına dahil edilmesi gerekmez. |
||
sweep |
nesne | İşin süpürme parametrelerini içeren sözlük. İki anahtarı vardır: sampling_algorithm (gerekli) ve early_termination . Daha fazla bilgi için bkz . Model süpürme ve hiper parametre ayarlama bölümleri. |
||
search_space |
nesne | Hiper parametre arama alanının sözlüğü. Anahtar, hiper parametrenin adı ve değer parametre ifadesidir. aracılığıyla training_parameters düzeltilebilen tüm parametreler burada desteklenir (bunun yerine süpürülmek için). Daha fazla ayrıntı için desteklenen hiper parametrelere bakın. İki tür hiper parametre vardır: - Ayrık Hiper Parametreler: Ayrık hiper parametreler, ayrık değerler arasında belirtilir choice .
choice bir veya daha fazla virgülle ayrılmış değer, nesne veya herhangi bir range rastgele list nesne olabilir. Gelişmiş ayrık hiper parametreler bir dağıtım kullanılarak da belirtilebilir: randint ,qlognormal , qnormal , , .quniform Daha fazla bilgi için bu bölüme bakın. - Sürekli hiper parametreler: Sürekli hiper parametreler, sürekli bir değer aralığı üzerinden bir dağıtım olarak belirtilir. Şu anda desteklenen dağıtımlar şunlardır: lognormal , normal , loguniform , uniform . Daha fazla bilgi için bu bölüme bakın. Kullanılacak olası ifade kümesi için parametre ifadeleri bölümüne bakın. |
||
outputs |
nesne | İşin çıkış yapılandırmaları sözlüğü. Anahtar, iş bağlamındaki çıkışın adıdır ve değer çıkış yapılandırmasıdır. | ||
outputs.best_model |
nesne | En iyi model için çıkış yapılandırmaları sözlüğü. Daha fazla bilgi için bkz . En iyi model çıktı yapılandırması. |
Yapılandırmalarda kullanılan diğer söz dizimi:
Sınırlar
Anahtar | Türü | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
max_concurrent_trials |
tamsayı | Paralel olarak yürütülecek en fazla deneme sayısını (alt iş) temsil eder. | 1 |
|
max_trials |
tamsayı | AutoML nlp işinin farklı hiper parametreler bileşimiyle bir eğitim algoritması çalıştırmayı deneyebileceği en fazla deneme sayısını temsil eder. | 1 |
|
timeout_minutes |
tamsayı | Gönderilen AutoML işinin çalışması için gereken en uzun süreyi dakika cinsinden temsil eder. Bundan sonra iş sonlandırılır. AutoML NLP işlerinde varsayılan zaman aşımı 7 gündür. | 10080 |
|
trial_timeout_minutes |
tamsayı | Gönderilen AutoML işindeki her denemenin (alt iş) çalıştırabileceği en uzun süreyi dakika cinsinden temsil eder. Bundan sonra çocuk işi sonlandırılır. | ||
max_nodes |
tamsayı | İş için yararlanılması gereken, yedekleme işlem kümesindeki düğüm sayısı üst sınırı. | 1 |
Desteklenen hiper parametreler
Aşağıdaki tabloda AutoML NLP'nin desteklediği hiper parametreler açıklanmaktadır.
Parametre adı | Açıklama | Sözdizimi |
---|---|---|
gradyan birikimi adımları | İyileştiricinin adım işlevini çağırarak bir adım gradyan azalma gerçekleştirmeden önce gradyanları toplanacak geriye dönük işlemlerin sayısı. Bu, GPU'ya uyan maksimum boyuttan gradient_accumulation_steps kat daha büyük olan etkili bir toplu iş boyutu kullanmak için kullanılır. |
Pozitif bir tamsayı olmalıdır. |
learning_rate | İlk öğrenme oranı. | Aralıktaki bir float olmalıdır (0, 1). |
learning_rate_scheduler | Öğrenme oranı zamanlayıcı türü. | arasından linear, cosine, cosine_with_restarts, polynomial, constant, constant_with_warmup seçim yapmalıdır. |
model_name | Desteklenen modellerden birinin adı. | arasından bert_base_cased, bert_base_uncased, bert_base_multilingual_cased, bert_base_german_cased, bert_large_cased, bert_large_uncased, distilbert_base_cased, distilbert_base_uncased, roberta_base, roberta_large, distilroberta_base, xlm_roberta_base, xlm_roberta_large, xlnet_base_cased, xlnet_large_cased seçim yapmalıdır. |
number_of_epochs | Eğitim dönemlerinin sayısı. | Pozitif bir tamsayı olmalıdır. |
training_batch_size | Eğitim toplu iş boyutu. | Pozitif bir tamsayı olmalıdır. |
doğrulama_dizi_boyutu | Doğrulama toplu iş boyutu. | Pozitif bir tamsayı olmalıdır. |
ısınma_oranı | 0'dan learning_rate doğrusal ısınma için kullanılan toplam eğitim adımlarının oranı. | [0, 1] aralığında bir float olmalıdır. |
ağırlık azaltma | İyileştirici sgd, adam veya adamw olduğunda ağırlık bozulmasının değeri. | [0, 1] aralığında bir float olmalıdır. |
Eğitim veya doğrulama verileri
Anahtar | Türü | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
description |
Dize | Bu giriş verilerini açıklayan ayrıntılı bilgiler. | ||
path |
Dize | Verilerin yüklendiği yol. Yol bir file yol, folder yol veya pattern yollar için olabilir.
pattern veri içeren dosya ve klasörlerin globbing(* ve ** ) izin vermek için bir arama düzeni belirtir. Desteklenen URI türleri : azureml , https , wasbs , abfss ve adl . URI biçimini kullanma azureml:// hakkında daha fazla bilgi için bkz . çekirdek yaml söz dizimi. Yapıt dosyasının konumunun URI'sini. Bu URI'nin bir şeması yoksa (örneğin http:, azureml: vb.), yerel başvuru olarak kabul edilir ve varlık oluşturulurken işaret edilen dosya varsayılan çalışma alanı blob depolama alanına yüklenir. |
||
mode |
Dize | Veri kümesi teslim mekanizması. | direct |
direct |
type |
Const | Nlp modelleri oluşturmak için kullanıcının eğitim verilerini MLTable biçiminde getirmesi gerekir. Daha fazla bilgi için bkz . Verileri hazırlama | mltable | mltable |
En iyi model çıktı yapılandırması
Anahtar | Türü | Açıklama | İzin verilen değerler | Varsayılan değer |
---|---|---|---|---|
type |
Dize | Gerekli. En iyi modelin türü. AutoML yalnızca mlflow modellerine izin verir. | mlflow_model |
mlflow_model |
path |
Dize | Gerekli. Model yapıt dosyalarının depolandığı konumun URI'sini. Bu URI'nin bir şeması yoksa (örneğin http:, azureml: vb.), yerel başvuru olarak kabul edilir ve varlık oluşturulurken işaret edilen dosya varsayılan çalışma alanı blob depolama alanına yüklenir. | ||
storage_uri |
Dize | Modelin HTTP URL'si. Bu URL'yi kullanarak az storage copy -s THIS_URL -d DESTINATION_PATH --recursive verileri indirin. |
Açıklamalar
Komutu, az ml job
Azure Machine Learning işlerini yönetmek için kullanılabilir.
Örnekler
Örnekler GitHub deposunda bulunabilir. NLP metin sınıflandırması çoklu etiket işleri ile ilgili örnekler aşağıda verilmiştir.
YAML: AutoML metin sınıflandırması çok etiketli iş
$schema: https://azuremlsdk2.blob.core.windows.net/preview/0.0.1/autoMLJob.schema.json
type: automl
experiment_name: dpv2-cli-text-classification-multilabel-paper-cat
description: A text classification multilabel job using paper categorization data
compute: azureml:gpu-cluster
task: text_classification_multilabel
primary_metric: accuracy
log_verbosity: debug
limits:
timeout_minutes: 60
target_column_name: "terms"
training_data:
path: "./training-mltable-folder"
type: mltable
validation_data:
type: mltable
path: "./validation-mltable-folder"
# featurization:
# dataset_language: "eng"
YAML: AutoML metin sınıflandırması çok etiketli işlem hattı işi
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
description: Pipeline using AutoML Text Classification Multilabel task
display_name: pipeline-with-text-classification-multilabel
experiment_name: pipeline-with-automl
settings:
default_compute: azureml:gpu-cluster
inputs:
text_classification_multilabel_training_data:
type: mltable
path: ./training-mltable-folder
text_classification_multilabel_validation_data:
type: mltable
path: ./validation-mltable-folder
jobs:
preprocessing_node:
type: command
component: file:./components/component_preprocessing.yaml
inputs:
train_data: ${{parent.inputs.text_classification_multilabel_training_data}}
validation_data: ${{parent.inputs.text_classification_multilabel_validation_data}}
outputs:
preprocessed_train_data:
type: mltable
preprocessed_validation_data:
type: mltable
text_classification_multilabel_node:
type: automl
task: text_classification_multilabel
log_verbosity: info
primary_metric: accuracy
limits:
max_trials: 1
timeout_minutes: 60
target_column_name: terms
training_data: ${{parent.jobs.preprocessing_node.outputs.preprocessed_train_data}}
validation_data: ${{parent.jobs.preprocessing_node.outputs.preprocessed_validation_data}}
# currently need to specify outputs "mlflow_model" explicitly to reference it in following nodes
outputs:
best_model:
type: mlflow_model
register_model_node:
type: command
component: file:./components/component_register_model.yaml
inputs:
model_input_path: ${{parent.jobs.text_classification_multilabel_node.outputs.best_model}}
model_base_name: paper_categorization_model