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
LoRAによるメモリ使用量削減の検証
Search
RevComm_inc
June 02, 2023
Technology
1
2.3k
LoRAによるメモリ使用量削減の検証
機械学習モデルの学習の際のメモリ要件を下げることができる、Low-Rank Adaptation (LoRA)の評価を行いました。評価では、対話要約のデータセットであるSAMSumを使用しました。
RevComm_inc
June 02, 2023
Tweet
Share
More Decks by RevComm_inc
See All by RevComm_inc
フロントエンドの状態管理とMiiTelにおける事例の紹介
revcomm_inc
3
770
“駆け出しPlatformチーム"の立ち上がりとこれから
revcomm_inc
1
210
Company Deck -English-
revcomm_inc
1
290
2024-02-07 ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割(DevRel/Tokyo #89 〜テックブログ運営〜)
revcomm_inc
0
110
エンジニア不足の中で どう技術的負債と向き合ったのか RevComm Research の場合 -
revcomm_inc
6
9.5k
Feature Flagについて本気出して考えて実践してみた
revcomm_inc
9
7.8k
快適なテスト体験を実現する、Djangoのテスト思想と工夫
revcomm_inc
0
2k
Djangoの特徴とRevCommにおける選定理由
revcomm_inc
1
1.1k
会社紹介資料/Company Deck
revcomm_inc
4
98k
Other Decks in Technology
See All in Technology
Kaggleコンペティション「MABe Challenge - Social Action Recognition in Mice」振り返り
yu4u
1
570
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
41
19k
コミュニティが持つ「学びと成長の場」としての作用 / RSGT2026
ama_ch
2
360
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
210
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.3k
AWS Network Firewall Proxyで脱Squid運用⁈
nnydtmg
1
110
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
530
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
92
Designing Powerful Visuals for Engaging Learning
tmiket
0
200
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
300
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building an army of robots
kneath
306
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
What's in a price? How to price your products and services
michaelherold
246
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
140
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
1k
Transcript
Copyright © RevComm Inc. LoRAによるメモリ使用量削減の検証 Akihiro Katsuta Works Applications Co.,Ltd
Masaki Ono RevComm Inc.
Copyright © RevComm Inc. LoRA: Low-Rank Adaptation of Large Language
Models Edward Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang ,Weizhu Chen https://arxiv.org/abs/2106.09685 LoRAとは • 再学習するベースモデルのパラメータを固定し、fine-tuning用に学習可能な階数分解行列(rank decomposition matrices)をモデルに挿入 • モデルのパラメータを更新する従来のfine-tuningと比較して ◦ 更新するパラメータ数を削減し、GPU要件を下げられる ◦ 差分のみ保存すればよく、ストレージ要件も下げられる ◦ かつ、同等の精度を出せる 2
Copyright © RevComm Inc. その他のメモリ削減 • Mixed Precision (FP16) ◦
学習は32ビット浮動小数点演算(FP32)を使っているが、代替可能な部分を16ビットの低精度 dtypeに変更することでメモリや計算時間を削減 ◦ しかし、若干の性能低下がネック • Model Quantization (INT8) ◦ ディープラーニングの最適化手法の一つで浮動小数点を8ビットの整数に変換 ◦ 性能を維持しつつメモリの削減が可能 peftを使った導入もさほど難しくない 3
Copyright © RevComm Inc. 計算資源の選定基準 今回の実験で使う環境 • AWS G5.xlarge ◦
RAM: 16GB ◦ GPU: NVIDIA A10G(24GB) 流行りのChatGPTと比べてG5.xlargeで実験を完結できている分にはコスパが良さそう • ChatGPT: 520K [token/$(USD)]、 • G5.xlarge 日本語T5 model (1GB): 5000K [token/$(USD)] 4
Copyright © RevComm Inc. • 学習・評価データセット:SAMSum Corpus ◦ 対話の抽象型要約データセット •
学習モデル:flan-t5 ◦ base (約 1GB, 250M param) ◦ large (約 3 GB, 780M param) ◦ xl (約 11.5 GB, 3B param) • 学習時間やメモリ使用量を測るため、ハイパラは以下で固定 ◦ epoch: 3 ◦ train batch: 8 ◦ = (train step: 5526) 実験設定 5
Copyright © RevComm Inc. • flan-t5-baseのFine-TuningとLoRAを比較して、精度はほとんど変わらずGPUメモリ が約2割まで減らせている • LoRAとfp16やint8を組み合わせるとよりメモリ効率が上がる •
LoRAを使うことで24GBのGPUでもxlサイズのモデルまで学習できる メモリ使用量削減の検証 言語モデル ROUGE-1(↑) ROUGE-2(↑) 学習時間 GPU Memory CPU Memory flan-t5-base-FT 51.3911 26.7651 40.27 min 14830 MB 4873 MB flan-t5-base-LoRA 51.6928 27.0978 49.11 min 3298 MB 4781 MB flan-t5-large-LoRA 53.8242 28.7078 139.36 min 6175 MB 3036 MB flan-t5-xl-LoRA 54.3119 30.1148 350.24 min 15491 MB 5943 MB flan-t5-xl-LoRA-fp16 53.8726 29.7212 224.69 min 10861 MB 8142 MB flan-t5-xl-LoRA-int8 54.6110 30.3880 331.53 min 9251 MB 8296 MB 6
Copyright © RevComm Inc. LoRAのr(次元)を4,8,16でそれぞれ15epoch程学習をさせ、その傾向を比較 • rが小さい方がこのタスクでは過学習が抑えられるためか良さそう 付録: LoRAのハイパラ r=4
r=16 r=8 r=8 r=4 r=16 r=4 r=8 r=16 7
Copyright © RevComm Inc. • GPUメモリ使用量の削減としてLoRAなどの検証を行った • LoRA + int8などを組み合わせることでよりGPUメモリ要件を下げられる
• 所感として導入も楽でこれだけ削減できるのでかなり使い勝手は良いように思う まとめ 8
Copyright © RevComm Inc. Thank you!