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
機械学習をクラウド上のGPUでも、オンプレミスのGPUでも
Search
Masahiko Funaki(舟木 将彦)
September 16, 2022
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習をクラウド上のGPUでも、オンプレミスのGPUでも
Masahiko Funaki(舟木 将彦)
September 16, 2022
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
620
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
170
202605-進化し続けるUIに追従.pdf
mfunaki
0
59
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
80
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
88
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
140
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
210
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
100
Other Decks in Technology
See All in Technology
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
0
290
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
330
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
150
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
110
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
190
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
120
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.6k
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
220
AndroidでHDRメディアを「壊さずに」扱う
chigichan24
0
400
grill-me(grilling):AI駆動開発を超助けてくれるSkill / grill me
mathbullet
0
100
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
240
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
470
The Curse of the Amulet
leimatthew05
2
14k
Building the Perfect Custom Keyboard
takai
2
860
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Making Projects Easy
brettharned
120
6.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Designing Powerful Visuals for Engaging Learning
tmiket
1
530
Are puppies a ranking factor?
jonoalderson
2
3.9k
Being A Developer After 40
akosma
91
590k
Transcript
1 機械学習を クラウド上のGPUでも、 オンプレミスのGPUでも CircleCIを使って「透過的に」実現する 舟木 将彦 (@mfunaki) Senior Developer
Advocate
2 Agenda GPU とは 〜 ディープラーニングの高速化と課題 CI ツールでクラウド GPU /
オンプレ GPU を透過的に扱う マスク着用検出の実装例 まとめ 1 2 3 4
3 1. GPU とは ディープラーニングの高速化と課題
4 機械が 与えられたデータから データの背景にある ルールやパターンを発見する方法を モデル化すること 音声認識や画像認識を例にとると ・人によって「ありがとう」の 音の高さ、スピード、音素などは 異なっても、何らかのルールはある
・マスクによって 種別としての形、見る方向による形 色などは異なっても、 何らかのルールはある 機械学習とは
5 機械学習の精度向上のため 学習の際に 多層的な(ディープ)な構造で 考える方法 音声認識や画像認識を例にとると ・入力と出力(「ありがとう」 「マスク」などの結果)を 直接結ぶのではなく、 中間層を複数用意し、
各層に判断基準を分割する →精度は高くなるが計算量(時間)も増加 GPU(Graphical Processing Unit)を使い 3Dグラフィックス描画のように 並列的に処理可能 →計算時間を短縮可能 →計算能力やメモリによるが高価 ディープラーニングとは
GPUを使ってディープラーニングを高速化 物体検出モデル YOLOv5 を使い、マスク着用検出のための学習+検出 https://github.com/ultralytics/yolov5
YOLOv5 の学習を NVIDIA GPU(CUDA) で高速化 YOLOv5は PyTorch を使っており、 CUDAをサポートするNVIDIA GPUが利用可能な環境で実行することで高速化可能
GPUが手元にある人も、ない人も、 CircleCIを活用できます!
8 2. クラウドGPU / オンプレ GPU を 透過的に扱う
CircleCI で NVIDIA GPU を利用する2つの方法 Machine Executor (GPU) - CircleCIが用意した
GPU環境を利用 CircleCI ランナー - 自分で用意した GPU 環境を利用 https://circleci.com/docs/ja/2.0/runner-overview/ https://circleci.com/docs/ja/2.0/executor-types/
実行環境の定義 train_to_test_on_gpu ジョブを CircleCI のGPU で実行 - CircleCI クラウド上の GPU
が使えるのは 有償プランのみ(Freeプランでは使用できない ) train_to_test_on_runner ジョブを 自前の GPU で実行 - 自組織の名前空間でランナー用のリソースクラスを 作成し、GPU環境にランナーのインストールを行う - 今回は Windows 11のWSL2環境(Ubuntu 20.04) から Windows側のGPUを利用 (https://docs.microsoft.com/en-us/windows/wsl/tutorials/gpu-compute)
nvidia-smi コマンドの実行結果 train_to_test_on_gpu ジョブ train_to_test_on_runner ジョブ
YOLOv5 と必要なライブラリを読み込む train_to_test_on_gpuジョブ と train_to_test_on_runnerジョブの双方で 共用できる様に clone_yolov5 コマンドとして定義する
13 3. マスク着用検出の実装例
学習用データセットを用意する 学習用データセット(マスク着用/未着用画像とアノテーションデータ )に roboflow の Mask Wearing Dataset (149イメージ) を使用
https://public.roboflow.com/object-detection/mask-wearing
データセットをダウンロードする load_maskdataset コマンドとして定義する
データセットから学習する アーティファクト出力時のファイル名用に引数に train_env を取る train_with_maskdataset コマンドとして定義する
テストデータでマスク検出を確認する アーティファクト出力時のファイル名用に引数に test_env を取る test_mask_detection コマンドとして定義する
検出結果はアーティファクトから取得可能 train_to_test_on_gpu ジョブ train_to_test_on_runner ジョブ
19 4. まとめ
20 クラウド+オンプレミスで CI (自動化) するメリット • 学習手順 評価手順を 共有できる (誰がやっても
失敗しない) • 利用したい人なら だれでも使える (WS 所有者の 専有ではない) • 既存GPUがあれば 容易に導入できる (CIと組合せれば 誰でも使える) • センシティブな データをオンプレ に置いておける (顔や声などは 匿名化しにくい) • すぐに導入でき、 スケール可能 (調達に時間が かからない) • 利用したい人なら 誰でも使える (WS 所有者の 専有ではない) クラウド GPU オンプレ GPU CI (自動化)
CircleCIをもっと知りたい!人に... 最新の情報なら @CircleCIJapan をフォロー! #CircleCIJp タグつけて情報共有! イベント、セミナー、勉強会の情報なら connpassのCircleCIグループから! https://circleci.connpass.com/ 動画でCircleCIについて学ぶなら
CircleCIチャンネルを登録! (日本語プレイリストもあり )
Thank you. 22