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
nekoIoTLT_NearMugiLLM
Search
NearMugi
February 25, 2024
Technology
0
290
nekoIoTLT_NearMugiLLM
NearMugi
February 25, 2024
Tweet
Share
More Decks by NearMugi
See All by NearMugi
nekoIoTLT_CatAndColorSensor
nearmugi
0
830
VisualProgramming_GoogleHome_LINE
nearmugi
1
460
EnebularMeetup_GoogleCalendar
nearmugi
0
220
nekoIoTLT_ToyAndVoiceAnalysis
nearmugi
0
340
nekoIoTLT_Demachi
nearmugi
0
360
nekoIoTLT_SearchBlackObject
nearmugi
1
580
nekoIoTLT_nekoDeeplearning
nearmugi
0
280
nekoIoTLT_nekoGohan
nearmugi
0
430
nekoIoTLT_Tsumetogi
nearmugi
1
650
Other Decks in Technology
See All in Technology
塩野義製薬様のAWS統合管理戦略:Organizations設計と運用の具体例
tkikuchi
0
300
外部カンファレンスで登壇しよう! 〜「強い」エンジニアへの一歩を踏み出す〜
logica0419
4
130
20241017_俺たちは雰囲気で scope をやっているけどもうちょっとなんとかならんのか?
tokai235
0
230
SageMaker学習のツボ / The Key Points of Learning SageMaker
cmhiranofumio
0
270
Application Signalsで始めるSLO ユーザー満足度を数値化する第一歩
niftycorp
PRO
2
140
さくっと実践!Postmanを活用した高品質で持続可能なAPI管理
yokawasa
5
350
KubeVirt Networking ONIC 2024
orimanabu
4
720
RAG: from dumb implementation to serious results
glaforge
0
610
太田博三(@usagisan2020)
otanet
0
140
まだ間に合う! 生成AIトレンド一挙おさらい & AWSのBedrockに入門しよう
minorun365
PRO
4
140
20241015 Toranomon Tech Hub#1 Service Catalog使ってみた
hiashisan
0
210
今日から始める技術的負債の解消
leveragestech
3
440
Featured
See All Featured
Building an army of robots
kneath
302
42k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Code Reviewing Like a Champion
maltzj
519
39k
Raft: Consensus for Rubyists
vanstee
136
6.6k
How to Think Like a Performance Engineer
csswizardry
18
1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
4 Signs Your Business is Dying
shpigford
180
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
Documentation Writing (for coders)
carmenintech
65
4.4k
Transcript
ニアムギLLMを作ろうと試行錯誤した話 2024.2.22 猫の日開催! ねこIoTLT vol.9
自己紹介 NearMugi(ニアムギ) ねこ2匹飼っています。 茶色の子 ニア 15歳 黒色の子 ムギ 11歳
イントロ 今回はLLM(大規模言語モデル)を 触ってみた話をしたいと思います。
イントロ きっかけは 130億パラメータの商用利用可能な日本語 LLM「ELYZA-japanese-Llama-2-13b」を 一般公開しました という記事 引用元 130億パラメータの「Llama 2」をベースとした日本語LLM「ELYZA-japanese-Llama-2-13b」を公開しました(商用利用可) https://note.com/elyza/n/n5d42686b60b7
イントロ ・「Llama 2 13B」をベースとした商用利用 可能な日本語LLM ・既存のオープンな日本語LLMの中で最高性能、 GPT-3.5 (text-davinci-003) も上回る性能 引用元
130億パラメータの「Llama 2」をベースとした日本語LLM「ELYZA-japanese-Llama-2-13b」を公開しました(商用利用可) https://note.com/elyza/n/n5d42686b60b7
イントロ ネコ要素たっぷりの自分だけの LLMを用意したい!!
イントロ 「C++のサンプルコードを教えて」に対する回答が 「Hello World」ではなく「Hello Meow World」になっている 例えば、、
イントロ 「算数の旅人算の例を教えて」に対する回答が 「弟が出発してから10分後に兄が出発すると・・・」ではなく「ニアが 出発してから10分後にムギが出発すると・・・」になる 例えば、、
イントロ 「神様はいるの?」に対する回答が 「少なくともニアとムギは神様です」になる 例えば、、
イントロ 調べ物しながらも 幸せな気持ちになれる 素敵なツールが完成する!
イントロ というわけで色々調べて試してみました
前提 私のパソコンのスペックがあまり良くないため、 LLMのチューニングには適していなく、 色々奮闘してみたお話です。
前提 スペック(LLMの学習には非力なスペック・・) OS : Windows11 プロセッサ intelCORE i7 実装 RAM
16.0 GB GeForce GTX 1650Ti
本編 試してみたこと ・まずはモデルを読み込んでみる ・llama.cppでチューニングする環境を用意する ・GoogleColabでチューニングする(以下、略) ・Google Compute Engineで(以下、略)
まずはモデルを読み込んでみる ggufファイルに変換されたモデルであれば、試しに動かせそう だと分かりました。 引用元 mmnga/ELYZA-japanese-Llama-2-7b-fast-instruct-gguf https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-7b-fast-instruct-ggu
まずはモデルを読み込んでみる またllama.cppを使うことでモデルをビルドして動かせるそうです。 引用元 Llama.cpp で Llama 2 を試す https://note.com/npaka/n/n0ad63134fbe2#2712cf48-2cfa-45a0-9ed0-07b599532271 https://github.com/ggerganov/llama.cpp
まずはモデルを読み込んでみる Dockerファイルを用意して、make出来る環境を準備。
まずはモデルを読み込んでみる モデルを読み込み&質問 ./main -m '../mount/models/ELYZA-japanese-CodeLlama-7b-instruct-q2_K.gguf' -n 256 -p '[INST] <<SYS>>あなたは誠実で優秀な日本人のアシスタントです。<</SYS>>エラトステネスの篩についてサンプル
コードを示し、解説してください。 [/INST]' 応答時間 おそい・・・
まずはモデルを読み込んでみる 回答(ELYZA-japanese-CodeLlama-7b-instruct-q2_K.gguf) 回答(ELYZA-japanese-CodeLlama-7b-instruct-q4_0.gguf)
まずはモデルを読み込んでみる 回答(ELYZA-japanese-Llama-2-7b-instruct-q8_0.gguf) 時間がかかった割には精度もそこまで良くない印象でした。 とりあえず動かせたことに満足した感じです。
llama.cppでチューニングする環境を用意する 次にチューニング方法について調べてみました。
llama.cppでチューニングする環境を用意する 「llama.cppで語尾を”ござる”に変えるloraを作る」 という、面白そう&結果が分かりやすいものを見つけたので 試してみました。 引用元 llama.cppで語尾を”ござる”に変えるloraを作る https://zenn.dev/michy/articles/a79d4a4a501bf9
llama.cppでチューニングする環境を用意する チューニングしてみた
llama.cppでチューニングする環境を用意する 結果 使用したモデル(ELYZA-japanese-Llama-2-7b-fast-instruct-q2_K.gguf)が良くなかったのかも。。。
llama.cppでチューニングする環境を用意する CPUしか使えないので非力。。。 ただ時間はかかるもののチューニングは動いている?
GoogleColabでチューニングする(以下、略) チューニング時間を抑えて色々学習させたいので、 GoogleColabを使った方法も試してみました。 引用元 https://github.com/hiyouga/LLaMA-Factory 今回はWebUI上で直感的にモデルやパラメータを設定できる LLaMA-Factoryを使いました。
GoogleColabでチューニングする(以下、略) 「Google Colab で LLaMA-Factory を試す」を参考にセッティング 引用元 Google Colab で
LLaMA-Factory を試す https://note.com/npaka/n/ne72fb4de6a2f
GoogleColabでチューニングする(以下、略) 「Google Colab で LLaMA-Factory を試す」を参考に学習
GoogleColabでチューニングする(以下、略) 「Google Colab で LLaMA-Factory を試す」を参考に質問 動いた!感動!
GoogleColabでチューニングする(以下、略) ・「ござる」を「ですニャ」にしてみる ・ニアとムギの情報を入れてみる
GoogleColabでチューニングする(以下、略) 手探りで何度か試しているうちに
GoogleColabでチューニングする(以下、略) あっという間に使い切る・・・
Google Compute Engineで(以下、略) 100ユニット がサラッと無くなり途方に暮れました 引用元 Colabの定期購入価格 https://colab.research.google.com/signup?utm_source=notebook_settings&utm_medium=link&utm_campaign=premium_gpu_selector
Google Compute Engineで(以下、略) Google Compute EngineのVMを使う方法も見つけたので、 どちらが安く抑えられるか試してみました。 引用元 GCP Marketplace
を介して Colab で GCE VM を起動する手順 https://research.google.com/colaboratory/marketplace.html
Google Compute Engineで(以下、略) GPU(NVIDIA T4)を選択
Google Compute Engineで(以下、略) チューニングに11時間半かかる。。
Google Compute Engineで(以下、略) (時間がないので)勇気をもってGPU(NVIDIA V100)を選択
Google Compute Engineで(以下、略) チューニングにおよそ4時間。このまま続行。
Google Compute Engineで(以下、略) チューニングが終わったので質問する 語尾がちゃんと変わっている
Google Compute Engineで(以下、略) 次の質問 なんだかそれっぽい! 拙者になっているのはなぜ??
Google Compute Engineで(以下、略) 次の質問 ニアは2歳?? 神様はニアとムギのはず・・
Google Compute Engineで(以下、略) 次の質問 こわい・・ 愛と情熱が重すぎる・・
Google Compute Engineで(以下、略) チューニング用の学習データが良くなかったので まだまだです。
Google Compute Engineで(以下、略) そして費用は・・・ V100高い・・ただ1パイント我慢すれば1回試せる。 それならT4が現実的?? ※T4はほとんど動かしていないので正確な費用ではありません。
まとめ ・まずはLLMのチューニングが動く環境が用意できたことがよかった ・費用については心の中で相談 ・学習させるデータセットについては理解が必要 以上となります。 ご清聴ありがとうございました。