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.7k
犬の心電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
1.1k
QA4AIに則ったMLOpsツールの活用
hacarus
0
660
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
220
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
170
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
890
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
1.1k
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
1.3k
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
990
時系列データ予測手法の宇宙天気予報への応用
hacarus
0
1.3k
Other Decks in Technology
See All in Technology
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
550
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
490
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
400
GraphQLを活用したリアーキテクチャに対応するSLI/Oの再設計
coconala_engineer
0
200
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
140
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
710
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
880
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
220
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
1
240
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
130
Databricksで完全履修!オールインワンレイクハウスは実在した!
akuwano
0
150
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
1.9k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Building an army of robots
kneath
305
45k
Writing Fast Ruby
sferik
628
61k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to Ace a Technical Interview
jacobian
276
23k
Statistics for Hackers
jakevdp
798
220k
The Language of Interfaces
destraynor
158
25k
Producing Creativity
orderedlist
PRO
344
40k
Build your cross-platform service in a week with App Engine
jlugia
230
18k
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 ありがとうございました!