Engineeringでエンジニアリング・マネージャを務めている澁井です。2019に参加してきました。SummitはTensorFlow(以下TF)の開発者向けにGoogleが主催しているカンファレンスで、今年は03/06(水)-03/07(木)に開催されました。面白かったセッションをピックアップして紹介します。alphaがリリースされました。2.0はTFのメジャーアップデートで、昨年くらいから少しずつ情報提供されていました。nightly-releaseで使うこともできましたが、ようやくalphaバージョンが出ました。インストールして使うことができます。1.xとの大きな違いは以下です。デフォルトで有効化します。使わなくても良くなります。autographでPythonコードをコンピュテーション・グラフに変換可能(TensorFlowで実行可能)になります。デバッグ改善エラー時にエラー箇所(コードの行番号)が表示されます(地味に凄い嬉しい)。level)になるため、一般的に開発効率は向上すると思います。等々を使うことができます。使う方針になると思います。既存のtf1.xからtf2.0への移行にはアップグレード・ツールが提供されます。このツールを使えば、.pyファイルや.ipynbファイルのtfコードをtf2.0に置き換えることができるそうです。あとTF2.0ではユニコード型の文字列をサポートするようです。日本語の自然言語処理には大きなメリットになります。TF2.0のリリーススケジュールですが、Alphaリリース(3/6)後、春のうちにRCになり(春っていつまでだ?)、GAは今年中予定、だそうです。EndでカバーするためのTensorFlowの実装です。機械学習のモデルは開発からリリースするまでに、以下画像のようなフローが必要になります。機械学習というと学習と評価ばかりがフォーカスされがちですが、実際には更に多くのタスクが必要になります。モデルを開発するにはデータを取得し前処理する必要がありますし、リリースして推論できるようにするにはサーバやデプロイメントが必要になります。serving)しか用意されていませんでしたが、より広いフローをカバーするため、TFXが提供開始されています。TFXでは各タスクをコンポーネント化してパイプラインにして連携させます。永続化するデータはmetadataストアに格納し、再利用や管理可能になるようです。パイプラインの途中でエラーになった場合、以前の処理データを再利用できる、というメリットがあります。metadataストアのメリットは前処理や学習の履歴を保存しておけることで、小さい変更であれば履歴を使って時間短縮できること、らしいです。TensorFlowに依存する(Schikit-learnやPytorchで使えるのか不明)のが難点かもしれませんが、他のライブラリと共存できればすごい便利なツールになりそうです。TFXはワークショップも催されていました。1時間程度で、AirflowでTFXライブラリを使ってみる、というものでした。GUIでTFXのフローを進捗確認できて、とても便利そうでした。メルカリでは機械学習のワークフローを実行する基盤を独自開発していますが、TFXはとても参考になりました。TensorFlow.jsTensorFlowのJavaScript版です。version1.0がリリースされ、今回のデブサミでもユーザ層の厚さや熱心さが伝わってきました。モデルの書き方はKerasベースです。Nativeのようにコンポーネントを組み込めるような書き方になるのでしょうかね?TensorFlow.jsはブラウザ(従来のjs)、サーバ(Node.js)、デスクトップ(Electron)をカバーしており、マルチプラットフォームで実行できることが最大の強みだと思います。エッジ推論もそうですが、ブラウザやデスクトップで学習、推論できるなら、データをサーバに送るコストやセキュリティを気にする必要がなくなりますし、今後は機械学習をjsで開発する時代がくるのでは!?という熱量も感じられました。Googleのようにtf.jsを用いてウェブ経由で多様なAIサービスを提供できていますし、今後さらに盛り上がっていくと思います。くわえて、PythonのTensorFlowで開発したモデルをsaved_modelを使ってtf.jsで扱うことができるらしいです。モデル開発はPythonエンジニア(MLエンジニア)が担当し、推論やウェブサービス開発をJSエンジニアが担う、という役割分担も可能になると思います。what-if-toolセッションはなかったですが、ブース展示していたwhat-if-toolは便利そうでした。what-if-toolはTensorboardの追加機能で、学習済みモデルを評価するツールです。以下画像のように、2値分類で推論結果の位置づけを可視化したり、特定のパラメータを調整して推論したりすることができます。検証データやテストデータから漏れてしまっているパラメータを設定して推論することができるので、機械学習の境界値分析が可能になると期待しています。値を適宜変更して推論結果を試してみることができます。モデルの品質を向上できる可能性があると思いました。使い方はこちらでブラウザから試すことができます。まとめとても楽しい2日間でした。TensorFlowで機械学習を実用化するためのワークフローをエンドツーエンドでカバーしようという戦略が伺えました。TensorFlow.jsも機械学習を実行するプラットフォームをウェブ世界に広げる橋頭堡になると思います。私は3年前にKerasでディープラーニングを学び始めたのですが、TensorFlowの本流がKerasになるのは嬉しい限りです。Cholletさんと一緒に写真撮影することができました。Beamがさり気なくPython3.5以上をサポート開始していまして、これを教えてもらえたことも大きな収穫でした。最適化してサービングす...こんにちは。Engi...2019-02-28複数の機械学習モデルが動くシステムをモデルごとにマイクロサービス化したお話はじめまして。@hurutoriyaです。採用情報メルカリは常に優秀なソフトウェアエンジニアを募集しています。ご興味を持たれた方はぜひご応募ください。skills月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。