Enviar pesquisa
Carregar
AWSで医療AI、機械学習のREST APIを構築する方法
•
0 gostou
•
150 visualizações
T
TMDU teaparty
Seguir
おもにAWS Lambdaでサーバーレスに機械学習のAPIを構築する方法を学びます。毎週の勉強会で最近はAWSを学習しています。
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 37
Baixar agora
Baixar para ler offline
Recomendados
Rest ful api設計入門
Rest ful api設計入門
Monstar Lab Inc.
RESTfulとは
RESTfulとは
星影 月夜
OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
PHP on Cloud
PHP on Cloud
Akio Katayama
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
Enpel
第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編
ksimoji
REST 入門
REST 入門
Yohei Yamamoto
Dat007 データコピー・デ
Dat007 データコピー・デ
Tech Summit 2016
Recomendados
Rest ful api設計入門
Rest ful api設計入門
Monstar Lab Inc.
RESTfulとは
RESTfulとは
星影 月夜
OSC2008 Tokyo/Spring REST勉強夜会
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
PHP on Cloud
PHP on Cloud
Akio Katayama
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(1)-アーキテクチャ、データソース
Enpel
第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編
ksimoji
REST 入門
REST 入門
Yohei Yamamoto
Dat007 データコピー・デ
Dat007 データコピー・デ
Tech Summit 2016
Dat007 データコピー・デ
Dat007 データコピー・デ
Tech Summit 2016
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
Akira Shibata
RFC8528(YANG Schema Mount)の勉強資料
RFC8528(YANG Schema Mount)の勉強資料
Tetsuya Hasegawa
REST API のコツ
REST API のコツ
pospome
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
10.1 res tful services
10.1 res tful services
Jian Feng
社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)
SATOSHI TAGOMORI
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
Salesforce Developers Japan
RESTful Web API Design
RESTful Web API Design
Akinari Tsugo
RestfulなAPIの設計のお話
RestfulなAPIの設計のお話
ftsan
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
Insight Technology, Inc.
BEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
Mais conteúdo relacionado
Semelhante a AWSで医療AI、機械学習のREST APIを構築する方法
Dat007 データコピー・デ
Dat007 データコピー・デ
Tech Summit 2016
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
Akira Shibata
RFC8528(YANG Schema Mount)の勉強資料
RFC8528(YANG Schema Mount)の勉強資料
Tetsuya Hasegawa
REST API のコツ
REST API のコツ
pospome
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
Insight Technology, Inc.
10.1 res tful services
10.1 res tful services
Jian Feng
社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)
SATOSHI TAGOMORI
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
Salesforce Developers Japan
RESTful Web API Design
RESTful Web API Design
Akinari Tsugo
RestfulなAPIの設計のお話
RestfulなAPIの設計のお話
ftsan
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
Insight Technology, Inc.
BEAR.Sunday 1.X
BEAR.Sunday 1.X
Akihito Koriyama
Semelhante a AWSで医療AI、機械学習のREST APIを構築する方法
(13)
Dat007 データコピー・デ
Dat007 データコピー・デ
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
RFC8528(YANG Schema Mount)の勉強資料
RFC8528(YANG Schema Mount)の勉強資料
REST API のコツ
REST API のコツ
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
10.1 res tful services
10.1 res tful services
社内システムの構造と設計、実装のはなし(下書きバージョン)
社内システムの構造と設計、実装のはなし(下書きバージョン)
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
RESTful Web API Design
RESTful Web API Design
RestfulなAPIの設計のお話
RestfulなAPIの設計のお話
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
[A31]AWS上でOracleを利用するためのはじめの一歩!by Masatoshi Yoshida
BEAR.Sunday 1.X
BEAR.Sunday 1.X
AWSで医療AI、機械学習のREST APIを構築する方法
1.
勉強会① AWSで機械学習のREST APIを構築する方法 2021/2/2 Taiki Harada
2.
● 今回の勉強会では各サービスの機能と繋げ方 の大枠を話しますが、それぞれの細かい手 順・設定は各自その度に調べることを想定し ています。 ● 発表者も勉強中です。
3.
REST APIとは APIとはApplication Programming
Interfaceの略称であり、何かしらのサービス提供者が、その サービスを利用するために提供するインタフェース RESTの4つの設計原則 ● セッションなどの状態管理を行わない。(やり取りされる情報はそれ自 体で完結して解釈することができる) ● 情報を操作する命令の体系が予め定義・共有されている。 (HTTPのGETやPOSTメソッドなど) ● すべての情報は汎用的な構文で一意に識別される。(URLやURIなど) ● 情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めるこ とができる。 ● リソースに対してURLが対応づけられる。(そのため、URLが名 詞的になることが多い) https://qiita.com/masato44gm/items/dffb8281536ad321fb08 https://techtarget.itmedia.co.jp/tt/news/1806/13/news01.html
4.
https://qiita.com/masato44gm/items/dffb8281536ad321fb08
5.
Prerequisites ● AWSに興味がある ● AWSの概要を知ってる ○
AWSアカウントを作成済み ○ IAMとは何かまあまあ知っている ■ IAMユーザー・グループ ● AWS各サービスに対する権限をユーザー・グループごとに定義 ■ IAMロール ● AWS各サービスに対する権限をAWS各サービスごとに定義 ○ リージョン・AZ(Availability zone)を知ってる ■ リージョン ● AWSのサービスを提供している拠点のことです。 ● 今回は東京を選びます。通信速度を気にしなければ、オハイオでも韓国でも別に どこでもいいです。 ■ AZで複数のデータセンタを指定して災害でどっかが潰れたりしても稼働可能にできま す。東京は4つのAZを持ってます。
6.
7.
>Lambdaで推論関数を構築 >Python依存パッケージをEC2で構築 >EFSでマウント >Lambdaからマウント・アクセス >LambdaのトリガーをAPI Gatewayに設定 >APIの完成
8.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
9.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
10.
11.
VPCとは ● Virtual Private
Cloud ● AWSのパブリッククラウド内に自社内に建設するサーバー(オンプレミス環 境)と同様のプライベートネットワークを構築できるサービス ● インターネット接続でPrivateなAWSリソースを利用できる。 ● リージョンを指定したら”default vpc”が自動的に生成されます。 ○ 特にカスタマイズする必要がなかったらこれを使います。今回もこれを使います。
12.
サブネット ● 大きなネットワークを複数の小さなネットワークに分割して管理する際の、 管理単位となるネットワーク セキュリティグループ・ネットワークACL ● インバウンド通信・アウトバウンド通信を制御します。 今回はこれらはいじりません。インターネット接続がいる時とかカスタマイズし ます。 ルートテーブル・インターネットゲートウェイ ●
インターネット介した通信やVPNを介した外部サーバーへの通信など、サブ ネット内のEC2インスタンスのネットワークルーティングを制御します。
13.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
14.
15.
Lambdaとは バッチ処理のようにまとめて処理を行うのではなく、不定期に発生するイベント を逐次的に処理するのに最適なサービス ● プログラムを実行するCompute engine ●
サーバーの保守運用が不要 ● 実行時間だけに課金 ● 必要なプログラムをアップロードするだけで利用できる ● APIを通じてのキック、他に各種イベント通知からの呼び出しができる ○ S3のPut通知、Kinesisのストリーム、DynamoDBのテーブル更新通知、SNS、SES、Cognito、 CloudWatch Events etc… ○ 何時から何時まで何分ごとにキック、とかもできちゃう ● 対応言語 ○ Node.js, Java, Pyton, C++, Go, Ruby
16.
Lambda関数の作り方 引数 event, contextを設定し、レスポンスを辞書型で指定するだけ
17.
Lambda関数の作り方 ● Lambda内でコーディングできるが、ローカルで作成したコードをZIPでアッ プロードすることもできる ● 大事な設定
IAMロール ○ Lambdaから利用するAWSサービス(S3,VPC ,EFS)に対する権限を渡してあげる必要がある
18.
制限&解決法 ● Lambda内自体の容量が少 ないので、Pytorchや Tensorflowなど大容量なパ ッケージを導入できない ● どっかにパッケージを置い といて、そこにパス形式で アクセスできないか? EFS
19.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
20.
21.
EFSとは ● Elastic File
System ● ストレージ伸縮自在な管理不要のファイルシステム ● Amazon EFS は、耐久性と可用性を高めるために複数のアベイラビリティーゾーン (AZ) に分散されるデータを保存するリージョ ナルサービスです。Amazon EC2 インスタンスは、AZ、リージョン、VPC にかけてファイルシステムにアクセスでき、また、オ ンプレミスサーバーは AWS Direct Connect あるいは AWS VPN を介してアクセスできます。 ● EC2インスタンスから複数リージョン・AZ・VPCにかけてEFSにアクセスで き、これに加えてLambdaでもアクセスできるようになった
22.
マウントとは ● EFS ○ /ml--★ ■
/lib ■ /model ■ ● EC2 ○ efs/fs1/ml--★ ■ /lib ■ /model ■ アクセスポイント ★以下ディレクトリがマウントされ、フ ァイルシステムのアクセスポイントを通 じてアクセス可能になる ● Lambda ○ /mnt/api--★ ■ /lib ■ /model ■
23.
結局何ができるか ● EC2で環境構築して、そのリソースをEFSを利用することでLambdaからも アクセス可能になる ● TorchでもTFでも、なんでもどんとこい!!(GPUは使えないけど)
24.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
25.
26.
EC2とは クラウド上で仮想サーバ(インスタンス)、バックアップイメージ(AMI・スナ ップショット)、ストレージ(EBS)、ファイアウォール(セキュリティグルー プ)、固定グローバルIP(Elastic IP)などを利用できるサービス AWSにあらかじめ用意されているAMI(Amazon Machine
Image)からディスク 容量や通信要件を設定して、インスタンスを作成 インスタンスの情報=OS+CPU+メモリ+etc… =仮想サーバとしてどのようなリソースで稼働するか これらをカスタマイズして最適な仮想サーバを立てることができる
27.
今回のインスタンス ● IAMロールやVPC、ローカルからSSH接続できるようなセキュリティグルー プを作成・設定する必要がある ● OSやストレージ・メモリのタイプは以下の通り ●
EFSをマウントするのでファイルシステム を追加する必要がある
28.
Python依存パッケージのインストール ● インスタンス作成できたらアクセスキー(めっちゃ大事なやつ、ちゃんと保 管するべき)を作成の後にSSH接続し、あとは普通のターミナル操作と同じ。 ● EFSは/mnt/efs/fs1
以下にマウントされている。+/mlでアクセスポイント以下 の操作をする。 ● 詳細 ○ https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-package.html ○ https://aws.amazon.com/jp/blogs/news/new-a-shared-file-system-for-your-lambda-functions/ ● ライブラリは/lib、モデルは/modelにインストール・アップロード ○ ローカルと仮想サーバとのファイルのやりとりはscpコマンドでできる ■ https://dearsikandarkhan.medium.com/files-copying-between-aws-ec2-and-local- d07ed205eefa
29.
これでEFSにLambda関数実行に必要なパッケージ が追加されました。あとはLambdaからもEFSの追 加をして好きなパス名でマウントターゲットを決め ます。
30.
● EFS ○ /ml--★ ■
/lib ■ /model ■ ● EC2 ○ efs/fs1/ml--★ ■ /lib ■ /model ■ ● Lambda ○ /mnt/api--★ ■ /lib ■ /model ■
31.
使用する主なサービス 1. VPC 2. Lambda 3.
EFS 4. EC2 5. API Gateway
32.
33.
API Gatewayとは ● APIを作成、維持、保護できるサービス ●
Lambdaのトリガーの場合、リクエストされたらLambdaへリクエストを送り レスポンスを処理してクライアントへ戻す
34.
Lambdaのトリガーとして設定するのは「トリガーを追加」で簡単にできる トリガーとしてCloudWatch Eventsを利用することで、キックするタイムスケジ ュールを自在に設定できる(ex AM
9~PM9で3分間ごとキック)
35.
完成 ● テスト成功・CORSを解決(ドメインが違うサーバー同士の通信を解決)し たら、任意のステージにデプロイして完成
36.
まとめ・課題 ● IAM、VPC、リージョンなどAWSサービスを利用する上で必要な基礎知識を なんとなく理解した。 ● Lambdaを使ってイベント処理を行う関数を作れるようになった。 ●
EC2で環境構築を行い、そのリソースにEFSを利用してLambdaからマウン トしてアクセスできる方法を身につけた。 ● LambdaのトリガーをAPI Gatewayに設定して、REST APIを構築する方法が わかった。 チーム開発の際は、Lambda・EC2の環境がローカルと違うと色々めんどくさい ので、AWS内で、EC2内で開発・テスト環境を統一した方が良さそう Docker+EC2を用いて開発環境を統一する方法が知りたい
37.
参考文献 ● 効果的な導入・運用のためのAmazon Web
Services 活用入門 ● 一番大切な知識と技術が身に付く Amazon Web Services パターン別構築・ 運用ガイド ● AWS公式ドキュメント
Baixar agora