Code[ish] JP logo

タグ

  • Einstein
  • AI

FLECTさんによるAIを利用したアプリ開発のお話

Hosted by 永野 智 and Hiroyuki Inaba, with guests Masashi Sato and Wataru Okada.

このエピソードは、Deeply Technical、がテーマとなります。ゲストとして、株式会社FLECTの佐藤さんと岡田さんを、SalesforceからはPlatform Specialistの稲葉さんをゲスト迎えてお送りいたします。


ショー・ノート

  • 自己紹介、業務内容
  • Herokuでの開発事例、関わったプロジェクト
  • データサイエンスとの出会い
  • Salesforce Einstein PlatformによるAIアプリ開発
  • Einstein Visionの画像分析について
  • Einstein Languageの自然言語処理 (Intent, Sentiment)について
  • その他オープンソースのAI関連技術(Tensor Flow, Auto ML)について

トランスクリプト

永野: 私はSalesforceのHeroku営業本部で日本と韓国の営業統括をしている永野智です。このエピソードはDeeply Technicalがテーマとなります。ゲストとして株式会社フレクトの佐藤さんと岡田さん、セールスフォースからはプラットフォームスペシャリストの稲葉さんをゲストに迎えてお送りいたします。それでは皆さん宜しくお願いいたしますよろしくお願いします。

一同: よろしくお願いいたします。

永野: では、まず初めに自己紹介からお願いしたいので、フレクトの佐藤さんからよろしくお願いします。

佐藤: はい、こんにちは。株式会社フレクト、技術開発室室長という肩書でやっている、佐藤正士と申します。フレクトはこれで八年目になりました。データサイエンスとの出会いは2016年ごろからなので、もう足かけ三年目ぐらいになります。皆さんよろしくお願いします。

永野: よろしくお願いします。それでは岡田さんお願いいたします。

岡田: フレクトの岡田です。技術開発室に所属しております。主に機械学習に関連する技術開発や技術検証などを行うことを主務としております。フレクトに来てからは、入社してからは一年ぐらい経っております。フレクトに入ってから機械学習のテーマに携わるようになって、一年ということになってます。よろしくお願いします。

永野: よろしくお願いします。稲葉さんもお願いします。

稲葉: はい、Salesforce.comの稲葉でございます。セールスフォースではですね、プラットフォームスペシャリストとして主に技術営業、プリセールスを担当しております。そのなかでもフラットホームの領域、Lightning PlatformですとかHeroku、またその領域にあるEinsteinですね。その辺を担当しています。よろしくお願いします。

永野: よろしくお願いします。今日のテーマは、AIということで、AIを利用したアプリ開発のお話しをテーマに、40分程度お話しを聞きたいなと思っているんですけれども。まずはお二人のHerokuとの関わりとか、AIに限らずで結構なんですけれども、開発されたご経験みたいなことをお聞きしたいです。今までHerokuでの開発っていうのは何年ぐらい携わっていただいてますでしょうか。

佐藤: Herokuの開発はずいぶん長いですね。私がフレクトに入手したその直後からなのでもう8年ぐらいになるでしょうか。確かセールスフォースがHerokuを買収する前だったと思います。その頃からですね、Dynoという不思議なものを扱う魅力的な会社と伺っていましたし、私自身触っていました。触っていく中でですね、CodeからDeployへ非常に早くできるシステムということで、一番向いてるのはですね、デモとか、開発して欲しい、すぐ動かして欲しいとか言ったときに、ぱっと答えられるということでいくつかの案件を担当させていただきました。今でもこのシステム非常に有効だと考えています。

永野: 実際に8年前ということになると言語もまだ限られてるような状況でしたか。

佐藤: そうですね。当時はNode.jsで、もっぱらやっていました。

永野: ありがとうございます。今まで作られたものデモとかがメインっていう形だったと思うんですけれども、実案件で本番環境でっていうふうに使い出したのはいつ頃になりますか。

佐藤: 本番環境でHerokuにしたのはどうでしょうか、四年ぐらい前でしょうか。一番最初私自身が責任者になってて手がけたのはSalesforce World Tour Tokyo 2014だったと思います。そこでシャトルバス案件というのがあってですね、会場のバスをリアルタイムでテレマティクスするという話があって、それをHerokuで実装したのが始まりでした。

永野: IoTという形で御社がCariot事業として、今はドンドンやられてる領域ですよね。あれの魁みたいなところに使っていただいたって感じですかね。

佐藤: 魁ですね。ハードウエアの調査自身にかなりの時間がかかりましたので、プラットフォームのアレンジということではほとんど時間をかけられなかったんですが、HerokuおよびそのAdd-onでアレンジして、ここはごく短時間でうまく切り抜けたと思い出が残っています。

永野: なるほどなるほど。ありがとうございます。その当時のIoT技術からはかなりもう5年ぐらい経ってるから、アーキテクチャ的にはドンドン革新をされてるんだと思いますけども。

佐藤: はい。

永野: ただやりやすいっていう意味で言うと、Herokuのそのシンプルさみたいなところはよかったなと感じていただけたんですかね。

佐藤: そうですね。シンプルさとElasticityというか、本番のトラッフィックにいきなり晒しても大丈夫だったというのが思い出としてありますね。私が入社した頃には社内のものが、別の案件だったと思うんですけど、テレビ場面中でURLを晒してアンケートを取るという案件を受注しまして、その時に非常に大きなトラフィックを受けたんですけど。Herokuプラットフォームはちゃんとこなしてくれたんだから凄いなと思いました。

永野: なるほど拡張性の高さ、そしてシンプルな部分っていうところで使っていただいてたっていうことですね。ありがとうございます。岡田さんはHerokuの関連案件ってのはどういうものがございますか。

岡田: そうですね、私は一年前にフレクトに来てから初めて使ったという感じで、実際はそれほどまだ触れていないのが実際のところです。同じように機械学習とかデモもを作った時に、Herokuに実装させてアプリケーション作ってみるとか、デモ用にいろいろ使わせていただいてはいます。

永野: なるほど。

岡田: はい。

永野: 機械学習っていうところですけど、実際にあれですかね、HerokuのDynoってそんなに処理能力がバンバン出るようなものでもないのかなっていう印象があるんですけど、デモ程度だったら問題ないよっていう感じですかね。

岡田: そうですね。実際TensorFlowのモデルを動かしたりとか、画像分類ですけどデモ程度あれば十分動くっていう感じですね。

永野: なるほど。私Herokuの営業として、もう5年目とか4年半以上やらせてはいただいてるんですけど、結構お客様のほうから機械学習って言われちゃうと、ウッてなっちゃうんですよね。何故かというと、いわゆるHerokuが動いているのはAWSのEC2でDynoが動かしてるんですけど、やっぱりオーバーヘッドというか、直接GPUみたいなものが載っているEC2のインスタンスを触られるよりは、やっぱり処理能力っていう部分で引き落とっちゃうのかなってところで、引いている部分があるんですけど現場ではそんなことなかったりはするんですかね。

岡田: いや、やはりそのタスクによるとは思うんですよね。GPUをどうしても必要になるようなものも当然出てくると思うんで、そこはどういうものを載せるかって検討の上のところだと思います。

永野: なるほど。ユースケースに応じて、Herokuが使える場面ももちろんあるよっていうところは考えていただいてるってことですかね。

佐藤: そうですね。実際にHerokuのDynoとなりますと、その性能は起点にあるAWSのEC2インスタンスと特に変わるものではないので、むしろHerokuのDynoのですね瞬間的に増やしてまた瞬間的に縮められるとか、ダイナミックなキャパシティプランニングとかいうのが活きる場合もあります。

永野: なるほど。それは結構重要なところですね。もちろんアプリ自体をLight Weightに作っていただくとか、立ち上がりやすく、立ち下がりやすいみたいなことは必要だと思うんですけど。そこらへんの原則がわかっていれば、特にここの部分はちょっと使わない方がいいよみたいなものも、実は広がってくってところなんですかね。

永野: なるほど、ありがとうございます。今回の本題といいますかAIみたいなところに入っていきたいと思うんですけども、その前にですね、お二人今そのフレクトさんの中では、データサイエンティスト、実際に案件に関わられている主業務っていうかたちだと思うんですけども、こういったAI業界とか、データサイエンティストみたいなところっていうのはいつ頃から関わられ始めたんでしょうか。

佐藤: 私の場合は、あれはいつでしたか、もう3年前4年前ぐらいにですね、「戦略的データサイエンス」というオライリーの本の翻訳の話をいただいたのが最初ですね。いくつかの共同翻訳者の一人として、英語で書かれた本を翻訳するという仕事をやったのがきっかけです。もともと私は、バイオインフォマティクスという生物の遺伝子との境界のデータを扱うという研究室でやっていたこともあったので、関心があったんですね。そこで本の翻訳ついでにちょっと一回勉強してみたというのはこの業界との出会いでした。

永野: なるほどなるほど。やっぱりちょっと学術的な観点から関わりられてたってところですかね。

佐藤: そうですね。多少なりとも学術的な世界に足を踏み込んでいないとちょっと敷居が高くて近づけない分野でしたね、当時は。

永野: 出版社のほうから声掛けがあったわけですか。

佐藤: ええ。当時メインで翻訳していた人が、何か他に忙しい仕事ができてですね、HELPを求めたので、人づてに私のところに話がきたんです。

永野: その本に書いてある内容ってのはどんな内容だったんですか。

佐藤: それはデータサイエンスのごく基本的な話ですね。機械学習とはどういうものかとか、あとはよくあるOverfittingっていうのを避けるにはどうすればいいのか、あとはデータのサンプリングの偏りを減らすために交差検証等々やっていくにはどんな手順があるのかという、今から思えばごく基本的な概念を解説する本でした。

永野 なるほど凄いですね。私ごめんなさい、まだ読んだことないんですけど、その本。実際に読まれる方っていうのはプログラマーが対象なんですか。

佐藤: その本自身はですね、ごく学術的というよりも、興味がある人に業界の手ほどきをするという内容でしたので、多分プログラマーの方も視野に入ってたと思いますし、今でもそう思っています。

永野: なるほどなるほど。ちなみに稲葉さんってどういう関わりでAIと関わったんですか。

稲葉: 私の場合はもう完全にこの会社に入ってから、担当する製品がそれになったということで、そこから勉強始めていたっていう感じですね。

永野: 多分これ聞いていただいてる方たちも、業界的にAIが出てきているし、ちょっと覚えなきゃいけないってところから始めた人が大半なのかなというふうには思うんですけど。セールスフォースではEinsteinっていう名前の下にAIを始めたのって3年前でしたっけ。

稲葉: そうですね。

永野: 3年前ぐらいからAIっていうふうに言い出したSalesforceにはなるんですけど実際にそのデータサイエンスの方とそのセールスフォースの云ってるAIっていうのってやっぱちょっとこうギャップもあったりするのかなって気がするんですけど何かこう今までやってたデータサイエンスとセールスフォースに関わったことでのAIの部分って何か違うものってありますか。

佐藤: どうですかね。データサイエンスの基本自身は、情報処理の真偽なので、特にプラットフォームが変わっても違うということはないですね。セーフスフォースのアインシュタインが発表されたのは2016年で、HerokuのAdd-onとしてEinstein Platformが出たの2017年。当社が応用開発を手がけ始めたのもそのぐらいだったと思ったんですけど、根っこにある基本セオリーとか実装とかは全然変わってません。ただセーフルフォース社の特徴は、非常に敷居が低くてですね、全部APIでラップしてあるので特別なアップフロントなしにいきなり始められるとかそういうところはあると思いますし、セールスフォース社が有しているCRM、販売、サービスなどのデータに絡めた、スペシャルなモデルをセールスフォースプラットフォームの中に埋め込んで来てるってのは特徴なのかなと思っています。

永野: そうですね。僕が言うべきところ全部言っていただいちゃったので、リーディングクエスチョンみたいに聞こえちゃいますけど。はい、ありがとうございます。実際にEinsteinの関連のAIアプリ開発って、やっぱりHeroku側から見てても多くなってきてるなあっていうのは実感としてあって、特にAIに特化してやってますよとか、うちにはデータサイエンスがいっぱいいますよっていう会社は、フレクトさん以外にはあまりないような気はしてはいるんですけど。やっぱりフレクトさんでデータサイエンティストを集められてるとか、それぞれに専門の部隊を作られてるっていうのは、何か理由があったりされるんですか。やっぱり専門性みたいなものは必要だというふうにお考えですか。

佐藤: うんそうですね。技術開発室自身はですね、実はもともとCariotの前身になっているシャトルバスのころからあってですね、私が唯一ちゃんとメンバーだったんですけど。技術的に意識の高いことを何でもやってくれというのが最初の位置づけだったんですね。それからAI、IoT、とやってきて、要するにまとまった勉強必要とする分野かなということを感じましたので、社内的にもリソースを集めて総合研鑽等々を図っていくという感じの流れになって今に至っています。

永野: なるほど流れ的にはこうだんだん拡大してきたっていう部分は、分野に分かれて専門性が求められてくるっていう感じか、それとも、もうそういう案件どんと増えてきたかな、とにかく人は入れなきゃねって感じですか。

佐藤: うん、そういうよりも、やっぱり社内に心得のある人がいないと、とっかかれないと言った方が正しいでしょうか。主案件がじゃんじゃん来ているというよりは、やってきた案件でAI技術が有効だなということを見つけて、インプリしきるのって結構大変ですので、やっぱそういうのは経験値を集める必要があるんじゃないかと思っています。

永野: なるほどねえ。そこをちょっと今日は掘り下げて聞いてみたいなと思うんですけど、今特にアインシュタインのシリーズでいうと、今GAになっているのがEinstein Visionいわゆる画像分析の部分だとか、あとEinstein Languageの自然言語処理の部分ですね。ちょっと日本語ってのはなかなか難しい部分もあると思うんですけど。まずちょっと画像分析の内容について少し深堀して聞いてみたいと思うんですけど。今まではそのフレクトさんの中でこのEinstein Visionに関わられた案件って複数あるかと思うんですけど、特徴的に何かこうお話しいただける部分ってありますかこういうアプリを開発したよって話。。

佐藤: そうですね、ちょっと個別案件で話せないのも多いんですけど。

永野: 名前を出さなくても、例えばこういう開発やったよっていうので結構なんですけど。

佐藤: よくあるのはですね、製造業あるいは地質調査とか、イメージクラシフィケーションは主たる機能なんですけど。クラシファイ、分別しているものはですね、かなり渋いものが多いですね。これがはっきりとした特徴としてあります。

永野: 例えば何かこう鉄鋼業みたいなものの切断面とかそんなもんですかね。

佐藤: 工作機械ですと、出てきたらもう加工したてのプロダクトそのものです。もう見た目は凄い地味な感じで、あとは地盤調査だともうそのものズバリ土、が、案件対象になっていますので。結構そういうわけで、案件でいただいてからですね、お客様が必要としてる分類が業務上どんな意味を持つのかということを、われわれの噛み砕くところからいつも始めないといけないです。

永野: そういうのって大体お客さんとのやり合いってとかどういう感じで進められるんですか。基本的にインタビューみたいな感じでやられるんですか。

佐藤: そうですね。やっぱりフェイスツーフェイスでお話しを伺って、現場の人が自動化したいと考えてるドメインの様相ですね。現場のエキスパートの方とインタビューして勘所をつかむということができるとうまくいくケースが多いですね。

永野: でもその業界のこと自体はあまりよくわかってないわけですよね。

佐藤: ただ、例えば先程の工作機械の例ですと、もう案件の話をいただいてから、われわれ自身で公開情報でWebサイトに載ってる情報とかで一生懸命調べます。

永野: へぇ。じゃぁ地質調査やってるとことか工作機械をやってるところっていうのはどういったお客さんがいらっしゃって、そこに対して何しててみたいなことを、けっこう調べてから行かれるんですね。

佐藤: 調べるには別の理由もあってですね、いざ案件スタートとなるとお客さんがこう大量のデータを持ち寄るわけで、こういうデータをですね、時間をかけて分析の勘所を定めて、最終的にAIのモデルに落としていくためにはですね、非常にたくさんの、言葉悪いですけど退屈なデータを見続けないといけないので、多少なりとも背景情報がないと興味を持って続けられないという裏の話がありますね。

永野: 面白いなあ。もうそこら辺はやっぱり結構案件を積み重ねてきたところで、こういうとこ知らないとできないよねっていう、そういう経験値もあるわけですよね。

佐藤: そうですね。あといろんなことに興味を持つミーハーな人が実はいいのかもしれません。

永野: あはは、なるほどなるほど。じゃあんまり経験ばっかりあってもしょうがなくて、やっぱり興味だとかやる気みたいなものも必要なってくるってことなんですかね。

佐藤: 経験、やる気が必要なのはそうですけど、ただ単にミーハーなだけだとこれまた駄目でですね、AIが案件が時としてAIのモデル作成の深いところにはいると、必要に応じては学術論文を読み返さないといけないという難しいところがやってまいります。

永野: 多分機械学習をしなければいけないので、必要な、例えば画像はどのくらい数が必要だよとか、あと画質的にはこういうものが必要だよみたいなのあると思うんですけど、大体Einstein Visionがうまく動くようになるまでってどのくらいの数のデータは使われたりするんですか。

佐藤: うんどうでしょうね、岡田さん

岡田: そうですね、全体というよりも、クラスタ毎に大体、同じ数を集めるってことなんですけども、一クラスあたり大体500枚とかそれぐらいから精度がちゃんと出てくるというような。

永野: お客さんは、そんなに持ってるもんなんですか。

岡田: 持ってない場合もあるんですね。で、もってない場合は、機械学習のテクニックの一つですけど、データ拡張、Data Augmentationと言われるような手法で画像増やしたりとかしてやっていることもあります。

永野: あ、ごめんなさい、私この分野においてはもう幼稚園児並みの知識しかないので、ちょっとそこ、もう少し詳しく噛み砕いて教えていただけますか。

岡田: えっとですねえ、データが少ないときに、データのバリエーションを増やすことによって、そのクラスが何者だかっていうのを覚えさせることをするんですけども、そのときに画像に対していろんな加工を加えます。ノイズを加えてみたりとか、グレースケールにしてみたりとか、そういった加工をすることによって画像のバリエーションを増やして、先程言ったクラスにおける画像のデータ数を増やすようなことやってます。

永野: そんなこともあるんですね。じゃあそういう画像拡張みたいなものをしていただくことによって、お客さん側の負担は増えずにプロジェクト進められるってことなんですかね。

岡田: ただ、当然加工することによって失われるデータであったりとか、間違ったデータが入り込んでしまう場合もありますので、当然オリジナルデータが500枚なら500枚あった方が良い場合もありますので、そこはなるべく集めていただくお願いは毎回しています。

永野: なるほど。稲葉さんは今までフレクトさんと、こういったお話しとか案件でやられてるんですか。

稲葉: そうですね、ちょうど佐藤さんが先程おっしゃっていただいた、地質のやつもそうですし、金属の切断面もそうですし。最初私がプリセールスとして、とっかかりをした後を、まさにフレクトさんに引き継いでいただいて最終的な形にしていただいたって感じですね。

永野: フレクトさんとのお仕事って、何かほかのパートナーさんと比べてここがよかったみたいな体験談ありますか。

稲葉: そうですね、やはりEinstein Visionに関しては、実際に知識もそうですけど、経験もありますし、先程もでてましたその進め方ですね。お客さんとどういう話をやっていかなきゃいけないかですとか、画像を集めて実際モデル作ってっていうのは、なんでしょうねえ、後半の方のタスクだとすると、前半のタスクはまずどういうものにしましょうかとか、そこからどういった画像を用意しないといけないか、ですとか、そういった整理のベースが前半あるんですね。その辺の進め方の勘所を知ってもらってるのは、非常に私としてはいつも助かっているところです。

永野: なるほどね。ちなみに稲葉さんってこういうお話ししてほかのそのパートナーさんともされていると思うんですけども、やっぱり多分日本国内でかなりもうフレクトさんが先を走ってるようなイメージを私はもってるんですけど、これを広げていこうというふうになった場合ってやっぱりで組織的にこういうものは必要だなとかもしくはこういうこと勉強すればいいんじゃないかなみたいなものってありますか。

稲葉: そうですね、やはり機械学習のところだけでもやはりだめだと思いますし、かといって、そこの知識がなくてアプリ開発やプロジェクトを進めるだけでもやはりだめかなと思いますしね。その辺のAIの案件の進め方といいますか、AIのプロジェクトの進め方ですね。そのあたりを全体見てバランスよく人も配置できるような組織があると非常に我々としても助かるなあと思いますし、うまく勧められるんじゃないかなというふうに思うところですね。

永野: なるほど、ありがとうございます。次ちょっとEinstein Language、自然言語の処理についてもちょっとフレクトさんにもお聞きしたいな思うんですけども。実際にそのEinstein Languageが出てきて、案件ですとかでプロジェクトで関わっていただいたと思いますが、実際に現場で使われる、検討されるってケースがございますでしょうか。

佐藤: 私が経験した範囲ですと、社内レポートの分類という案件がございました。ええその時はですね日本語のレポートなのでGoogle翻訳を間にかまして分類を試みました。

永野: それはやっぱり日本語そのものだとあんまり精度が良くなかったとかそういう感じですかね。

佐藤: 日本語そのものではだめでした。 永野: なるほどなるほど。多言語とかっていうところで考えても、特に日本語ってニュアンスの違いだとか漢字と平仮名というところで、ニュアンスみたいなものもう変わってくるのかなって気がするんですけど、それを英語にするとこう精度が変わるっていうのは何か理由みたいなのがあるんですかね。

佐藤: それはやっぱり何ていうか、入力データって、最終的にはテキストの羅列から意味を抽出し、その意味を数字にしてディープラーニング。というのがこの自然言語処理の基本だと思うので、この意味を抽出の段階でですね、各言語に応じた、単語切り、あとは単語の並び等々の勘案が入ってくるんだと思うんですよ。そこで日本語対応ということが重要になってくるんだと思います。

永野: ああなるほどねえ。それはパターンが少ないからですか。それともやっぱり日本語という言語のその特性上やっぱり難しくなってくるんですかね。

佐藤: うん多分、言語の特性上というか、これはやはり基礎研究の量の違いという気がします。

永野: ああなるほどね。日本語だとか英語だとかってとこで精度が変わってくる時って、稲葉さん的にはどういうふうにお客様にお話しされてるんですか。

稲葉: そうですね、製品としてもサポートという意味でも、英語しか対応してないんですよっていう所がありますので、基本的には日本語は変換して使って下さいというふうにはお話しはしていますよ。私のほう、特にこの自然言語の専門家というわけどもないんですけど、おそらく英語に翻訳することによって、標準化がされるのではないかなと。その機械にとって解釈がしやすい形に変換されてるのかなぁと思うので、むしろ機械学習のシステムを使うときには、英語翻訳をしてから入力させるというのは、精度を高める上での一つの手段としていいのかなと思ったりはしているところですね。そういったことで会話をして、まずはEinstein Languageを使っていただくのであれば間に英語の翻訳をかますというところで話をしてます。

永野: なるほどね。それは別にGoogle翻訳でも何でもいいですか。

稲葉: そうですね。

佐藤: 前回の案件ではGoogle Translate APIを使ったんですけど、今、あの種の翻訳の精度は結構高いです。もしお試しになったことがないのであれば何か翻訳してみるといいと思いますけど、特に業務文章のようにですね表現の範囲が限られてるものだと私でもびっくりするぐらい高品質な翻訳結果が出てきますし、メジャークラウドベンダーの中でもAmazonなんかは意図的に言語系のAI機能で日本語をやめてですね、サポートしないでトランスレーション一本でお願いしますという風にうたっている場合もあります。 永野: へぇそうなんですね。それは知らなかった情報ですね。ちなみにtranslate.google.comで訳すときも同じAPIコールを使ってるんですか。

佐藤: おそらく同じだと思います。

永野: 結構僕もその日本語に訳さなきゃいけないとき結構Herokuのコンテンツにあれ使ったりもするんです。やっぱり昔に比べて全然修正が必要なくなってきたなあっていう実感はありますね。あれは機械学習がドンドン進んでるからですかね。

佐藤: はい、そうだと思いますね。

永野: やっぱりドンドン頭よくなっていっちゃうんですね。

佐藤: はい、そうだと思います。

永野: なるほど、ありがとうございます。ちなみにEinstein LanguageってIntentとSentimentっていう大まかな機能みたいなものがあったような記憶があるんですけど稲葉さん、Einstein Languageについて、特にIntentとか、Sentimentについて教えてもらえますか。

稲葉: はい。2つ機能があって、まずSentimentがわかりやすいですね。感情分析を言われてるものです。入力された文章に対して、例えばその文章の感情は、ポジティブなのか、ニュートラルなのか、ネガティブなのか、ということを返してくれるというものになるんですね。で、Intentのほうは、言ってみれば仕分けになります。例えば入力された文章が、パスワードについて聞かれている文章なのか、自分の注文した商品が今発送済みなのか、というような感じのお問い合わせなのかということがわかります。ECサイトの問い合わせをイメージしていただけると、わかりやすいかもしれませんね。例えばチャットで入力された文章が、パスワードについて聞かれてるの、商品の発送について聞かれているの、あるいは商品自体の質問について聞かれてると、分割され仕分けをしてくれるのがIntentになります。

永野: なるほどありがとうございます。非常にわかりやすくてよかったです。ありがとうございます。実際このEinstein Languageを使って、商用のサービスってあんのかなってのが、私はあまりちょっとわかってないんですけど。今フレクトさんでやられてた案件で、商用のサービスとして展開されてるのものってあるんですか。

佐藤: 私が知る限りはまだ存在しないですね。

永野: それは日本の市場でってことで。

佐藤: はい。 永野 : 実際に商用になるためには、何か足りてないなっていうふうに思われることってありますか。

佐藤: 結構言語って、特にコンシューマユーザーの要求水準が高くてですね。どうでしょう、これは私の思いですけど、やっぱりエッジサイドで、もう瞬間的な会話が返せるぐらいにならないと入っていかないのかなぁという感触を持っています。

永野: それはBot的なものと組み合わせても同じものですか。

佐藤: はいそうだと思いますね。

永野: あと1、2年ぐらいですか。どのくらいかと思われますか。

佐藤: いや、既に可能だと思いますよ。要素技術はあって、やっぱ実装努力がまさにこれから積み重なっていくんじゃないでしょうか。

永野: なるほど。じゃかなり先進的なお客様がいらっしゃって、こうドンドンやってくんだっていうような思いみたいなものがあれば、技術的にはもう可能なものではあるとかですかね。

佐藤: はい。私の知ってる範囲だと、メジャークラウドベンダーの中ではクラウドベースで実行していたBotの機能を、Dockerコンテナの形でエッジにExportして実行可能にしてるところもありますので、そういうものの活用も、今後進んでいくと思います。

永野: なるほどね。ちなみにHerokuも、Dockerのサポートは今2年ぐらいやってて、1年ぐらい前からBuildもできるようにはなってるんですけど。HerokuのDyno上に、Dockerで展開するっていうのって、今フレクトさんでもやられてたりするんですか。

佐藤: 私が知る限りはありませんけど、今後は検討しています。

永野: まあそうですよね。ポータビリティーってところの観点だけじゃなくて、やはり作りやすさとか、テストのし易さとかも含めて、コンテナ標準化みたいなものが必要になってくるのかなってのは思うので。どう考えるかなと思ったんですけど、実際必要だなってふうにお考えですか。

佐藤: はい。一方で、ソースコードアップして、デプロイしてくれるってHerokuの昔からの仕掛けもいいことはいいんですけれども、やはりですね、他のクラウドとの協業を求められた場合とかですね、AWS、Herokuも使うけどAWSも使う。こういう時に開発者のデプロイスキームを一個にするには今の所Dockerしかない。

永野: なるほどなるほど。それがちょっと次のトピックでお話したかった内容になるんですけど、やっぱりSalesforceとかHerokuだけで完結するものでもないのかなっていうのは凄く感じていて、特にインフラだとかに関してはコモディティ化されてきてるから、どこでも同じようなことができるようにっていうことがコンテナだとか考える上で重要になってくるのかなと思うんですけど、AIの技術ってのはやっぱり組み合わせて使った方がいいよっていうものなんでしょうかね。

佐藤: どうでしょう。私はむしろ、AI技術の現在というのはクラウドベンダー各社がいろいろな典型的な用途も提供してますので、まずはそれでデプロイして、ビジネスの効果を探っていくというところにあるのかなと思います。ただしですね、システムインテグレーションと同じで、細かいことをやり切るためには、出来合いのものだけじゃなくて、自分たちの細かい隙間を埋める必要があってですね。そのために必要な技術力が今、非常に高いというところが課題ですね。

永野: なるほどなるほど。実際にそういったSaaSでのソリューションも使うけれども、足りないところは自分でコード書いてとかそういうものが必要になってくるんですかね。

佐藤: はい。機能であればプログラムコードでいいんですけど、AIモデルでこの隙間を埋めるというのは今はとても大変。

永野: どうやられてるんですか。

佐藤: 今はですね、どうでしょう岡田さん、巷論文あるいは巷の有名モデルを、自分なりに内製してみて、チューニングしていくという感じだったのではないですか。

岡田: そうですね。大体今、新しい技術、新しいモデルとか出てくると、論文といっしょにモデルはGithub.comに上がることってありますんで、そういうものをまずは触ってみるっていうところで、自分の求めてる要求レベルにあるのかってみるというところをやっている感じですね。

永野: じゃあ結構Github.comの中で、いろいろな、新しいアルゴリズム出てきたなとか、新しいモデル出てきたなみたいなものを、結構検索とかもされてるってことですか。

岡田: そうですね。結構そういうことをしないと、新しい技術についていけないってところもありますね。

永野: なるほどねえ。もうContributionって観点からフレクトモデルみたいなものも、こうアップされたりしてたりするんですかね。

佐藤: それはいまだにないし、正直われわれ基礎技術としてですね、そこまで高度なものは...。

永野: ごめんなさい。凄いことをずっと聞いてたので、そこまでいってたのかなと思ったんですけど。

佐藤: もちろん長い目で考えると、そういうところに到達したいなという希望がありますし、お客様からいかなる細かいところを要求してきてもサービスしきるっていう意欲はありますけれども、現時点ではそこまではないですね。

永野: なるほど、基礎研究とかもやってる会社も、日本のメーカーさんとかもあるんだと思うので、そういうところで日本モデルみたいなものが結構出てきたりもするんですかね。

佐藤: うん。

永野: やっぱ海外の方が多いですね。

岡田: 海外の方が多いと思いますけど、ただ日本でも結構論文とか出してる方とかいます。そんなに弱いわけじゃないので。

永野: そうなんですね。特に日本がっていうわけでもないんですけど、取りあえずそういう活動っていうのが、どのくらい盛り上がってるものかなと思ったのでちょっと聞かせていただきました。はい、ありがとうございます。

永野: 最後にはなってしまうんですけれども、かなり日進月歩どころじゃないような形で、進化しているような分野かなというふうに思うですが、今後どういうったものに注目されてるとか、こういうプロジェクトがこれからできるんじゃないかなみたいなお話しを聞かせていただきたいなと思うんですけど。まず佐藤さんからいかがですか。

佐藤: どうでしょうかね。一つ明確に言えるのはエッジデバイスが賢くなって、そのアプリケーションが進んでいくだろうという、これはもう確実だと思っています。半導体各社はDeep Learningに特化した、Domain Specificな半導体ってのはもう製造していますのでこれから俺が世の中にドンドンCommonになっていてですね、クライアントデバイスのDeep Learningのキャパシティがドンドン高まっていくわけです。こういうものを活用して、エッジサイドでinferenceしていくというアプリケーションは間違いなく広まっていくと思います。そういうところの応用機会にわれわれも照準を絞ってやっていきたい。

永野: なるほどね。最新のiPhone とかでもNeural Engine載せてますみたいな、そういう世界の話ってことですかね。 佐藤: そうですね。これまでDeep Learningというと、たくさんの計算パワーを要求する電力効率の悪いものと言われていたんですけれども、GoogleのEdge TPUとかですね、内部の処理を工夫することによって、非常に小さい電力でもたくさんのInferenceができるようになっていくと思います。

永野: なるほど、ありがとうございます。岡田さんはいかがですか。

岡田: そうですね。似たような感じではあるんですけども、やっぱりですね、エッジ側でAIを動かすっていうのが普及してくるだろうというのと、あとやはりサーバー側でもやらなきゃいけないってことあると思いますので、棲み分け、連携しながら、とある部分に関してはエッジ側でやって、とある部分はサーバー側でやってというを組み合わせて、一つのシステムを作るみたいなことが出てくるのかなと思っています。

永野: なるほど、ありがとうございます。最後稲葉さんに振っちゃうんですけど、今日かなりその技術的なお話しを聞かせていただいて、ビジネスサイドの人たちにもわかるように、噛み砕きたいなという思いがあるんですけど。これからEinsteinだとか、展望だとかっていうのを話せる範囲でお話しいただければと思うんですけど。

稲葉: はい、そうですね。今はHerokuのAdd-onとして直ぐにデプロイができて、簡単に使えるってところでは、Einstein VisionとLanguageという、この2つがあります。徐々に開発、新しい機能って意味でも進んでいます。特にLanguageの方で、もう直ぐSalesforceとしてEinstein Voiceという機能ですね、出してくるんですけど。それに歩調を合わせて、開発すすめられているような所もありますので、Voiceで作られたものが、そのAPIサービスにFeedbackされてくるですとか、期待していただけるといいかなと思います。あと一つ、これはEinstein Platform Services、VisionとLanguageとは違う領域のものになるんですけれども、Einstein Analytics。予測を機械学習で、過去のデータを元に統計処理を行って、将来的な数値であったりとかYES/NO予測を出すことができるんですけども。これもAPIで、予測機能を呼び出せるようになってます。Herokuで作ったアプリケーションから、それを呼び出して、またそれをHeroku上のアプリケーションで見せたりできます。Heroku使われている会社の皆様にも、いろいろとご期待いただければなと、いうところですね。

永野: はいありがとうございます。特にですねVoiceには期待したいんですよね。このCode[ish] JPのポットキャスト、私がこう聞きながら文字起こしをしているので。そこはすぐにでも言語解析して欲しいなって思ってるんですけど。多分半年とか一年ぐらいで、いろんなことができるようになるのかなと思うので、非常にこれからもHeroku、Einstein、で注目できるのかなというふうな思いがありました。今日はどうもありがとうございました。

永野: Code[ish]JPポッドキャストのエピソードお聞きいただきありがとうございました。Code[ish]JPはHerokuの日本チームがお送りしています。Herokuはセールスフォースに所属し、開発者に愛され続けるPaaS製品です。より詳しいことはjp.heroku.comにアクセスしてみて下さい。どうもありがとうございました。

Code[ish] JP とは

ゲストを迎えてコーディング・技術・ツール・開発者の日常を探る Heroku の Podcast です。

ホスト

Avatar

永野 智

RVP, Heroku Japan & Korea, Heroku

株式会社セールスフォース・ドットコムでHeroku営業本部を統括しています

Avatar

Hiroyuki Inaba

Platform Specialist, Salesforce.com

Platform Specialist in Salesforce

ゲスト

Avatar

Masashi Sato

Head of Advanced Technology, FLECT

Engineer in FLECT

Avatar

Wataru Okada

Engineer, FLECT

Engineer in FLECT

Code[ish] JP の他のエピソード