Udostępnij za pośrednictwem


Ładowanie danych przy użyciu przesyłania strumieniowego mozaiki

W tym artykule opisano sposób konwertowania danych z platformy Apache Spark na format zgodny z biblioteką PyTorch przy użyciu przesyłania strumieniowego Mozaiki.

Mozaika Streaming to biblioteka ładowania danych typu open source. Umożliwia on trenowanie jednowęźle lub rozproszone i ewaluację modeli uczenia głębokiego z zestawów danych, które są już ładowane jako ramki danych platformy Apache Spark. Mozaika Streaming obsługuje głównie Mozaikę Composer, ale także integruje się z natywnym PyTorch, PyTorch Lightning i TorchDistributor. Usługa Mosaic Streaming oferuje szereg korzyści płynących z tradycyjnych modułów PyTorch DataLoaders, w tym:

  • Zgodność z dowolnym typem danych, w tym obrazami, tekstem, wideo i danymi wielomodalnymi.
  • Obsługa głównych dostawców magazynu w chmurze (AWS, OCI, GCS, Azure, Databricks UC Volume i dowolnych zgodnych magazynów obiektów S3, takich jak Cloudflare R2, Coreweave, Backblaze b2 itp.)
  • Maksymalizowanie gwarancji poprawności, wydajności, elastyczności i łatwości użycia. Aby uzyskać więcej informacji, wyświetl swoją kluczową stronę funkcji .

Aby uzyskać ogólne informacje na temat przesyłania strumieniowego mozaiki, zapoznaj się z dokumentacją interfejsu API przesyłania strumieniowego.

Uwaga

Usługa Mosaic Streaming została wstępnie zainstalowana we wszystkich wersjach środowiska Databricks Runtime 15.2 ML i nowszych.

Ładowanie danych z ramek danych platformy Spark przy użyciu przesyłania strumieniowego mozaiki

Przesyłanie strumieniowe mozaiki zapewnia prosty przepływ pracy do konwertowania z platformy Apache Spark na format fragmentu danych Mozaiki (MDS), który można następnie załadować do użycia w środowisku rozproszonym.

Zalecany przepływ pracy to:

  1. Ładowanie i opcjonalne wstępne przetwarzanie danych przy użyciu platformy Apache Spark.
  2. Służy streaming.base.converters.dataframe_to_mds do zapisywania ramki danych na dysku dla magazynu przejściowego i/lub do woluminu wykazu aparatu Unity na potrzeby magazynu trwałego. Te dane będą przechowywane w formacie MDS i można je dodatkowo zoptymalizować z obsługą kompresji i skrótów. Zaawansowane przypadki użycia mogą również obejmować wstępne przetwarzanie danych przy użyciu funkcji zdefiniowanych przez użytkownika. Aby uzyskać więcej informacji, zobacz samouczek Spark DataFrame to MDS.
  3. Użyj streaming.StreamingDataset polecenia , aby załadować niezbędne dane do pamięci. StreamingDataset jest wersją iterableDataset PyTorch, która oferuje elastycznie deterministyczne mieszania, co umożliwia szybkie wznowienie w połowie epoki. Aby uzyskać więcej informacji, zobacz dokumentację usługi StreamingDataset.
  4. Użyj streaming.StreamingDataLoader polecenia , aby załadować niezbędne dane do trenowania/oceny/testowania. StreamingDataLoader to wersja modułu DataLoader firmy PyTorch, która udostępnia dodatkowy interfejs punktu kontrolnego/wznowienia, dla którego śledzi liczbę próbek widocznych przez model w tej klasyfikacji.

Aby zapoznać się z przykładem kompleksowego, zobacz następujący notes:

Uproszczenie ładowania danych z platformy Spark do rozwiązania PyTorch przy użyciu notesu przesyłania strumieniowego mozaiki

Pobierz notes