[Mlir-commits] [mlir] e379a68 - [mlir] Remove obsolete "Quantization" section from the rationale.

Stella Laurenzo llvmlistbot at llvm.org
Tue Oct 13 20:45:32 PDT 2020


Author: Stella Laurenzo
Date: 2020-10-13T20:45:19-07:00
New Revision: e379a68cd2e7217f38bb356131aef06572b8749f

URL: https://github.com/llvm/llvm-project/commit/e379a68cd2e7217f38bb356131aef06572b8749f
DIFF: https://github.com/llvm/llvm-project/commit/e379a68cd2e7217f38bb356131aef06572b8749f.diff

LOG: [mlir] Remove obsolete "Quantization" section from the rationale.

* It reads as more of a TODO for the future and has been long obsoleted by later work.
* One of the authors of the referenced paper called this out as "weird stuff from two years ago" when reviewing the more recent TOSA RFC.

Differential Revision: https://reviews.llvm.org/D89329

Added: 
    

Modified: 
    mlir/docs/Rationale/Rationale.md

Removed: 
    


################################################################################
diff  --git a/mlir/docs/Rationale/Rationale.md b/mlir/docs/Rationale/Rationale.md
index c7953e685958..fdb35fd8597b 100644
--- a/mlir/docs/Rationale/Rationale.md
+++ b/mlir/docs/Rationale/Rationale.md
@@ -427,32 +427,6 @@ arguments to explicitly break the use-def chains in the current proposal. This
 can be combined with an attribute-imposed semantic requirement disallowing the
 body of the region to refer to any value from outside it.
 
-### Quantized integer operations
-
-We haven't designed integer quantized operations in MLIR, but experience from
-TensorFlow suggests that it is better to put information about the quantization
-range/scale into the type itself, rather than have a single type like "qint8"
-and put these on attributes of the operation.
-
-There are a few ways to do this with MLIR, including at least:
-
-*   We could do the same thing TensorFlow does - and we will _have_ to support
-    that model to some extent for compatibility.
-*   We can encode the fp range of quantized integers directly into the types
-    when they are constants. The best practice on this seems to be to encode the
-    zero point as well as a scale factor. This ensures that 0.0 is always
-    exactly representable, e.g. `qi8<-1.42, 31.23x>`.
-*   We could theoretically encode dynamically determined ranges into the types
-    using something like `qi8<?,?>` with the bounds being determined through the
-    SSA dataflow graph dynamically - similar to how dynamic shapes are handled.
-
-We will definitely need to do #1 for compatibility, we probably want to do #2,
-and we should investigate #3 over time. That said, our short term plan is to get
-more implementation experience with the rest of the system first, then come back
-to re-examine the representation for quantized arithmetic when we have that
-experience. When we do, we should chat with benoitjacob@ and
-[read the paper](https://arxiv.org/abs/1712.05877).
-
 ### Dialect type extensions
 
 This section describes the design decisions that shaped the dialect extensible


        


More information about the Mlir-commits mailing list