Apache Spark ile makine öğrenmesi

Azure Synapse Analytics'teki Apache Spark, büyük verilerle makine öğrenmesine olanak sağlayarak büyük miktarlarda yapılandırılmış, yapılandırılmamış ve hızlı hareket eden verilerden değerli içgörüler elde etme olanağı sağlar.

Bu bölümde keşif veri analizi, özellik mühendisliği, model eğitimi, model puanlaması ve dağıtım gibi makine öğrenmesi iş akışlarına yönelik bir genel bakış ve öğreticiler yer alır.

Synapse Çalışma Zamanı

Synapse Runtime, veri bilimi ve makine öğrenmesi için iyileştirilmiş seçilmiş bir ortamdır. Synapse Runtime, Azure Machine Learning SDK'sında varsayılan olarak popüler açık kaynak kitaplıkları ve derlemeleri sunar. Synapse Runtime ayrıca PyTorch, Scikit-Learn, XGBoost ve daha fazlası dahil olmak üzere birçok dış kitaplık içerir.

Yayımlanan Azure Synapse Analytics çalışma zamanını görüntüleyerek kullanılabilir kitaplıklar ve ilgili sürümler hakkında daha fazla bilgi edinin.

Keşif veri analizi

Azure Synapse Analytics'te Apache Spark kullanırken Synapse not defteri grafik seçenekleri, Seaborn ve Matplotlib gibi popüler açık kaynak kitaplıklarına erişim ve Synapse SQL ve Power BI ile tümleştirme gibi verilerinizi görselleştirmenize yardımcı olacak çeşitli yerleşik seçenekler vardır.

Azure Synapse Notebooks kullanarak verileri görselleştirme makalesini görüntüleyerek veri görselleştirme ve veri analizi seçenekleri hakkında daha fazla bilgi edinin.

Özellik mühendisliği

Varsayılan olarak Synapse Runtime, özellik mühendisliği için yaygın olarak kullanılan bir kitaplık kümesi içerir. Büyük veri kümeleri için özellik mühendisliği için Spark SQL, MLlib ve Koalas'ı kullanabilirsiniz. Daha küçük veri kümeleri için Numpy, Pandas ve Scikit-learn gibi üçüncü taraf kitaplıklar da bu senaryolar için kullanışlı yöntemler sağlar.

Modelleri eğitme

Azure Synapse Analytics'te Azure Spark kullanarak makine öğrenmesi modellerini eğitirken çeşitli seçenekler vardır: Apache Spark MLlib, Azure Machine Learning ve diğer çeşitli açık kaynak kitaplıkları.

Azure Synapse Analytics'te modelleri eğitmeye ilişkin makaleyi görüntüleyerek makine öğrenmesi özellikleri hakkında daha fazla bilgi edinin.

SparkML ve MLlib

Spark'ın bellek içi dağıtılmış hesaplama özellikleri, makine öğrenmesi ve graf hesaplamalarında kullanılan yinelemeli algoritmalar için iyi bir seçimdir. spark.mlkullanıcıların makine öğrenmesi işlem hatlarını oluşturmalarına ve ayarlamalarına yardımcı olan tekdüzen bir üst düzey API kümesi sağlar. hakkında spark.mldaha fazla bilgi edinmek için Apache Spark ML programlama kılavuzunu ziyaret edebilirsiniz.

Azure Machine Learning otomatik ML (kullanım dışı)

Azure Machine Learning otomatik ML (otomatik makine öğrenmesi), makine öğrenmesi modelleri geliştirme sürecini otomatikleştirmeye yardımcı olur. Veri bilimcilerinin, analistlerin ve geliştiricilerin yüksek ölçek, verimlilik ve üretkenlikle ML modelleri oluşturmasına ve model kalitesini sürdürmesine olanak tanır. Azure Machine Learning otomatik ML SDK'sını çalıştırma bileşenleri doğrudan Synapse Runtime'da yerleşik olarak bulunur.

Uyarı

  • Azure Synapse, 29 Eylül 2023 tarihinden itibaren Spark 2.4 Çalışma Zamanları için resmi desteği sona erdirecektir. 29 Eylül 2023'ün ardından Spark 2.4 ile ilgili destek biletlerine değinmeyeceksiniz. Spark 2.4 için hata veya güvenlik düzeltmeleri için yayın işlem hattı yoktur. Spark 2.4'ün destek kesme tarihinden sonra kullanımı kendi riski altındadır. Olası güvenlik ve işlevsellik endişeleri nedeniyle kullanılmaya devam etmemesi kesinlikle önerilmez.
  • Apache Spark 2.4'ün kullanımdan kaldırılması işleminin bir parçası olarak, Azure Synapse Analytics'teki AutoML'nin de kullanım dışı bırakılacağını bildirmek isteriz. Buna hem düşük kod arabirimi hem de kod aracılığıyla AutoML denemeleri oluşturmak için kullanılan API'ler dahildir.
  • AutoML işlevinin yalnızca Spark 2.4 çalışma zamanı aracılığıyla kullanılabildiğini lütfen unutmayın.
  • AutoML özelliklerinden yararlanmaya devam etmek isteyen müşteriler için verilerinizi Azure Data Lake Storage 2. Nesil (ADLSg2) hesabınıza kaydetmenizi öneririz. Buradan Azure Machine Learning (AzureML) aracılığıyla AutoML deneyimine sorunsuz bir şekilde erişebilirsiniz. Bu geçici çözümle ilgili daha fazla bilgiyi burada bulabilirsiniz.

Açık kaynak kitaplıkları

Azure Synapse Analytics'teki her Apache Spark havuzu, önceden yüklenmiş ve popüler makine öğrenmesi kitaplıkları kümesiyle birlikte gelir. Varsayılan olarak dahil edilen ilgili makine öğrenmesi kitaplıklarından bazıları şunlardır:

  • Scikit-learn , klasik ML algoritmaları için en popüler tek düğümlü makine öğrenmesi kitaplıklarından biridir. Scikit-learn denetimli ve denetimsiz öğrenme algoritmalarının çoğunu destekler ve veri madenciliği ve veri analizi için de kullanılabilir.

  • XGBoost , eğitim karar ağaçları ve rastgele ormanlar için iyileştirilmiş algoritmalar içeren popüler bir makine öğrenmesi kitaplığıdır.

  • PyTorch & TensorFlow güçlü Python derin öğrenme kitaplıklarıdır. Azure Synapse Analytics'teki bir Apache Spark havuzunda, havuzunuzdaki yürütücü sayısını sıfır olarak ayarlayarak tek makineli modeller oluşturmak için bu kitaplıkları kullanabilirsiniz. Apache Spark bu yapılandırma altında işlevsel olmasa da, tek makineli modeller oluşturmanın basit ve uygun maliyetli bir yoludur.

Model geliştirmeyi izleme

MLFlow , makine öğrenmesi denemelerinizin yaşam döngüsünü yönetmeye yönelik bir açık kaynak kitaplıktır. MLFlow İzleme, eğitim çalıştırması ölçümlerinizi ve model yapıtlarınızı günlüğe kaydeden ve izleyen bir MLflow bileşenidir. Azure Synapse Analytics ve Azure Machine Learning aracılığıyla MLFlow İzleme'yi nasıl kullanabileceğiniz hakkında daha fazla bilgi edinmek için MLFlow'u kullanma hakkında bu öğreticiyi ziyaret edin.

Model puanlaması

Model puanlaması veya çıkarım, modelin tahminlerde bulunmak için kullanıldığı aşamadır. SparkML veya MLLib ile model puanlaması için, doğrudan bir Spark DataFrame üzerinde çıkarım yapmak için yerel Spark yöntemlerinden yararlanabilirsiniz. Diğer açık kaynak kitaplıklar ve model türleri için, büyük veri kümelerinde çıkarım ölçeğini genişletmek için bir Spark UDF de oluşturabilirsiniz. Daha küçük veri kümeleri için kitaplık tarafından sağlanan yerel model çıkarım yöntemlerini de kullanabilirsiniz.

Modelleri kaydetme ve sunma

Modeli kaydetmek, çalışma alanınızdaki modeller hakkındaki meta verileri depolamanıza, sürüm oluşturmanıza ve izlemenize olanak tanır. Modelinizin eğitimini tamamladıktan sonra modelinizi Azure Machine Learning model kayıt defterine kaydedebilirsiniz. Kaydedildikten sonra ONNX modelleri, ayrılmış SQL havuzlarında depolanan verileri zenginleştirmek için de kullanılabilir.

Sonraki adımlar

Azure Synapse Analytics'te makine öğrenimine başlamak için aşağıdaki öğreticilere göz atabilirsiniz: