Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

行ってきました Google Cloud Next '19 San Francisco [旅行記その2]

DSOC R&Dの島です。

以下の、前回の記事の続きです。Google Cloud Next '19 (サンフランシスコ) の参加の後、Google Cloudの社屋にお邪魔させて頂いた際の記録です。 buildersbox.corp-sansan.com

Otter

本題に入る前に、今回とても有用だったアプリについて紹介です。

この旅はもちろん英語漬けで、行く前は、英語を聞き取れるか不安で仕方ありませんでした。そんな折にこの記事を見つけ、これだ!と思いました。Otterというアプリです。英語を音声認識し、テキストに起こします。大きな心の支えになりました。完全にあてにして*1、英語はノー勉強で行きました。

japanese.engadget.com

otter.ai

実際に挑んだセッション聴講では、思ったよりは聞き取ることができました。私もITエンジニアの端くれ、だいたい何を言っているか背景は理解していて、それが大きな助けになります。しかしながら、みなさんとても流暢で早口で、やはり厳しいものがありました。ちなみにこれが国際学会ですと、内容はそもそも日本語で聞いても難解だったりしますが、英語自体は非ネイティブの人が多くて聞き取りやすいことが多いです。どっちもどっちですね。

さてOtter、実際に使ってみると、かなりできる子でした。

  • 精度の高さに驚きました。技術用語も結構いけまして、Kubernetesのような真新しい単語も大丈夫でした。Istio くらいまで行くとさすがに難しいようでした。
    • "GCP" はうまく認識しないようでした・・・残念。
  • どんなに早口でも、取り漏らしなくテキストになります。仮に回線が悪くてもローカルにバッファしているようで、あとからテキストが追い付きます。
  • 最初間違えていると思っても、あとからテキストが書き変わり修正されることが多いです。始めは聞こえた通りの文字に起こしたのち、文脈を見て補正しているのかもしれません。
  • 導入してしばらくは無料で、かなり長時間使えます。今回の出張 (1週間弱) では課金すること無く済んでしまいました。
  • 複数の話者に対応しており、認識したテキストは話者ごとにグループ分けされます。プレゼンだけでなく会議でもある程度有効です。

セッションでは常時これをiPadで起動しておき、聞き取れないときにちらちら見るようにしました。例えば「パッパッパッ」と言っているように聞こえて、はあ?なんだ?と思ってちらりと見ると、「pop up box」とテキスト化してくれていました。なるほどね!

良い点ばかり書きましたが、私の手元では、最初に挙げた記事のような日本語同時翻訳はうまくできませんでした。訳文が増殖しながら変なところに挿入され、ページを破壊してまともに使えなくなります。結局テキスト化された英文を読む力は必要です。セッションの話す速さについていけるほどの速読は私には無理なので、重要な単語を拾ってなんとなく理解するくらいが関の山です。

Mountain Viewへの移動

話をイベントの記録に戻します。Google Cloud Nextは3日間の日程でした。それを終えた翌日は、前述の通りGoogle Cloudの本社へお邪魔し、さらに詳しく社員の方々からお話を聞ける場を設けて頂きました。

渋滞を避けるため、Googleさんの計らいでNext最終日にMountain Viewの方へ移動してしまって前泊することになりました。 サンフランシスコ中心部からは40マイル (約64km) ほどで、結構距離があります。札幌から夕張くらいの距離ですね (伝わりますか?)。今回のイベント参加のおかげで、ある程度サンフランシスコやシリコンバレーあたりの距離感をつかめました。

f:id:sansan_shima:20190524160226p:plain
Google Cloud本社への道

夜は、アメリカでしか食べられない日本食を、ということで我々一行は意見が一致していました。なんとなく勘でここになりました。どうでもいいですが、英語だとやはり、ちらし寿司 (chirashi-zushi) のように連濁はしないんですね。

f:id:sansan_shima:20190524161805j:plain
NIJI SUSHI

日本人の客はいないようでした。CTO氏曰く、そういう店こそ我々の求める、日本では食えない日本食が出てくるとのことでした。

見た目がちょっと美味しそうに撮れていませんが、全然いけました。

f:id:sansan_shima:20190524161914j:plain
Tempra, Gyoza, California Roll

ホテルはとても快適でした。キッチン・調理器具もそろっており、長期滞在型の施設のようです。

f:id:sansan_shima:20190524161558j:plain
Mountain Viewのホテル

Google Cloudの社屋 (Cloud Space)へ

ホテルに一泊して翌日、Google Cloudの本社へと向かいました。私の出身大学もガラス張りでしたが、それが10倍すごくなったような、新しい社屋です。大学の延長線上のような作りに感じます。

f:id:sansan_shima:20190524162611j:plain
社屋

外には、文字通りのコンテナ型のデータセンター (サンプル) が、ガラス張りで置いてありました。10年前の記事で既に、私達がよく思い浮かべるような窓のない怪しいビルにたくさんラックが並んでいるようなものではなく、コンテナを広い平地に並べるスタイルが主流と書かれています。クラウドを長年触るにつれ、データセンター事情を全然考えずに過ごすようになったと感じました。

f:id:sansan_shima:20190524163929j:plain
コンテナ型データセンター

社屋に入ります。首にかける入館証を頂きました。ハードディスクドライブのディスクや基板を粉々に砕いたものが入っています。「私達Googleは、古いHDDをこのくらい粉々にしてセキュリティを担保していますよ」ということが裏には書かれていました。

f:id:sansan_shima:20190524160120p:plain
入館証

中に入ってすぐカフェがありました。照明がクラウド (雲) になっています。

f:id:sansan_shima:20190524163606j:plain
クラウド照明

アームが黒板に字や絵を書いていきます。これ、欲しいですね (何に使うんだと言われると答えに窮しますが)。見入ってしまうものばかりです。

f:id:sansan_shima:20190524165124j:plain
黒板に書いてくれるアーム

洪水シミュレーションです。IoTデバイスの観測値を基点に、どのようにデータを集めて計算するかを説明しているようです。こういうセットは、日本だとダムの管理事務所にあったりしますね。

f:id:sansan_shima:20190603163820j:plain
洪水シミュレーション

ピタゴラスイッチ的な何かです。ギミックが進むごとに画面にサービスの紹介が出ていたような記憶ですが、全部見ると長いですよ、とのことで見られませんでした。

f:id:sansan_shima:20190603163947j:plain
ピタゴラ装置的な何か

などなど、来訪者を楽しませる様々なものがあります。

f:id:sansan_shima:20190603164144j:plain
Cloud Space 内部

もう少し奥に入りますと、実際のデータセンターにあるものを模した配管があります。色には意味があります。青が冷たい冷却水で、赤はそれが温まって戻ってくる水が流れているそうです。緑と黄色は忘れました・・・。

f:id:sansan_shima:20190524165243j:plain
色分けされた配管

Cloud Spaceでのセッション

さて、物見遊山も大真面目に大事な目的だと私は思っていますが、何のためにGoogleまで来たかという話です。それは、当社SansanのためにGCP各種サービス等に関して社員の方から説明頂ける、という貴重な機会を設けて頂いたためです。もちろんNextイベントのセッション等でも聞いた内容は多いのですが、直接我々のニーズや目線に合わせた説明を頂ける点でさらに良い機会でした。

こんな部屋で、朝から晩までセッションがありました。同時通訳を入れて頂いたので、結構気楽に構えることができました。 (長時間の難解な用語の飛び交う通訳は、非常にご苦労なされたと思います・・・!)

f:id:sansan_shima:20190531164112j:plain
Cloud Spaceの会議室

以下のようなテーマについて、それぞれ45分ずつ聴講し、質疑応答をしました。始めの2つは会社や組織の話で、その後は各サービスについての紹介です。

  • Googleの歴史、イノベーションについて
  • CRE/SRE
  • Multi Cloud Strategy - Anthos
  • Apigee
  • ML Ops
  • Cloud Run
  • BigQuery / Data

以下、いくつかかいつまんでコメントします。

SRE

SREについては、最近日本でも流行っているようで、組織・役職としてSREを置く会社も現われています。私も、バイブルであるこの本をある程度は読んでいたので、理解の助けになりました。

印象的な話として、高すぎる信頼性を目指すことは良くないというのがありました。人間の心臓の可用性(SLO)が99.95%なのに、それ以上のシステムを作るのですか?という問いです*2。それはもっともな話でした。

この話題で出てくるエラーバジェットという概念は、SREを知る以前には持ち合わせていませんでした。99.95%のSLOなら、逆に0.05%は障害が起きて構わないとみなせるという考えです。仮に100%のSLOで1年過ごせてしまったならば、それでラッキーと言って放置しがちですが、そうではなく0.05%の時間を障害対応の避難訓練的な時間に使ったりシステム改善をしたりなどすべきとのことです。あまりに放置すると忘れ去られ、誰も管理できなくなり、いざ天変地異が起こった際に非常に困ります。確かに、私も幾度となく経験があり、苦い顔をしながら話を聞いていたと思います。当社のシステムも年々大規模かつ複雑になる中で、信頼性の課題は大きくなるばかりです。

MLOps

Kubeflow Pipeline について、概要を説明頂きました。

ちなみに、Kubeflow は Cube flow と同様に、つまり キューブフロー と発音するのが良いようです。

機械学習の成果をサービス化するというのは当社でも数多く行っていますが、「職人芸」に頼っている面が大変多いです。今回はセッション等で、よその会社もだいたいそうだという話が聞けたのは収穫でした。

職人芸とは、例えばデータ集め、データのバリデーション、学習、評価・・・といったそれぞれの作業を指します。よくAIとしては学習の部分だけ取り沙汰されますが、その他の行程も重要で、それが"職人"の個人に閉じてしまいがちです。その人がいなくなれば誰ももう動かせないことになります。Kubeflow Pipelineでは、こういった工程それぞれをDockerコンテナとして定義し、決められた仕様に沿って次の行程にデータを渡していきます。「なぜそのハイパーパラメータにしたの?」のようなことなど、究極的に職人芸が無くなるわけではないのですが、どのようにしてデータを集めるのか、動作環境はどうつくるのか、などといった暗黙知が全てコードとして表現されるので、他の人でも同じ条件で動かせるようになります。当社でも今後使っていきたいという声が高まっています。

その他Googleでの写真

Google Merchandise Store という、各種Google製品が置いている売店に行き、人間の胴体より太いくらいの巨大ドロイド君人形を買ってきました。衣服用の圧縮袋に入れ、体重をかけてぺちゃんこにしてなんとか持ち帰りました。毛のふわふわ感から、我が家では専らスーモくんと呼んでいます。すみませんGoogleのみなさん。

f:id:sansan_shima:20190531173751j:plain
ドロイドくん人形と戦利品たち

歴代Android達です。バージョンを重ね、だいぶ敷地が手狭になってきたそうです。

f:id:sansan_shima:20190531174139j:plain
歴代Android

最後にGoogleの皆様とアメリカンな食事をしました。私は予想だにしない巨大なポークステーキが出てきてげっそり・・・アメリカを堪能しました。

f:id:sansan_shima:20190531174247p:plain
会食

おわりに

今回は大変良い経験になりました。ここではすべてをまとめ切れておりませんが、この数倍の知見を得て来られました。以下、全体としての感想です。

  • 動機づけになると感じました。確かに、Nextイベントから帰ってきてホテルで寝る頃には、もう日本語の情報はWebに上がっていました。そういう意味では行かなくても知識は得られるのですが、おそらく「フーン」で終わって1日も経てば忘れます。実際に行くと頭に刻み込まれます。
  • サンフランシスコの街に貼られている広告にredisやzoomがあったりするのは日本では考えられず、圧倒的な差を感じました。
  • セッションなどで他の企業の取り組みを聞き、もちろん先進的と感じる面は多かったものの、案外うち (Sansan) も悪くない、よくがんばっているとの所感も得ました。意識付けにアメリカに行くのは価値が有りましたたが、日本からでも充分戦えると思いました。
    • 同様に、東京に出るのは意識付けに良いですが、北海道からでも充分戦えると思いたいところです。
  • 英語は案外何とかなります。とりあえず人当たり良く、万事にこにこしているようにしました。
  • Nextイベントは、国際学会に比べると「アメリカローカル」なイベントだという感想を持ちました。Nextは、2019年はほかにロンドン・東京でも行うので、そういうものだという理解が良さそうです。
  • 食事は、私はややもたれてしまい、もしアメリカに住むとなればしばらく苦労しそうです。
  • 人はおおむね皆日本より親切に感じました。

今回の参加であらわになってきた、一番の課題があります。個々の技術テーマについて、もちろん興味を引くものは多数ありました。しかし、試す時間がなかなかありません。でもしかし、GCPの革新的なサービスを使えば今後大幅な省力化で時間が生まれるかもしれません。今回得られた知見をどうSansanの糧とするか、悩ましいところです。

Googleの掲げる理想は大体どれもこれも非の打ちどころなく、素晴らしく感じます。ただし彼らのシステムはあらゆる尺度で我々と桁が違い過ぎて、そのまま受け取るには壁が高すぎます。さも何でもないことのように〇〇台のクラスターを組む、〇〇〇GBのRAMで動作させる、といった言葉が飛び交い、そんなところからして規模の違いを感じたりします。SREで言われる"トイル"の割合が高まったらすべての手を止めて撲滅に動け・・・それは頭ではわかっているものの、当社事業の成長スピードも計り知れず、なかなかそれが許される状況はやってきません。

急な革新はなかなか日々の業務をこなしながらできるものではないので、1段1段ステップアップしていきたいと考えています。うまくGoogleの理想や手法を我々に即したレベルにかみ砕きながら、今後ともGCPの利用を進めていきたい所存です。

ありがとうございました。

*1:そんな付け焼き刃で勉強したって無駄だと思って

*2:心臓が99.95%だと、1年の中で合計数時間単位で心停止している計算なので、もっと高いんじゃないかという気はするけど、短時間の不整脈などを入れたらそんなものなのか?

© Sansan, Inc.