機械学習応用システム(MLS)パターン勉強会に参加してきた

概要

機械学習工学研究会(MLSE)の機械学習応用システム(MLS)パターン勉強会に参加してきました。実例や既に公開されているパターンをベースに機械学習システムにおける、デザインパターン、アンチパターン、プロセスパターン、組織のパターンについて議論することで機械学習システムの開発のプロセスやアーキテクチャにパターンを見つけ、名前をつけ、熟練者のノウハウや思考法を横展開できるようにすることが会の目的となっていました。

mlxse.connpass.com

19:00-19:20 パターンとは?:鷲崎教授(早稲田大学)
19:20-19:30 チーム編成
19:30-20:30 チームごとにパターンの議論
20:30-21:00 発表
21:00-21:30 議論&懇親

実際にやったこと

パターンについてのガイダンス

勉強会冒頭でパターンの権威である鷲崎教授(早稲田大学)にガイダンスをいただきました。もともと建築の世界で使われていたパタン及びパタンランゲージにオブジェクト指向なソフトウェア業界が取り入れていったというパタンの歴史的な経緯や、その見つけ方などをさらっと20分。ソフトウェア開発におけるデザインパターンなんかは、経験的に良い繰り返しパターンを実践に持ち込んだ形だし、アジャイル開発が「繰り返しを見つけていこう」というマイニングの手続き活動が流行らなかったことを反映して、「こういうやり方でいきましょう」と割り切って決めたひとつのプロセスパタンの形という話は面白かった。

パタンについてもう少し

熟練者のノウハウを横展するためにパタンを探し出して名前をつける。そのMinimalとしては「こういうとき(文脈)に、こういうことで困る(課題)ので、こうしよう(解決策)」で成り立つが、展開する際に意図や適用法が正しく伝わらないようなことが起こり得るので、もう少し詳細に下記のような項目で検討するらしい。 - 状況(文脈) - 問題 - フォース(考慮するべき点) - 解決策 - 結果

フォースの概念が難しいが、文脈における制約事項や懸念事項だと考えれば良いっぽい。

チームごとにパターンの議論

数名ずつ下記の4つのテーマについて議論するチームに分かれてパタンを洗い出しまとめる作業を実施しました。

  • データ取得、加工、管理
  • 組織、マネジメント、プロセス
  • 要求、設計、CHI
  • テスト、検証、運用

色々アウトプットが出てきたのですが、その中で面白いなと思ったパタンが下記です。PFNさんとDeNAさんで同じようなパタンで業務を行っていたとのことで妥当性があるんだろうなと。自分の業務の中で考えても納得感がある。

  • MLアルゴリズム開発とインフラ分離のパターン
    • 文脈:機械学習には複雑なインフラが必要になりがち
    • 課題:MLエンジニアやリサーチャがアルゴリズム開発に集中できない
      • インフラやアノテーションツールを開発して、時間が足りなくなる
    • フォース:インフラ、アノテ、アルゴリズムは専門性が異なりかつ疎結合にできる
    • 解決法:チームをある程度分離してしう
    • 結果:アルゴリズム開発者が主業務に集中できる

感想

そろそろAIブームも落ち着いてきて、普通の技術として普及期に入ってきているので共通言語を持って話せば、もっともっと社会実装が進むだろうなと感じた。各所で勉強会たくさんやってるけど、その内容まとめて整理・編集してパタンに名前をつけるような作業はどこでやればいいんだろう。Web業界との親和性高いからか、いろんなところで発表された内容が消費されてるだけ感あるしな、ここんところ。