見出し画像

Chromebookのデータ分析環境について

今はクラウドやサブスクが充実しているので、ローカル端末への依存度は低くなりました。クラウドの先にあるSaaSや何某環境へのタッチポイントに過ぎないからです。自分の手に馴染むものを選ばよいという感じでしょうか。

逆にいうと、できるだけどのような端末からでも同じ機能やサービスを使えるようにしておきたいと思っています。先日投稿したChromebookの記事はこの戦略を実現するための一つのアプローチでした。

上の記事にも書いたように、ここ数ヶ月ほどデータ分析環境の構築に試行錯誤してきました。

ということで、この記事ではChromebookのデータ分析環境について書いてみます。


どのマシンからでも同じ環境を使いたい

Chromebookを買う前は、20GB程度のメモリを積んだWindowsモバイルノートPCの上に環境を作っていました。WSL2+DockerでPythonとRを動かせるようにしていたのですが、小規模な分析であればこれで十分でした。モバイルノートなのでどこでも作業ができますし。

ところが、Chromebookも使うようになって環境が分断されているのが面倒になってきました。

Chromebookの上で分析環境を作ることもできるのですが、スペック的に少々厳しい。仮に高スペックのChromebookを手に入れたとしても、環境を二重にメンテしていくのは大変です。

この問題を解決する手段のひとつは、自分でサーバーを立ててしまうことですね。オンプレミスで高スペックなPCを立て、端末からアクセスできるようにすれば良いでしょう。最近だとゲーミングPCがちょうどよいかもしれません。

しかし、こうした環境をセキュアに維持するためにはインフラの整備が必要になります。またハードウェアのトラブル対応や拡張にも手間ががかかりますね。

私は元SEではありますが、アプリ系だったので実はインフラが苦手なので、何とか避けたいところ。

フルマネージドな環境を目指す

ということで、独立を機に自前のデータ分析環境をクラウドに移行することにしました。せっかくなので、フルマネージドを目指すことに。

フルマネージドというのは、ITインフラやソフトウェアがサービス提供者によって管理され、利用者はそれらの構築や保守を意識することなく利用できるという概念です。

要は、利用者は使いたいサービスやアプリだけに集中できるわけですね。私のような人にピッタリなサービスです。

フルマネージドなデータサイエンス環境については、以下の本を読んで知りました。Web企業に在籍している方なら随分前から普通の話ですし、SIerでも今日では当たり前になっている話かと思います。

しかし、本書(邦訳版)が発売された2019年頃は、仕事でもオンプレサーバーをぶん回しながら仕事をしていたので、この本を読んで衝撃を受けました。それと同時に、自分の経験が何周も遅れている気がして焦ったものです。その後、会社の中のデータ分析環境も徐々にクラウドが入り込んでいきました。

Google Cloud Vertex AI

個人のデータ分析環境として、今はGoogle Cloud Vertex AIを利用しています。

Vertex AIにはJupyter Notebookをフルマネージドで動かせるサービスがあり、すぐに環境を作ることができるのでとても快適です。今のところ、NotebookでPythonとRが動けば基本的に困ることはありません。

少し前までWorkbenchで環境をデプロイしてNotebookを利用していたのですが、先月からColab Enterpriseに切り替えました。Dockerとはいえインフラのメンテすら面倒になってしまったのと、なんとなく今後GoogleがColab Enterpriseに力を入れるのではないかと思ったからです。

実際、上のリンクタイトルは「Vertex AI Workbench」となっていますが、リンク先に飛ぶとColab Enterpriseも一緒に出てきます。説明順もColabが先に来ているなど何かしらのメッセージを送っているようにも見えますが、憶測でものを語ってはいけませんね。

Colab Enterprise

Colab Enterpriseは学習者向け環境として人気があるGoogle Colabの商用版で、ビジネス利用する際に便利な機能を備えています。

Google Colabは無料で使えるのが魅力ですが、一定時間が経過すると実行環境(ランタイム)がリセットされてしまうのがネックでした。環境がリセットされるたびにライブラリを追加するのが億劫で…。Workbenchを使い始め、その快適さに驚いたものです。

しかし、人は欲深いもので、Workbenchで使うカスタムコンテナに対して脆弱性のアラートが出始めると、そのメンテの作業をなくせないものかと思うようになりました。そこで、インフラ周りのメンテをまるっとGoogleにお願いできながら、ランタイムをある程度維持できるColab Enterpriseに目をつけたわけです。

Colab Enterpriseはある程度自由にランタイムを作ることができます。標準のランタイムはe2-standard-4で、CPU4コア, メモリ16GB, 100GBのディスクと少し心もとない感じです。しかも、十数時間で環境がリセットされてしまいます。

そこで、私の場合、ひとまずe2-highmem-8をベースとしたランタイムを標準的な分析環境にしました。CPU8コア, メモリ64GB, 200GBのディスクで構成していますが、数千件〜数万件程度のテーブルデータに対しEDAや統計解析をする上では十分すぎるスペックです。環境も180日程度は維持されそうなので、プロジェクトベースの仕事では十分でしょう。

機械学習で予測をゴリゴリやるならCPUのコア数を32以上にしたいところですが、このような環境を作るのも実に楽にできます。(GPUをゴリゴリに使いたい人だとちょっとコスパ的に気になるとは思います)

Colab Enterpriseといえば、コードを先読みして補間してくれるDuet AIを利用できるのも特徴です。なかなか便利です。

個人的に便利だと思ったのが、ランタイムに接続するコンソールを開けることですね。これも無料版にはないメリットです。ランタイム上のコマンドを叩けるので、先日投稿したようなファイル操作も楽々というわけです。

現在地とこれから

このようにして、Colab Enterpriseを利用したデータ分析環境を整えることができました。WindowsでもChromebookからでも同様の操作感でサーバーにアクセスでき、今のところ極めて快適です。

これで概ね大丈夫だろうと思っていますが、仕事に合わせて柔軟に変えていく必要もあるだろうとも考えています。

今のところ、データ分析や機械学習を使ったビジネス支援を主軸にしていて、技術コンサルティング、研修・教育サービスを提供しています。この中でデータ分析をやることもあります。

自分でデータ分析をやる分にはPython, Rがあれば十分なのですが、データドリブン経営全体を考えるとダッシュボードとしてのBIも意識しなくてはなりません。

特にピープルアナリティクスでは、人事部門の方がデータを見て探索できるBIが有効だと考えています。組織の規模にもよりますが、セルフサービスBIを意識するとTableauあたりがちょうど良いと思っています。

ただ、TableauはWindows/Macで動作するDesktop版が基本となるので、Chromebookだけではフル活用できなさそうだと思っています。Tableau ServerやTableau Cloudへパブリッシュされたものを操作するのでしたらブラウザ経由で問題ないと思うのですが、ゴリゴリやるにはDesktop版が必要に感じます。

このあたりの課題感が出てきた場合には、今の環境を見直す必要があるかなと思っています。おそらくその場合は、Windows 365やAzure Virtual Machinesを使うことになるような予感がしています。

この記事が参加している募集

おすすめアプリ

この記事が気に入ったらサポートをしてみませんか?