Vowpal Wabbit sürüm 7-10 modelini eğitme

Vowpal Wabbit makine öğrenimi sisteminin 7-10 sürümünü kullanarak bir model TRAIN

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, bir Vowpal Wabbit (sürüm 7-10) örneğini kullanarak bir makine öğrenimi modeli oluşturmak için Azure Machine Learning Studio (klasik) ' de Vowpal Wabbit sürüm 7-10 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, Vowpal Wabbit çerçevesinin 7-10 sürümünü kullanır.

Önceki bir sürüme (7-4 veya 7-6) göre bir model derlemeniz veya puanlandırmeniz gerekiyorsa şu modülleri kullanın: Vowpal wabbit 7-4 modelini eğitme ve vowpal Wabbit 7-4 model Puanlama.

En son sürüm için, Puanlama modülü ile birlikte Vowpal Wabbit sürüm 8 modelini eğitmekullanın, Vowpal Wabbit 8 modeline puanyapın.

Vowpal Wabbit nedir?

Vowpal Wabbit (VW), Yahoo! tarafından dağıtılmış bilgi işlem için geliştirilen hızlı, paralel bir makine öğrenimi ç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 özellikleri arasında sürekli öğrenme (çevrimiçi öğrenme), boyutsallığı 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.

Azure Machine Learning'de 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 kullanan veri bilimcileridir. Vowpal Wabbit için Azure sarmalayıcı, şirket içi sürüme çok benzer performans özelliklerine sahiptir. Bu da kullanıcıların, eğitilen modeli operasyonel bir hizmet olarak kolayca yayımlama becerisi elde ederken Vowpal Wabbit'in güçlü özelliklerini ve yerel performansını kullanarak modeller derlemeye, yeniden eğiterek ve puanlama yapmaya devam ettiği anlamına gelir.

Ö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 7-10 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 birini içeren tek bir metin sütunundan oluşur: LibSVM veya VW.

Bu, Vowpal Wabbit yalnızca metin verilerini analiz etmenin yanı sıra özelliklerin 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 7-10 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 eklemesi de dahildir.

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

  5. Giriş VW dosyasının adı: Giriş verilerini içeren dosyanın adını yazın. Dosya, azure blob depolamada önceden belirtilen depolama hesabında ve kapsayıcıda bulunan mevcut 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 kaydedilemedik bir 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 --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. Model oluşturmanın ardından çıkışa sağ tıklar ve Eğitilmiş model olarak kaydet'i seçerek modeli daha sonra yeniden kullanabilir ve yeniden eğitebilirsiniz.

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.

  • Kaydedilmiş bir modeli Studio 'daki eğitilen modeller grubunda bulun (klasik) 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 hazırlanmasını, eğitimini ve işlem kullanımını 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 mağaza ile çalışan rolleri arasındaki yüksek bant genişliği kullanılarak Azure'dan bloklar içinde indirilir ve VW öğrenicilerine akışla yüklenir. 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.

Azure Machine Learning Studio'da (klasik) aşağıdaki komut satırı bağımsız değişkenlerini kullanılamaz.

  • Vowpal Wabbit Wiki - Komut satırı bağımsız değişkenleri içinde belirtilen giriş/çıkış seçenekleri

    Bu özellikler modül tarafından otomatik olarak yapılandırılır.

  • Birden çok çıkış oluşturan veya birden çok giriş alan tüm seçeneklere izin verilmiyor. Bu modüller şunlardır:

    --cbt, --lda, --wap

  • Yalnızca denetimli öğrenme algoritmaları desteklenir. Bu nedenle, bunlar gibi seçenekler desteklenmez:

    –active, --rank, --search

Yukarıda açıklananlar dışında tüm bağımsız değişkenlere izin verilir.

Bağımsız değişkenlerin tüm listesi için Vowpal Wabbit wiki sayfasınıkullanın.

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 Varsayılan Description
Azure depolama hesabı adı herhangi biri Dize Azure depolama hesabı adını yazın
Azure depolama anahtarı herhangi biri SecureString Azure depolama anahtarını sağlayın
Azure kapsayıcı adı herhangi biri Dize Azure Container adını yazın
VW bağımsız değişkenleri herhangi biri Dize Herhangi bir Vowpal Wabbit bağımsız değişkeni belirtin.

– F bağımsız değişkeni desteklenmez.
Giriş VW dosyasının adı herhangi biri Dize Vowpal Wabbit biçiminde bir giriş dosyasının adını belirtin
Çıkış okunabilir modelinin adı (--readable_model) dosyası herhangi biri Dize Belirtilirse, okunabilir bir modeli Azure kapsayıcıya geri alır.

Bu bağımsız değişken isteğe bağlıdır.
Çıktı ters karma (--invert_hash) dosyasının adı herhangi biri Dize Belirtilirse, ters karma işlevini içeren bir dosyayı Azure kapsayıcıya geri verir.

Bu bağımsız değişken isteğe bağlıdır.
Dosya türünü belirtin Vw

SVMLight
DataType Vw Dosya türünün SVMLight biçimini mi yoksa Vowpal Wabbit biçimini mi kullandığını gösterir.

Çı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üçük veya ona eşitse özel durum oluşur.
Hata 0017 Belirtilen bir veya daha fazla sütunda geçerli modülde desteklenmeyen tür varsa özel durum oluşur.

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

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

Ayrıca bkz.

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