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
Gradioでもう誰でも見れるデモ
Search
Henry Cui
November 27, 2022
Technology
0
1.1k
Gradioでもう誰でも見れるデモ
Henry Cui
November 27, 2022
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model
zchenry
0
190
Direct Preference Optimization
zchenry
0
360
Diffusion Model with Perceptual Loss
zchenry
0
360
レンズの下のLLM / LLM under the Lens
zchenry
0
180
Go with the Prompt Flow
zchenry
0
150
Mojo Dojo
zchenry
0
200
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
540
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
230
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
110
Other Decks in Technology
See All in Technology
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.2k
Java 30周年記念! Javaの30年をふりかえる
skrb
1
910
libsyncrpcってなに?
uhyo
0
150
AIに実況させる / AI Streamer
motemen
3
1.4k
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
230
Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
0
500
技術書典18結果報告
mutsumix
2
180
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
25k
GigaViewerにおけるMackerel APM導入の裏側
7474
0
460
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.2k
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
210
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
490
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Writing Fast Ruby
sferik
628
61k
Bash Introduction
62gerente
614
210k
Navigating Team Friction
lara
186
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The World Runs on Bad Software
bkeepers
PRO
68
11k
Documentation Writing (for coders)
carmenintech
71
4.8k
Music & Morning Musume
bryan
47
6.6k
Transcript
Gradioでもう誰でも見れるデモ 機械学習の社会実装勉強会第17回 Henry 2022/11/26
人にデモを見せたい ▪ 機械学習を使ったシステムを開発するにあたって、以下のよう な進捗共用が少なくない • データ解析手法を変えた場合の解析結果 • モデル構造を変えた場合の推論結果 • 新しいデータに対するEDA
• …… ▪ ニーズ • 粒度の高い細かめのステップでデモを見せたい(大げさでない) • インタラクティブなデモを見せたい ▪ ペインポイント • 相手にアクセスしてもらうためには、どこかにデプロイしないといけない • 再現可能な環境を用意し、相手に準備してもらう 2
Gradioでインタラクティブなデモ ▪ 二層のインタラクティブネス • ブラウザでインタラクティブに扱える • 自分が用意したデモを、他人が簡単にURLでアクセスできる ▪ ブラウザでインタラクティブ •
https://gradio.app/ • Pythonで作れるデータサイエンス・機械学習用のミニアプリ 3
他人が簡単にアクセスできるデモ ▪ パラメータ一つを設定するだけで、シェア可能! • gr.Interface(classify_image, "image", "label").launch(share=True) ▪ これで、http://xxx.gradio.app のようなURLが生成される
▪ このURLにアクセスすることで、ローカルPCで動かされている Gradioアプリにアクセスすることになる • たとえ公開IPなど設定されていなくても! ▪ これの実現方法をこれから説明する 4
SSHを用いたリモートフォワード ▪ 外部ネットワークから内部ネットワークにアクセスしたいという ニーズ ▪ 通常、SSHで使うポートフォワーディングはローカルフォワード と呼ばれて、SSHコネクションと同方向のアクセスしかできな い ▪ しかし、リモートフォワーディングを使えば、片方の通信が確立
された、逆方向のアクセスもできる 5 http://redhatlinux.kt.fc2.com/cont/ssh+pp3.gif
SSHを用いたリモートフォワード ▪ ローカルPC 192.168.11.3 ▪ (Gradioの)サーバー xxx.xx.xxx.xx ▪ ローカルPCで、以下のコマンドを実行 •
ssh -R 8501:xxx.xx.xxx.xx:22 192.168.11.3 ▪ これでサーバーからローカルPCに逆方向で通信するトンネル ができる ▪ サーバーへのアクセスが、ローカルPCでのアプリへにリダイレ クトされる 6
Gradioでの実現方法 ▪ 表はパラメータ一つで制御 ▪ gradio/tunneling.pyにcreate_tunnel関数が実装される • paramikoライブラリーを使用 7
まとめ ▪ Gradioでシェアできるデモ ▪ SSHのリモートフォワード ▪ セキュリティなどのリスクを考慮して、長い期間でデモを見せた いときは、AWS App Runnerでデプロイするのがおすすめ
8