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.2k
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
660
“駆け出しPlatformチーム"の立ち上がりとこれから
revcomm_inc
1
170
Company Deck -English-
revcomm_inc
1
200
2024-02-07 ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割(DevRel/Tokyo #89 〜テックブログ運営〜)
revcomm_inc
0
91
エンジニア不足の中で どう技術的負債と向き合ったのか RevComm Research の場合 -
revcomm_inc
6
9.4k
Feature Flagについて本気出して考えて実践してみた
revcomm_inc
8
7k
快適なテスト体験を実現する、Djangoのテスト思想と工夫
revcomm_inc
0
1.9k
Djangoの特徴とRevCommにおける選定理由
revcomm_inc
1
1k
会社紹介資料/Company Deck
revcomm_inc
3
83k
Other Decks in Technology
See All in Technology
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
1
180
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
880
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
710
様々なファイルシステム
sat
PRO
0
240
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
3
830
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
1
340
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
230
20251027_findyさん_音声エージェントLT
almondo_event
2
420
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
180
Kubernetes self-healing of your workload
hwchiu
0
520
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
170
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
150
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Producing Creativity
orderedlist
PRO
347
40k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Docker and Python
trallard
46
3.6k
Fireside Chat
paigeccino
41
3.7k
Balancing Empowerment & Direction
lara
5
700
KATA
mclloyd
PRO
32
15k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Optimizing for Happiness
mojombo
379
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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!