2022 年 8 月 11 日 TFF 協力者会議のメモ

  • 提案されたアジェンダ トピック: Jeremy Lewi は、構築可能な新しいコンポーネントについて、TFF ベースのアイデアを発表します。
  • [JL] TFF を Google シートに接続して単純なフェデレーション平均を行う、単純なフェデレーション分析シナリオに焦点を当てています。 Kubernetes での作業、シートからの読み取り。
  • [JL] 課題の 1 つは、現在、ワーカーに侵入ポイントが必要なことです。
    • 多くの場合、これは当てはまらないため、ワーカーがサーバーを呼び出す反対方向で接続を確立できるようにするトランスポート層が必要です。
    • そのようなコンポーネントは、現在エコシステムにはありません。
  • [BC] これの必要性もわかりました。現在、クライアントがデータをアップロードする社内クラウドの限定的な方法で TFF を使用しています。ただし、マルチデータセンター設定に移行するには、上記の JL のようなものが必要です。
  • [JL] ワーカーがサーバー上のキューから作業項目を「プル」できるようにするレイヤーを考えています - 既存のランタイムを置き換える必要があります。
  • [KO] これを「置き換える」という観点で考える必要はありません。計算のオーサリングとランタイムの 98% を同じに保つことができます。代わりに、提案した方法で動作する新しいコンポーネントに交換するだけです。 executor 要求をトップダウンで中継するためのメカニズムとして、リモート executor をオフにします。
  • [BC] 非同期にする必要がありますか、それとも既存の同期パラダイム内で機能しますか。
  • [BC] また、一部の既存のプラットフォームは「タスクのキュー」アプローチを使用しているため、これは確立されたアイデアのように思えます。
  • [BC] タイムアウトを導入すると、おそらくギャップを埋めるのに役立つでしょう (遅いワーカーやストラグラーに対処するため)。
  • [KO] 同期と非同期に関して、TFF には「コホート」の概念を必要とする集合的な抽象化があります。そのため、クライアントの一部が「コホート」に参加することを決定する時期が必要であり、サーバーはこれを調整する役割を果たす必要があります。それが行われている限り、個々のエグゼキューターのリクエストがクライアントに中継される方法はさまざまです。トップダウンを呼び出すリモート エグゼキュータは、その方法の 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 のような形式に変換できます。ただし、表現力にはいくらかの損失があり、sevrr とクライアントの間で複数回の往復通信を必要とする前述のアイデアの一部は、このフレームワークでは表現できません。また、長期的な接続を維持できる、適切にプロビジョニングされたクライアント (サイロ) のグループを扱っているため、クロスサイロ設定は、このようなタイプのアイデアを独自に可能にします。
  • [Hao] 集合的な ops についてはどうですか、allreduce - それらはサポートまたは互換性がありますか
  • [KO] 現在ありません。 Allreduce は、1 回のフィード平均シナリオで利用できますが、処理のラウンド間でサーバー上で作業が行われていないことを前提としているため、使用が多少制限されます。より一般的なケースでは機能しません。しかし、その 2 つの半分 (ブロードキャストの効率的なモードと集約の効率的なモード) を持つことは、おそらくハードウェア アクセラレーションを使用しても、TFF で利用できるものです。
  • [KO] JL は新しいコンポーネントの提案の下書きを開始する準備ができているようで、他のメンバーはそれに何を含めるべきかについて意見を持っています - 協力しましょう (部屋のすべてから +1)。 2 週間以内に再招集し、場合によっては草案を議論する。