GithubHelp home page GithubHelp logo

yangwang92 / bibench Goto Github PK

View Code? Open in Web Editor NEW

This project forked from htqin/bibench

0.0 0.0 0.0 111 KB

This project is the official implementation of our accepted ICML 2023 paper BiBench: Benchmarking and Analyzing Network Binarization.

Home Page: https://htqin.github.io/Projects/BiBench/

Shell 0.31% Python 99.69%

bibench's Introduction

BiBench: Benchmarking and Analyzing Network Binarization

Created by Haotong Qin*, Mingyuan Zhang*, Yifu Ding, Aoyu Li, Fisher Yu, and Xianglong Liu from Beihang University, Nanyang Technological University, and ETH Zurich.

prediction example

Introduction

This project is the official implementation of our accepted ICML 2023 paper BiBench: Benchmarking and Analyzing Network Binarization [PDF] [Doc]. Network binarization emerges as one of the most promising compression approaches offering extraordinary computation and memory savings by minimizing the bit-width. However, recent research has shown that applying existing binarization algorithms to diverse tasks, architectures, and hardware in realistic scenarios is still not straightforward. Common challenges of binarization, such as accuracy degradation and efficiency limitation, suggest that its attributes are not fully understood. To close this gap, we present BiBench, a rigorously designed benchmark with in-depth analysis for network binarization. We first carefully scrutinize the requirements of binarization in the actual production and define evaluation tracks and metrics for a comprehensive and fair investigation. Then, we evaluate and analyze a series of milestone binarization algorithms that function at the operator level and with extensive influence. Our benchmark reveals that 1) the binarized operator has a crucial impact on the performance and deployability of binarized networks; 2) the accuracy of binarization varies significantly across different learning tasks and neural architectures; 3) binarization has demonstrated promising efficiency potential on edge devices despite the limited hardware support. The results and analysis also lead to a promising paradigm for accurate and efficient binarization. We believe that BiBench will contribute to the broader adoption of binarization and serve as a foundation for future research.

Implementation

BiBench: the main code repo of our bibench, researchers can easily implement and test binarization algorithms in various evaluation tracks.

Libraries: the implementation of several basic (full-precision) learning tasks, support the comprehensive evaluation on learning tasks and neural architectures.

Full Doc

The detailed introduction and tutorial of out benchmark, you can directly browse the content from the index page.

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{qin2023bibench,
  author    = {Haotong Qin and Mingyuan Zhang 
  and Yifu Ding and Aoyu Li and Ziwei Liu 
  and Fisher Yu and Xianglong Liu},
  title     = {BiBench: Benchmarking and Analyzing Network Binarization},
  booktitle = {ICML},
  year      = {2023}
}

bibench's People

Contributors

htqin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.