Что такое FLOPS в области глубокого обучения? - PullRequest
1 голос
/ 22 октября 2019

Что такое FLOPS в области глубокого обучения? Почему мы не используем термин просто FLO?

Мы используем термин FLOPS для измерения количества операций замороженной сети глубокого обучения.

После Википедии FLOPS = операций с плавающей запятой навторой. Когда мы тестируем вычислительные устройства, мы должны учитывать время. Но в случае измерения сети глубокого обучения, как я могу понять эту концепцию времени? Разве мы не должны использовать термин просто FLO (операции с плавающей запятой)?

Почему люди используют термин FLOPS? Если есть что-то, чего я не знаю, что это?

==== вложение ===

Замороженные сети глубокого обучения, о которых я упоминал, - это всего лишь разновидность программного обеспечения. Дело не в железе. В области глубокого обучения люди используют термин FLOPS для определения количества операций, необходимых для запуска сетевой модели. В этом случае, на мой взгляд, мы должны использовать термин FLO. Я думал, что люди не понимают термин FLOPS, и я хочу знать, думают ли другие так же или я ошибаюсь.

Пожалуйста, посмотрите на следующие случаи:

как рассчитатьчистые штоки в CNN

https://iq.opengenus.org/floating-point-operations-per-second-flops-of-machine-learning-models/

1 Ответ

1 голос
/ 22 октября 2019

Что такое FLOPS в области глубокого обучения? Почему мы не используем термин просто FLO?

FLOPS (число операций с плавающей запятой в секунду) одинаково в большинстве областей - это (теоретическое) максимальное количество операций с плавающей запятой, которое аппаратное обеспечение может(если вам чрезвычайно повезло) быть в состоянии.

Мы не используем FLO, потому что FLO всегда будет бесконечностью (учитывая, что бесконечное количество времени аппаратное обеспечение способно выполнять бесконечное количество операций с плавающей запятой).

Обратите внимание, что одна "операция с плавающей запятой" - это одно умножение, одно деление, одно сложение, ... Обычно (для современных процессоров) FLOPS рассчитывается из многократного использования команды "слияние, умножение и сложение",так что одна инструкция считается как 2 операции с плавающей запятой. В сочетании с SIMD одна инструкция (выполняющая 8 «умножение и сложение» параллельно) может считаться 16 инструкциями с плавающей запятой. Конечно, это расчетное теоретическое значение, поэтому вы игнорируете такие вещи, как доступ к памяти, ответвления, IRQ и т. Д. Именно поэтому «теоретические FLOP» практически никогда не достижимы на практике.

Почему люди используюттермин шлопает? Если есть что-то, чего я не знаю, что это такое?

Прежде всего, оно используется для описания того, насколько мощное оборудование используется в маркетинговых целях (например, «Наш новый ЦП способен на 5 GFLOPS!»).

...