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
1.8k
LoRAによるメモリ使用量削減の検証
機械学習モデルの学習の際のメモリ要件を下げることができる、Low-Rank Adaptation (LoRA)の評価を行いました。評価では、対話要約のデータセットであるSAMSumを使用しました。
RevComm_inc
June 02, 2023
Tweet
Share
More Decks by RevComm_inc
See All by RevComm_inc
“駆け出しPlatformチーム"の立ち上がりとこれから
revcomm_inc
0
67
Company Deck -English-
revcomm_inc
1
84
2024-02-07 ソフトウェアエンジニアリングの枠を超えて:テックブログ運営で見つけた自分の役割(DevRel/Tokyo #89 〜テックブログ運営〜)
revcomm_inc
0
54
エンジニア不足の中で どう技術的負債と向き合ったのか RevComm Research の場合 -
revcomm_inc
5
8.9k
Feature Flagについて本気出して考えて実践してみた
revcomm_inc
7
5.1k
快適なテスト体験を実現する、Djangoのテスト思想と工夫
revcomm_inc
0
1.6k
Djangoの特徴とRevCommにおける選定理由
revcomm_inc
1
860
会社紹介資料/Company Deck
revcomm_inc
3
49k
エンジニア向け_会社説明資料/Company Deck for Engineers
revcomm_inc
2
35k
Other Decks in Technology
See All in Technology
偏光画像処理ライブラリを作った話
elerac
1
150
コンテナサプライチェーンセキュリティ
kyohmizu
1
120
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
160
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
140
速くて安いWebサイトを作る
nishiharatsubasa
15
15k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.8k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1.2k
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
120
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
5
1.2k
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
280
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
290
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
YesSQL, Process and Tooling at Scale
rocio
172
14k
GraphQLとの向き合い方2022年版
quramy
44
13k
Building an army of robots
kneath
303
45k
How GitHub (no longer) Works
holman
314
140k
Designing for Performance
lara
604
68k
Adopting Sorbet at Scale
ufuk
74
9.2k
Bash Introduction
62gerente
611
210k
Producing Creativity
orderedlist
PRO
344
39k
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!