ホーム » TensorFlow » TensorFlow Federated: 概要

TensorFlow Federated: 概要

TensorFlow Federated : 概要 (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 03/01/2019

* 本ページは、TensorFlow の本家サイトの TensorFlow Federated – Overview と Get Started を翻訳した上で
適宜、補足説明したものです:


* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

TensorFlow Federated 概要

TensorFlow Federated (TFF) は分散された (= decentralized) データ上の機械学習と他の計算のためのオープンソース・フレームワークです。TFF は、共有されたグローバルモデルが多くの参加するクライアント (それらの訓練データはローカルに保持します) に渡り訓練されるアプローチである、Federated ラーニング (FL) によるオープンな研究と実験を促進するために開発されました。例えば、FL は機密なタイピング・データをサーバにアップロードすることなしに モバイル・キーボードのための予測モデル を訓練するために使用されてきています。

TFF は開発者に彼らのモデルとデータ上で含まれる federated ラーニング・アルゴリズムをシミュレートし、そして新しいアルゴリズムによる実験を可能にします。TFF により提供されるビルディングブロックはまた分散されたデータに渡る集約分析 (= aggregated analytics) のような非ラーニング計算を実装するためにも使用できます。

TFF のインターフェイスは 2 つの層に体系化されます :

  • Federated ラーニング (FL) API
    この層は既存の TensorFlow モデルへの federated 訓練と評価の含まれる実装を適用することを可能にする高位インターフェイスのセットを提供します。

  • Federated コア (FC) API
    システムのコアでは強く型付けられた関数型プログラミング環境内で TensorFlow と分散通信演算子を結合することにより新しい federated アルゴリズムを簡潔に表現するための低位インターフェイスのセットがあります。この層はまた私達がその上で構築した Federated ラーニングの基礎としてもサーブします。

TFF は federated 計算を宣言的に表現することを開発者に可能にしますので、それらは様々なランタイム環境に配備可能です。実験のためのシングルマシン・シミュレーション・ランタイムが TFF に含まれています。チュートリアル を訪ねて貴方自身で試してください!

 
主要な TFF 概念と実践的なサンプルを使用する API を貴方にウォークスルーさせる次のチュートリアルを読むことから開始します。

  • 画像分類のための federated ラーニング (Federated Learning for image classification) は Federated ラーニング (FL) API の主要パートを紹介して federated MNIST-ライクなデータ上で federated ラーニングをシミュレートするためにどのように TFF を使用するかを示します。
  • テキスト生成のための federated ラーニング (Federated Learning for text generation) は更に言語モデリング・タスクのためのシリアライズ化された事前訓練されたモデルを洗練するためにどのように TFF の FL API を使用するかを示します。
  • Custom Federated Algorithms, Part 1: Introduction to the Federated CorePart 2: Implementing Federated Averaging は主要な概念と Federated Core API (FC API) により提供されるインターフェイスを紹介し、そして単純な federated averaging 訓練アルゴリズムをどのように実装して federated 評価をどのように遂行するかを示します。

 

from six.moves import range
import tensorflow as tf
import tensorflow_federated as tff
from tensorflow_federated.python.examples import mnist
tf.compat.v1.enable_v2_behavior()

# Load simulation data.
source, _ = tff.simulation.datasets.emnist.load_data()
def client_data(n):
  dataset = source.create_tf_dataset_for_client(source.client_ids[n])
  return mnist.keras_dataset_from_emnist(dataset).repeat(10).batch(20)

# Pick a subset of client devices to participate in training.
train_data = [client_data(n) for n in range(3)]

# Grab a single batch of data so that TFF knows what data looks like.
sample_batch = tf.contrib.framework.nest.map_structure(
    lambda x: x.numpy(), iter(train_data[0]).next())

# Wrap a Keras model for use with TFF.
def model_fn():
  return tff.learning.from_compiled_keras_model(
      mnist.create_simple_keras_model(), sample_batch)

# Simulate a few rounds of training with the selected client devices.
trainer = tff.learning.build_federated_averaging_process(model_fn)
state = trainer.initialize()
for _ in range(5):
  state, metrics = trainer.next(state, train_data)
  print (metrics.loss)
 

以上






AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com