狠狠撸

狠狠撸Share a Scribd company logo
FastAPIを使って
機械学習モデルをapi化してみる
2021/8/28 機械学習の社会実装勉強会
自己紹介
名前:tsho (twitter: tshowis)
大手販促メディア/人材メディアにてデータ分析者 /データエンジニア
としてレコメンドエンジン等の開発 /実装/運用を担当。
データに関わらずウェブアプリケーションの開発からサーバーサイ
ド、インフラ構築ど幅広く従事。
- MLOps勉強会 事務局
本発表は所属する組織とは関係なく、
個人の見解と調べたことを発表いたします。
本発表のターゲット
- データサイエンティスト:初心者?上級者
- ビジネスユーザー:初心者?上級者
- エンジニア:未経験から初心者
- エンジニア中級者などは退屈かもしれません。
作った機械学習モデルはどうしていますか?
- 要因分析等で使ったからその場で終わり?
- データサイエンティストが予測するタイミングで随時予測?
- リアルタイムなどの即時予測に利用?
リアルタイムなど即時に使うための手法の一つとして
API化があります。
人手を介するのに非効率な場合に向いている
1時間に1回データ取得
作成済みモデルを使い
予測を実行
予測結果をDBなどに格納
都度人手を介していたら大変なので自動化のため
API化を行うと便利です
例
APIとは?
API = Application Programming Interface
APIを使用するとその製品やサービスなどの実装内容を把握しなくても使うことができます。
詳しい人向け:本発表での
APIとはREST APIのことを指します。
- SOAP APIなどは扱いません。
参考:https://www.redhat.com/ja/topics/api/what-are-application-programming-interfaces
APIはシステムの問い合わせ窓口として利用可能
1時間に1回データ取得
作成済みモデルを使い
予測を実行
予測結果をDBなどに格納
例
APIの作成方法は多岐にわたる
いろんな言語やマネージドサービスが普及しているのでいろんな作ることが可能です。
クラウドサービス
プログラミング言語/フレームワーク
FastAPIとは?
APIを作るために特化しており高パフォーマンス(
Fast)、実装時間がFast。
2020/8/27時点:Star数:35.3k、ver 0.68.1、Fork数:2.5k、最初のリリース2018/12
ちなみに、Pythonの軽量フレームワークで有名な
Flaskと比べともFastAPIがすぐに人気になったことがわかりま
す。
Star数:56.4k、Fork数:14.6k、最初のリリース2010/04
参考:https://fastapi.tiangolo.com/
簡単な使い方
参考:https://fastapi.tiangolo.com/
FastAPI起動後(デフォルトで起動する場合、127.0.0.1:8000)
参考:http://127.0.0.1:8000/doc
本発表で使う機械学習モデル
Kaggleよりタイタニックのデータを利用
- 性別、年齢、家族構成などの情報からタイタニックでの生存を予測するデータ
公開されているcodeからほとんど利用
参考:https://www.kaggle.com/sishihara/upura-kaggle-tutorial-03-feature-engineering
デモ
コードはこちら:https://github.com/tsho/fastapi_sample
おわり
容易に実装でき、UIも充実しているFastAPIは非常に簡単に機械学習モデルを API化ができます。
loggingなど本番で必要な機能が標準で備わっていないので利用する場合は実装が必要かと思います。
興味のある方は試してみてはいかがでしょうか?
参考
https://www.oreilly.co.jp/books/9784873116860/
https://fastapi.tiangolo.com/

More Related Content

FastAPIを使って 機械学習モテ?ルをapi化してみた