TGViewer
Python Portal Python Portal @pythonportal · 50.3K subscribers
Post #5002 8.52K
Вот трюк для оптимизации нейросетки, который даёт примерно 4x ускорение при передаче данных с CPU на GPU.

Представим задачу классификации изображений.

Определяем модель, загружаем и преобразуем данные.

В цикле обучения передаём данные на GPU и тренируем сеть.

В чём проблема:

Если заглянуть в профайлер,

- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).

Сократить это просто.

Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.

Решение:

Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.

В результате шаг передачи данных заметно ускорится.

Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.

👉 @PythonPortal
  • ❤ 33
More from @pythonportal
  1. Oct 12, 2026«Матричное дифференциальное исчисление для машинного обучения и не только» — бесплатный ку…
  2. Oct 12, 2026Где искать работу, если хочется большего? Рынок труда сейчас не самый простой, поэтому ино…
  3. Oct 12, 2026Можно буквально ввести предложение и посмотреть, как Transformer обрабатывает его. Этот ин…
  4. Oct 11, 2026«Graph Theory with Applications» — бесплатный учебник, который даёт всестороннее введение…
  5. Oct 11, 2026Разбор собеседований по проектированию систем, разделённый на 28 глав. Рассматриваются мас…
  6. Oct 11, 2026Вышла долгожданная новая версия Python — 3.15 🐍 В неё вошли 5643 коммита от тысячи разраб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →