> TensorFlow quantization-aware training supports both asymmetric/symmetric. 
 > We are seeing asymmetric models because it is the default. If we'd like to 
 > start from symmetric approach, set the 
 > [symmetric](https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/contrib/quantize/python/quantize_graph.py#L149)
 >  and go on. Which, requires extra effort I think...

You might also consider symmetric signed int8 for weights, and unsigned uint8 
for for source and destination, since uint8 will give an extra bit of precision 
following activations.  Intel appears to preferentially support this form in 
their examples, and  their new DLBoost avx512 vector instructions also appear 
to preferentially support this form. 

` https://intel.github.io/mkl-dnn/ex_int8_simplenet.html `

` 
https://www.intel.ai/nervana/wp-content/uploads/sites/53/2018/05/Lower-Numerical-Precision-Deep-Learning-Inference-Training.pdf
 `

` These instructions enable lower precision multiplies with higher precision 
accumulates. Multiplying two 8-bit values and accumulating the result to 
32-bits requires 3 instructions and requires one of the 8-bit vectors to be in 
𝑢𝑛𝑠𝑖𝑔𝑛𝑒𝑑𝑖𝑛𝑡8(𝑢8) format, the other in 𝑠𝑖𝑔𝑛𝑒𝑑𝑖𝑛𝑡8(𝑠8) format with the 
accumulation in 𝑠𝑖𝑔𝑛𝑒𝑑𝑖𝑛𝑡32(𝑠32) format. `



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dmlc/tvm/issues/2351#issuecomment-497968508

Reply via email to