Приблизительные вычисления

редактировать

Приближенное вычисление - это метод вычислений, который возвращает возможно неточный результат, а не гарантированно точный результат, и может использоваться для приложений, в которых приблизительный результат достаточен для его цели. Один экзамен Такая ситуация характерна для поисковой системы, где не может существовать точного ответа на определенный поисковый запрос, и, следовательно, многие ответы могут быть приемлемыми. Точно так же случайное пропадание некоторых кадров в видеоприложении может остаться незамеченным из-за ограничений человеческого восприятия. Приближенное вычисление основано на наблюдении, что во многих сценариях, хотя выполнение точных вычислений требует большого количества ресурсов, разрешение ограниченного приближения может обеспечить непропорциональный выигрыш в производительности и энергии при сохранении приемлемой точности результата. Например, в алгоритме кластеризации k-средних допущение только 5% потери точности классификации может обеспечить в 50 раз экономию энергии по сравнению с полностью точной классификацией.

Ключевым требованием при приближенных вычислениях является это приближение может быть введено только для некритических данных, поскольку аппроксимация критических данных (например, операции управления) может привести к катастрофическим последствиям, таким как сбой программы или ошибочный вывод.

Содержание
  • 1 Стратегии
  • 2 Области приложения
  • 3 Производные парадигмы
  • 4 См. Также
  • 5 Ссылки
Стратегии

Для выполнения приблизительного выполнения можно использовать несколько стратегий. вычисление.

Примерные схемы
Приблизительные сумматоры, умножители и другие логические схемы могут снизить накладные расходы на оборудование. Например, приблизительный многобитовый сумматор может игнорировать цепочку переноса и, таким образом, позволить всем своим суб-сумматорам выполнять операцию сложения параллельно.
Примерное хранилище
Вместо точного хранения данных значений, они могут быть сохранены приблизительно, например, путем усечения младших битов в данных с плавающей запятой. Другой способ - использовать менее надежную память. Для этого в DRAM и eDRAM можно снизить или контролировать частоту обновления. В SRAM напряжение питания можно понижать или контролировать. Приблизительное хранилище можно использовать для снижения высокого потребления энергии записи MRAM. В общем, любые механизмы обнаружения и исправления ошибок должны быть отключены.
Аппроксимация на программном уровне
Есть несколько способов аппроксимации на программном уровне. Можно применить мемоизацию. Некоторые итерации из циклов можно пропустить (это называется перфорация цикла ) для более быстрого достижения результата. Некоторые задачи также можно пропустить, например, когда условие времени выполнения предполагает, что эти задачи бесполезны (пропуск задачи ). Алгоритмы Монте-Карло и Рандомизированные алгоритмы торгуют корректностью для гарантии времени выполнения. Вычисление можно переформулировать в соответствии с парадигмами, которые позволяют легко ускорять на специализированном оборудовании, например блок нейронной обработки.
Приблизительная система
В приблизительной системе различные подсистемы системы, такие как процессор, память, сенсор и коммуникационные модули, синергетически аппроксимируются, чтобы получить гораздо лучшую систему -уровневая кривая компенсации QE по сравнению с отдельными приближениями для каждой из подсистем.
Области приложений

Приближенные вычисления использовались в различных областях, где приложения допускают ошибки, например обработка мультимедиа, машинное обучение, обработка сигналов, научные вычисления и т. д. Google использует этот подход в своих модулях тензорной обработки (TPU, кастомный ASIC).

Производные парадигмы

Основная проблема в приблизительных вычислениях - это идентификация раздела приложения, который может быть аппроксимирован. В случае крупномасштабных приложений очень часто можно встретить людей, обладающих знаниями в области приблизительных вычислительных технологий, но не обладающих достаточным опытом в области приложения (и наоборот). Для решения этой проблемы были предложены парадигмы программирования. Их всех объединяет четкое разделение ролей между прикладным программистом и прикладным экспертом в предметной области. Эти подходы позволяют распространить наиболее распространенные оптимизации и приблизительные вычислительные методы.

См. Также
Ссылки
Последняя правка сделана 2021-06-11 22:35:44
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте