Path: blob/master/site/ja/federated/collaborations/notes/2022-08-11.md
25118 views
2022/8/11 の TFF コラボレーターミーティング議事録
提案されたアジェンダのトピック: Jeremy Lewi が、構築可能な新しいコンポーネントに関する TFF ベースのアイデアを説明
[JL]TFF を Google スプレッドシートに接続して Fed Averaging を実行する単純な連合解析のシナリオに焦点を当てている。Kubernetes で作業し、シートから読み取る。
[JL]現在、ワーカーに Ingress ポイントが必要なことが課題。
多くの場合は問題でないため、ワーカーがサーバーを呼び出すという逆方向で接続を確立できるようにするトランスポート層が必要。
このようなコンポーネントは現在、エコシステムに存在しない。
[BC]これが必要だと自分も思った。現時点では、TFF を限定的に、クライアントがデータアップロードする自社クラウドで使用しているが、JL が述べたように、マルチデータセンターの設定に移行するといったニーズがある。
[JL]サーバー上のキューから作業項目をワーカーが「プル」できるレイヤーを考えている。既存のランタイムを置き換える必要がある。
[KO]「交換」については検討する必要はない。計算オーサリングを維持できる。ランタイムの 98% は同じで、Executor リクエストを上から順にリレーする仕組みとして、リモート Executor の代わりに、提案した新しいコンポーネントを交換するだけだ。
[BC]非同期である必要があるか?それとも、既存の同期のパラダイムで対応できるか?
[BC] 既存のプラットフォームも実際に「タスクキュー」のアプローチを使用しているので、これは確立したアイデアに聞こえる。
[BC]タイムアウトを導入すれば、それでもギャップを埋められる可能性がある(スローワーカーやストラグラーに対応するため)
[KO]同期と非同期に関して、TFF には「コホート」の概念を必要とする集合的な抽象化がある。 そのため、クライアントの一部が「コホート」に参加することを決定する時期が必要であり、サーバーはこれを調整する役割を果たす必要がある。それが行われている限り、個々の Executor のリクエストがクライアントにリレーされる方法は多様化する。トップダウンで呼び出すリモート Executor は、その方法の 1 つだが、唯一の方法ではない。上で提案されたような作業項目ベースの通信パターンも、この構造に確実に適合する。1~2 ページ程度の小さな提案書として誰かが下書きできるようなものか?
[JL]みんなでイテレートできるように、自分が新しいコンポーネントの提案書を書き上げることにする。
[JL]ところで、関連する機能を持つリポが他にも隣接して存在する?
[KO]情報までに、https://github.com/google/federated-compute も Google のものだが、ほぼモバイルのシナリオに特化しており、この時点では TFF に関連していない。また、ここで話している機能も含まないため、確実にこのグループの小さな提案書として作成する意味がある。
[BD]解消すべき質問がいくつかある。キャッシュの結果と集計のタイミング。
[Hao]多分、非同期でなければ、このシナリオでキャッシュする必要はない。
[KO]単純な MapReduce パターンに適合するシナリオについては、実際 TFF である程度サポートされている。https://www.tensorflow.org/federated/api_docs/python/tff/backends/mapreduce を参照。このライブラリを使うと、TFF 計算を MapReduce のような、より単純なプラットフォームで実行できる形態に変換できる。ただし、表現には劣るので、前に話した、サーバーとクライアントで何度もやり取りする必要のあるような構想は、このフレームで表現できないだろう。また、クロスサイトの設定あるため、この種のアイデアは特殊。対処しているのは、長期間接続できる十分にプロビジョニングされたクライアント(サイロ)のグループ。
[Hao] allreduce のような集合演算子はどうだろうか。サポートされているか、互換性があるか?
[KO]今はない。Allreduce は、1 つの Fed Averaging シナリオ利用できますが、処理のラウンド間でサーバー上で作業が行われていないことを前提としているため、使用が多少制限される。より一般的なケースでは機能しない。ただし、その 2 つの半分(ブロードキャストの効率的なモードと集約の効率的なモード)があれば、おそらくハードウェアアクセラレーションを使用しても、TFF で利用できるものになるだろう。
[KO]JL は新しいコンポーネントの提案の草案を開始する準備ができているようで、他のメンバーはそこに何を含めるべきかについての意見を持っている。共同で取り掛かってはどうか(ルーム全員が同意)。2 週間以内に集まって協議できるように、草案を用意する。