先日のQCon Plusオンラインカンファレンスで、"ML in Production — What's Next?"と題されたパネルディスカッションが行われた。重要なポイントは次のとおりだ — エンジニアリングインフラストラクチャの貧弱さと学際的コミュニケーションの不足により、多くのMLプロジェクトが実運用環境で失敗している。モデルの説明性とエッジコンピューティングにおけるMLは、いずれもまだ完成の域に達していないが、重要なテクノロジである。
パネルディスカッションは、シニアテクノロジコンサルタントでNYJavaSIGのチェアマン、QCon Plus November 2021の委員会メンバであるFrank Greco氏の司会で行われた。パネリストとしては、マシンラーニングスタートアップ企業の創設者でスタンフォード大学講師のChip Huyen氏、MicrosoftプリンシパルデータサイエンティストのShijing Fang氏、ZillowのマシンラーニングエンジニアリングシニアマネージャであるVerno Germano氏らが参加した。パネリストたちは、Greco氏の提示した質問について議論した後、セッション終盤では聴衆からの質問もいくつか取り上げていた。
Greco氏は最初に、多数のMLプロジェクトが実運用への移行に失敗している理由について、パネリストたちの意見を求めた。Germano氏は自身の経験から次のように述べた — 企業の多くは問題のデータ科学的側面を重視して、テストデータと評価メトリクスでよい結果を達成できるようなモデルを開発している。しかし、そのモデルを運用環境に投入すると、データサイエンティストたちの持っていない専門知識を必要とするような、エンジニアリング上の問題が数多く発生するのだ。それに対してFang氏が、問題はしばしば文化的なものだ、と付け加えた。それはビジネス目標に関する"総合的見地"の欠如であり、企業内の部門や分野を越えたコミュニケーションの失敗にある。Huyen氏は、失敗したプロジェクトに対して体系的な事後分析が行われていないために、例えばツール不足を原因とするものが何パーセントなのか、といったことを知るのが難しくなっている、という点を指摘した。
次にGreco氏は、モデルの継続的デリバリについて、現在の方法とソフトウェアデリバリのウォーターフォールモデルとの比較という面から質問した。Huyen氏はモデルのデリバリについて、他のソフトウエアスタックのデリバリと同じプロセスの一部として考えるべきである、と指摘した上で、企業がツールやプロセスを重視する必要性について示唆した。Germano氏は、MLモデルのプロデュースには通常とは異なるアプローチが必要であることや、モデルの長期的運用に対する長期的な"ケアとフィーディング"に必要な既製インフラストラクチャの欠如により、企業自身がそのインフラストラクチャを構築する必要に迫られていることなどを指摘した。さらに氏は、運用環境におけるモデルのパフォーマンスの継続的な監視を、"実施すべき最も重要なことのひとつ"として強調した。それに加えて、特に強化学習(reinforcement learning)においては、リアルタイム収集のニーズとデータの分散のため、問題はさらに複雑である、とも述べた。
Huyen氏がここで、関連する質問をパネルに問いかけた — MLツーリングには有償やオープンソースのプロダクトが数多く存在して、モデルのデプロイや監視の問題を解決しているにも関わらず、企業がいまだ苦労しているのはなぜだろうか?問題がツーリングの失敗ではないからだ、とFang氏は示唆した。そうではなく、多数のシステムを統合して、複雑なビジネス問題を処理することが問題なのだ。
次にパネリストたちは、参加者からの質問にいくつか回答した。フィーチャーエンジニアリングに関する質問に対してFang氏は、自身のチームで中央サーバの"フィーチャーバンク(feature bank)"を運用しており、データセットやフィーチャに関するドキュメントを生成して複数のプロジェクトに分配していることについて論じた。Jupyter notebooksを運用環境で使用することの是非についての質問にはGermano氏が、それは環境次第だ、と回答した。深夜バッチプロセスなどで成功しているケースもあるが、数百万のユーザを持つWebサイトをサポートするのはおそらく無理だろう、というのが氏の意見だった。
別の参加者が、モデルの解釈可能性と説明可能性について質問した。これに対してGermano氏は、非常に複雑なディープラーニングモデルの説明可能性は困難なため、評価メトリクスを信頼する以外にないかも知れない、と示唆した。さらにHuyen氏が、説明可能性と解釈可能性には非常に多くのユースケースがあることを指摘した。それは例えば、モデルが偏見のない公平なものであることを証明するためなのかも知れないし、開発者がモデルのパフォーマンスについてのトラブルシュートを行うためなのかも知れない。運用環境におけるモデルのパフォーマンスが時間の経過とともに変動する場合、考えられる原因は多数あるが、モデルがその回答に到達した方法を理解できなければ、根本的な原因は分からないだろう、と氏は述べている。
Greco氏は最後に、エッジデバイス上のMLに対する意見をパネリストたちに尋ねた。Huyen氏は、コンピューティング企業がコンシューマデバイスにより多くの処理をプッシュできるようになれば、自社のコンピューティングコストの費用を低減することが可能になる、という点を指摘し、これを"聖杯(Holy Grail)"と表現した。その一方で、エッジハードウェアの能力不足、複数のモデルバージョンの管理、モデルのパフォーマンス監視、アップデートのプッシュなど、解決すべき問題も少なくない。Germano氏はこれに同調した上で、同じくビジネス側のコンピューティングコストの低減とユーザエクスペリエンスの改善を両立するアイデアとして、Webブラウザを使用したモデルのエンドユーザ実行についても論じた。