Профилирование TorchNeuron (Часть 1): Системное профилирование на AWS Trainium
huggingface ·
В данной статье представлен систематический подход к профилированию производительности вывода на AWS Trainium с использованием TorchNeuron — открытого бэкенда для PyTorch. Руководство описывает настройку NeuronConfig и NeuronProfiler для захвата трассировок устройства и времени выполнения с целью последующего анализа. Автор демонстрирует применение этих инструментов на примере профилирования трех вариантов операции RMSNorm: наивных операций PyTorch, встроенной функции torch.rms_norm и скомпилированной версии с помощью torch.compile. Результаты показывают, что как объединенное ядро (fused kernel), так и скомпилированный граф значительно сокращают время работы устройства Neuron по сравнению с наивной реализацией за счет устранения промежуточного материализования тензоров. В руководстве объясняется, как интерпретировать таблицу key_averages() для выявления узких мест в производительности, а также используется Neuron Explorer для визуализации жизненного цикла выполнения от диспетчеризации фреймворка до исполнения на аппаратном уровне. Этот рабочий процесс позволяет специалистам точно определять «горячие точки» и оптимизировать модели, применяя техники объединения или компиляции. В завершение автор анонсирует вторую часть статьи, которая будет посвящена профилированию на уровне устройств и roofline-анализу.
huggingface