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.5k
犬の心電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
830
QA4AIに則ったMLOpsツールの活用
hacarus
0
600
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
150
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
130
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
730
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
800
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
1.1k
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
850
時系列データ予測手法の宇宙天気予報への応用
hacarus
0
1.1k
Other Decks in Technology
See All in Technology
Oracle Database 23ai 新機能 #3 Oracle Globally Distributed Database(GDD)
oracle4engineer
PRO
1
160
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
1
160
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
16
4.4k
歴史と背景から改めて振り返るVPC
shotashiratori
2
220
Javaにおける関数型プログラミンへの取り組み
skrb
5
110
デジタル化・DX推進あるある
y150saya
0
220
Our Journey from in-House CD System to Open Source
ffjlabo
0
100
#Zenoh 完全に理解した 〜組込み純情篇〜
takasehideki
1
450
Dify - LINE Bot連携 考え方と実用テクニック
uezo
5
1.1k
ログラスが面白いと思う理由をマネージャーがエモく語ってみる / 20240829 vs LT
yoshikiiida
1
520
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
160
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
4
640
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
35
6.8k
Clear Off the Table
cherdarchuk
90
320k
Code Reviewing Like a Champion
maltzj
518
39k
The Invisible Customer
myddelton
119
13k
The Brand Is Dead. Long Live the Brand.
mthomps
53
37k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.7k
Done Done
chrislema
180
16k
Automating Front-end Workflow
addyosmani
1365
200k
Raft: Consensus for Rubyists
vanstee
135
6.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
88
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
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 ありがとうございました!