Vowpal Wabbit sürüm 8 modelini eğitme

Vowpal Wabbit makine öğrenimi sisteminin 8 sürümünü kullanarak bir modeli Oylar

Kategori: metin analizi

Not

Uygulama hedefi: Machine Learning Studio (klasik)

Bu içerik yalnızca Studio (klasik) ile ilgilidir. Benzer sürükle ve bırak modülleri Azure Machine Learning tasarımcısına eklenmiştir. Bu makalede iki sürümü karşılaştırandaha fazla bilgi edinin.

Modüle genel bakış

Bu makalede, Vowpal Wabbit (sürüm 8) kullanarak bir makine öğrenimi modeli oluşturmak için Azure Machine Learning Studio (klasik) ' de Vowpal Wabbit sürüm 8 modülünün nasıl kullanılacağı açıklanır.

Machine Learning için Vowpal Wabbit kullanmak için, girişinizi Vowpal Wabbit gereksinimlerine göre biçimlendirin ve verileri bir Azure Blob 'una kaydedin. Vowpal Wabbit komut satırı bağımsız değişkenlerini belirtmek için bu modülü kullanın.

Deneme çalıştırıldığında, bir Vowpal Wabbit örneği, belirtilen verilerle birlikte deneme çalışma zamanına yüklenir. Eğitim tamamlandığında, model çalışma alanına yeniden serileştirilir. Modeli veri puanlandırmaya hemen kullanabilirsiniz. Eğitilen model Ayrıca, daha sonra eğitim verilerini işlemek zorunda kalmadan kullanabilmeniz için Azure Storage 'da kalıcı hale getirilir.

Mevcut bir modeli yeni verilerde artımlı olarak eğitme, kaydedilmiş bir modeli önceden eğitilen model girişine bağlayın ve yeni verileri diğer girişe ekleyin.

Not

Azure Machine Learning Studio (klasik), Vowpal Wabbit çerçevesinin birden çok sürümünü barındırır. Bu modül, sürüm 8 olan Vowpal Wabbit çerçevesinin en son sürümünü kullanır. Yeni giriş verilerini öğrenmek için, Vowpal Wabbit sürüm 8 modelinikullanmanız gerekir.

Vowpal Wabbit sürümleri 7-4 veya 7-6: Vowpal wabbit 7-4 modelini eğitme ve vowpal Wabbit 7-4 model Puanlama.

Vowpal Wabbit sürüm 7-10: Vowpal wabbit 7-10 modelini eğitme ve vowpal Wabbit 7-10 modelini Puanlama.

Vowpal Wabbit nedir?

Vowpal Wabbit (VW), Yahoo! tarafından dağıtılmış bilgi işlem için geliştirilmiş hızlı ve paralel bir makine öğrenmesi çerçevesidir! Araştırma. Daha sonra Windows'a taşınabilir ve John Langford (Microsoft Research) tarafından paralel mimarilerde bilimsel bilgi işlem için uyarlandı.

Makine öğrenmesi için önemli olan Vowpal Wabbit'in özellikleri arasında sürekli öğrenme (çevrimiçi öğrenme), boyut azaltma ve etkileşimli öğrenme yer aldı. Vowpal Wabbit, model verilerini belleğe sığdırmanıza neden olan sorunların çözümüdür.

Vowpal Wabbit'in birincil kullanıcıları sınıflandırma, regresyon, konu modellemesi veya matris çarpanlarına dönüştürme gibi makine öğrenmesi görevleri için çerçeveyi daha önce kullanmış olan veri bilimcileridir. Vowpal Wabbit için Azure sarmalayıcı, şirket içi sürüme çok benzer performans özelliklerine sahiptir, bu nedenle Vowpal Wabbit'in güçlü özelliklerini ve yerel performansını kullanabilir ve eğitilen modeli operasyonel bir hizmet olarak kolayca yayımlayabilirsiniz.

Özellik Karması modülü ayrıca Vowpal Wabbit tarafından sağlanan ve bir karma algoritması kullanarak metin veri kümelerini ikili özelliklere dönüştürmenizi sağlayan işlevleri de içerir.

Vowpal Wabbit Sürüm 8 Modelini yapılandırma

Bu bölümde, yeni bir modeli eğitip var olan bir modele yeni veri ekleme açık bir şekilde anlattır.

Studio'daki (klasik) diğer modüllerin aksine, bu modül hem modül parametrelerini belirtir hem de modeli eğiter. Mevcut bir modeliniz varsa, modeli artımlı olarak eğitmek için isteğe bağlı bir giriş olarak ekleyin.

Bu modülün kullanımı için Azure depolama hesabında kimlik doğrulaması gerekir.

Giriş verilerini hazırlama

Bu modülü kullanarak modeli eğitmek için giriş veri kümesi, desteklenen iki biçimden biri olan LibSVM veya VW'da tek bir metin sütunundan oluşur. Bu, Vowpal Wabbit yalnızca metin verilerini analiz etmenin, yalnızca özellik ve değerlerin gerekli metin dosyası biçiminde hazırlanmalıdır.

Veriler Azure Storage 'dan okunmalıdır. Biçimlendirme bazı ek değişiklikler gerektirdiğinden, giriş dosyasını Vowpal Wabbit ile kullanılmak üzere Azure 'a doğrudan kaydetmek için verileri dışarı aktarma kullanılması mümkün değildir. Verilerin doğru biçimde olduğundan emin olmanız ve verileri Azure Blob depolama alanına yüklemeniz gerekir.

Ancak, bir kısayol olarak bir SVMLight biçim dosyası oluşturmak için svmlight modülünü Dönüştür ' i kullanabilirsiniz. Daha sonra, SVMLight biçim dosyasını Azure Blob depolama alanına yükleyebilir ve giriş olarak kullanabilir ya da Vowpal Wabbit giriş dosyası gereksinimlerine uymak için dosyayı biraz daha değiştirebilirsiniz.

Vowpal Wabbit veri biçimi, seyrek verilerle ilgilenirken boş alan kaydeden bir sütunlu biçim gerektirmeyen avantajın avantajlarından yararlanır. Bu biçim hakkında daha fazla bilgi için bkz. Vowpal Wabbit wiki sayfası.

Vowpal Wabbit modeli oluşturma ve eğitme

  1. Denemeniz için Vowpal Wabbit sürüm 8 modülünü ekleyin.

  2. Eğitim verilerinin depolandığı hesabı belirtin. Eğitilen model ve karma dosya aynı konumda depolanır.

    • Azure depolama hesabı adı için Azure depolama hesabının adını yazın.

    • Azure depolama anahtarı için, depolama hesabına erişim için belirtilen anahtarı kopyalayıp yapıştırın.

    Anahtarınız yoksa bkz. depolama erişim anahtarlarını yeniden oluşturma

  3. Azure kapsayıcı adı için, model eğitim verilerinin depolandığı belirtilen Azure depolama hesabındaki tek bir kapsayıcının adını yazın. Hesap adı veya herhangi bir protokol ön eki yazmayın.

    Örneğin, tam kapsayıcı yolu ve adı ise, https://myaccount.blob.core.windows.net/vwmodels yalnızca yazmalısınız vwmodels . Kapsayıcı adları hakkında daha fazla bilgi için bkz. kapsayıcıları, Blobları ve meta verileri adlandırma ve başvuru.

  4. VW bağımsız değişkenleri metin kutusunda Vowpal Wabbit yürütülebilir dosyası için komut satırı bağımsız değişkenlerini yazın.

    Örneğin, öğrenme oranını –l belirtmek veya karma bit sayısını belirtmek için -b ekleyebilir.

    Daha fazla bilgi için Vowpal Wabbit parametreleri bölümüne bakın.

  5. Giriş VW dosyasının adı: Giriş verilerini içeren dosyanın adını yazın. Dosya, daha önce belirtilen depolama hesabında ve kapsayıcıda bulunan, Azure blob depolamada var olan bir dosya olması gerekir. Dosya, desteklenen biçimlerden biri kullanılarak hazırlanmış olması gerekir.

  6. Çıktı okunabilir model (--readable_model) dosyasının adı: Eğitilen modelin kaydedilemediklerinin adını yazın. Dosya, giriş dosyasıyla aynı depolama hesabına ve kapsayıcıya kaydedilebilir.

    Bu bağımsız değişken --readable_model VW komut satırı parametresine karşılık gelen.

  7. Çıktı ters karma (--invert_hash) dosyasının adı: Ters karma işlevinin kaydedileci dosyanın adını yazın. Dosya, giriş dosyasıyla aynı depolama hesabına ve kapsayıcıya kaydedilebilir.

    Bu bağımsız değişken --invert_hash VW komut satırı parametresine karşılık gelen.

  8. Lütfen dosya türünü belirtin: Eğitim verilerinizin hangi biçimi kullandığını belirtin. Vowpal Wabbit şu iki giriş dosyası biçimlerini destekler:

    • VW, Vowpal Wabbit tarafından kullanılan iç biçimi temsil eder. Ayrıntılar için Vowpal Wabbit wiki sayfasına bakın.

    • SVMLight, diğer makine öğrenmesi araçları tarafından kullanılan bir biçimdir.

  9. Deneme her yeniden başlatıldında verileri depolamadan yüklemek istemiyorsanız Önbelleğe alınmış sonuçları kullan seçeneğini belirleyin. Başka bir parametrenin değişmediğini ve geçerli bir önbelleğin buluna olduğunu varsayarak Studio (klasik) verilerin önbelleğe alınmış bir sürümünü kullanır.

    Bu seçeneğin seçimi kaldırılırsa modül verileri her zaman depolamadan okur.

  10. Denemeyi çalıştırın.

  11. Eğitim tamamlandığında çıkışa sağ tıklayın ve Eğitilmiş Model Olarak Kaydet'i seçerek modeli Studio (klasik) çalışma alanınıza kaydedin.

Mevcut bir Vowpal Wabbit modelini yeniden eğitme

Vowpal Wabbit, mevcut bir modele yeni veri ekleyerek artımlı eğitimi destekler. Yeniden eğitim için mevcut bir modeli almanın iki yolu vardır:

  • Aynı deneyde başka bir tren Vowpal Wabbit sürüm 8 modülünün çıkışını kullanın.

  • Bir kaydedilmiş modeli, Studio 'nun eğitilen modeller grubunun (klasik) sol gezinti bölmesinde bulun ve denemenize sürükleyin.

  1. Denemeniz için Vowpal Wabbit sürüm 8 modülünü ekleyin.

  2. Daha önce eğitilen modeli, Vowpal Wabbit sürüm 8' in Eğitim giriş bağlantı noktasına bağlayın.

  3. Vowpal Wabbit sürüm 8 ' i eğitme Özellikler bölmesinde yeni eğitim verilerinin konumunu ve biçimini belirtin.

  4. İnsan tarafından okunabilen model çıkış dosyası için bir ad ve güncelleştirilmiş modelle ilişkili karma dosya için başka bir ad belirtin.

    Not

    Belirtilen konumda bir Vowpal Wabbit modeli veya karma dosyası varsa, dosyaların yeni eğitilen model tarafından sessizce üzerine yazılır. Yeniden eğitiminde ara modellerini korumak için, depolama konumunu değiştirmeniz veya model dosyalarının yerel bir kopyasını oluşturmanız gerekir.

  5. Denemeyi çalıştırın.

  6. Azure Machine Learning çalışma alanınızda güncelleştirilmiş modeli korumak için modüle sağ tıklayın ve eğitilen model olarak kaydet ' i seçin. Yeni bir ad belirtmezseniz, güncelleştirilmiş model var olan kaydedilen modelin üzerine yazar.

Örnekler

Bilgisayar öğreniminde Vowpal Wabbit kullanım örnekleri için bkz. Azure yapay zeka Galerisi:

  • Vowpal Wabbit örneği

    Bu deneme, bir VW modelinin veri açıklamasını, eğitimini ve işlemleştirme özelliğini gösterir.

Ayrıca, şu kaynaklara bakın:

Teknik notlar

Bu bölümde uygulama ayrıntıları, ipuçları ve sık sorulan soruların yanıtları yer almaktadır.

Vowpal Wabbit'in avantajları

Vowpal Wabbit, n-gram gibi doğrusal olmayan özellikler üzerinde son derece hızlı öğrenme sağlar.

Vowpal Wabbit, modele aynı anda tek bir kayıt sığdırmak için stokastik gradyan indüz (SGD) gibi çevrimiçi öğrenme tekniklerini kullanır. Bu nedenle ham veriler üzerinde çok hızlı bir şekilde tekrarlar ve çoğu modele göre daha hızlı iyi bir tahmin geliştirebilir. Bu yaklaşım, tüm eğitim verilerini belleğe okumaktan da kaçınıyor.

Vowpal Wabbit, tüm verileri yalnızca metin verilerine değil diğer kategorik değişkenlere dönüştürür. Karmaların kullanımı regresyon ağırlıklarının aramasını daha verimli hale getirir ve bu da etkin stokastik gradyan gerileme için kritik öneme sahip olur.

Eğitim sırasında modül, Azure için geliştirilen bir Vowpal Wabbit sarmalayıcıya çağrı yapar. Eğitim verileri, hesaplamaları yürüten çalışan rolleri ile depo arasındaki yüksek bant genişliği kullanılarak Azure'dan bloklar içinde indirilir ve VW öğrenicilerine akışla akar. Sonuçta elde edilen model, VW tarafından yapılan iç sıkıştırma nedeniyle genellikle çok küçük olur. Model, deneme çalışma alanına geri kopyalanır ve bu çalışma alanında diğer modeller gibi Azure Machine Learning.

Desteklenen ve desteklenmeyen parametreler

Bu bölümde, Azure Machine Learning Studio'da (klasik) Vowpal Wabbit komut satırı parametreleri desteği açıklanır.

Genel olarak, sınırlı sayıda bağımsız değişkenden başka her şey de desteklene. Bağımsız değişkenlerin tam listesi için Vowpal Wabbit wiki sayfasını kullanın.

Aşağıdaki parametreler için gerekli değildir:

  • içinde belirtilen giriş/çıkış seçenekleri https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Bu özellikler modül tarafından otomatik olarak zaten yapılandırılmıştır.

  • Ayrıca, birden çok çıkış oluşturan veya birden çok giriş alan tüm seçeneklere izin verilmiyor. Bunlar --cbt , --lda ve içerir --wap .

  • Yalnızca denetimli öğrenme algoritmaları desteklenir. Bu nedenle, bu seçenekler desteklenmez: –active , --rank , --search vb. # # # Kısıtlamaları

Kısıtlamalar

Hizmetin hedefi Vowpal Wabbit 'in deneyimli kullanıcılarını destekleyeceği için, giriş verileri, diğer modüller tarafından kullanılan veri kümesi biçimi yerine Vowpal Wabbit yerel metin biçimi kullanılarak önceden hazırlanmalıdır.

Azure ML çalışma alanındaki verileri kullanmak yerine, eğitim verileri, en yüksek performans ve en düşük ayrıştırma yükü için doğrudan Azure 'dan akışla kaydedilir. Bu nedenle, Azure ML 'de VW modüller ve diğer modüller arasında yalnızca sınırlı birlikte çalışabilirlik vardır.

Modül parametreleri

Name Aralık Tür İsteğe Bağlı Varsayılan Description
Lütfen dosya türünü belirtin VW

SVMLight
DataType Gerekli VW Dosya türünün SVMLight veya Vowpal Wabbit olup olmadığını belirtin.
Azure depolama hesabı adı herhangi biri Dize Gerekli Azure depolama hesabı adını yazın
Azure depolama anahtarı herhangi biri SecureString Gerekli Azure depolama anahtarını sağlayın
Azure kapsayıcı adı herhangi biri Dize Gerekli Azure Container adını yazın
VW bağımsız değişkenleri herhangi biri Dize İsteğe Bağlı Herhangi bir Vowpal Wabbit bağımsız değişkeni belirtin. -f'yi dahil etmek mümkün değildir.
Giriş VW dosyasının adı herhangi biri Dize Gerekli Vowpal Wabbit biçiminde bir giriş dosyasının adını belirtin
Çıktı okunabilir model (--readable_model) dosyasının adı herhangi biri Dize İsteğe Bağlı Belirtilirse, okunabilir bir modeli Azure kapsayıcıya geri alır.
Çıktı ters karma (--invert_hash) dosyasının adı Dize Dize İsteğe Bağlı Belirtilirse, ters karma işlevini içeren bir dosyayı Azure kapsayıcıya geri verir.

Çıkışlar

Ad Tür Description
Eğitilen model ILearner arabirimi Eğitilen öğrenciler

Özel durumlar

Özel durum Description
Hata 0001 Belirtilen bir veya daha fazla veri kümesi sütunu bulunamasa özel durum oluşur.
Hata 0003 Bir veya daha fazla giriş null veya boşsa özel durum oluşur.
Hata 0004 Parametre belirli bir değerden küçükse veya ona eşitse özel durum oluşur.
Hata 0017 Belirtilen bir veya daha fazla sütun türü geçerli modül tarafından desteklenmiyorsa özel durum oluşur.

Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning kodları.

API özel durumlarının listesi için bkz. Machine Learning REST API Kodları.

Ayrıca bkz.

Metin Analizi
Özellik karma
Adlandırılmış varlık tanıma
Vowpal Wabbit 7-4 modeli puanı
Vowpal Wabbit sürüm 8 modelini puanedin.
Vowpal Wabbit 7-4 modeline eğitme
A-Z modül listesi