TECH PLAY

2021/03/30(火)18:30 〜 20:30
Bookmark Icon

セミナー: 機械学習デザインパターン

オンライン

イベント内容

セミナー: 機械学習デザインパターン

2021年3月30日(火)18:30-20:30 オンライン

アンケート: ぜひこちらへ4月6日までにご回答ください。https://forms.gle/kyX2qDV3THabTLQdA

機械学習の社会応用が急速に進展することに伴い、実務家や研究者において機械学習モデルや機械学習システム全体の良い設計の指針の整理と共有が求められています。本セミナーでは、背景として機械学習工学および機械学習システムの開発プロセスを概観したうえで、講演者らが調査により整理した15の機械学習応用のためのソフトウェアエンジニアリングパターン(Software Engineering Patterns for Machine Learning)、および、Lakshmananらが整理体系化した30の機械学習デザインパターン(Machine Learning Design Patterns)を解説します。

Zoomオンライン開催・参加無料です。ぜひご参加ください。

主催

協力・協賛

  • 日本ソフトウェア科学会 機械学習工学研究会(MLSE)
  • 早稲田大学グローバルソフトウェアエンジニアリング研究所

概要

  • 日時: 2021年3月30日(火)18:30-20:30
  • 場所: オンライン Zoom
  • 参加費: 無料
  • 講演者: 吉岡信和(国立情報学研究所)、竹内広宜(武蔵大学)、鷲崎弘宜(早稲田大学)(eAIプロセス・パターンチーム)ほか
  • 参加申込: 本connpassページからお申し込みください

プログラム

18:30-18:45 機械学習工学とプロセスの概要

吉岡 信和(国立情報学研究所)

機械学習デザインパターンの背景として、機械学習工学および機械学習システムの開発プロセスを概観します。

18:45-19:00 機械学習応用のためのソフトウェアエンジニアリングパターン(SE Patterns for ML)の概要ほか

竹内広宜(武蔵大学)

講演者らはJST未来社会”Engineerable AI”(eAI)プロジェクトにおいて、学術文献および灰色文献の体系的調査により、ソフトウェアエンジニアリングの観点からの機械学習応用システムおよびソフトウェアの設計における代表的なデザインパターン(一部 IWESEPAsianPLoPPLoP)を特定し、整理を進めています。本講演では以下のパターン群の全体像ならびにモデリング等について解説します。

パターン名問題解決
Parameter-Server Abstraction分散学習では、広く受け入れられている抽象化が不足データとワークロードの両方をワーカーノードに分散し、サーバーノードはグローバルに共有されたパラメータを保持
Data flows up, Model flow down (Federated Learning)標準的な機械学習アプローチでは、訓練データを1台のマシンまたはデータセンターに集中管理する必要ありすべての訓練データをデバイスに保持したまま、モバイルデバイスがクラウド上で共有モデルを共同訓練
Secure Aggregationシステムは、モデルの更新を安全、効率的、スケーラブル、フォールトトレラントな方法で通信し、集約する必要あり連合学習で各モバイル端末のデータを暗号化し、個別の精査なしに集計・平均値を算出
Different Workloads in Different Computing EnvironmentsMLデータのワークロードを分離して素早く変更し、訓練ワークロードを安定化させる必要があり異なるワークロードを異なるマシンに物理的に分離、マシン構成とネットワーク使用量を最適化
Data Lake for MLデータに対する分析方法や利用フレームワークを予想困難構造化・非構造化のいずれも可能な限り生データをストレージ保存
Distinguish Business Logic from ML Model全体的なビジネス・ロジックは他に影響を与えず変更できるようMLモデルから分離の必要ありビジネス・ロジックと推論エンジンを分離し、ビジネス・ロジックとML固有のデータフローを疎結合
Microservice Architecture for ML既知のMLフレームワークに限定され、より適切なフレームワークの機会を逃してしまう可能性一貫性のある入力・出力データ定義、MLフレームワークで使用するための明確に定義されたサービス提供
ML Gateway Routing Architectureクライアントが複数のサービスを利用する場合、サービスごとに個別のエンドポイント設定管理困難ゲートウェイをインストールし、適切なインスタンスへのアプリケーション層のルーティング要求を使用
Lambda Architectureリアルタイムデータ処理におけるスケーラビリティ、耐障害性、予測可能性と拡張性の困難さバッチレイヤーはビューを生成し続け、スピードレイヤーはリアルタイム/スピードビューを生成、サービングレイヤは両方に問い合わせ
Kappa Architecture少ないコードリソースで膨大なデータを扱う必要単一のストリーム処理エンジンでリアルタイムデータ処理と連続的な再処理の両方をサポート
Separation of Concerns and Modularization of ML ComponentsMLコンポーネントの定期的かつ頻繁な変更に対応必要最も単純なものから最も複雑なものまで、複雑さの異なるレベルで分離
Discard PoC CodePoCのために作成したコードでは、試行錯誤を効率的に実施するため保守性犠牲PoCのために作成したコードは破棄し、PoCで得た知見に基づき保守性の高いコードを再構築する
ML VersioningMLモデルとその異なるバージョンは、MLアプリケーション全体の挙動を変える可能性ありMLモデル構造、データ、システム、解析コードを記録し、再現性のある学習・推論
Encapsulate ML models within Rule-based Safeguards機械学習モデルは、不安定で敵対者攻撃に弱く、データのノイズやドリフトの影響を受けやすいMLモデルの予測結果に内在する不確実性を、決定論的で検証可能なルールでカプセル化して対処
Deployable Canary ModelMLモデルの説明性が低いため、振る舞いを近似する代理MLモデルを得たい説明可能な推論パイプラインを一次推論パイプラインと並行して実行し、予測の違いを監視
19:00-19:05 質疑
19:05-20:15 機械学習デザインパターン(ML Design Patterns)の解説

鷲崎 弘宜 (早稲田大学 / NII / システム情報 / エクスモーション)

Lakshmananらが機械学習のモデルおよびシステムの設計と実装・運用における典型的なパターンを整理体系化した30の機械学習デザインパターン(Machine Learning Design Patterns)の全体像および主要なパターン群を詳しく解説します。以下のパターン群が、データ表現、問題表現、モデル訓練、レジリエントサービング、再現性、責任・説明性の6つのカテゴリに分かれています。

(出典: Valliappa Lakshmanan, Sara Robinson, Michael Munn, "Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and Mlops", Oreilly & Associates Inc, 2020.)

パターン名問題(講演者による簡易要約)解決 (講演者による簡易要約)
Hashed Featureカテゴリー変数についてとりうる種類を特定困難。One-hot encodingではCold-Start問題ユニークな文字列としたうえでハッシュ値に変換
EmbeddingsOne-hot encodingではデータの近さを扱えない意味的な近さを表すように特徴の埋め込み。例えばテキストの分散表現、画像の畳み込み。
Feature Crossもともとの変数群そのままでは関係に基づく分類や予測が困難複数のカテゴリー変数の組み合わせで関係を容易に表現
Multimodal Input異なる種別の入力を扱いにくい分散表現の結合や高密度化
Reframing当初の目的変数や出力形式では限界問題を回帰から分類へ変更(逆も)
Multilabel出力層の活性化がsoftmax列では複数ラベル困難出力をsigmoid列
Ensemblesバイアスとバリアンスのトレードオフアンサンブル学習(バギング、ブースティングほか)
Cascade通常と特殊を同一モデルで扱い困難通常と特殊に分類のうえそれぞれに訓練・予測し集約
Neutral Classデータに主観評価を含むなどにより任意・ランダム性Yes, NoにMaybeを加えた分類とする
Rebalancingデータセットが不均衡Accuracy以外評価。ダウン・アップサンプリング、reframing。
Useful Overfitting物理シミュレーションのように全入力を扱える過学習で良い。実際にはモンテカルロ法でサンプリングなど
Checkpoints複雑なモデルは訓練に時間を要する訓練モデル外の情報も含めて全ての状態をエポック単位で保存・再開
Transfer Learning非構造データの訓練には巨大データが必要同種データで訓練済みのモデルによる転移学習、ファインチューニング
Distribution Strategy深層学習モデルの訓練に長時間データ並列化、モデル並列化による分散学習
Hyperparameter Tuningハイパーパラメータの人手チューニングは長時間で不正確外側の最適化ループとしてのハイパーパラメータチューニング
Stateless Serving Functionモデルの巨大化。訓練時と稼働時の環境相違数式コアのみのエキスポート、状態無し関数RESTful APIとしてデプロイ
Batch Serving非同期の予測を数多く実施困難分散処理環境下で大量データによる非同期予測
Continued Model Evaluationコンセプトドリフト、データドリフト継続的なモデル評価・モニタリングと再訓練
Two-Phase Predictionsエッジデバイスへデプロイする縮退した訓練モデルの性能低下単純なタスク用のモデルをエッジ、複雑なものをクラウド上で稼働
Keyed Predictions多数の入力データをスケーラブルに扱えない各入力へキーを付加し、キー付きで出力
Transform入力とフィーチャの異なり変換・前処理で訓練・予測時一貫
Repeatable Splittingランダムな訓練、検証、テスト用分割では再現困難かつ関係なし時間的関係を用いたい変数をハッシュ化し剰余によりデータ分割
Bridged Schema入力データのスキーマが訓練後に幾らか変更古いデータを確率的な方法で新データスキーマへ変換
Windowed Inference単独の入力データで推論不十分スライディングウィンドウで訓練
Workflow Pipeline単一ファイルではスケールせず各ステップを分けてサービス化
Feature Storeアドホックなフィーチャエンジニアリングプロジェクトやチームを超えたフィーチャ共有
Model Versioningモデル更新時の後方互換性困難モデルバージョンを異なるエンドポイント提供、比較
Heuristic Benchmark結果の良し悪しの程度を意思決定者へ説明困難過去との比較や経験則に基づく決め
Explainable Predictions予測の説明困難シンプルなモデル採用、予測結果における説明など
Fairness Lens不均衡データに基づく異なる人々のグループに対する問題のあるバイアス(What-If toolやFairness Indicatorsなどによる)訓練前のデータセットの分析、均衡化
20:15-20:30 質疑、アンケート調査のお願い

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。

※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。

※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。

connpass