Ł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:
- Ładowanie i opcjonalne wstępne przetwarzanie danych przy użyciu platformy Apache Spark.
- 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. - 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. - 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: