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.4k
犬の心電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
630
QA4AIに則ったMLOpsツールの活用
hacarus
0
570
0から協働ロボット外観検査システムを3ヵ月で具現化した軌跡
hacarus
0
100
ワンちゃんの健康を願う皆様に送る 犬心電図AI解析プロダクト紹介_AWS DevDay2022
hacarus
0
110
ExplainableAIの概要とAmazon SageMaker Clarifyでの実装例
hacarus
0
640
AWS Step Functions を用いた非同期学習処理の例
hacarus
0
680
Dashでmyダッシュボードを作ろう ーpytrendsで見るコロナの感染拡大時期ー
hacarus
0
930
Interpretable Machine Learning: モデル非依存な解釈手法の紹介
hacarus
0
770
時系列データ予測手法の宇宙天気予報への応用
hacarus
0
1k
Other Decks in Technology
See All in Technology
パフォーマンス最適化のベストプラクティス
databricksjapan
0
210
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
390
知識と実践を紡ぐGenAI / Connecting Knowledge and experience with GenAI
aki_moon
2
190
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
430
AWSの生成AI入門書を執筆しました🎉
minorun365
PRO
0
150
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
0
180
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
2
210
OPENLOGI Company Profile for engineer
hr01
1
2.2k
グイグイ系QAエンジニアでやっていくよ!
____rina____
0
790
Dungeons and Dragons and Rails
joelq
0
260
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
680
Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
sansantech
PRO
1
920
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Web development in the modern age
philhawksworth
203
10k
What's new in Ruby 2.0
geeforr
338
31k
Agile that works and the tools we love
rasmusluckow
325
20k
Why Our Code Smells
bkeepers
PRO
331
56k
GraphQLとの向き合い方2022年版
quramy
33
13k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
BBQ
matthewcrist
80
8.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Side Projects
sachag
451
41k
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 ありがとうございました!