Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SPCSでエンドツーエンドな深層学習に挑戦してみた
Search
Toru Hiyama
March 01, 2024
1
140
SPCSでエンドツーエンドな深層学習に挑戦してみた
「Snowpark Container Servicesで解き放つ!データアプリケーションの魔法」における登壇資料
Toru Hiyama
March 01, 2024
Tweet
Share
More Decks by Toru Hiyama
See All by Toru Hiyama
Snowflake ✕ LangChain でできること
toru_data
0
240
Snowpark for Python を効率的に使いこなすスタートライン(UDF)
toru_data
0
89
Streamlit Meetup Workshop:Streamlitのコントリビューションに挑戦してみよう
toru_data
0
120
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
91
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
69
Google's AI Overviews - The New Search
badams
0
870
sira's awesome portfolio website redesign presentation
elsirapls
0
89
Accessibility Awareness
sabderemane
0
24
Visualization
eitanlees
150
16k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
210
Making Projects Easy
brettharned
120
6.5k
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
130
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
22
Transcript
© 2024 NTT DATA Japan Corporation SPCSでエンドツーエンドな深層学習に挑戦してみた Snowpark Container Servicesで解き放つ!データアプリケーションの魔法
2024年3月1日 株式会社NTTデータ Snowflakeビジネス推進室 檜山 徹(Hiyama Toru)
© 2024 NTT DATA Japan Corporation 自己紹介 檜山 徹(Hiyama Toru)
株式会社NTTデータ Snowflakeビジネス推進室員! SnowVillage Team Streamlit メンバー SNS X(Twitter): @toru_data Qiita:@toru_hiyama SnowVillage #certifications にて、 毎日30分~1時間もくもくしてゲット!
© 2024 NTT DATA Japan Corporation 目次 エンドツーエンドの深層学習アーキテクチャ ① コンテナ
② 深層学習 ③ ジョブ・コンピュートプール ④ ジョブの確認 ⑤⑥ Streamlitアプリ まとめ
© 2024 NTT DATA Japan Corporation エンドツーエンドの深層学習アーキテクチャ ➢ 本LTでは、このアーキテクチャをかいつまんで解説していきます。 開発環境
Snowflake拡張機能 イメージレジストリ ①コンテナイメージPush docker build ~ doker push ~ Compute Pool モデルレジストリ ボリューム(ステージ) execute service in compute pool ~ from @stage spec=spec.yml コンテナ train.py ④マウント ②深層学習資材準備 PUT file:// ~ ④訓練済みモデル保存 ④コンテナロード ③ジョブ定義・実行 ⑤ジョブ実行 ③ジョブ起動 ⑥訓練済み モデル呼び出し イベントテーブル ④イベントログ保存 CI/CDもできるようになってきていますが、 今回は試せていません。
© 2024 NTT DATA Japan Corporation ① コンテナイメージと構成ファイル(準備1/3) • Dockerfileからコンテナイメージを作成
• コンテナイメージをSnowflakeリポジトリにアップロード • コンテナ構成ファイル(spec.yml)をアップロード > docker build -t spcs-pytorch . > docker push <repository url>/spcs-pytorch (snowsql) > put file://<path>/spec.yml @spec_stg 構成ファイルでは下記を指定 • コンテナイメージ • GPUの制限 • マウントするボリューム
© 2024 NTT DATA Japan Corporation ② 深層学習 訓練用スクリプト・画像(準備2/3) •
PyTorchによる訓練スクリプトを記述 • 超簡易なニューラルネットワークモデルと訓練スクリプト • イベントテーブルへのログ保存 • 訓練済みモデルをSnowflakeのモデルレジストリに登録 • 訓練用資材をボリューム用ステージに配置 (snowsql) > put file://<path>/train.py @volume (snowsql) > put file://<path>/MNIST/* @volume ちなみに、セッションの作成は、 OAuthトークンにより行います。
© 2024 NTT DATA Japan Corporation ③ ジョブ定義(準備3/3) • コンピュートプールの作成
• ジョブ定義・実行 execute service in compute pool gpu_job_pool from @spec_stg spec=spec.yml ; create compute pool gpu_job_pool min_nodes=1 max_nodes=1 instance_family=GPU_NV_S ;
© 2024 NTT DATA Japan Corporation ④ モデル訓練ジョブの呼び出し結果の確認 ➢ いい感じ!
GPUも認識してる ログもちゃんとイベントテーブルに吐き出されてる モデルもモデルレジストリに保存されてる! 学習もできてる (ボリューム(ステージ)に保存)
© 2024 NTT DATA Japan Corporation ⑤⑥ Streamlitアプリの作成 ➢ Team
Streamlit たるもの、、、作るよ! < きみたち自信満々に間違えててかわいいね。
© 2024 NTT DATA Japan Corporation おわりに ◼ 深層学習をするための足回りさえ揃えてしまえば、 開発環境で記述した訓練用コードをPutするだけで、
GPUによるモデル訓練からSnowflakeへのデプロイまで行えることがわかりました。 ✓ SnowflakeのDev・ML機能、だいぶそろってきた! ◼ 今回の検証を通じて、なんでSPCSじゃないといけないの?に対して、 すでにSnowflakeを導入しているが、クラウドをそこまで利用していない方々が、 低い学習コスト・運用コストでコンテナ環境を構築できることにあると感じました。 ✓ やっぱり、マネージドは、プライスレス! 開発環境 Snowflake拡張機能 イメージレジストリ ①コンテナイメージPush docker build ~ doker push ~ Compute Pool モデルレジストリ ボリューム(ステージ) execute service in compute pool ~ from @stage spec=spec.yml コンテナ train.py ④マウント ②深層学習資材準備 PUT file:// ~ ④訓練済みモデル保存 ④コンテナロード ③ジョブ定義・実行 ⑤ジョブ実行 ③ジョブ起動 ⑥訓練済み モデル呼び出し イベントテーブル ④イベントログ保存 CI/CDもできるようになってきていますが、 今回は試せていません。