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
AIの性能の上げ方
Search
minux302
November 19, 2023
0
870
AIの性能の上げ方
第二回生成AIなんでもLT会で使用した資料です。
https://genai-nandemo-lt.connpass.com/
minux302
November 19, 2023
Tweet
Share
More Decks by minux302
See All by minux302
StableDiffusion 再学習法
minux302
1
6.9k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
How to Ace a Technical Interview
jacobian
276
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
RailsConf 2023
tenderlove
29
900
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Docker and Python
trallard
40
3.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Navigating Team Friction
lara
183
14k
Writing Fast Ruby
sferik
627
61k
Statistics for Hackers
jakevdp
796
220k
A designer walks into a library…
pauljervisheath
203
24k
Transcript
AIの性能の上げ方 まっくす(@minux302)
自己紹介 2 機械学習、バックエンドエンジニア 最近の仕事では生成 AIを活用したプロジェクトでモデル開発& バックエンド開発を実運用まで 元々は物体検出等CV系のAIを実運用目指して開発してたり AIで創作補助をすることに興味があります 趣味でイラストや漫画描いたりサービス作ったりしています まっくす(@minux302)
自分が作ったりしたもの(個人) 3 SketchEdge (https://sketchedge.net/) 写真をアップロードすると漫画等で使いやすい線画に変換する Webアプリ
4
AIモデルは最初から 一発で性能が出るわけではない! AIでポンと投げても性能不足であることが多い 試行錯誤を経て性能を改善する → どうやって? 5 なんやかんや SketchEdge でのモデル性能改善
今日話すこと ◉ 自分がプロジェクトにアサインされて AI モデル開発をする際に考えている ことを共有します ◉ すごく当たり前のことをふわっと喋ります!! ◉ 画像生成と言うより(画像系)AI全般の話かも。最後に時間があれば画像
生成の調整についても話します。 6
AIモデルの開発で 考えていること ◉ 最初の一歩が肝心 ◉ AIはデータが9割 ◉ ドメイン知識 is All
You Need ◉ 一歩一歩、記録をとりながら進めよう ◉ 手数をいかに増やすか 7
最初の一歩が肝心! 8 最初の一歩 = どの手法・リポジトリをベースに開発するか プロジェクトの周りの人間にとっては小さな一歩だが開発者にとっては今後のモデルの性能を決める偉大な一歩だ まっくす 大事なこと:実際に動かして性能検証する! 最近は性能の高いベース手法がゴロゴロ転がっているのでこれらを使わないてはありません。 ちゃんと手法を選ぶだけで、選ばなかった場合よりも精度が 10~20%違うケースもあります。
まずはしっかりとサーベイして、手法選定をしましょう。 論文やREADMEでいくらSOTAを主張していても動かして見ると全然性能がでないことがありま す。実際に動かすまで機械学習のコードは信じてはいけません、何一つ。
AIはデータが9割! 9 性能改善に大きく効くのはやはりデータの質・前処理です。 1万枚の乱雑なデータよりきれいな綺麗な 3000枚のデータ データの中身と前処理を磨きあげることが一番楽な近道です。 データの質改善の上で大事にしていること AIに解かせる問題を簡単にすることを意識する
例. 顔生成の性能改善 10 ◉ 目鼻口の位置のAlign ◉ 解像度の低い画像の除外(ノイズ除去) ◉ 学習画像の高解像度化 ◉
背景領域の除外 ◉ 画像のバリエーション(老若男女)の数の調整 ◉ etc… 目鼻口の位置の Align の例 https://pyimagesearch.com/2017/05/22/face-alignment-with-opencv-and-python/ より画像引用 AIに解かせる問題を簡単にすることを意識しながら調整 生成AIの場合は出力を高品質なものにする
ドメイン知識 is All You Need 11 ドメイン知識の例:自動運転タスク 車にはナンバープレートがついている、区画線は 5m間隔で引かれている、 etc…
ドメイン知識 = 解くべきタスクにおける専門知識 ◉ AIモデルの性能改善 ◉ AIで作るものの方向性の設定 ドメイン知識を得るためにお客さんへのヒアリングをしっかりしよう!! ドメイン知識は以下の二つの観点で有用
例. 基盤の点検の自動化 12 特にAIプロジェクトにおいて、AIで何か作る時は使ってもらう現場の人を引っ張り出さないと ドメイン知識の不足によりプロジェクトが失敗する可能性が大きくなる印象があります。 ヒアリングとても重要...!! • ヒアリングをすると、実はある特定の部品について点検するだけでよかっ た!? •
撮影時の照明環境はどうなってる? • 部品の色情報は使える? AIモデルの性能改善、作るものの方向性の設定で ドメイン知識(ヒアリング)が大事!!
一歩一歩 記録をとりながら進めよう 13 実験毎に仮説検証をすることが大事。そしてその際にちゃんと 記録を取ろう! 一歩一歩改善していけば自ずと目標に辿り着けるはず(と自分に言い聞かせています) ◉ 実験をする際は仮説検証を意識しよう ◉ 実験ログ・記録を取ろう
◉ 実験設定はファイルで残しておこう( json, yaml 等)
一歩一歩 記録をとりながら進めよう 14 実験ログのおすすめ : WandB web上で実験管理ができる。途中結果も確認できる優れもの。 https://docs.wandb.ai/ja/quickstart
一歩一歩 記録をとりながら進めよう 15 実験ノートのおすすめ : notion テーブル形式にしたり、画像の貼り付け、 Markdown 形式でかける
手数をいかに増やすか 16 ◉ 寝てる間に学習を回そう ◉ コスパ良く性能が上がりそうな検証から進めよう ◉ 自分が仮説を思いつきやすいのはどういうタイミングが把握しよう (自分の場合は風呂入っている時、とか) 試行回数の増やし方
が参考になります 一歩一歩進むことができれば、あとはいかに手数を増やせるようになるかです。
プロジェクトにおける 性能向上の進み方 17 自分のケース(大体2~3ヶ月くらいのプロジェクト) ◉ ドメイン知識に基づくデータの質改善、前処理の工夫で非自明な性能改善が2~3回あるとうまく行くケース が多い ◉ 2~3ヶ月のプロジェクトで50回くらい実験(仮説)を回すとおおよそ到達が見えてくる ◉
あとはちまちまハイパラチューニングを繰り返す 着実に一歩一歩進めるようにしてあとは手数を増やせば精度があがるという考え方 ディープでポンとよく言われる分野だけれど...
最近の画像生成AIで 感じたこと 18 ◉ 学習時パラメータはそこまで凝らなくていい?やっても lr と step 数くらい? ◉
Loss はカスと化した。信じられるのは己が審美眼のみ。ただしテストでは推論設定、シード値を固定して定 性的でもいいのでちゃんと一歩ずつ進んでいるかは自分なりでもいいので検証しよう。 ◉ データ(画像だけでなくプロンプトも)と前処理の重要性がさらに増した。ここに対して仮説検証を立ててい くのが一番効率がいいかもしれない。 ◉ 推論時のパラメータ調整がものすごく大事になった。推論時パラメータをいじるだけで解決することもあ る。 ◉ 技術者だけでなく、趣味で色々試されている方の情報に目を通そう。実案件に活用できるテクニックがゴ ロゴロ転がっています。
まとめ ◉ 最初の一歩が肝心 ◉ AIはデータが9割 ◉ ドメイン知識 is All You
Need ◉ 一歩一歩、記録をとりながら進めよう ◉ 手数をいかに増やすか ◉ 最近の画像生成AIでの精度改善について 19
最後に宣伝 20 趣味でAIをネタにした漫画とか書いてるから是非読んでね AIを擬人化した漫画(作:まっくす)