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
犬の心電AI解析プロダクト開発奮闘記 _クラウドからハード開発までてんこ盛り
Search
Hacarus Inc.
October 08, 2022
Technology
0
1.6k
犬の心電AI解析プロダクト開発奮闘記 _クラウドからハード開発までてんこ盛り
JAWSDAYS 2022の発表資料です。
Hacarus Inc.
October 08, 2022
Tweet
Share
More Decks by Hacarus Inc.
See All by Hacarus Inc.
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
950
QA4AIに則ったMLOpsツールの活用
hacarus
0
630
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
190
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
140
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
800
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
900
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
1.2k
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
910
時系列データ予測手法の宇宙天気予報への応用
hacarus
0
1.2k
Other Decks in Technology
See All in Technology
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
AIのコンプラは何故しんどい?
shujisado
1
190
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
Qiita埋め込み用スライド
naoki_0531
0
860
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
生成AIのガバナンスの全体像と現実解
fnifni
1
180
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
520
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
690
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Rails Girls Zürich Keynote
gr2m
94
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
A Tale of Four Properties
chriscoyier
157
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Documentation Writing (for coders)
carmenintech
66
4.5k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
1 犬の心電AI解析プロダクト開発奮闘記 ~クラウドからハード開発までてんこ盛り~ 株式会社HACARUS 宇佐見一平
2 名前: 宇佐見 一平 略歴:2017-04 新卒でメーカーに入社 2019-03 HACARUSに転職 職務内容:外観検査プロダクトの開発 趣味
:テレビゲーム、Spotifyで音楽巡り 社会人アメフトチームの分析スタッフとしても活動 自己紹介
3 • ロボット制御アプリ開発 • 異常検知ライブラリの開発 • 異常検知ライブラリをノーコードで実行でき るクラウドアプリケーション開発 Mission 次世代の“はかる”をあらゆる産業へ
4 • 診断/治療支援AI開発 • 創薬工程の効率化AI開発 • ライブラリをノーコードで実行できるクラ ウドアプリケーション開発 共 同
開 発 ・ 研 究
5 ▪所属内訳 ①京都本社 ②東京R&Dセンター ③白浜サテライトオフィス ▪拠点 インダストリー 事業部 医療事業部 海外事業部
新規事業開発部 プロダクトオーナー データサイエンティスト データサイエンティスト データサイエンティスト エッジエンジニア アプリケーションエンジニア データサイエンティスト HACARUSの雰囲気を知りたい方はWantedly blogまで ↓ 開発 66.7 % 営業 19.0% 常勤取締役 7.1% 管理 7.1%
6 発表内容
7 • 話すこと ◦ AWSに構築したシステム全体の構成 ◦ ハードウェア、SORACOM、AIそれぞれとAWSの連携 ◦ 開発の変遷と苦労話 •
話さないこと ◦ AIや分析手法の詳細 ◦ 詳細なコード 話すこと/話さないこと
8 • 2018年から住友ファーマアニマルヘルス様と共同での開 発が開始 • 特殊なシートに犬を立たせることで立位にて測定可能 ◦ 測定結果はAWSに構築されたシステムに送られて解析 • 住友ファーマアニマルヘルス様のクラウドサービス(あに
さぽ)にて結果を医師に表示 犬の心電解析プロジェクト概要
9 • 循環器疾患は犬の死亡理由第二位 ◦ 循環器疾患の早期発見が重要 • ただし、日常的には確認されていない ◦ 心電図を解析できない、手間、時間がかかる etc…
◦ 上記課題が解決すれば検査をしたいという獣医師が多数存 在することは事前に調査済み →拘束なしで短時間に測定、解析できれば疾患の早期発見に 役立つ なぜ犬の心電解析プロダクトが必要なのか 既存の 心電測定装置
10 心電解析プロダクトの全体像
11 心電解析プロダクトの全体像 HACARUS担当部分 ※電極シート除く
12 • 測定ハードウェアの開発 • クラウドアプリケーションの開発 • 心電解析AI(信号の前処理含む) 必要な開発項目
13 • 測定ハードウェアの開発 • クラウドアプリケーションの開発 • 心電解析AI(信号の前処理含む) 必要な開発項目 全て1人で担当😇 (PMとインターン生はいました)
14 • 測定ハードウェアの開発 ◦ はんだ付けはやったことある • クラウドアプリケーションの開発 ◦ AWS,GCP,Azureとかの名前は知ってる •
心電解析AI(信号の前処理含む) ◦ 信号処理はしたことある 当時の自分のレベル
15 ハードウェア編
16 時系列 2019年: プロトタイプ開発 2020年:量産設計 2021年:コストダウン版開発 - ハードウェア設計コ ンサル会社と協力 -
Raspberry Pi 3B+ をベース - データ送信は SORACOMを利用 - プロトタイプでの 課題を解決 - 全体を覆うカバー の設計 - 回路の設計 - 量産に耐えうる部 品の選定 - コストダウン版の 制作 ここでハードに強い人 が入社!
17 時系列 2019年: プロトタイプ開発 2020年:量産設計 2021年:コストダウン版開発 - ハードウェア設計コ ンサル会社と協力 -
Raspberry Pi 3B+ をベース - データ送信は SORACOMを利用 - プロトタイプでの 課題を解決 - 全体を覆うカバー の設計 - 回路の設計 - 量産に耐えうる部 品の選定 - コストダウン版の 制作 ここでハードに強い人 が入社! 2019年: 3台だけのお試し 2020年:限定的なデモ公募 2021年:実稼働の公募
18 プロトタイプ外観 SORACOM 通信ドングル A/Dコンバーター マイコン 本体
19 測定時の全体観
20 測定できた!
21 • 横幅24cm→17cm • 縦幅15cm→9cm 量産&コストダウン版
22 • ほぼ初心者でも外部コンサルと組めばプロトタイプまで はいける • ただ量産設計は難しい ◦ やっぱりハードに強い人は社内に必要 ハードウェア編まとめ
23 ソフトウェア編
24 • ハードウェアからのデータをクラウドで受け取りたい • 受け取ったデータに前処理、学習済みのAIモデルを適用 したい • 外部サービスに固定IP認証でデータを送りたい やりたいこと
25 2019年: 最初期のアーキテクチャ
26 2019年: 最初期のアーキテクチャ
27 • APIKeyを使った認証を採用 ◦ Raspberry Piを配布するので認証情報を持たせたく ない RaspberryPiからどう認証するか?
28 • ラズパイに認証情報を持たせなくてよくなる SORACOM Beam
29 通信のイメージ 参考: https://users.soracom.io/ja-jp/docs/beam/aws/
30 グループごとに送信先も変えられる • Raspberry Piの設定を変えずとも、クラウド側で病院ごとに 使う処理を変えられる
31 • http://metadata.soracom.io/v1/subscriber.imsiにリ クエストを送ることでIMSI(SIMのID)を取得可能 ◦ IMSIはユニークなので、これをハードウェアの識別 情報として利用 subscriberを利用したIDの付与 http://metadata.soracom.io /v1/subscriber.imsi
GET IMSI(4231244…)
32 外部サービスとの通信について
33 • FargateにElasticIPが振れない ◦ オープンなサブネットとクローズドな サブネットに分け、オープンな サブネットにElasticIPを振ったNAT を介して通信 固定IPを用いた認証 参
考:https://aws.amazon.com/jp/premiumsupport/knowledge-cen ter/ecs-fargate-static-elastic-ip-address/
34 • メモリリークが起きてコンテナが落ちてしまった 順調に動いてそうだったが…
35 • Pythonの描画パッケージであるmatplotlibを使うとメ モリリークしているよう • 公式の対策を講じても効果薄 →Fargateのタスク数を増やし、メモリが一定以上に増え たコンテナはリスタートすることで対処 原因と対策
36 2020年:アーキテクチャ変更 GItlab Runner (LocalでのMock を使ったUnittest)
37 2020年:アーキテクチャ変更 GItlab Runner (LocalでのMock を使ったUnittest)
38 • メモリリークの解消 • ただし都度起動は時間がかかる ◦ EC2 on ECSを採用し、キャッシュを用いることで起動 時間を1分→10秒弱に高速化
処理コンテナを都度生成
39 • EC2を利用し始めたことでインスタンスのコストがか かってしまっている • 大量のリクエストが来た際に取りこぼす可能性がある 今後の改善点
40 あるエンジニアとの会話 なんかいいアーキテクチャ ないっすかねー AWS SAの人に相談したら? 自分 アプリエンジニアの人
41 相談時のアーキテクチャ
42 色々アドバイスもらえました 直接API Gatewayからレスポン ス返せる SQS噛ませて取りこぼしを防 ぐとよい
43 • SORACOMを用いることで、ハードとクラウドの繋ぎ込 みが容易になった • 初の試みで問題はあったが、クラウド環境の再構築の容 易さからある程度すぐに対応できた • AWS SAの方に相談するのはおすすめ
ソフトウェア編まとめ
44 実稼働している病院でこんなデータが採れてます
45 本プロダクトは絶賛関西の病院でデモ稼働中! 見かけたら是非ご贔屓に 最後に
46 ありがとうございました!