article Oct 11, 2024Do you really need a distributed query engine?At first glance, using distributed computing sounds like a great idea. What’s better than using a fast computer?[... 362 words]data-engineeringperformance-tuning
article Mar 20, 2024Optimizing Data Loading and GPU Usage in PyTorchToday, it’s not too uncommon to have data processing tasks—including training neural networks—that require a GPU to finish in a reasonable amount of time. Acquiring one is fairly straightforward thanks to the abundance of cloud providers like AWS, GCP, Paperspace, and so on.[... 445 words]machine-learningpytorchperformance-tuningneural-networks
article Dec 20, 2023Enhance Training Speed with Mixed Precision TrainingIf your data loading is efficient and GPU utilization is almost always at 100%, it is time to consider speeding up the actual computation that happens there. Note that most operations on the GPU involve dealing with floating point variables (activations, gradients, and so on), each having a certain precision – most commonly float32 (or full precision).[... 353 words]machine-learningneural-networksperformance-tuning
article Jun 11, 2023Reducing Memory Requirements with Sparse Data StructuresUsing sparse data structures can vastly reduce memory requirements. Sparse data refers to data where most entries are zero, while dense data contains a higher proportion of non-zero values.[... 283 words]data-engineeringdata-scienceperformance-tuningmachine-learning
article Mar 20, 2022Columnar vs. Row-Based Storage: Key Differences and Use CasesIf you encounter slow SQL queries or data processing in general, it might indicate a problem with your data and how it’s stored. Even if the delay is only a few minutes, the iterative and exploratory nature of working with data can cripple productivity (and sanity).[... 347 words]data-engineeringperformance-tuning
article Jan 22, 2022Enhancing Code Performance with VectorizationPython has the reputation of being slow and often rightly so. One of the reasons why this language is still so popular for a compute-heavy field like machine learning is that most libraries are actually written in a faster language like C, C++, or Rust.[... 351 words]performance-tuningpython
article Nov 04, 2020Table Partitioning and Clustering StrategiesA classic performance optimization when dealing with larger amounts of data relates to typical usage patterns: Like requiring only a subset of columns, we often want to only use a subset of rows. For example, we might only consider a given time period like all the rows from the last three months.[... 283 words]data-engineeringperformance-tuning