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.
Bu makalede, Apache Spark'tan PyTorch ile uyumlu bir biçime veri dönüştürmek için Mozaik Akış'ın nasıl kullanılacağı açıklanmaktadır.
Mozaik Akış, açık kaynak bir veri yükleme kitaplığıdır. Apache Spark DataFrames olarak zaten yüklenmiş veri kümelerindeki derin öğrenme modellerinin tek düğümlü veya dağıtılmış olarak eğitilip değerlendirilmesini sağlar. Mozaik Akış öncelikle Mozaik Composer'ı destekler, ancak aynı zamanda yerel PyTorch, PyTorch Lightning ve TorchDistributor ile entegre olur. Mozaik Akış, aşağıdakiler dahil olmak üzere geleneksel PyTorch DataLoader'lara göre bir dizi avantaj sağlar:
- Görüntüler, metin, video ve çok modüllü veriler dahil olmak üzere tüm veri türleriyle uyumluluk.
- Büyük bulut depolama sağlayıcıları (AWS, OCI, GCS, Azure, Databricks UC Birimi ve Cloudflare R2, Coreweave, Backblaze b2 gibi S3 uyumlu herhangi bir nesne deposu) için destek
- Doğruluk garantilerini, performansı, esnekliği ve kullanım kolaylığını en üst düzeye çıkarma. Daha fazla bilgi için temel özellikler sayfasını görüntüleyin.
Mozaik Akış hakkında genel bilgi için Akış API'sinin belgelerini görüntüleyin.
Not
Mozaik Streaming, Databricks Runtime 15.2 ML ve üzeri sürümlerine önceden yüklenmiştir.
Mozaik Akış kullanarak Spark DataFrame'lerden veri yükleme
Mozaik Akış, Apache Spark'tan Mozaik Veri Parçası (MDS) biçimine dönüştürmek için basit bir iş akışı sağlar ve dağıtılmış bir ortamda kullanılmak üzere yüklenebilir.
Önerilen iş akışı:
- Apache Spark kullanarak verileri yükleme ve isteğe bağlı olarak ön işleme.
- Veri çerçevesini geçici depolama için diske ve/veya kalıcı depolama için Unity Kataloğu birimine kaydetmek için
streaming.base.converters.dataframe_to_mdskullanın. Bu veriler MDS biçiminde depolanır ve sıkıştırma ve karma oluşturma desteğiyle daha da iyileştirilebilir. Gelişmiş kullanım örnekleri, UDF'ler kullanılarak verilerin ön işlenmesini de içerebilir. Daha fazla bilgi için Spark DataFrame to MDS öğreticisini görüntüleyin. - Gerekli verileri belleğe yüklemek için kullanın
streaming.StreamingDataset.StreamingDatasetPyTorch'un IterableDataset'inin esnek olarak belirlenimci karıştırma özelliğine sahip olan ve dönem ortasında hızlı bir şekilde yeniden başlatılmasını sağlayan bir sürümüdür. Daha fazla bilgi için StreamingDataset belgelerini görüntüleyin. - Eğitim/değerlendirme/test için gerekli verileri yüklemek için kullanın
streaming.StreamingDataLoader.StreamingDataLoader, PyTorch'un DataLoader'ının, modelin bu sırada gördüğü örnek sayısını izlediği ek bir denetim noktası/yeniden başlatma arabirimi sağlayan bir sürümüdür.
Uçtan uca bir örnek için aşağıdaki not defterine bakın:
Mozaik Akış not defterini kullanarak Spark'tan PyTorch'a veri yüklemeyi basitleştirme
Sorun giderme
Kimlik doğrulama hatası
StreamingDatasetkullanarak bir Unity Kataloğu biriminden veri yüklerken aşağıdaki hatayı görürseniz, ortam değişkenlerini aşağıda gösterildiği gibi ayarlayın.
ValueError: default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method.
Not
TorchDistributorkullanarak dağıtılmış eğitimi çalıştırırken bu hatayı görürseniz, çalışan düğümlerinde ortam değişkenlerini de ayarlamanız gerekir.
db_host = "https://your-databricks-host.databricks.com"
db_token = "YOUR API TOKEN" # Create a token with either method from https://docs.databricks.com/en/dev-tools/auth/index.html#databricks-authentication-methods
def your_training_function():
import os
os.environ['DATABRICKS_HOST'] = db_host
os.environ['DATABRICKS_TOKEN'] = db_token
# The above function can be distributed with TorchDistributor:
# from pyspark.ml.torch.distributor import TorchDistributor
# distributor = TorchDistributor(...)
# distributor.run(your_training_function)
Python 3.11 paylaşılan bellek sorunları
Python 3.11'in paylaşılan bellek uygulamasıyla ilgili sorunlar nedeniyle, StreamingDataset Machine Learning için Databricks Runtime 15.4 LTS'de geçici sorunlarla karşılaşabilirsiniz. Python 3.12 bu sorunları giderdiği için Machine Learning için Databricks Runtime 16.4 LTS'ye yükselterek bu sorunlardan kaçınabilirsiniz.