Javaによるディープラーニングライブラリをオープンソースで提供するSkymindが$3Mを調達

Lines and dots interconnecting, conceptual illustration.

オープンソースでJavaのディープラーニングライブラリとその一連の実装ツールを作っているSkymindが今日、Tencent, SV Angel, GreatPoint Ventures, Mandra Capital, Y Combinatorらによる300万ドルの資金調達ラウンドを完了した。Y Combinatorの2016冬季クラスで育ったSkymindは当初、Joe MontanaのLiquid 2 Venturesやそのほかの著名なエンジェルたちから資金を得ていた。

協同ファウンダーでCEOのChris Nicholsonは、ディープラーニングの研究者たちが相次いで学究の世界を去り、大手テクノロジー企業の6〜7桁社員(年俸数十万〜数百万ドル)になっていく傾向を見て、Skymindの創業を着想した。人的資本はますます希少財になりつつあるから、多くの企業はディープラーニングという新しい技術にも、既存の人的資源で対応せざるをえない。誰もが使えるオープンソースのライブラリは、このような困難な一般状況に、一石を投ずることができる、と彼は考えた。

今世界で、最も多く(約80%)のプログラマーが熟達しているプログラミング言語がJavaである。Nicholsonと彼の協同ファウンダーAdam Gibsonは、これらのプログラマーがAIの開発もできるようになるための、方法はあるだろうか?と考えた。そしてその考えがライブラリDeeplearning4jへと結実し、Skymindの核となった。

Nicholsonは、SkymindはディープラーニングのRed Hatだ、と言う。エンタープライズソフトウェアをもっぱらオープンソースで作っているRed Hatは、今では年商15億ドルを超える企業に育っている。

Fortune 100社のためのソフトウェアをオープンソースで作り続けることは、決して容易ではない。しかし、オープンソースは企業に十分な競争力を与えるだけでなく、最良のエンジニアを雇用できる機会にもなる。

Skymindは今15名を雇用しているが、本社が裕福なパロアルトやSoMaなどにあって全員がそこに勤務している、という形ではない。チームのメンバーは、日本、韓国、オーストラリアなど世界各地に散在している。そしてこれらのエンジニアの多くが、Skymindのオープンソースコミュニティに属し、ライブラリの各部分を担当している。たしかに小さな本社がSoMaにあるが、それは同社のビジネスにとって重要ではない。

Skymind

フランスの大手通信企業(年商420億ドル)Orange SAはSkymindとその実装ツールSkymind Intelligence Layer(SKIL)を使って、ディープラーニングのプロジェクトを構築している。SKILは、Hadoopなどの既存のツールとSkymindとの接続と対話をサポートする。Nicholsonによると、金融サービスやeコマースなど従来からデータ量の多い業界からの引き合いも、このところ少なくない。その中には、中サイズの企業もいる。

Google(TensorFlow)、Amazon(DSSTNE)、Baidu(PaddleOne)などの巨大テクノロジー企業はそれぞれ自社で巨額を投じてオープンソースのディープラーニングライブラリを開発し、それらを外部のアプリケーションも利用している。しかしそれらは残念ながら、Javaのライブラリではない。

Skymindのライブラリは、先月だけでも22000回ダウンロードされ、各月の前月比で20%近く伸びている。Nicholsonによると、今後はデータサイエンティストのための開発ツールも作っていきたい。そのツールには、報酬方式の機械学習の一種である強化学習(reinforcement learning)へのアクセスを、既存企業のために民主化するパッケージも含まれるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

子どもの言語障害の早期発見を機械学習が支援、家庭でスマホで検診ができる

shutterstock_435914203

言語障害の検診は早めに、しかも複数回やれ、と言われる。でも、すべての子どもをタイミングよく検査できる設備と要員が完備している地域は、そう多くない。しかし、ここでご紹介するMITの研究結果が正しければ、少なくとも基本的な検査は、自動化され、家庭でもできるようになるだろう。

サンフランシスコで行われたInterspeech カンファレンスで、同校のコンピューター科学者たちが、その新しいテクニックを説明した。まだ開発の初期的な段階だが、かなり期待を持てそうだ。

神経の障害のために、会話(発話と相手の言葉の理解)がうまくできない子どもたちは、ある種のテストで一定のパターンを示す。それは、複数の画像を見せ、それらについてお話をさせるテストだ。休止や、特定の時制や代名詞でのつまづき、そういった小さなことが、深刻な問題の指標であることもある。

院生のJen GongとJohn Guttag教授が作ったそのシステムは、まず、子どもたちのそんなお話の録音を多数、機械学習システムに聞かせる。そのデータ集合を細かく分析することによって、システムはいくつかのパターンを学習する。それらは、健常者のパターン、発達障害に顕著なパターン、初期の言語障害を示すパターン、などだ。それらは、これまでの研究で確証されているパターンなので、問題はない。

専門教育を受け、訓練を積んだ専門家に代わるものではないが、でも専門家をアプリに詰め込むことはできない。システムは、現状で精度も実用レベルに達しており、どんなスマートフォンからでもできる検診なので、障害の早期発見早期治療に貢献するだろう。

でも、まだまだやるべきことはある。

“大量の良質なデータにより、今後ともシステムを訓練していく必要がある”、とGongは述べている。“子どもたちの発達過程はきわめて多様だから、健常と障害の両方について、いろんな子どもたちのデータを集めることが、システムのより良質な判断力を育てる”。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

GoogleはTensorFlowによる画像キャプションモデルをオープンソースに、物認識から状況認識への進化をねらう

Fans using smartphones at a concert

ぼくの世代〔John Mannes, 1995/11生〕は、ほぼ全員がInstagramにはまっている。でもぼくは、2015年にこのプラットホームを去った(ごめんなさい)。理由は単純で、どの写真をポストするか、なかなか決められないこと、そして、簡潔で魅力的なキャプションを考えるのに、いつも苦労するからだ。

Google TensorFlow Captioning

画像提供: Google

でも、ぼくと同じ問題を抱えているひま人は、Google TensorFlow〔昨年オープンソース化〕の画像キャプションモデルを利用すれば、そのくだらない第一世界問題に終止符をうてるだろう。ぼくも、それが楽しみだ。右の、“A person on a beach flying a kite.”(ビーチで凧をあげている人)なんか、すごくビューティフルでクリエイティブだよねー。〔皮肉〕

ジョークは置いておくとして、GoogleのBrainチームの研究員社員たちが作ったこの技術は、なかなかのものだ。“Show and Tell”(見せる/教える)というキュートな名前のこのプロジェクトの精度は93.9%だそうだ。精度は、89.6%、91.8%とバージョンを重ねるたびに上がってきた。分類というタスクは、精度が少し上がっただけで有用性が大幅に向上する。

そこまで到達するためにチームは、視覚と言語の両方でニューラルネットワークを訓練してきた。用いた教材は、画像と、それに人間がつけたキャプションだ。そのおかげでこのシステムは、画像中の物(砂、凧、人)を認識するだけでなく、説明的な文章を生成できる。精度の高いモデルを作るための鍵は、物と物の関係、という要素を導入したことだ。たとえば上の写真では、男の上に凧があるのではなくて、男が凧をあげているのだ。

Google TensorFlow Image Caption

>画像提供: Google

チームは、このモデルは教材中の語句をオウムのように真似しているのではない、と主張する。たとえば左の例では、複数の画像のパターン(左図の左)を合成して、これまで見たことのない画像(左図の右)のためのキャプションをオリジナルに作っている。

この画像キャプションモデルのこれまでのバージョンは、一教材につきNvidia G20の上で3秒の訓練時間を要していた。しかし今日オープンソース化されたバージョンでは、その1/4、0.7秒だ。昨年はMicrosoft COCOと横並びにまでこぎつけたが、今のバージョンはそれよりさらに高性能、ということだろう。

数か月前にラスベガスで行われたComputer Vision and Pattern Recognitio(コンピュータービジョンとパターン認識)カンファレンスでGoogleは、このモデルについて説明し、画像中の物を認識できるだけでなく、人間がキャプションをつけた画像で訓練することにより、画像中のばらばらの要素を組み合わせてキャプションを作れる、と述べた。

物をコンテキスト(それが置かれている文脈、状況)に結びつけることは人工知能の長年の難関だったが、このキャプションモデルはそれの解決に向けての第一歩かもしれない。コンピューターが画像や映像を見て状況を認識できるようになったら、たとえば、警察から逃げようとしている人と、そのおそろしい場面から逃げようとしているたまたま居合わせた人とを、正しく区別できるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

IBMがNvidiaの最先端GPUとインターコネクト規格を使った高速高性能サーバー機を披露

under-the-hood-of-the-new-ibm-power-systems-s822lc-for-high-performance-computing

IBMが今日、IBM Power Systems S822LC for High Performance Computingという、たいへん分かりやすい名前のハードウェアシステムを発表した。ごてごてした名前だけど、実際には、とてもおもしろい製品なのだ。Nvidiaと共作したこの新しいシステムは、人工知能や機械学習、高度なデータ分析などのユースケースが主なターゲットだ。

この新しいサーバーマシンは、IBMのPOWER8 CPUを2つ、NvidiaのTesla P100 GPUアクセラレータを4つ使っている。でも、そういう種類のソフトウェアを高速に動かす力の源泉は、CPUやGPUだけではない。IBMはNvidiaのハイスピードインターコネクト(プロセッサー間通信技術)NVLinkを使って、CPUとGPUが従来の(デスクトップコンピューターが使っている)PCIeバスより大幅に高速に通信できるようにしている。IBMのPower8 CPU は、NVLinkのインタフェイスを内蔵している。

IBMの発表声明はこう言っている: “データベースアプリケーションや高性能な分析アプリケーション、コンピューティングアプリケーションなどを、PCI-Eインタフェイス上でGPUを使うx86システムで可能なものよりもずっと大きな、データ集合に対して運用できる”。

rack-close-up-of-ibm-power-systems-s822lc-for-high-performance-computing

このシステムに、どれだけの性能を期待できるのか? IBMによると、21テラフロップの半精度浮動小数点演算性能がGPUから得られる。これは現代のPCI-Eスロットに挿入したカードから得られる性能よりも約14%高い。機械学習では訓練にかなりの時間を要するから、実際のアプリケーションでは14%の累積効果はきわめて大きい。IBMによると、古いTesla K80 GPUとPCI-Eインターコネクトを使った場合に比べると、2倍以上のスピードが得られたそうだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

Googleは機械学習アルゴリズム専用の高速チップを内製、なんと、8ビット機だ

tpu-2

GoogleのデベロッパーカンファレンスI/Oにおける発表によると、同社は機械学習のアルゴリズムの高速化に特化した独自のチップの構築を最近開始した。

tpu-1

その特製のチップはTensor Processing Units(TPU)と呼ばれ、同社のテクニカルインフラストラクチャ担当SVP Urs Holzleによれば、すでに同社のデータセンターで1年あまり使われている。またGoogleによれば、それは“性能が大幅に最適化されているので、1電力単位(ワット)あたりの機械学習実行効率がきわめて高く”、しかも、“通常なら7年はかかる技術進歩を1年で達成している”そうだ。

機械学習アルゴリズムの実行におけるTPUの高速性は、一般的なCPUやGPUほどの計算精度が要らないことにも由来している。つまり32ビットではなく8ビットで十分なため、演算に要するトランジスタも少なくてすむ。

Googleの音声認識サービスを利用すると、ユーザーのクェリは今すでにTPUが処理する。またデベロッパーが利用するGoogleのCloud Machine Learningサービスも、TPUによるサービスだ。最近囲碁の世界チャンピオンを負かしたAlphaGoも、そのプロセッサーはTPUだ

Holzleによると、特定のアルゴリズムのきわめて高効率な実行を求めるなら、柔軟性に富むFPGAを利用することは最適ではない。そこで、専用チップの内製に踏み切った。

チップを実際に製造しているファンドリーの名前は公表されなかったが、Holzleによれば、今はプロダクション(本番稼働)において二種類のリビジョンを使っており、それぞれが異なるファンドリーで作られている、ということだ。

Googleはすでに、同社のオープンソースの機械学習アルゴリズムTensorFlowを公開しているが、TPUが今動かしているのも、当然かもしれないが、そのライブラリのコードだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

人工知能の暴走を抑える「人工天使」が必要だ

algorithmic_guardians_web

編集部注: Jarno M. Koponen氏はデザイナーであり人文科学社でもある。またメディア関連のスタートアップであるRandomの共同ファウンダーでもある。新しい「人間中心」のデジタルエクスペリエンスを模索している。

インターネット上のさまざまなことがアルゴリズムにより処理されるようになった。しかしどうやら「人間のため」という視点が欠落しつつあるようにも見える。実現したところで何のメリットもないような「ソリューション」が提示されることすらあるように思うのだ。

アルゴリズムにより表現される自己の危うさ

デジタルデバイスは、ポケットに入るものになり、そして身に付けるものとなって、さらには身体と一体化するようにまで進化してきている。わたしたちがオンラインで触れるものも、アルゴリズムにより決定されている面もある。近いうちには家庭や車の中に存在する現実のモノすらも変えることになりそうだ。

アルゴリズムが進化して「パーソナライズ」ということが言われるようになり、私たち自身がアルゴリズムに組み込まれることとなった。加えて、そもそも「パーソナライズ」という言葉も矛盾しているように思える。「パーソナライズ」がアルゴリズムにより行われるおかげで、私たちは「自分で」(パーソナルに)パーソナライズすることができないのだ。また、アルゴリズム的に認識されている私たちの姿を変更することも、自由に行うことはできない。これは今現在だけの問題というわけでなく、そもそも「パーソナライズ」ということが、そうした方向で実現されつつあるのだ。

「パーソナライズ」を行うアルゴリズムに、「パーソナライズ」される側から関わることはできない。「パーソナライズ」の仕組みは完全にオープンなものではなく、わかりやすいものでもない。何がどのように影響するのかがよくわからない。どのような現象を把握して、判断指標としてどの程度の重み付けをされるのかがまったく見えないのだ。自分自身の行動も、またアルゴリズムにより把握されている自分自身さえも、自分では理解できない「データの塊」として存在するようになる。

「パーソナライズ」のアルゴリズム自体が、個人の判断に影響し、ひいては行動も影響を及ぼす。「パーソナライズ」のためのアルゴリズムが存在するのは、他のだれかが、ある人物の思考ないし行動様式を理解するためだ。今、必要なものも、あるいは将来必要になるものも、アルゴリズムにより判断されて(誰か他のひとの立場から)提示されることとなる。

「パーソナライズ」のアルゴリズムは、完全に「ニュートラル」の立場にあるわけではない。もちろんだからといって、「誰かによる支配」を直ちに招くというものでもない。しかし「パーソナライズ」のアルゴリズムは(たいていの場合)誰か他の人のものの見方から生まれたものだ。アルゴリズムを生んだ人のものにくらべ、「パーソナライズ」して利用する人のものの見方が軽んじられることはあり得る。ここから自らの考えを反映しない「パーソナライズ」が生まれたり、別の人の考えを押し付けてくるような現象に戸惑ったりすることもあるわけだ。

「パーソナライズ」はごく一面的な判断に基づいて、あるいは特定の一面を必要以上に強調して為されることがある。アルゴリズムにより生み出される「アルゴリズム的自己」(algorithmic self)は細かく分断されているのだ。たとえばAmazonとOkCupidにおける自分は別の興味をもつ人物となっているだろう。これによりアルゴリズム側の行う、どのような人なのかの判断も異なるものとなる。このように、場合場合に応じて特定の一面だけをとりあげて解釈することで、「パーソナライズ」を行う世界においては、人間はかなり「一般化」され、かつ「単純化」される。把握できた人間像と不一致であり、また現在の人間像の解釈にやく立たずなデータは捨て去られる。「必要」だと判断して集めたデータがあまりに薄っぺらいものであったような場合は、アルゴリズム側で「似た人」と判断する人物のデータを流用して補正したりする。すなわち「アルゴリズム的自己」は、統一的な深みなど持たず、特定の条件に定まった反応をする、いわば成長前のフランケンシュタインのようなものとなっているのだ。

しかも、そうして生まれた「アルゴリズム的自己」が、自らのコントロールを離れてうろつき回るような状況となりつつある。デジタル環境において私たちの代理人となるような存在は消え去りつつあるのだ。すなわちデジタル界には「私たち」はいなくなり、それであるにも関わらずその「アルゴリズム的自己」に基づいてさまざまな「パーソナライズ」したサービスや情報が提供されることとなってしまっている。このような状況は変える必要があるのではなかろうか。

「アルゴリズム的自己」は、器官を寄せ集めただけの「デジタル・フランケンシュタイン」のようなもの

人工「天使」を待望する

いろいろと言ってはきたが、果たして「パーソナライズ」のアルゴリズムが明らかになれば問題は解決するのだろうか。あるいはアルゴリズムがわかったところで、さほど役に立たない話なのだろうか。

きっと有効性は低いのだと思う。私たちのために働いてくれる人工存在を生み出す方が良さそうだ。新しい概念であり決まった用語もないので「人工天使」(algorithmic angels)とでもしておこう。困ったときには助けてくれるし、いつも私たちを守ってくれ、トラブルに巻き込まれたりしないように配慮してくれる存在だ。

もちろん不器用そうなクリッパーのことではないし、微妙なことになると「わかりません」を連発するSiriでもない。IBMのWatsonでもなく、もちろん悪意を持っているHALでもあり得ない。私たちのことを学習して、ともかく私たちを守ろうとする存在を想定しているのだ。デジタル世界の「アルゴリズム的自己」のいたらない点を補正してくれる存在であることが期待される。具体的な働きをイメージしてみよう。

「人工天使」は理由なく自由を制限するような動きに対抗してくれる。「パーソナライズ」にあたっての行き過ぎた個人情報提供を見張り、場合によっては情報提供を無効化する。不必要に情報を集めまくるサービスに対抗する術を与えてくれる。

別の選択肢を示し、物事の他の見方を示してくれる。私たちは偏見をもったり、あるいは一面的な常識に囚われてしまうことがある。それがために、アルゴリズムの提示する「事実」をそのまま受け入れてしまいがちになる。そのようなときに「人工天使」が登場し、妄執を戒めてくれる。新しい世界を開き、独善的な振る舞いを改める機会を得ることができる。情報を取り入れる新しいやり方が示され、新鮮で新しい気づきをもたらしてくれるのだ。

無用な調査の対象から外してくれる。「人工天使」のおかげで、実名と匿名を適切に使い分けることができるようになる。利用するサービスに応じて、適切な設定を行ったプロファイル情報を利用してくれる。もちろん、これは「人工天使」に任せっきりにするのではなく、自分でさまざまな設定を使い分けることもできる。

自分に関するデータの扱いを、主体的に決定できるようになる。人工天使のおかげで、自分に関するデータの流れを主体的に制御できるようになるわけだ。自身の詳細な情報に誰がアクセスできるのかを決めたりすることができるようになる。必要なときには、従来のやり方ではばらばらにされて存在していた「アルゴリズム的自己」をまとめて活用することもできるようになる。もちろんデータの安全性は担保され、データの取り扱いはあくまでも所有者の主体的意志にひょり決せられることとなる。自分のどのような情報をネット上に流し、どういった情報を削除するかを自分の意志で決められるようになるわけだ。

人工天使はデバイスや環境間の違いも吸収してケアしてくれる。自身の情報は、望んだように提供/制限されるようになり、必要としないマーケティング行動のためのデータとはならない。そのために、たとえばウェアラブルなどから収集する情報についても適切に扱ってくれる。

こうした機能をもつ「天使」の存在のおかげで、リアル/バーチャルの違いなく、統合的かつ主体的に提供する自己情報に基づいて生活できるようになるというわけだ。

もちろんときにはこの「人工天使」機能をオフにしたくなることもあるだろう。天使なき世界がどのようなものであるのか、いつでも見てみることができる。

「人工天使」が無敵の人工知能である必要はない。別の表現を使うのなら、人間ほど賢い必要はない。デジタル社会の進化にともなって広がるネットワークワールドでのふるまいについてスマートであれば、それで事足りるのだ。多くの人が創造する「人工知能」とは、求められるものが異なることになるだろう。私たちは人間の立場で考え、評価し、選択する。「人工天使」は「機械」風に考え、そこで得られる知見をすべて人間のために使ってくれれば良いのだ。

「アルゴリズム的自己」の出現シーンが拡大し、そうした「自己」が活躍する分野の重要性は増してくることだろう。そのようなときには、今までよりもさらに自己情報の管理を丁寧に行うことが求められる。自律的存在であり続けるために、アルゴリズムで動作する守護天使が求められる時代となりつつあるのだ。そうした存在なしには、とてもさまざまな「アルゴリズム的自己」を活躍させることなどできなくなる。

「人工知能」の行き過ぎが危惧されることも増えてきた。「人工天使」を生み出すことにより、意外に簡単にバランスがとれる話なのかもしれない。

(訳注:本稿は昨年4月にTechCrunchサイトに掲載されました。訳出を見送っていましたが、最近の状況との絡みで面白そうだと判断して訳出いたしました)

原文へ

(翻訳:Maeda, H

YouTube、iOSとAndroidのアプリで「あなたへのおすすめ」を全面アップデート

2016-04-27-youtube-large-thumbs

次にiOSAndroidスマートフォンでYouTubeアプリを開くと、ホームページが改良されているのに気づくだろう。

これまでYouTubeは「あなたへおすすめ」動画を多数のサムネールのリスト形式で表示してきた。 その後にさらにユーザーが最近再生したビデオと興味を持つテーマに沿った短いリストが続く。

新しいモバイル・アプリではすべての「おすすめ」ビデオが単一のフィードに統合され、その分サムネールは大きくなっている(大きすぎてスクロールしなければサムネールは2つぐらいしか表示されないかもしれない)。この変更により、「あなたへのおすすめ」は「急上昇」のタブとほぼ同一のデザインとなった。

YouTubeのプロダクト・マネジメント担当副社長、Johanna Wrightは私の取材に対して、「YouTubeはこれまで単一のリスト形式をテストしてきた。これは推薦アルゴリズムの改良をベースとしている。数週間にわたって一部のユーザーを対象に実験した結果、視聴したビデオの本数、滞在時間が増える傾向が確認できた」と語った。

Wrghtによれば、「数多くの改良を加えた結果〔推薦の精度が〕大きく改良されたので従来のようなグループ分けを廃止し、単一フィードに切り替えた。テストによれば、ユーザーは新しいデザインを好んでいる。YouTubeはきわめてデータ志向が強いチームであり、ユーザー体験の改良はすべてA/Bテストにもとづいている」という。

これに加えてWrightは、 Googleの新しい推薦アルゴリズムは、深層ニューラルネットワーク学習を基礎としており、1時間以内にアップロードされた最新のビデオも推薦の対象とすることができるなどリアルタイム性に優れているという。

「YouTubeが好みをよく理解しているということをユーザーに伝えたい」とWrightは言う。つまり新しいUIになって表示される「おすすめ」ビデオの数は多少減ったかもしれないが、いっそうユーザーの関心により正確に合致するようになっているはずだとYouTubeは期待している。新システムの「おすすめ」にはすでに登録しているチャンネルに最近アップロードされたビデオも表示される。これがYouTubeのクリエーターに影響があるかどうかも注目だ。

[原文へ]

(翻訳:滑川海彦@Facebook Google+

Googleの機械学習ライブラリTensorFlowがv 0.8から分散並列処理をサポート、訓練の高速化が期待

tensorflow_-_an_open_source_software_library_for_machine_intelligence

Googleが今日、機械学習のためのオープンソースのライブラリTensorFlowの、0.8をリリースした。こういう、小数桁のアップデートは、それほど重要でない場合が多いけど、TensorFlowはこのバージョンから、機械学習のさまざまなモデルを構築するための訓練プロセスを数百台のマシン上で並列に動かせるようになる。

これまで、TensorFlowを使って数日〜数週間を要していた複雑なモデルの訓練が、数時間でできるようになる。

同社によると、TensorFlowでかねてからいちばん多い要望が、分散コンピューティングだった。今回のアップデートにより、基本的には、最近発表したばかりの、クラウド上でホストされるGoogle Cloud Machine Learningを、すべてのデベロッパーが利用できることになる。

Googleによると、並列処理を担う全マシンをgRPCライブラリを使って管理する。また、画像を分類するニューラルネットワークInceptionのための分散トレーナーもローンチする。これはコンテナ管理サービスKubernetes使って、処理を数百台のマシンやGPUへスケールアップする。このリリースの一環として、これらの分散モデルを作るライブラリが、新たにTensorFlowに加わる。

TensorFlowを面倒なセットアッププロセスなしで試したい、という人たちのためにはブラウザー上のシミュレーターがあり、そこでTensorFlowのセットアップや深層学習の基礎を実験できる。

A_Neural_Network_Playground

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

このニューラルネットワークは、白黒写真に正しい色の「幻覚」を起こさせる

teaser3

機械が支配する未来は、歴史から白黒写真を排除してしまうかもしれない。必要なのは、バークレーのコンピュータ科学者、Richard Zhangの作ったこのシステムだけだ。魂のないシリコンの感性があらゆるモノクロ写真に色の「幻覚」を起こさせる

このシステムは、畳み込みニューラルネットワーク(CNN)と呼ばれる、画像認識の一種を利用して、人間の脳の下位レベルの視覚システムを模倣することによってパターンを認識し対象を分類する。おそらくGoogleのDeepDreamが、最もよく知られた例の一つだ。数百万枚の ― ありとあらゆる種類の ― 画像を観察することによって訓練されたZhangのCNNシステムは、白黒写真に写った物体を認識し、そうあるべきと考えられる色をつける。

例えは、草地には様々な特徴がある ― 質感、画像間に共通する場所、近くによく見られる特定の物、等。そして、草地は一般に緑色、だろう?そこでシステムはそこが草地であると見なすと、その部分を緑色に塗る。同じことが、ある種の蝶や建築資材、特定の犬種の鼻、等についても行われる。

processcompare

Zhangの着色プロセスを、他のシステムおよび元のカラー写真のいくつか(右)と比較している

システムを説明した論文でZhangは、この認識および色割り当てのプロセスを「幻覚化」と呼んでおり、実際その名の通りだ。本当はそこにないものを見ているのだから。実は人間が何かに色をつけるのと非常によく似たことを行っている。われわれは、見た物の形や模様を以前見た物と比較して、最も適したクレヨン(あるいは16進数)を選び出す。

当然結果はまちまち(AIシステムの結果はそれが多い)であり、アンゼル・アダムスの写真をカラー化するアイデアを私は受けつけないが(トーマス・キンケードやアンリ・カルティエ=ブレッソンも同様にいただけない)、実際、これは成功していると言わざるを得ない。Zhangらはシステムの有効性を検証するために、モノクロ写真のカラー版を2種類見せて選ばせた。元のカラー写真と、ニューラルネットワークの成果だ。20%の人々が後者を選び、それは大きな数字に思えないかもしれないが、これまでのカラー化の取り組みよりも、良い結果だった。

論文には技術情報が満載されているが、システムがいつどうやって失敗したか、最も納得いくもの、いかなかったものは何か、等の興味深い事例が数多く載っている。読んでみて(他の参照文献も)週末にコンピュータービジョン専門家の友達と話す新ネタを仕込むのもいいだろう。

[原文へ]

(翻訳:Nob Takahashi / facebook

返信を自動的に書いてくれるSmart Reply機能がWeb上のInboxにもやってきた

aouzsyekgim_1pqqiyk7phmxuijvmi4smkbbjvoeksvw0z5u9oczu7cjtakpxf7s-uttggs2048

Gmailチームが作ったInboxは、GoogleがGmailユーザーに贈る次世代eメールクライアントで、とくに、入信メッセージを便利に扱えるためのさまざまな機能がある。それらの中で、前から最良と言われている機能のひとつがSmart Replyだ。これは、Googleの機械学習のインテリジェンスがユーザーのメールを見て、とても短い三つの返信を提案する

これまで、この機能が使えたのはInboxのモバイルアプリだけだったが、しかし今日からは(米国時間3/15)、Webでも使える、Googleによると、モバイルアプリでは返信の10%がSmart Replyを使っている。

ぼくの経験では、Smart Replyが提案する返信は、使える場合が多い。というか、使える返信がたいてい一つか二つはあるから、なかなかお利口なアプリである。

ぼくはメールの返事が長い方だが、Smart Replyが提案する返事はセンテンスが3つか4つぐらいだ。でも、町を歩いていたり、空港であせって駆け足していて、しかもメールに早めにとりあえず返事しなければならないときには、とても便利だ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

DeepMindのAIに負けた囲碁の世界チャンピオンが最終戦直前のゲームで勝利…AlphaGoを上回る妙手で

screen-shot-2016-03-13-at-11-24-49-am

マシン3勝、人間1勝…これが、DeepMindのAlphaGo対人間の囲碁世界チャンピオンLee Sedolの、5番勝負のこれまでの結果だ。

先週GoogleがオーナーであるそのAIは、Sedolとの初戦に勝って歴史的な勝利を達成した。初めてマシンが、世界クラスのプロの囲碁プレーヤーを負かしたのだ。その後、そのアルゴリズムは続く2試合にも勝って3連勝を達成、5番勝負における勝利を確定した。

しかし、まだ2試合残っている今となってSedolは、(The Vergeによれば)第4試合に勝ち、人類のために1勝を取り戻した。

DeepMindのファウンダーDemis Hassabisのツイート(下図)によると、マシンの負けは、第78手におけるSedolの妙手に圧(お)されて、致命的なミスを犯したためだ。

AlphaGoは、囲碁というとてつもなく複雑なゲームをマスターするために、二つの人工知能テクニックを併用している。それは、深層学習(deep learning, ディープラーニング、多段構造のニューラルネット)とモンテカルロツリー検索(Monte Carlo Tree Search)だ。それによりこのAIは、数百万のゲームをシミュレートでき、その結果から学んだことを一般化して囲碁の戦略を作り出す。明らかにその成功率は高いが、しかし不敗ではない。

今年の初めにGoogleのブログ記事は、AlphaGoの前に立ちふさがる複雑性というチャレンジを、こう説明している:

“囲碁には陣形が1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000とおりありえる。それは宇宙の原始の数よりも多く、チェスの10の100乗倍である”。

AlphaGoのSedolに対する勝利は、彼が世界第二位のプロの囲碁プレーヤーであるだけに、見事という言葉しかないが、人工知能は未だに、やれることの幅が極端に狭い。言い換えるとそれらはいずれも、きわめて特定的なタスクのために設計されている。チェスに、あるいはJeopardy(ジョパディ)に強くなるため、とか。

人工知能の究極の目標は言うまでもなく、汎用性のある学習AIを作ることだ。多面的なインテリジェンスを適用して、さまざまな種類の問題を解けること。そしてHassabis自身も認めるように、今の単一目的のAIマシンですら、オフボードゲームの世界の混沌とした複雑性において勝利を獲得することからは、まだまだはるかに、遠い位置にいるのだ。

人間が行う仕事は、一見単純なものですら、…たとえば部屋を片付けるようなことでも…、そこに存在する変数の数は、もっとも高度なマシンインテリジェンスですら愚鈍に見えるほどに、膨大なのだ。だからわれわれ人間は、囲碁に負けたぐらいで落ち込む必要はない。

このAlphaGoシリーズの最終戦は、3月15日に行われる。ライブの実況を、 YouTubeで観戦できる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

TensorFlowライブラリによる機械学習モデルの、本番アプリケーションへの実装を助けるAPI集TensorFlow ServingをGoogleがリリース

2016-02-16_1335

Googleが今日(米国時間2/16)、TensorFlow Servingローンチした。これは、デベロッパーが着想した機械学習モデルの、プロダクション環境における実装を助けるオープンソースのプロジェクトだ。TensorFlow Servingはその名のとおり、Googleの機械学習ライブラリTensorFlowに向けて最適化されているが、しかし同社によると、そのほかのモデルやデータをサポートするよう拡張もできる。

TensorFlowのようなプロジェクトがあれば、機械学習のアルゴリズムを作ったり、それらを特定のタイプのデータ入力に対して訓練することが容易にできるようになるが、TensorFlow Servingはこれらのモデルをデベロッパーのプロダクション環境で(本格的なアプリケーションで)実際に使えるようにする。デベロッパーはTensorFlowを使って自分のモデルを訓練し、それからTensorFlow ServingのAPIを使ってクライアントからの入力に反応できるようにする。Googleによると、TensorFlow Servingは、マシンのGPUリソースを使って処理を高速化できる。

Tensor_Flow_Diagram1_TrainingPipeline_FINAL

ただしGoogleによると、このようなシステムがあるからといって、機械学習モデルのプロダクションへの実装工程が速くなるわけではない。デベロッパーはしかし、アーキテクチャやAPIの安定性を維持しながら、ほかのアルゴリズムやモデルを試すことができる。さらにまた、デベロッパーがそのモデルをアップデートしたり、出力が新しい入力データによって変わったりしても、アーキテクチャの安定性は維持される。

TensorFlow Servingは、Go言語ではなくC++で書かれている。そのソフトウェアはパフォーマンスの向上のために最適化されており、同社によると、16コアのXeon機上で1コアあたり毎秒10万以上のクェリを処理できる。

TensorFlow Servingのコードとチュートリアル類は、Apache 2.0のライセンスによりGitHubで入手できる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

MicrosoftのiOSアプリ“Fetch!”はあなたの犬の(そしてあなた自身の!)犬種を当てる

fetch

【抄訳】
Microsoftの新しい画像認識ソフトですら、私の犬の犬種は分からない。でも、それはしょうがない。しかし、あなたの犬が殺処分施設から救ってきた雑種犬でなければ、最新のMicrosoft Garageプロジェクト: Fetch!を楽しめるかもしれない。このiPhoneアプリは、犬の写真を見てその犬種を当てる。正確に当てられないときは、至近の犬種である確率のパーセンテージを出す。

そう、今あなたが思ったとおり、犬でなくて人間でもよい。

このアプリは、機械学習で何ができるかを、おもしろく見せる、というシリーズのひとつだ。今回のは、画像を見て、その内容に関する何らかの判断をする。人間が自然に行う直感的判断のようなものを、マシンは教えられること(“学習”)によって身に付ける。

[100%の確率でボーダーコリーです]
Screen Shot 2016-02-12 at 10.29.29 AM

 

Fetchでも分かるように、その学習過程は相当難しい。人間はいくつかの断片的な情報から、これまでに知った/学んだことに基づいて、その場で犬種などを当てることができる。しかしマシンは、正しい画像と犬種に関する専門的データとマシンインテリジェンスを組み合わせて、教えてやる必要がある。

このアプリの場合は、ディープニューラルネットワーク(deep neural networks)と呼ばれる機械学習のテクニックを使っている。

“…Microsoftはこのような分野ではとても進んでいる。互いによく似ている犬種でも見分けるし、同じ犬種の色違いにも対応できる。そのほか、犬種ごとの細かい違いが分かるのだ”、と、イギリスケンブリッジのMicrosoft Researchでこの犬種プロジェクトを作ったチームのディレクターMitch Goldbergが説明する。

“ディープニューラルネットワークのいいところは、あとから加えた新しい犬種を、新しい犬種だと理解できることだ。それはとても難しい問題なんだけどね”。〔通常のNNは、すでに学習済みの何かにマッチさせようとする。〕

というかFetchは、機械学習の難しさを一般のユーザーに分かってもらうためにMicrosoftが作った一連のプロジェクトの一つなのだ。

たとえば昨年Microsoftは、人間の写真からその人の年齢を推測するサイトを作った。結果は、Fetchと同じく、当たったり当たらなかったり。

さらに同社は、感情を識別する機械学習ツールに取り組んでいるし、

顔にヒゲをはやして行う資金募集キャンペーン”Movember”を賛助するMyMoustacheプロジェクトも作った。それは、同じような技術で顔面のヒゲ率を判断する。

それに、二人の人間が双子かどうかを判断するサイトも作った。

でも、今回の犬種アプリもおもしろい。うまく当たれば!

 

【中略】

このアプリに友だちの顔を見せると、その人に似た犬種を当てようとする。それらは、けっこう当たってる、と言える!?:

[アイリッシュウォータースパニエル]
1-Fun-Home-Result-1000px

 

ヒラリー・クリントンを、ウェストハイランドホワイトテリヤ、と判断した:

 

【中略】

私自身はマルチーズと判断され、まあそれは許せるけど、わが家の体重49ポンドの雑種犬がチワワはないよねぇ:

[91%の確率でチワワです]
IMG_3021

 

マシンたちよ、もっと勉強しないとダメだぞー。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Microsoftが機械学習ツールキットCNTKをGitHubに移しMITライセンスを適用

shutterstock_192614108

Microsoftが今日(米国時間1/25)、デベロッパが同社のComputational Network Toolkit(CNTK)を使って深層学習(ディープラーニング, deep learning)アプリケーションを作りやすいように、プロジェクトをGitHubに載せ、MITのオープンソースライセンスを適用することにした。Microsoftがこのツールキットをオープンソースにしたのは2015年の4月だが、コードはMicrosoft自身のCodePlexサイトでホストされ、これまでは大学向けの、制約のあるライセンしかなかった。

前のライセンスでも研究者たちはプロジェクトにアクセスできたが、プロダクション用途に使うとか、大学の外の環境でいじくることには向いていなかった。今度の新しいライセンスと、GitHubへの移行により、Microsoftはそのほかのユーザも惹きつけたいと願っている。

speed-comparison

Microsoftのチーフスピーチサイエンティスト(chief speech scientist)Xuedong Huangは今日の発表声明の中で、CNTKはとくにスピードが高度に最適化されている、と述べている。“CNTKツールキットは、これまでわれわれが見たどれよりも、桁外れに効率的である”、とHuangは言っている。ここでHuangが比較対象にしているのは、Googleが最近オープンソースにしたTensorFlowや、TorchTheanoCaffeなどのプロジェクトだ(上図)。

Microsoftの主張によると、CNTKのアドバンテージは、シングルコアの上でも使えるし、また、GPUベースのマシンの大規模なクラスタでも使えることだ。しかも、他社のプロジェクトに比べてスケーラビリティが良く、多くのマシンに対応できる(もちろん今その検証はできないけど)。

Microsoftは昨年、もうひとつの機械学習ツールキットDMTKを、ひそかにローンチしている。DMTKは”distributed machine learning toolkit”(分散機械学習ツールキット)の頭字語で、大量のデータを効果的に分析することに力点を置いている。

[原文へ]。
(翻訳:iwatani(a.k.a. hiwa)。

メッセージングアプリでコンピュータサイエンスおたくがデザイン偏重のWebに復讐する

chatapps

[筆者: Indus Khaitan](Oracleに買収されたエンタプライズモバイルのBitzer Mobileの協同ファウンダ。その前はソーシャルメディアのコンテンツ発見プラットホームSezWhoのCTO。)

初期のWebサイトは単純なHTMLだった。長いHTML文が何でも表現し、左右対称のページレイアウトが好まれた。CSSがなかったので、今日のように、HTMLのコードが三次元的に肥大することはなかった。ぼくは最初からCSSが嫌いで、今でも大嫌いだ。

敬愛すると同時に憎たらしくもあるデザイナーたちが、ぼくのWebを乗っ取ってしまった。彼らは、ぼくのシンプルなHTMLのコードを、CSSとJavaScriptの煮えたぎるマグマの中に放り込んだ。Webサーバ以外の部分では、元々デザイナーだった友だちの多くが、Webデベロッパやアプリのデベロッパになった。

しかしぼくは、あくまでもコンピュータサイエンスのエンジニアなので、Webデザインという軽薄なアートに手を染めることはなかった。その代わり、お金を払った。たくさんのお金を、Webデザイナーたちに払った。

Webのフロントエンドの開発は、今や混乱のきわみだ。フォームの記入欄を表示するといった簡単なことでも、10とおり以上ものやり方がある。そしてそれらのやり方は標準性がなく、どれもばらばらだ。ささやかなHTMLをCSSで粉飾し、それにJavaScriptを加えてページを100%混乱させる。言うまでもなく、同じマークアップコードを複数のJavaScriptフレームワークが管理していると、混乱は倍増する。もっとひどいのは、複数のデベロッパが触ったページだ。それは、複数の外科医が昼休みにバーガーを食いながら手術をした患者の体になる。

モバイルアプリともなると、デザイナーへの依存度がWebの10倍になる。さまざまな画面サイズや、解像度、ボタン、画像、それらと絡み合うテキスト…これらを管理しなければならない。そしてルックスがすべてに優先するから、関係データベースの湖から流れ出るビットの内面的な美を鑑賞する楽しみは、消え去る。

でも、解脱の時が近づいている。チャットのウィンドウが、新しいユーザインタフェイスになりつつある。エージェント(人間またはマシン)と会話をする、仕事はそれだけだ。今日の、ごてごてしたWebページと違って、メッセージングアプリにはマークアップがなくて、テキストをネットワークに乗せるだけだ。Human Computer Interaction(HCI)の理論は、人間の日常の動作に倣え、と教える。メッセージングアプリなら、それが可能だ。

チャットでコンピュータサイエンスが再び輝きを取り戻す。

メッセージングアプリは今でも、新種が続々出ている。Magic, GoButler and Operatorなどなど、WeChatの成功の後を追うアジア製が多い。いずれも単純なテキストメッセージをやりとりするだけがアプリの仕事だが、料理の注文も、タクシーの呼び出しも、航空券の予約も、何でもできる。どれも人間の生活を助ける人間コンシェルジュが相手だが、中には人間とマシンの対話もある。後者の場合でもしかし、人間の日常の会話を真似ている。人間がエージェント(人間または機械)に話しかける。向こうにいる人間またはマシンがメニューを説明し、配達してほしい品物の購入トランザクションが完了する。

チャットでコンピュータサイエンスが再び輝きを取り戻す。Webページやアプリの画面で、何をどこに置こうか考えるのではなく、チャットアプリでは、機械学習やデータ構造をめぐって本物のイノベーションが起きている。単純なテキストによる会話が定型データへと整理され、JSONのペイロードを介してどこかのAPIに投入される。

今日では、アプリの多くを人間がサポートしている。ときには、人間の大群が。でも彼らの仕事には、機械学習の技術が使いやすくなったために、完全に自動化できるものが多い。たとえば、誰でも使える機械学習エンジンIBM Watsonをベースとして、(Facebookが買収した)wit.aiのような新進スタートアップが続々登場している。Y Combinatorの傘下にも、MonkeyLearnのような機械学習大衆化サービス、AIaaS(artificial intelligence-as-a-service)が増えているという。

機械学習をクラウドサービスとして使えるようになり、メッセージングがユーザインタフェイスになれば、今や時代は再び、コンピュータサイエンスおたく(nerd)のものだ。メッセージングアプリによって、今日のWebページが陥(おちい)ってしまった軽佻浮薄なフレームワークにおさらばできる。そして、人間と機械の対話の、単純性を取り戻せるのだ。

[原文へ]。
(翻訳:iwatani(a.k.a. hiwa)。

NVIDIAのGPU最新製品二種は機械学習/深層学習/大規模データセンターに最適化、今やアクセラレータはゲームのためにあらず

12141_nvidia_tesla_m40_gpu_accelerator_angleright

今やGPUは、Crysisを高いフレームレートでプレイするためにある、という時代ではない。何らかの大規模な変換処理を行うコンピューティング技術の多くが、今ではGPUを使って並列処理の高速化を図っている。

ビデオのエンコーディングはその典型的な例だが、最近では機械学習もそのひとつだ。NVIDIAはとくに後者に力を入れており、今日(米国時間11/10)は新しいハードウェアアクセラレータ二種と、デベロッパやデータセンターの管理者がこれらのアクセラレータを深層学習とその上での画像/ビデオ処理に利用するための、一連のツールを発表した。

new_hyperscale_accelerators-624x322

さらにNVIDIAは今日、Mesosphereとのパートナーシップを発表した。Mesosphereは、大規模なデータセンターをあたかも単一のリソースプールのように管理できる、コンテナベースのツールで、NVIDIAとの提携により、“Webサービスの企業がアクセラレータを導入したデータセンターを構築およびデプロイし、次世代のアプリケーションに備えられるようにする”、としている。

DL_dog_340x340

MesosphereとNVIDIAの提携は、データセンターのオペレーティングシステムを自称するMesosphereを介してApache Mesosを使用するデベロッパにとって、データセンターでCPUやメモリ等のリソースと同列にGPUも利用できることを意味する。コンピューティングリソースとしてのGPUが単一のプールへとクラスタ化され、ソフトウェアが複数のジョブを、その互換GPUが動くさまざまなマシンへと自動的に分散化する。

NVIDIAが今日発表した二つのハードウェア製品、M40とM4 GPUアクセラレータは、とくにM40が機械学習向けに最適化され、データセンターでの使用をテストされている。M4も同様に最適化されているが、消費電力の低いビデオ処理などに向いている。

今ではAWSやMicrosoft(Azure)など、多くのクラウドベンダがGPUをメインに使った仮想マシン*を提供、または近く提供の予定だ。ほとんどの場合、使用しているのはNVIDIAのGPUである。Googleは社内的には機械学習を大々的に展開しているが、一般ユーザ向けのクラウドプラットホームにはGPUメインのインスタンスがない。でもおそらく、Google独自の機械学習サービスの提供開始と並行してGPUインスタンスも提供されるのではないか、と思われる。〔*: 日本語ページ。〕

nvidia-tesla-accelerated-performance

[原文へ]。
(翻訳:iwatani(a.k.a. hiwa)。

自分のスマホで簡単な手作業バイトができるSpare5、シリーズAで$10Mを調達

Spare5_4

企業はSpare5を利用して、写真にタグ付けをするとか、コンテンツを分類整理するなどの細かい雑務を、停留所でバスを待っているスマートフォンユーザ(==ひまな人)にやってもらい、その‘賃金’を払う。それはまるでAmazon Mechanical Turkのモバイルバージョンみたいだが、同社はこのたびシリーズAで1000万ドルを獲得した。このラウンドをリードしたのは、Foundry GroupMadrona Venture GroupNew Enterprise Associates(NEA)の3社だ。

同社によればこの新たな資金は、“エンジニアリングとデザインとマーケティングとコミュニティ管理とCRの拡充”に充てられる。

Spare5によると、アメリカ人はスマートフォン上で大量の時間を消費しているから、“コンピュータにとって苦手なデータ関連の問題の解決を手伝う時間”ぐらいあるはずだ、という。

Spare5のCEOで協同ファウンダのMatt Benckeは、次のように語る: “企業はつねに、コンピュータだけでは解決できないデータの問題を抱えている。わが社は、人間にしかできない能力の‘生産性’をテクノロジを利用して増幅している。それは顧客にとって、ほかの方法では得られない、速くてコスト効率の良い成果達成方法だ。オンラインのお店でも、リッチコンテンツのパブリッシャーでも、機械学習エンジンを訓練している企業でも、人間の頭と心にできることが、必要なはずだ。わが社はそういう、人間ならではの能力を、ITに革新をもたらす新しいクォリティおよび価値として提供する”。

同社は、人びとがこのサービスでどれぐらい稼いでいるのか、については口を濁した。でもたぶんその額は、Googleが同社に有利なコメントを書いた人たちに払ったとされる月額8354ドルよりは、ずっと少ないだろう。彼らは、一日に数時間、仕事をしただけだけどね。

Spare5_1

同社によると、Spare5は職業ではなく、今後職業にしていく気もない。支払額は仕事の複雑さやクォリティや生産性によって大きく異なる。だからそれは、‘一定の時給’と見なすことはできない。中には、これまで数百ドル稼いだ人もいる。Spare5は職業でも副業でもなく、ちょっとした手仕事のマーケットプレース、だそうだ。

Amazon Mechanical Turkの場合は、ワーカーの約50%が合衆国で、40%がインドだ。Spare5では、ユーザ*の約90%が合衆国で、男女半々ぐらい、その多くは30歳以下だそうだ。〔*: ユーザ、Spare5を利用する仕事の発注者ではなくて、Spare5のワーカーのこと。〕

Spare5のユーザは登録時に一連の質問をされるし、またFacebook経由で接続しなければならない。仕事は、ユーザのスキルや趣味に基づいて割り当てられる。

“仕事をしてくれる人とその結果のクォリティを維持するために、独自のアルゴリズムを使っている。それには、専門学者が発表しているいくつかのベストプラクティスも含まれている。そのようにして、高品質な結果を企業顧客に届けている”、ということだ。

ひまなとき、Angry BirdsをプレイするよりはSpare5で写真のタグ付けでもした方がいいや、と思える人たちが、今後どれぐらい増えるだろうか。賃金が安過ぎたら、一度で懲りて、またFist of Furyのプレイに戻るだろうけど。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

これからのアプリケーションはデータセンタースタックを必要とする

grid-platform-data

[筆者:Derrick Harris ]
編集者注記: Derrick HarrisはMesosphereのシニアリサーチアナリスト。Harrisは最近GigaOMに、クラウドとビッグデータについて書いた。

インターネットはこれまでの20年間で生活を大きく変えた。Webとモバイルのアプリケーションで、どこからでも、情報の検索と買い物とスムーズなコミュニケーションができ、しかもそのスピードは、これまでありえなかったほどに速い。車のダッシュボードでおすすめの映画を知り、携帯電話でビデオの制作と掲載ができる。温度計を買えば、仕事に出かける時間に暖房を消してくれる。

テクノロジ業界の外にいる人には、これらの技術進歩がマジックのように見えるかもしれないが、実際にこれらのアプリケーションを作っている人たちは、そこにどれだけ多くのものが込められているかを理解している。でも最近ではビジネスの世界にいる人たちみんなが、それを理解していることが重要になりつつある。

その理由は簡単だ: 優秀な企業は、次の10年の企業競争で落伍しないためにはITについてまったく新しい考え方をしなければならないことを理解している。モバイルアプリから冷蔵庫に至るまでのあらゆるものが、さらに一層個人化され、一層インテリジェントになり、より機敏に反応しなければならない。企業は機械学習を行い、センサのデータを取り入れ、ユーザのトラフィックの予期せざる急騰に無事に対応しなければならない。

後戻りはできない。アプリケーションが、ユーザが期待する体験を提供できなければ、彼らは、それを提供できるほかのアプリケーションを見つけるだろう。

アプリケーションのアーキテクチャの革命

アプリケーションとWebサイトのユーザは、過去数年間で百万のオーダーに達し、アプリケーションのそれまでのアーキテクチャは、その膨大な量のトラフィックとユーザデータに対応できなくなっている。さらに最近では、その大量のデジタルデータを有効利用しようという欲求が生まれ、その目的だけに奉仕するまったく新しい種類の技術への関心が芽生えてきた。

それらの技術には多くの場合、サーバの複数のクラスタにまたがって容易にスケールできるように設計された新しいストレージや処理能力、およびデータベースのフレームワークを作ることが含まれている。またさらに、これら各部位間の情報の移動を単純化し、高速化することも求められる。GoogleやLinkedIn、Facebook、Yahoo、Twitterなどの大きなインターネット企業では、この同じ一般的パターンが、何度も何度も繰り返し実装されている。

たとえばデータベースのレイヤでは、ほとんど誰もが関係データベースからスタートし、今になって新しいプランを考えなければならなくなっている。一部の企業は、MySQLデータベースをその自然な限界を超えて酷使するために、秘かに何百万ドルもの費用と人時間を投入し続けている。逆に新しいデータベース技術を作ったところもあるし、新旧の二股をかけているところもある。

またビッグデータの処理でも、新しいパターンが生まれている。具体的な技術はさまざまでも、今の大型Web企業に共通している新しいアーキテクチャは、データ処理のリアルタイム部分と、準リアルタイム部分と、バッチ部分という三層構造だ(下図)。必要に応じて、個人化されたWeb体験やコンテンツ体験をリアルタイムで高速に提供しなければならない。しかしまた同時に、社内のデータアナリストやデータサイエンティストたちが、データの集合に対して彼らの能力を十二分に発揮できなければならない。

MachineLearningArchitecture-v3

アプリケーションの構成部位としてのデータセンター

今ITに起きているイノベーションは、ものすごいスケールだ。GoogleやFacebook、Amazonなどは日々数十億のユーザに奉仕し、数百万件のユーザ対応処理が並列で行われている。それと同時に、大量のデータが保存される。しかしそれでも、彼らはめったにクラッシュしない。Twitterも、インフラストラクチャに思い切った投資をしてからは、あのfail whale(クジラさん)が現れなくなった。

これらの企業はこれまで、MapReduce、Hadoop、Cassandra、Kafkaなどなど、数々の技術を生み出してきた。また無名のスタートアップやデベロッパたちも、主にオープンソースの世界で、アプリケーションのパフォーマンスをとスケーラビリティを高め、ときにはまったく新しい機能を実現するための新しいツールを作ってきた。それらの中では、Spark、Storm、Elasticsearchなどがとくに有名だ。

また、そのような極端に巨大なスケールでも安定して動くアプリケーションを開発するための、アプリケーションの新しいアーキテクチャも生まれてきた。

たとえば、今いちばんもてはやされているのがマイクロサービスだ。これはアプリケーションを個々のサービスの集合として構成するアーキテクチャで、部品であるサービスは複数のアプリケーションから使われてもよい。これまでの、一枚岩的なアプリケーションアーキテクチャでは、各部位がそのアプリケーションの専用の部品として閉じ込められている。しかし、自立した個々のサービスの集まり、という新しいアーキテクチャでは、各部位間や、部位と特定のアプリケーションとのあいだの依存性がなくなり、サービスのスケールアップをアプリケーションの再構築を必要とせずに実現できる。

また、マイクロサービスと並んでビッグなトレンドになっているのが、コンテナ化だ。コンテナは、Dockerのようなデベロッパフレンドリなフレームワークを利用して作ってもよいし、もっと低レベルにLinux control groupsを使ってもよい。コンテナに収めたアプリケーションは分散サービスに容易にプラグインでき、いつ何をどこで動かすか、などをいちいち気にする必要がなくなる。コンテナがあることによってデベロッパは、自分のアプリケーションの機能や構造の磨き上げに集中できる。

以上のような、分散サービスの集合体とコンテナ化という新しいアーキテクチャ技術を一つの全体として見た場合には、それを“data center application stack”(データセンターアプリケーションスタック==アプリケーションの基本構成要素としてのデータセンター)と呼べる。奉仕すべきユーザが複数のプラットホーム上に何百万もいるようなアプリケーションを作り、それらのアプリケーションが多量かつ多様なデータをハイスピードで利用していくときには、どうしてもそういう、サービスの集合体的なものを使うことになる。したがって高性能なデータセンターが、いわば、アプリケーションの心臓部になる。

これらは、将来そうなるという説ではなくて、今急速に進展しているトレンドだ。巨大な消費者アプリや、Salesforc.comのような巨大なビジネスアプリケーションを志向するスタートアップたちのあいだでは、これらの技術がすでに常備品になっている。

またデベロッパやスタートアップだけでなく、企業も変わりつつある。Fortune 500社だけでなく、ITのイノベーションとは無縁と思われていた中規模の企業ですら、インターネットの時代に対応しようとすると変わらざるをえない。したがって彼らも、今ではデータセンターが提供するサービスに関心を持ち始めている。データセンターのアプリケーションスタック化は、企業の内部にも浸透していく。

“ビッグデータ”と“リアルタイム”と“物のインターネット(IoT)”は、今や単なるバズワードではなく、21世紀の経済において企業の成功を左右する必修科目だ。

そしてデータセンターアプリケーションのためのオペレーティングシステムが

しかしこれらはいずれも、実装が難しい。Hadoopをデプロイして管理してスケールする。Cassandraを〜〜〜〜。Kubernetesを〜〜〜〜。等々。使用するフレームワークやサービスごとに、あなたは手を洗って同じことを繰り返す。実装の困難さは、口にしてもしょうがないから、誰も口にしない。だから、世に氾濫する‘かっこいい話’には出てこない。

でもある時点で企業は、それまでのアプリケーションの書き方を反省し、データのパイプラインを築くことで、より強靭なアーキテクチャを確保したくなるだろう。

GoogleやMicrosoftのような、大きくてエンジニアをたくさん抱えている企業は、この問題をBorgAutopilotなどのシステムを自分で作って解決してきた。こういうシステムがあると、リソースの適正な割り当てを自動的にやってくれるから、何百万台ものサーバにまたがって動くサービスやアプリケーションの高い可用性が確保される。デベロッパやソフトウェアアーキテクトが頑張らなくても、アルゴリズムが、どこで、何を、どれだけのマシンの上で動かすかを決める。

しかし、BorgもAutopilotもすばらしいシステムだが、どちらもプロプライエタリだ。Googleが某論文の中で、Borgというものの存在を認めたのも、ごく最近のことだ。MicrosoftはAutopilotについて、ほとんど何も明らかにしていない。そしてBもAも、一般的なサービスとしては提供されていない。

そこで、Mesosphereだ、というお話になるのだが、それは次の機会のお楽しみに。

periodic-table-721x411-ea2b3e75968fbb5dd814f2a2cdc926ec

〔原文のコメントに、Microsoftの元社員からの反論があります。〕

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Algorithmia―研究者とスタートアップをつなぐユニークなアルゴリズムのマーケットプレイス

Algorithmiaは昨年8月に240万ドルの資金を調達したスタートアップだが、強力なアルゴリズムを発明した研究者とソフトウェアのデベロッパーを結びつけるマーケットプレイスのプライベート・ベータテストを開始した。

このマーケットプレイスにはすでに機械学習、音声画像処理、コンピュータビジョンなど800のアルゴリズムが登録されており、デベロッパーのさまざまなニーズに応じられるようになっている。

このサイトにアルゴリズムを登録した発明者は、そのアルゴリズムの利用者から料金を受取ることができる。Algorithmiaではアルゴリズムの募集にあたって懸賞金システムを用意している。ソフトウェアのデベロッパーが特定の機能を果たすアルゴリズムを募集すると、その分野に詳しい研究者が、料金を取り決めた上で、スクラッチで開発を始めるという仕組みだ。

このサービスに登録されたアルゴリズムのデモとして、サイトにはウェブ・クローラーの動作をシミュレートするアプリが公開されている。これには7人の研究者のアルゴリズムが利用されているという。クローラーの動作はビジュアル化され、ノードの重要性に基いて色分けされる。ノードごとのページランクも一覧表示される。

〔日本版〕Algorithmiaのデモは、デモとは思えない強力なアプリで、興味深い情報が得られる。 http://jp.techcrunch.com/ などと入力してMap Siteボタンを押すとトップドメインから順次下位ノードをクロールする。デフォールトでは20段階先までクロールする。紫色がもっともページランクの高いノードとなる。マウスをホバーさせるとURLが表示され、クリックするとリンク先内容がサムネールで表示される。 http://www.yahoo.co.jp/ のような巨大サイトを20段階クロールするのには数十秒かかるが、ダイナミックなビジュアルを見ているだけでも面白い。またサイトの構造がよくわかる。 クロールを5,6段階に制限すると個別のノードが見やすくなる。

画像:Algorithmia

[原文へ]

(翻訳:滑川海彦@Facebook Google+


Microsoft、クラウドベースの機械学習プラットフォームAzure MLを発表を正式リリース

企業には日々四方八方から大量のデータが流れこんでくる。顧客、ソーシャルメディア、モバイルアプリ、センサー、Excel表計算ファイル等々、その種類と量は増えるばかりだ。Microsoftは企業のビッグデータ処理を助けるためクラウド上の機械学習のAPIを公開した。

今日(米国時間2/18)、MicrosoftStrataカンファレンスで、クラウド機械学習サービス、Azure Machine Learningを正式に発表した。このサービスは6月にベータ版が公開されていたが、今回の正式リリースを機に機能のアップデートも行われた。

われわれは6月の記事で、「Azure MLはXboxやBingですでに使われている機械学習機能を利用している。またデベロッパーが未来予測アプリを開発するために使うテンプレートとワークフローも用意される。これによって機械学習アプリを開発するスピードは大幅に加速されるという。サービスのプロバイダはAzure MLプラットフォーム上で各種のウェブサービスを開発できるだけでなく、APIを公開することも可能になる」と解説した。

Azure ML担当のコーポレート・バイスプレジデント、 Joseph Sirosh,はMicrosoftで現在の地位に就く前にAmazonで長く機械学習を担当していた。Siroshによれば、人気のあるデータ処理言語Rに加えて、今回のアップデートで新たにPythonがサポートされたという。

「われわれはPythonを追加したが、これは多くのデータ・サイエンティストに好まれている言語だからだ。Pythonのエコシステムは巨大だ」と SiroshはTechCrunchに語った。

またSiroshによれば「われわれはPythonの追加以外にも多数の改良を行った。Azure Machine Learningはプラットフォームだ。デベロッパーはPythonの短いコードをコピー&ペーストするだけで新たなAPIが作成できる」という。

新しいAzure MLプラットフォームはPythonに加えてHadoopとSparkもサポートした。 これでビッグデータを処理するための標準的ツールはプラットフォームを選ばず、ほぼ全面的にカバーされることになる。

このプラットフォームの真の強みは簡単にAPIを作成し、即座にカスタムデータ処理を開始できるところにある。

「クラウドは『最後の1マイル』問題も解決した。以前このようなサービスではまずデータ・サイエンティストがビッグデータを分析してパターンを見出し、IT部門がそれに応じてアプリケーションを開発するという手順を踏む必要があった。このプログラムのコーディングがきわめて手間のかかる作業であり、何週間、何ヶ月もかかっていた。しかしAzure MLならアプリケーション開発は数時間ですんでしまう」と Shiroshは6月の記事で説明している。

Siroshは今回プラットフォームのサポート範囲が広がったことに満足している。「データサイエンティストはクリック数回で新しいAPIを発行できるようになった。アプリケーションにはRとPythonのコードを組み合わせて利用できる。ユーザーには信じられないほど広い選択肢が提供される」と述べた。IBMやSASも同種のサービスを提供しているが、Azure Machine Learningプラットフォームほど統合的なサービスは他にないという。

「Azure MLは完全に統合され、マネージされたツールセットだ。ユーザーは新たにハードやソフトを用意する必要が一切なく、クラウドで完結した高度な機械学習とビッグデータ分析が実行できる」ということだ。

またAzure MLでは機械学習とデータ処理のツールが提供されるだけでなく、ユーザーは自ら開発したアプリやAPIを他のユーザーと共有できる。Siroshは「これはデータサイエンティストが新しいアイディアを試すのに絶好の環境だ」と強調した。

マーケットプレイスには現在、20件のテスト・プロジェクトが登録されているが、Siroshは「マーケットプレイスの可能性は巨大だ。将来、エンタープライズのあらゆるデータ処理ツールがこのマーケットプレイスで得られるようになるだろう」予測する。

Azure MLは標準的なデータの視覚化ツールを備えているが、さらに高度な視覚化のためにはMicrosoft Power BIIPython Notebookと連携させることができる。

画像:CanStockPhoto

[原文へ]

(翻訳:滑川海彦@Facebook Google+