Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BlazingTextalgoritma
AmazonSageMaker BlazingTextalgoritma menyediakan implementasi yang sangat optimal dari Word2vec dan algoritma klasifikasi teks. Algoritma Word2vec berguna untuk banyak tugas pemrosesan bahasa alami hilir (NLP), seperti analisis sentimen, pengenalan entitas bernama, terjemahan mesin, dll. Klasifikasi teks adalah tugas penting untuk aplikasi yang melakukan pencarian web, pengambilan informasi, peringkat, dan klasifikasi dokumen.
Algoritma Word2vec memetakan kata-kata ke vektor terdistribusi berkualitas tinggi. Representasi vektor yang dihasilkan dari sebuah kata disebutembedding kata. Kata-kata yang serupa secara semantik sesuai dengan vektor yang berdekatan. Dengan begitu, embeddings kata menangkap hubungan semantik antar kata-kata.
Banyak aplikasi pemrosesan bahasa alami (NLP) mempelajari embeddings kata dengan melatih koleksi dokumen yang besar. Representasi vektor terlatih ini memberikan informasi tentang semantik dan distribusi kata yang biasanya meningkatkan generalisasi model lain yang kemudian dilatih pada jumlah data yang lebih terbatas. Sebagian besar implementasi algoritma Word2vec tidak dioptimalkan untuk arsitektur CPU multi-core. Hal ini membuat sulit untuk skala ke dataset besar.
DenganBlazingTextalgoritma, Anda dapat skala ke dataset besar dengan mudah. Mirip dengan Word2vec, ia menyediakan Skip-gram dan kontinubag-of-words(CBOW) arsitektur pelatihan. BlazingTextimplementasi algoritma klasifikasi teks multi-kelas multi-label yang diawasi memperluas klasifikasi teks FastText untuk menggunakan akselerasi GPU dengan kustomCUDA
YangBlazingTextalgoritma tidak parallelizable. Untuk informasi lebih lanjut tentang parameter yang terkait dengan pelatihan, lihatJalur Registri Docker untukSageMakerAlgoritma Built-in.
YangSageMaker BlazingTextalgoritma menyediakan fitur-fitur berikut:
-
Pelatihan yang dipercepat dari pengklasifikasi teks FastText pada CPU multi-core atau GPU dan Word2Vec pada GPU menggunakan kernel CUDA yang sangat optimal. Untuk informasi lebih lanjut, lihatBlazingText: Penskalaan dan Mempercepat Word2Vec menggunakan Beberapa GPU
. -
Vektor Kata yang Diperkaya dengan Informasi Subword
dengan mempelajari representasi vektor untuk karakter n-gram. Pendekatan ini memungkinkanBlazingTextuntuk menghasilkan vektor yang bermakna untukout-of-vocabulary(OOV) kata-kata dengan mewakili vektor mereka sebagai jumlah karakter n-gram (subword) vektor. -
SEBUAH
batch_skipgram
mode
untuk algoritma Word2Vec yang memungkinkan pelatihan lebih cepat dan komputasi terdistribusi di beberapa node CPU. Yangbatch_skipgram
mode
melakukan mini-batching menggunakan strategi Berbagi Sampel Negatif untuk mengubah operasi BLAS level-1 menjadi operasi BLAS level-3. Ini secara efisien memanfaatkan instruksi multiply-add arsitektur modern. Untuk informasi lebih lanjut, lihatParalelisasi Word2Vec dalam Memori Bersama dan Terdistribusi.
Untuk meringkas, mode berikut didukung olehBlazingTextpada berbagai jenis contoh:
Mode |
Word2Vec (Pembelajaran Tanpa Pengawasan) |
Klasifikasi Teks (Pembelajaran yang Diawasi) |
---|---|---|
Contoh CPU tunggal |
|
|
Instans GPU tunggal (dengan 1 atau lebih GPU) |
|
|
Beberapa instans CPU |
Batch Skip-gram |
Tidak ada |
Untuk informasi lebih lanjut tentang matematika di belakangBlazingText, lihatBlazingText: Penskalaan dan Mempercepat Word2Vec menggunakan Beberapa GPU
Topik
Antarmuka Input/Output untukBlazingTextAlgoritma
YangBlazingTextalgoritma mengharapkan file teks preprocessed tunggal dengan token spasi-dipisahkan. Setiap baris dalam file harus berisi satu kalimat. Jika Anda perlu melatih beberapa file teks, gabungkan menjadi satu file dan unggah file di saluran masing-masing.
Format Data Pelatihan dan Validasi
Format Data Pelatihan dan Validasi untuk Algoritma Word2Vec
Untuk pelatihan Word2Vec, unggah file di bawahmelatihsaluran. Tidak ada saluran lain yang didukung. File harus berisi kalimat pelatihan per baris.
Format Data Pelatihan dan Validasi untuk Algoritma Klasifikasi Teks
Untuk mode pengawasan, Anda dapat berlatih dengan mode file atau dengan format teks manifes yang ditambah.
Berlatih dengan Mode File
Untuksupervised
mode, file pelatihan/validasi harus berisi kalimat pelatihan per baris bersama dengan label. Label adalah kata-kata yang diawali oleh string__label__. Berikut adalah contoh file pelatihan/validasi:
__label__4 linux ready for prime time , intel says , despite all the linux hype , the open-source movement has yet to make a huge splash in the desktop market . that may be about to change , thanks to chipmaking giant intel corp . __label__2 bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly as the indian skippers return to international cricket was short lived .
catatan
Urutan label dalam kalimat tidak masalah.
Unggah file latihan di bawah saluran kereta api, dan unggah file validasi secara opsional di bawah saluran validasi.
Latih dengan Format Teks Manifes Augmented
Mode yang diawasi untuk instans CPU juga mendukung format manifes yang ditambah, yang memungkinkan Anda melakukan latihan dalam mode pipa tanpa perlu membuat file RecordiO. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar kalimat dan label yang sesuai. Format file manifes harus dalamGaris JSONsource
tag dan label dapat ditentukan menggunakanlabel
tag. Keduanyasource
danlabel
tag harus disediakan di bawahAttributeNames
nilai parameter seperti yang ditentukan dalam permintaan.
{"source":"linux ready for prime time , intel says , despite all the linux hype", "label":1} {"source":"bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly", "label":2}
Pelatihan multi-label juga didukung dengan menentukan larik label JSON.
{"source":"linux ready for prime time , intel says , despite all the linux hype", "label": [1, 3]} {"source":"bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly", "label": [2, 4, 5]}
Untuk informasi selengkapnya tentang file manifes yang ditambah, lihatMenyediakan Dataset Metadata untuk Training Jobs dengan Augmented Manifest File.
Model Artefak dan Inferensi
Artefak Model untuk Algoritma Word2Vec
Untuk pelatihan Word2Vec, artefak model terdiri darivectors.txt, yang berisiwords-to-vectorspemetaan, danvectors.bin, biner yang digunakan olehBlazingTextuntuk hosting, inferensi, atau keduanya.vectors.txtmenyimpan vektor dalam format yang kompatibel dengan alat lain seperti Gensim dan Spacy. Misalnya, pengguna Gensim dapat menjalankan perintah berikut untuk memuat file vectors.txt:
from gensim.models import KeyedVectors word_vectors = KeyedVectors.load_word2vec_format('vectors.txt', binary=False) word_vectors.most_similar(positive=['woman', 'king'], negative=['man']) word_vectors.doesnt_match("breakfast cereal dinner lunch".split())
Jika parameter evaluasi diatur keTrue
, file tambahan,eval.json, dibuat. File ini berisi hasil evaluasi kesamaan (menggunakan koefisien korelasi peringkat Spearman) pada dataset WS-353. Jumlah kata dari kumpulan data WS-353 yang tidak ada di korpus pelatihan dilaporkan.
Untuk permintaan inferensi, model menerima file JSON yang berisi daftar string dan mengembalikan daftar vektor. Jika kata tersebut tidak ditemukan dalam kosakata, inferensi mengembalikan vektor nol. Jika subkata diatur keTrue
selama pelatihan, model ini mampu menghasilkan vektor untukout-of-vocabulary(OOV) kata-kata.
Contoh Permintaan JSON
Jenis MIME: application/json
{ "instances": ["word1", "word2", "word3"] }
Artefak Model untuk Algoritma Klasifikasi Teks
Pelatihan dengan output yang diawasi menciptakanmodel.binfile yang dapat dikonsumsi olehBlazingTexthosting. Untuk kesimpulan,BlazingTextModel menerima file JSON yang berisi daftar kalimat dan mengembalikan daftar label prediksi yang sesuai dan skor probabilitas. Setiap kalimat diharapkan menjadi string dengan token, kata, atau keduanya yang dipisahkan ruang.
Contoh Permintaan JSON
Jenis MIME: application/json
{ "instances": ["the movie was excellent", "i did not like the plot ."] }
Secara default, server hanya mengembalikan satu prediksi, yang memiliki probabilitas tertinggi. Untuk mengambil bagian ataskprediksi, Anda dapat mengaturkdalam konfigurasi, sebagai berikut:
{ "instances": ["the movie was excellent", "i did not like the plot ."], "configuration": {"k": 2} }
UntukBlazingText, yang content-type
danaccept
parameter harus sama. Untuk transformasi batch, keduanya harusapplication/jsonlines
. Jika mereka berbeda,Accept
bidang diabaikan. Format untuk masukan berikut:
content-type: application/jsonlines {"source": "source_0"} {"source": "source_1"} if you need to pass the value of k for top-k, then you can do it in the following way: {"source": "source_0", "k": 2} {"source": "source_1", "k": 3}
Format untuk output berikut:
accept: application/jsonlines {"prob": [prob_1], "label": ["__label__1"]} {"prob": [prob_1], "label": ["__label__1"]} If you have passed the value of k to be more than 1, then response will be in this format: {"prob": [prob_1, prob_2], "label": ["__label__1", "__label__2"]} {"prob": [prob_1, prob_2], "label": ["__label__1", "__label__2"]}
Untuk mode yang diawasi (klasifikasi teks) dan tanpa pengawasan (Word2Vec), biner (*.tempat sampah) diproduksi olehBlazingTextdapat dikonsumsi silang oleh FastText dan sebaliknya. Anda dapat menggunakan biner yang diproduksi olehBlazingTextoleh FastText. Demikian juga, Anda dapat meng-host binari model yang dibuat dengan FastText menggunakanBlazingText.
Berikut adalah contoh cara menggunakan model yang dihasilkan denganBlazingTextdengan FastText:
#Download the model artifact from S3 aws s3 cp s3://<YOUR_S3_BUCKET>/<PREFIX>/model.tar.gz model.tar.gz #Unzip the model archive tar -xzf model.tar.gz #Use the model archive with fastText fasttext predict ./model.bin test.txt
Namun, biner hanya didukung ketika pelatihan pada CPU dan GPU tunggal; pelatihan pada multi-GPU tidak akan menghasilkan biner.
Rekomendasi Instans EC2 untukBlazingTextAlgoritma
Untukcbow
danskipgram
mode,BlazingTextmendukung CPU tunggal dan instans GPU tunggal. Kedua mode ini mendukung pembelajaransubwords
embeddings. Untuk mencapai kecepatan tertinggi tanpa mengurangi akurasi, kami sarankan Anda menggunakan instans ml.p3.2xlarge.
Untukbatch_skipgram
modus,BlazingTextmendukung instans CPU tunggal atau beberapa. Saat melatih beberapa instance, tetapkan nilaiS3DataDistributionType
bidangS3DataSource
objek yang Anda lewatiCreateTrainingJob
kepadaFullyReplicated
. BlazingTextmengurus mendistribusikan data di seluruh mesin.
Untuk mode klasifikasi teks yang diawasi, instans C5 direkomendasikan jika set data pelatihan kurang dari 2 GB. Untuk kumpulan data yang lebih besar, gunakan instance dengan satu GPU. BlazingTextmendukung instans P2, P3, G4dn, dan G5 untuk pelatihan dan inferensi.
BlazingTextContoh Notebook
Untuk contoh notebook yang melatih dan menyebarkanSageMaker BlazingTextalgoritma untuk menghasilkan vektor kata, lihatBelajar Word2Vec Word Representasi menggunakanBlazingText