7
4

More than 5 years have passed since last update.

Watson Studioの「チーム」機能のいくつかを簡単にご紹介します

Posted at

image

はじめに

こんにちわ! IBMのMLaaS(Machine Learning as a Service)である Watson Studioの「売り文句」の一つは「AIプロジェクトのチームを支援」です。「Pickerの方もCoderの方もお好きなツールを!」ってのはいいとして、それ以外に「チームの生産性を上げるために、どんな機能が盛りこまれているのかな?」と思ったので、調べてみました。ディープラーニングのような「派手」な機能ではないですが、結構地味にいい機能があったので、いくつかピックアップしてご紹介させてください。
image

プロジェクト

「チーム支援」といえば、まずはWatson Stduioには初めから「プロジェクト」という枠組みが用意されていることがあげられます。AIプロジェクトでの成果物=アセット(ノートブックやモデルなど)はプロジェクト単位にまとめられ、チームでシェアできます。「プロジェクト」とはチームの作業場であり、権限を与えられた全員でシェアできます。市場にはJupyperノートブックの環境をSaaSとして提供するものは色々ありますが、「チーム」の観点は薄く「個人の分析環境」に留まっているものが多い印象です。(具体的に申せば、Aさんが作ったNotebookをBさんがレビュー/修正する場合にどうすればいいでしょうか? メールで送る? ファイルをs3上でシェア?Watson Studioなら簡単です)

image

コラボするメンバーを招待するには

まずは「管理」-「アカウント」-「ユーザー」からユーザーを招待します。(この手順はIBM Cloudの通常の流れであり、Watson Studio固有の手順ではありません)
image

次にWatson Studioの「プロジェクト」の「Collaborators」タブでコラボしたいユーザーおよび役割を指定します。
image

結果、以下のように「プロジェクト」毎に異なる参加メンバーを指定でき、適切な権限を保持しながらコラボレーションを進められます。

image

データ

当然ですが、プロジェクトのデータ・アセットはチームでシェアできます。

コネクション

ここでご紹介したいのはコネクションです。Watson Studioでは他社クラウドやオンプレミスを含めた多様なデータソースを利用できますが、各々の接続情報は「コネクション」としてアセット登録して再利用できます。ので「えーと、s3上のファイル使いたいんだけど、アクセスキー何だっけ?」のような接続情報を各人が記録・記憶しておく必要は無く、全員で定義を共用/再利用できます。(変更時も一箇所変えればオーケーなので楽ですね)
image

データ・カタログ

データ・カタログ自体がデータに対するガバナンスをチームや関係者に提供するものではありますが、「チーム」面でお伝えしたい点としては

評価・コメント

下記のようにデータに関する評価やコメントを投稿することができます。
image

Jupyter Notebook

ロック

Notebookの編集中はロックがかかります。別の人は参照のみ可能です。ロックはNotebookのタブを閉じるか、鍵のマークのクリック(unlock)で解除できます。
image

また、Watson StudioのJupyter Notebookでは通常の機能に加え、「チーム向け」に以下の機能が独自に追加されています。(Notebook編集中のメニュー)

image

# 機能 説明
1 Publish on GitHub GitHub/GistへのNotebook公開
2 Share インターネット上でのシェア
3 Insert Project Token プロジェクト・トークンの挿入
4 Notebook Info ノートブック情報
5 Versions バージョン管理
6 Comments コメント
7 Data データアクセス・コードの生成
8 Find Resource in the community コミュニティの検索

以下、主なものをご紹介します。

1. GitHub/Gistへの公開(publish)

以下のようなNotebookがあり、公開したくない認証情報については@hidden_cellでタグ付けしてあるものとします。
image

ここでPublish to GitHubを実行します。デフォルトでは@hidden_cellタグの内容は公開されません。
image

以下のようにGitHub/Gistいずれでも同じように認証情報は隠しつつ、公開できました。
image

【ご参考】上記を実施する場合は事前にプロジェクトのSettingsで対象GitHubのリポジトリの場所を登録しておく必要があります。

image

:triangular_flag_on_post: 現時点(2018/05)での公開対象はパブリックのGitHubのみです。GitHub Enterprise等は現時点では未対応です
:triangular_flag_on_post: 現時点ではGitHubに分析結果などを「公開(Publish)」するだけであって、「Pull」や「CommitT」など、ブランチやバージョン管理などGitHubの全機能を使えるわけではありません。

マニュアル:Publish notebooks on GitHub

2. インターネット上でのノートブックの直接的なシェア

「URLを知ってる人は誰でも参照できる」でよいならば、Notebookを直接公開することもできます

  • 公開内容のレベルが選択できます
  • 公開されるのは「最新状態の内容」ではなく「最新のバージョン」です。よって公開したい状態で「Save Version」して最新のバージョンを作ってください。逆に言えばノートブックの公開と変更・更新作業は別々に進められる、ということです。

image

デフォルトの「Only text and output」ではコードは公開されませんので、コメントと結果だけを参照することになります。

image

3. プロジェクト・トークンの挿入

Notebookからプロジェクト上のアセット(データやコネクションなど)にアクセスする場合はプロジェクト・トークンが必要です。プロジェクト・トークンは下記のようにプロジェクトのSettingsメニューで生成します。

image

プロジェクト・トークンをNotebookのコードで利用する場合は下記の「insert project token」メニューを使うとコーディングの手間が省けます。

image

マニュアル:Manually add the project token

5. バージョン管理

Watson Stduio上で作ったNotebookは単にSaveするだけではなくバージョン管理できます。
image

右側のアイコンからも操作可能です。特定のバージョン時点に戻ることも、もちろん可能です。
image

6. コメント

Notebookにはコメントをつけられますのでレビューなどに便利です。
image

7. アクセス・コードの生成と挿入

アセットとして登録してあるデータにアクセスするPythonコードを自動的に生成できます。Notebookのセル上の挿入したい場所にカーソルを置いて、ファイルを選択して「Insert to code」を選択すると、該当のコードが生成されます。
image

以下の例ではIBM Cloud Object Storage上に置いてあるcsvファイルをPandasのDataFrameとしてアクセスするコードが生成されました。常にPandasというわけではなく、データの種類により適切なコードが選べるようになっています。
image

以下はファイルではなくコネクションの定義を生成した例です。AWSのS3やICOSなどの定義を生成しています、
image

Db2 Warehouseの場合はテーブルにアクセスするコードが生成できます。
image

8. コミュニティ・リソースの参照

事前に有用なリソースをブックマークしておけば
WS-01.gif

あとでNotebook利用中に検索できます。
image

プロジェクトのBookmarksタブからも参照できます。
image

スケジュール実行

Notebook作成時のランタイムとしてSparkを選択すれば、Notebookをスケジュール実行できます。
image

Spark上で動くNotebookの場合は追加で時計のアイコンが表示されます。
image

スケジュールされたNotebookには時計マークが付きます。
image

View Job Detailsではジョブのスケジュール情報は見られますが、実行結果は見られません。
image

ジョブの実行結果はWatson StudioではなくSparkサービス側のメニューから見られます。
image

マニュアル:Schedule a notebook to run at specific intervals

モデル

SPSS Modeler Flowでのバージョン管理

Modeler Flowでは以下のように最大10バージョンまで保持できます。
image

Modeler Builderでのバージョン管理

Model Builderを使った自動モデリング(Sparkベース)では、継続的学習システムの一環としてモデルの自動トレーニング~自動デプロイが可能です。前のバージョンのモデルも保持されており、そちらに戻すこともできます。
image

以上、簡単ですがWatson Studioでは単なる「個人用の分析環境」を越えた「チーム」支援機能が色々と追加されていることをご紹介しました。Watson Studioは永久無料のライトアカウントでも利用できますので、ぜひ一度触ってみてください。

7
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4