Skip to content

Add weight quantization #321

Closed
Closed

Description

@alexanderkyte

Weight quantization enables low-power edge devices to perform machine learning by trading a couple of percentage points of prediction accuracy for a very dramatic reduction in computation times.

Mobile devices will motivate dramatic optimizations and code changes to enable cross platform SIMD across very different devices. An alternative is to create an implementation that is fast(simple) enough and correct enough that most users never need to care about numerical performance.

The approach was initially made popular by XNOR-NET for real time edge vision classification.
https://arxiv.org/pdf/1603.05279.pdf
But this is a generalized approach and there have been deeper analyses of the best way to negotiate the bitwidth-vs-model-accuracy scale. The training side can compress until the accuracy drops too low as part of the automatic hyperparameter tuning. This means a slight increase in training time in order to achieve low-power, high-speed streaming inference on edge processors.

Activity

  1. alexanderkyte commented on Jun 6, 2018

    @alexanderkyte
    Author
  2. alexanderkyte commented on Jun 6, 2018

    @alexanderkyte
    Author

    The indispensable user story of this function is the always-on network. After a low precision network activates, a slower one can double check the answer.

  3. alexanderkyte commented on Jun 7, 2018

    @alexanderkyte
    Author
  4. Ivanidzo4ka commented on Oct 18, 2018

    @Ivanidzo4ka
    Contributor

    DRI RESPONSE: We don't support NN as learner, but we do support TensorFlow scoring. So if I correctly understand issue, we technically have support for that as well.
    I'm intent to close this issue within few days if no one objects.

  5. ghost locked as resolved and limited conversation to collaborators on Mar 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions