stringtranslate.com

Aritmética de precisión mixta

La aritmética de precisión mixta es una forma de aritmética de punto flotante que utiliza números con diferentes anchos en una sola operación.

Aritmética

Un uso común de la aritmética de precisión mixta es operar con números inexactos con un ancho pequeño y expandirlos a una representación más grande y precisa. Por ejemplo, dos números de punto flotante de media precisión o bfloat16 (16 bits) se pueden multiplicar para dar como resultado un número flotante de precisión simple (32 bits) más preciso. [1] De esta manera, la aritmética de precisión mixta se aproxima a la aritmética de precisión arbitraria , aunque con un número reducido de precisiones posibles.

La aritmética de precisión mixta se utiliza en el campo del aprendizaje automático , ya que los algoritmos de descenso de gradiente pueden usar flotadores de media precisión burdos y eficientes para ciertas tareas, pero pueden ser más precisos si usan flotadores de precisión simple más precisos pero más lentos. Algunas plataformas, incluidas las CPU y GPU de Nvidia , Intel y AMD , proporcionan aritmética de precisión mixta para este propósito, utilizando flotadores aproximados cuando es posible, pero ampliándolos a una mayor precisión cuando es necesario. [1] [2]

Los algoritmos iterativos (como el descenso de gradiente ) son buenos candidatos para la aritmética de precisión mixta. En un algoritmo iterativo como la raíz cuadrada , se puede hacer una suposición integral aproximada y refinarla a lo largo de muchas iteraciones hasta que el error en la precisión haga que la suma o resta más pequeña de la suposición sea todavía demasiado aproximada para ser una respuesta aceptable. Cuando esto sucede, la precisión se puede aumentar a algo más preciso, lo que permite utilizar incrementos más pequeños para la aproximación.

Las supercomputadoras como Summit utilizan aritmética de precisión mixta para ser más eficientes en cuanto a memoria y tiempo de procesamiento, así como al consumo de energía. [1] [2] [3]

Referencias

  1. ^ abc "Diferencia entre precisión simple, doble, múltiple y mixta". Blog de NVIDIA . Consultado el 30 de diciembre de 2020 .
  2. ^ ab Abdelfattah, Ahmad; Anzt, Hartwig; Boman, Erik G.; Carson, Erin; Cojean, Terry; Dongarra, Jack; Puertas, Marcos; Grützmacher, Thomas; Higham, Nicolás J.; Li, Jerez; Lindquist, Neil; Liu, Yang; Loé, Jennifer; Luszczek, Piotr; Nayak, Pratik; Pranesh, Sri; Rajamanickam, Siva; Ribizel, Tobías; Smith, Barry; Swirydowicz, Kasia; Tomás, Esteban; Tomov, Stanimire; Tsai, Yaohung M.; Yamazaki, Ichitaro; Urike Meier Yang (2020). "Un estudio de métodos numéricos que utilizan aritmética de precisión mixta". arXiv : 2007.06674 [cs.MS].
  3. ^ Holt, Kris. "Estados Unidos vuelve a tener la supercomputadora más poderosa del mundo". Engadget . Consultado el 20 de julio de 2018 .