HyperAI
Back to Headlines

3 Workflows Pandas Accélérés Jusqu'à 30x Grâce aux GPU : Analyse de Données en Temps Réel Simplifiée

il y a 9 heures

Trois flux de travail Pandas qui se ralentissent sur de gros ensembles de données—Jusqu'à ce que nous activions les GPUs Si vous travaillez avec Pandas, vous avez probablement déjà rencontré un obstacle. Il s'agit de ce moment où votre flux de travail, si élégant sur des petits ensembles de données, se met à ramener sur de grandes quantités de données. Un script qui prenait quelques secondes peut maintenant traîner pendant des minutes. Les solutions classiques sont généralement frustrantes : on sous-échantillonne les données, on perd en précision, on réécrit le code pour traiter les données par morceaux, ou encore, on migre l'ensemble du flux de travail vers un framework distribué comme Spark. Mais imaginez que vous puissiez franchir cette barrière en activant simplement une option. Voici trois flux de travail courants de Pandas qui sont considérablement accélérés grâce à une bibliothèque de DataFrame accélérée par GPU, appelée NVIDIA cuDF. Cette bibliothèque permet d'utiliser le GPU de manière transparente sans devoir réécrire le code. Flux de travail n°1 : Analyser les cours de bourse avec des fenêtres basées sur le temps Une tâche courante en analyse financière consiste à explorer de grands ensembles de données chronologiques pour détecter des tendances. Cela implique souvent une série d'opérations Pandas comme groupby().agg() et la création de nouvelles fonctionnalités liées aux dates. Le véritable goulot d'étranglement apparaît lors du calcul de métriques sur des périodes de temps glissantes. Par exemple, utiliser groupby().rolling() pour calculer des Moyennes Mobiles Simplifiées (MMS) sur des fenêtres de '50 jours' ou de '200 jours' peut être extrêmement lent sur un CPU. En activant l'accélération GPU avec cuDF, ces opérations peuvent être jusqu'à 20 fois plus rapides. Un flux de travail cumulatif qui prend des minutes sur un CPU peut se terminer en quelques secondes sur un GPU. Voir la différence par vous-même : Vidéo 1 : Comparaison des performances de traitement sur 18 millions de lignes de données de cours de bourse entre Pandas et cuDF. Explorez le code : - Notebook Colab - Dépôt GitHub Flux de travail n°2 : Analyser des offres d'emploi avec des champs de chaînes larges L'analyse de données commerciales nécessite souvent un examen de données textuelles volumineuses, ce qui pose un défi majeur pour Pandas. Lescolonnes de chaînes larges consomment énormément de mémoire—the notebook de ce flux de travail charge un fichier de 8 Go—and rendent les opérations standard incroyablement lentes. Des tâches comme la lecture de fichiers (read_csv), le calcul de la longueur des chaînes (.str.len()), et la fusion de DataFrames (pd.merge) deviennent des freins majeurs pour répondre à des questions d'affaires comme : « Quelles entreprises ont les descriptions d'offres d'emploi les plus longues ? » L'accélération GPU fournit une accélération massive de bout en bout. Observez la comparaison côté à côté : Vidéo 2 : Accélération du flux de travail Pandas jusqu'à 30 fois plus rapide sur un ensemble de données textuel de 8 Go en utilisant cuDF. Explorez le code : - Notebook Colab - Dépôt GitHub Flux de travail n°3 : Construire un tableau de bord interactif avec 7,3 millions de points de données Un objectif principal des analystes de données est de créer des tableaux de bord interactifs permettant aux parties prenantes de naviguer dans les données. Le cœur de tout tableau de bord réside dans sa capacité à filtrer rapidement les données en fonction des entrées de l'utilisateur. Avec Pandas sur un CPU, le filtre en temps réel de millions de lignes est souvent impossible. Modifier un curseur de date ou sélectionner une valeur dans une liste déroulante peut entraîner un retard notable, rendant l'expérience peu convaincante. Ce flux de travail montre un tableau de bord basé sur 7,3 millions de localisations de pylônes cellulaires où des opérations Pandas comme .between() et .isin() sont déclenchées par les clics de l'utilisateur. Avec l'accélération GPU, ces opérations de filtrage sont quasi instantanées. Le résultat est une expérience fluide et intuitive, même lors de l'interrogation en temps réel de millions de points de données géospatiales. Voyez le tableau de bord en action : Vidéo 3 : Accélération du traitement et de la visualisation des données sur 7,3 millions de localisations géospatiales en utilisant cuDF. Explorez le code : - Notebook Colab - Dépôt GitHub Que faire si votre DataFrame Pandas est plus grand que la mémoire du GPU ? Une préoccupation fréquente est : « C'est génial, mais que faire si mon ensemble de données ne rentre pas dans la mémoire de mon GPU ? » Historiquement, c'était une importante limitation. Aujourd'hui, grâce à la Mémoire Virtuelle Unifiée (UVM), il est possible de traiter des ensembles de données plus grands que la VRAM (mémoire dédiée du GPU). L'UVM effectue intelligemment l'échange de données entre la RAM de votre système et la mémoire du GPU, vous permettant ainsi de travailler sur de vastes DataFrames Pandas sans vous soucier de la gestion de la mémoire. Pour en savoir plus, consultez ce blog : - Blog sur l'UVM. Ou regardez cette vidéo : Vidéo 4 : Trois approches pour résoudre les problèmes de débordement de mémoire avec des ensembles de données volumineuses. Essayer vous-même : Même code, plus de vitesse Comme le montrent ces flux de travail, les goulots d'étranglement de performances dans Pandas n'ont pas besoin de forcer à de complexes contournements. De nombreux problèmes de performance courants peuvent être résolus en activant simplement le GPU que vous possédez peut-être déjà. La meilleure partie ? Avec NVIDIA cuDF, vous pouvez continuer à utiliser votre connaissance existante de Pandas. Voici un guide rapide sur la manière de l'activer : Vidéo 5 : Trois méthodes pour activer l'accélération GPU de cuDF dans Pandas. Prêt à commencer ? Explorez ces exemples et bien plus dans notre dépôt GitHub : - GitHub cuDF Vous êtes un utilisateur de Polars ? Polars offre également un moteur GPU intégré, alimenté par NVIDIA cuDF. Pour en savoir plus, consultez le blog annonçant la disponibilité en version bêta ouverte du moteur GPU de Polars alimenté par RAPIDS cuDF. Blog sur le moteur GPU de Polars Évaluation par les professionnels de l'industrie L'adoption de NVIDIA cuDF dans ces flux de travail a été largement saluée par les professionnels de l'industrie. Ils soulignent que l'accélération GPU offre non seulement une amélioration significative des performances, mais aussi une meilleure productivité et une expérience utilisateur plus agréable. Profil de l'entreprise : NVIDIA est un leader mondial en conception de systèmes sur puces (SoC) et de logiciels spécialisés dans l'informatique graphique, l'intelligence artificielle et le traitement de données massives. NVIDIA cuDF, intégré à la plateforme RAPIDS, est conçu pour exploiter le potentiel des GPUs dans le traitement des données, facilitant ainsi l'analyse de grands ensembles de données pour les utilisateurs de Pandas et de Polars.

Related Links