【LPIXEL×CADDi】Kaggle Masterとマネージャーが語るAI製品化の舞台裏【イベントレポート】

 みなさんこんにちは。キャディ(CADDi)でML/MLOpsチームのグループリーダをしている稲葉です。今日は、エルピクセル(LPIXEL)さんと一緒にオフラインイベントを開催しましたので、そのイベントレポートをお伝えしたいと思います。

はじめに

 イベントの詳細は、connpassのページをご確認いただけると幸いです。このイベントを開催するにあたってエルピクセルさんとも色々と議論したのですが、AIを製品として市場にリリースしているエルピクセル株式会社、キャディ株式会社からどういう点を意識してプロダクト開発しているかをお話すると実際の開発現場がイメージできるのではないかという話になりました。また、Machine Learning Engineert・Engineering Managerそれぞれの立場からお伝えすることで、AI製品化プロセス全体の話ができるのではないかと思い、このような内容で開催することにしました。

 以下、発表の様子や内容を独断と偏見でまとめた個人的なハイライトと感想を紹介します。各発表資料は公開していますので、詳細はそちらをご確認ください。

【CADDi】実例で示すKaggleコンペと開発実務の差

発表者: キャディ株式会社 機械学習エンジニア 押条さん
資料: 20240315_LPIXEL×CADDi_kaerururu | ドクセル

 kaeru-sanこと押条さんからのKaggleコンペと開発実務の差のお話です。

 キャディのMLモデル開発の流れが紹介されています。Kaggleではモデリング評価と推論コード作成が主ですが、実務ではタスク設計、データセット作成、デプロイ、運用がさらに必要になってきます。

 以降の資料では各ステップでの実務の課題とKaggleの知見が活かせるところを説明されていました。データセット作成において、どういうアノテーションのコンペが良コンペだったかが分かっているのが役立つのは確かにその通りだと感じました。どういう仕様のアノテーションがあると解きやすいか、所望の性能が出しやすいかの勘所もあると思います。加えて、どういうデータ分布で収集する必要があるか、どうバリデーションデータを区切って評価すべきかといった部分でも活きてくるのではないかと思います。

 モデリング・評価において、違いが分かり易く整理されています。もちろん精度を追及する部分はKaggleが活きるところですが、非機能要件として速度も重要なのでシンプルで軽いモデルが適していることもあります。また、チームでの開発・運用のために誰でも再現できる状態にしておくことも大事です。

 モデルを作った後の運用も重要です。こちらに示しているような指標の監視含め、エラー率が上がった場合の通知の仕組みを作ったり既知の不具合かどうかのログ監視を行っています。

 MLチームでの学びのページでも言及されているように、データ収集の工夫・精度だけではないモデル開発・運用とMLを活用したサービスの開発全体を経験できる環境です。

【LPIXEL】実例で示すKaggleコンペと開発実務の差

発表者: エルピクセル株式会社 シニアエンジニア 髙木さん
資料: LPIXEL_CADDi_イベント資料 - Speaker Deck

 続いて、高木さん視点のKaggleコンペと開発実務の差のお話です。Software Design誌で「画像解析AIの作り方」も連載されていたのでぜひそちらもご覧ください。

 エルピクセルさんの仕事の流れとKaggleの比較です。コンペ内容の確認からプロジェクト内容の確認に範囲が広がっているとはいえ、ほぼKaggleの流れと変わらないのが印象的でした。スタンドアロンなソフトウェアで機能提供されている点もKaggleの流れと変わらないことと関係しているのだろうと想像していました。

 ほぼ同様の流れという話の中でもKaggleと実務の違いとして、プロジェクト企画・データセットやアノテーションの自由度・製品化する上での制約が語られていました。押条さんからもありましたが、データセットやアノテーション上の工夫によって課題をクリアする手段もある点は大きな違いです。モデルや学習の工夫で改善を図るべきなのか、データの工夫で改善を図るべきなのかを判断することも機械学習エンジニアに求められる責務だと考えています。

 製品化する上で、速度面とリソース面の制約のお話がありました。実務では「CPUのみで1分以内」であったり、この機能は「リアルタイム推論(10枚/s)が必要」であったりと様々です。スタンドアロンの提供形態では、計算リソースやメモリを柔軟に確保するのがより難しいので、強い制約がある中で高性能なモデルを作成するのは高度な専門性が求められるでしょう。

 医療AIは機械学習プロダクトとして性能を求められ、それが製品価値になるケースがほとんどであり、 強いモデルを作ることができるとそれだけでアドバンテージとなるのは、機械学習エンジニアにとって嬉しい環境だと思います。確かに、Kaggleでモデル開発を競った経験が活かせる環境だと感じました。

【CADDi】CADDi AI Labの進化 R&Dから実用プロダクトへの旅路

発表者: キャディ株式会社 Engineering Manager 今井さん
資料: ML組織のこれまでとこれから

 キャディのAI Labの立ち上げに携わった今井さんからの発表です。

 元々、図面解析チームが活動していたのですが、従来からある画像処理アルゴリズムだけでは解けない課題もありAI Labが発足しました。その活動の中で、類似図面検索を開発しDrawerに組み込まれリリースされました。その後も継続して図面解析の深化や3D解析にも取り組んでいました。当時AI Labは全社横断組織でしたが、価値提供先との距離が遠くフォーカスがブレたりスピード感がないなどの課題を感じていました。それらの課題を解決するため、AI LabからDrawer所属とした経緯があります。

 キャディの事業全体への直接的な貢献を考慮していましたが、DrawerにフォーカスしDrawerで開発した資産と知見をManuに活かしていく体制をとりました。Drawerのユーザに求められるプロダクト・要件定義・データ作成にフォーカスすることでML図面解析機能をリリースすることができました。と言ってもまだ一部ですので、さらに図面解析機能の強化を予定しています。必要なのはプロダクトマネジメントでしたという言葉に重みを感じます。

 今、Drawerは資産の一つとして図面の活用にフォーカスしています。それはものづくりのバリューチェーンの中で図面を使わない部署は無く、全体を繋ぐコアデータの一つになっているためです。ただ、このバリューチェーンの中で生まれるデータは図面だけでなく、3D CADもありますし、デザインレビューのログや過去品質トラブルといったドキュメント類もあります。ML/LLMの技術を用いてこれらのデータを活用し、より前工程(設計など)にフィードバックすることでより高い価値を創造して行きたいと考えています。

【LPIXEL】製品化を実現し続ける医療AIアルゴリズム開発のプロセス

発表者: エルピクセル株式会社 Engineering Manager 竹内さん
資料: 製品化を実現し続ける医療AIアルゴリズム開発のプロセス | ドクセル

 エルピクセルの研究開発本部グループリーダーの竹内さんからの発表です。

 最初にアルゴリズムが製品化されない理由を話されていましたが、とても耳が痛い内容でした。技術的に優れているだけでなく、ユーザに望まれる機能なのか、リターンが見込めるのかの調査や検証はとても大事です。また、やってみないと分からないことも多い機械学習の実現不確実性とうまく付き合う必要もあります。「製品化可能な状況を開発前から作っておく!極論これに尽きる」は強いメッセージでした。

 そこで、製品可能な状況を開発前から作っていくために何が必要かのお話がありました。まずは、プロダクトマネジメントとしてユーザヒアリングや「真の需要」の考察が必要です。表面的にユーザが欲しいと言っている機能ではなく、本当にユーザが実現したいことは何なのかの仮説構築が大事です。その後、仮説検証や実現性の検証を実施し、その仮説が正しいのか技術的に実現可能なのかを確かめます。この際、現実的に達成できそうな性能と提供できる機能や体験をデモを通じて期待をすり合わせることも重要です。

 この製品価値の明確化をやり切るのはプロダクトマネージャー、エンジニアともに苦労するのですが、ここがはっきりしないまま進めると使われるか分からないものを作ることになりお互いに不幸になります。ソフトウェア開発全般に言えることではありますが、特に機械学習モデル開発はデータセットの準備も含め大きな開発コストを払うため、より重要だと感じています。

 もう一つ話されていたのが、エンジニアが頑張りやすい状況整備です。モデル開発が得意なエンジニアが活躍できるように、開発に必要なデータ要件や評価尺度を早く決めておくことが大事です。問題設定がクリアになっていて、データセットと評価方法が決まっていれば、Kaggleと同様にアルゴリズム改善に注力することができます。また、PoCを実施しているとはいえ本番データを集めてやってみないとどうなるか分からない部分もあるため、どういう形でプロダクト提供するかを複数プランを考えておくことが重要です。プロジェクト開始時に成功の定義を考えますが、多段階に想定されているのはさすがだなと思いました。

 せっかく頑張ってくれたエンジニアの成果を無駄にしないように、我々もより成果が出やすい環境を作るため身が引き締まる思いでした。

質疑応答&パネルディスカッション

 全体の発表の後、質疑応答&パネルディスカッションの時間を設けましたので、いただいた質問と回答を紹介します。

Q. Kaggleと実務ではリリースした後に継続してモデル精度を監視する点が一つ異なると思いますが、モデル精度のトラッキングはどのように実施していますか?

今井: 定性的なものと定量的なものがあります。定性的には、カスタマーサクセスを通してお客様からのフィードバックをもらっています。定量的には、全てのモデルで実施しているわけではないですが、入力されたデータの一部に対してアノテーションし、実際の認識結果と突き合わせて評価しています。

竹内: エルピクセルの場合は薬機法に関わる製品であるため開発タイムラインが長く、容易にはモデルの更新ができません。そのため、よい製品であることの条件としてクリアすべき基準とデータセットを事前に突き詰めることが多いです。

Q. ユーザにもアノテーションに参加してもらうことを考えていますか?

竹内: ユーザにアノテーションに参加してもらうという意味ではプロダクトには直接入ってはいません。ただ、導入施設の医師から正解不正解のフィードバックを貰っていますし、アノテータとして契約することもあります。

押条: キャディも現在プロダクトに直接入ってはいませんが、もちろん考えてはいます。ただ、現状はカスタマーサクセスとお客様から課題図面のフィードバックを貰い改善を進めています。

Q. カスタマーサクセスからの問い合わせの中には、技術的に難しいものがあり精度が向上しない場合もあると思います。どのように説明していますか?また、対応フローがありますか?

竹内: 実際、難しい要望はかなり多いです。ただ、典型的なパターンのものは対応や説明例をまとめているので、現地のシステムエンジニアが一定対応してくれています。また、クレームというよりも純粋に開発者の気持ちを知りたい場合がかなり多い印象があります。実際にエンジニアがユーザに対して説明することで納得してもらえることも多いですし、それによって製品開発により協力的になってくれる方も居ます。

今井: キャディでもエルピクセルさんと同様に開発者の気持ちが知りたい場合が多いですね。そこは同様なので違う部分で言うと、Drawerでこういう検索結果が欲しいとしても方法は一つではないことが多いです。ですので、別の方法としてこういうやり方ができますよという話をカスタマーサクセスを通して伝えることで納得いただけることもあります。また、機械学習がどういうものなのかをお客様に正しくお伝えすることも大事です。そのために全社の理解底上げのためのオンボーディングや説明資料を用意しています。

Q. AIプロダクト開発におけるKaggleの役立ち度合は今後変わっていくと思いますか?また、どういう点が今後大事だと思いますか?

高木: 補助機能としてではなく、AIがメインとなるようなプロダクトはまだ少ないですが、今後増えるだろうと考えています。その際には競合が増えて認識性能勝負になるでしょう。強い認識モデルを素早く作る力は依然として必要なので、Kaggleに参加して鍛えるのが大事だと思います。

押条: チームで機械学習コードを開発する経験を意識してKaggleに参加するのが大事だと思います。実務では一人でモデル開発するのではなくチームで再現性を持って改善することが求められます。Kaggleではチームマージして別々のパイプラインを持ち寄って推論コードをアンサンブルした方が精度は上がりますが、チーム開発を意識して実験やコードの管理に取り組んだりツールを選ぶなど、自分で課題意識を持ってチャレンジの場としてKaggle を活用すると良いと思っています。

懇親会

 登壇者と参加者、遊びに来ていたそれぞれのエンジニアで懇親会をしました!想像以上に盛り上がり、時間ギリギリまで質問や情報交換がされていたのが印象的でした。色々なところで名刺交換が行われたり、カジュアル面談の予定が組まれていたので、このイベントをきっかけによいコラボレーションが産まれるととても嬉しいです。

おわりに

 参加者の皆さまのおかげでイベントは大成功で終われたと思います。オフラインでお話や情報交換ができるのは、やはり良い体験だなと再確認出来ました。

 このイベントの開催に向けて会場提供含め協力いただいたエルピクセルさんにこの場をお借りして感謝申し上げます。特に広報の方に当日流れも含め綿密な準備をしていただきました。ありがとうございました!今後もこういったイベントは開催したいので、エルピクセルさん含め一緒に企画していただける企業様もぜひお声がけいただけると幸いです。

We're hiring!
キャディでは一緒に開発を推進してくださるメンバーを募集しています。興味のある方、是非気軽にご連絡ください!

エンジニア向けサイト
CADDi 採用情報 for Engineer/Designer
Information for ML/MLOps Engineer

ML/MLOps募集要項
Machine Learning Engineer / キャディ株式会社
MLOps Engineer / キャディ株式会社