Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ニューラルネットの1bit化 / 1bit-neural-network
Search
shun74
July 13, 2022
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ニューラルネットの1bit化 / 1bit-neural-network
Explanation of what is 1bit neural network .
shun74
July 13, 2022
More Decks by shun74
See All by shun74
深度推定モデルの自己教師あり学習/self-supervised-depth
shun74
0
530
GPUでステレオマッチング / Stereo-matching with GPU
shun74
0
1.2k
卒業研究の進め方 / How to preceed with the research
shun74
1
600
Barcode Recognition / pharmacode-decoder
shun74
0
1.1k
Vision Transformer講座 / Vision Transformer Presentation
shun74
1
770
Defocus Map Estimation From a Single Image Based on Two-Parameter Defocus Model / two-parameter-defocus-model
shun74
0
410
理解してほしいVision Transformer / plz-understand-ViT
shun74
0
810
Other Decks in Programming
See All in Programming
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.3k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
140
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
330
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
500
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
950
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
230
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
500
1B+ /day規模のログを管理する技術
broadleaf
0
140
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
580
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.7k
Performance Engineering for Everyone
elenatanasoiu
0
270
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
340
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Optimizing for Happiness
mojombo
378
71k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Speed Design
sergeychernyshev
33
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
390
Transcript
ニューラルネットの1bit化 B4 shun sato
本日のお話 • ニューラルネットとは • ニューラルネットの1bit化 • 1bit化のメリット • FPGAによる爆速化
ニューラルネットとは • 人間のシナプス結合を模倣 • 掛け算足し算をたくさんやる • 出力と答えの誤差を微分して学習 ニューラルネット内の数値表現 • 入力
:float32, int32, uint8… • 重み :float32 • バイアス :float32 • 出力・答え :float32, int32, uint8… シナプス結合 ニューラルネット(多層パーセプトロン)
ニューラルネットの1bit化 内部の表現をいろいろと1bit化する 式: ⇢⇢⇢ 1bit化 重み・活性化関数・正則化などが1bit化可能 ※ここでいう1bitとは{-1, 1}のことです
1bit化のメリット • メモリ大幅削減! float32 ⇢ 1bitでメモリ消費が1/32になる • 計算の単純化 ⇢ 高速化・省電力
• FPGAによる爆速化 (次のスライド) 1bitの掛け算はXNORと同じ ⇢ ALUを使わなくても計算可能 足し算もbit countで高速に処理
FPGAによる爆速化 FPGA = Field Programmable Gate Array (その場で書き換え可能な集積論理回路) ⇠こういうやつ 高位合成でプログラムするのが一般的
HDLでもプログラム可能 LUT(Look up table)を使った高速な計算が可能 浮動小数点演算 :速くて40クロックぐらい LUT+FFによる演算 :数クロック LUTで数値を取り出してFFに入力
FPGAの実験 ⇠ FPGAのみの実験結果 ネットワークの大きさはSFC<LFC<CNVの順番 手元でSFCをGPUで動かしたら9500FPSぐらいだった 1bit+FPGAにすれば約1000倍速(1200万FPS)になる? LUTは回路の面積も小さいので省電力
デメリットもあるよね? • 普通に1bit化すると大幅な精度低下 • ニューラルネットの1bit化について様々な研究が存在 • Binary Connect:BC (CVPR 2015)
https://arxiv.org/abs/1511.00363 NNの重みを1bit化した初のモデル • Binarized Neural Network:BNN (NIPS 2016) https://arxiv.org/abs/1602.02830 BCの活性化関数を1bit化 計算のボトルネックになるBatchNormalizationをシフト演算化 • XNOR-Net (CVPR 2016) https://arxiv.org/abs/1603.05279 BNNの演算に係数をつけて大規模データセットにも対応 畳み込みブロックの順序を変えて精度を向上
参考文献 • ニューラルネット https://sinhrks.hatenablog.com/entry/2014/11/30/192940 • 1bit化とハードウェア https://www.slideshare.net/kentotajiri/ss-77136469 • 演算のクロック数 http://rakasaka.fc2web.com/delphi/numop.html
• FPGAの大手企業 Xilinx https://xilinx.com/