100倍で考える

岡野原 大輔
リサーチャー

2014-10-06 15:21:11

私が最近強く印象に残った言葉が10倍で物事を考えるです[wired]。
これが私の記憶の中で拡大解釈され、今は100倍で物事を考えるようになっています。

「100倍」というのは一見すると不可能なことの例えのように思えますが、決してそんなことはありません。

どの程度現実的か例をあげて考えてみましょう。

DWH(DBと考えても良いです)という分野を考えてみます*1。

*1 この分野は専門家ではないのであくまで外から見ている素人の意見です。

2014年10月現在 Google BigQueryは1GBの保存に月あたり 約3円、クエリ時1TBスキャンあたり500円という価格設定です。基本的なDBの操作は全部できて、その上でユーザーが自由に関数を定義できて、画面とつながって結果が数十秒で返ってきてです。これはこの分野を知る人にとっては衝撃的な価格です。

1昔前、DWHの世界では製品が数千万から数億円という範囲で売られていました。別に価格を不当に高く設定しているわけではなく、提供するためにそれだけのコスト(研究開発費、ソフトウェア開発費、サポート費など・・)をかけているため、このような高価格にベンダーは設定し、また他にできる製品もないためこの値段設定でもどんどん売れていました。

その後、Hadoopをはじめとして様々なOSSやそれを元にしたサービスが登場し、DWHの価格は急速に下がっていきます。Amazon Redshift(名前からして、高価格な赤色の製品を意識していると思います)がでてきた時、これはすごいのがでてきたと思った記憶があります。しかし現在のGoogle BigQueryはそんなRedshiftさえ一昔のものと思わせてしまうような機能、価格、先見性(配列を自然に扱えたり、許可さえあれば違うユーザーのテーブルとJoinできたりするなど)があります。

このDWHという世界では10年ぐらいのスパンでみれば1万倍以上の価格性能比の改善がみられました。おそらく今後もAmazonとGoogleの巨人たちが競争する限りコストは下がり機能は向上し続けるとみられます(囲い込むため殆ど無料に近いところまでいくのではないかとも思います。)

では、なぜ100倍のようなスケールでの変化が可能なのかを考えてみましょう。

ビジョナリー・カンパニー2という本で弾み車の例がでてきます。
弾み車は一度回し始めると惰性である程度は回るような車です。なので小さな力を同じ方向に与え続けると時間はかかりますが巨大で重い弾み車であっても高速に回すことができます。
企業や製品の中でも全く同じことが言えます。同じ方向に小さくても力を継続的に与え続けることで、外からみるといつの間にか革新的な変化が起きているように見えるのです。100倍という差も小さな変化の積み重ねで達成されるのです。

それでは、具体的にどのくらいの改善を積み重ねられれば100倍を達成できるかを定量的に見積もってみましょう。目標としている性能を1日あたり1%向上できるとします。1日目には1.01倍、2日目には1.01 * 1.01 = 1.0201倍です。1%を加えるのではなく、掛けるところに注意してください。

このペースで100倍の性能向上を達成するにはどれだけの時間が必要になるでしょうか。これは私自身計算して驚いたのですが、たったの460日です。週5日でやったとして約2年です。毎日1%改善すれば、2年後には100倍の差になって現れます。(この別な説明として収穫加速もありますが、ややこしくなるのでこれはまた別の機会に)

方向を明確に定めてそこに集中して弾み車を回し続けることで加速的に改善することで100倍のスケールで改善することができます。ここにコツコツ努力を積み重ねる大切さがあります。

この事実を受け入れたとして、いくつかの話題を考えてみましょう。

(1) 人、組織について

まずは改善し続ける人、組織とそうではない人、組織との差についてです。改善がもし達成できるのであれば最初のパフォーマンスというのはそれほど重要ではなく、改善し続けられるのかが重要なように思えます。改善できる場合、そのような人、組織は指数的に改善していきます。

(2) 改善と結果の関係

改善するといっても、方向が間違っているといくら改善しても役に立たないものができます。
これが特に難しいのは、最初は改善が顧客の満足度に直結していたのが、ある時点から改善が顧客にとって改善が許容できる誤差になってしまう点です。いわゆるイノベーションのジレンマの根っこもここにあります。

改善による差別化ができなくなると、改善を必要としない(例えば研究開発部門を持たない)企業が低コストで真似できるようになり、いわゆるコモディティ化が起きます。その結果、差別化が価格面でしかできなくなり利益が急速に悪化します。このような現象は過去より繰り返されてきました。昔は繊維、今は家電、PC、そして直近ではスマホなどでしょうか。

基本的に「大きくなるだけ」しか差別化できなくなるようになったら、その分野はコモディティ化しはじめていると思います。

(3) スケールメリット

この話は少し長くなります。

0から1を生み出す発明とは違って、改善の場合は(人的)資源を投入すれば達成できる場合が多く、いわゆるスケールメリットが効くという特徴がみられます。

国内だけや特定の業種向けの製品・サービスが最初は成功していたのが、(参入障壁が無い限り)時間をかけてみれば必ず巨大な資源を持つ企業がやってきて、最初は見劣るいけていない製品をスピード重視で出して宣戦布告をし、これならまだ気にする必要はないと思っているうちに、ものすごい勢いで改善を繰り返しあっという間に追い抜いて駆逐されるというのを見てきました

そのため、中小企業は(大企業からは魅力的にはみえない)ニッチな市場を狙っていない限り、生き残ることができません。

具体例を出してみましょう。

1990年代後半から2000年代はじめにかけてMicrosoftはPCの世界の覇権を握っていました。新しい市場が生まれ、そこで生まれ育った企業がでてきて次のMicrosoftになるのではと期待されるたびに、ものすごい速さでMicrosoftはそこに資源を投入し(ある場合は有力企業を買収した上でそれを起点とし)、中小企業では太刀打ちできない改善スピードを持ってしてそうした脅威を早いうちに叩いていきました。
このへんの話は例えばNetscapeがどのようにMicrosoftに徹底的に壊滅させられたかはその当時のNetscapeの中心人物だったHorowitzのにその時の様子が載っています。また、Internetの可能性に気づいたゲイツがいかに素早く対策をとったかについても現在は広く知られています。
実際2000年前半の頃までは、Microsoftにかなう企業はもうでてこないだろうと思われました。それほどMicrosoftは巨大でありかつ俊敏であったのです。

しかし、1998年にGoogleが誕生しMicrosoftからは(その当時は)魅力的ではないウェブ検索という分野で成長し始めます。GoogleにはMicrosoftに叩き潰されて来た人たちが多くいたので、どのようにしたら勝てるのかを考え抜いていました。Googleは検索連動型広告、コンテンツ連動型広告が莫大な収益をあげることをIPOするまで隠し続け、その間に自社の基盤や組織を育てあげ、想定されるMicrosoftからの強烈な攻撃を跳ね返すことができるほどまで成長することができました。

その後どうなったかについてはみなさんご存知の通りです。
一方でGoogle自身もその後FacebookにSNS、AmazonにCloudの分野では資源を投資しても追いつかない状況まで許しています。当時Google CEOだったシュミットは、なぜ対策を打てなかったのかを「忙しかったから」と答えています。実際大企業で巨大なビジネスを動かしながら、新しい芽に目をくばることは想像以上に難しいことだとは思います。

このようにスケールメリットが成立する世界で勝つには、成長する市場の中で大企業が気づかないうちに育ち、後で大企業が資本を投下して猛攻してきても追いつかないようにぶっちぎらなければなりません。

ぶっちぎることができなければ、ある程度大きくなってもその後全てとられてしまいます。ほどほどで生きるということができないwinner-take-allの世界です。

今は、Google, Amazon, Appleの巨人達が世界をつぶさに見張っています。しかし、歴史は一時期の覇者は次の覇者になることはできないことが多いことを示唆しています。大型コンピュータ、ミニコン、PC、スマホ(クラウド)へ。そのたびにプレイヤーは変わってきます。チャンスが無いわけではありません。彼らに勝つには彼らに気付かれないように次の市場でぶっちぎる必要があります。

(そして私達はPreferred Networksという会社をこっそり作りました。)

=======

この変化が激しい世界では10%の改善ではなく10倍、できれば100倍の改善を目指し、そして100倍になった世界はどのようになるのかを想像することがとても大切です。今のデータセンターがチップ一つに収まるとしたらどうなるのか、カメラが人よりも高精度に人や物を認識できたらどうなるのか、プログラマの人口が今の100倍になり、Word, Excelを書いている人がみなGoやSwiftを書くようになったらどうなるのか(その先には機械がプログラミングをするようになる世界がありますが)、そうした世界を想定し、その方向に向かって進めていけるかどうかが重要となります。

10年後の世界を考える人はクレイジーと思われるぐらいがちょうど良いぐらいなんだと思います。

Software Designの6月号でFluentdの記事書いてました

repeatedly
エンジニア

2012-05-11 13:24:48

ArangoDBに嵌まっている中川です.

今月18日に発売されるSoftware Design 6月号Fluentd特集があり,記事を寄稿しました(下の画像はAmazonリンク).

Software Design (ソフトウェア デザイン) 2012年 06月号
特集の構成は,作者である古橋君の「Fluentdとは何ぞや?」から始まり,NHNやCOOKPADというFluentdを既に本番投入しているサイトの事例紹介,最後に私が担当したプラグインの書き方について,という流れです.

紙面の都合上全てを書くことは出来ないので,プラグインを書く・動かすために必要なことに絞って書きました.「なんでプラグインはこういう書き方になってるの?」というドキュメントにはないけど疑問になりそうなところも書いたつもりなので,今後プラグイン書こうかなぁと思っている人の助けになればと思います.

Fluentd Casual Talks

後,偶然にも発売日と同じ日にFluentdのイベントがあります.執筆陣の他,Treasure Dataの中の人たちも参加するので,色々Fluentdに関して聞けると思います.私もLTで特集記事では書けなかったことを喋るつもりなので,参加される方々はよろしくお願いします.

Fluentdは社内で既に使ったりもしていて,いずれは製品でも使いたいなぁというプロダクトなので,皆さんもログやイベント周りで困っている所があれば試してみましょう!

【ステマでは】日本語入力を支える技術【ありません】

徳永拓之
リサーチャー

2012-02-17 19:23:39

徳永です。

日本語入力を支える技術という本を書きましたので今回はその宣伝をします。なお、本自体は技術評論社から2/8に発売されております。

続きを読む »

Jubatusを公開しました

岡野原 大輔
リサーチャー

2011-10-28 20:15:14

先日、NTTと共同研究開発したJubatusを公開しました。

OSSで公開されてますので、興味がある方は使ってみるなり、ソースコードを眺めるなり、できればプロジェクトに参加していただけたらと思います。

続きを読む »

サマーインターン2011最終発表USTREAMのお知らせ

祢次金 佑
エンジニア

2011-09-26 15:07:02

こんにちは。
PFIサマーインターン2011の最終成果発表を、9月30日(金)の13:00-15:00にUSTREAMします。
今年は8名のインターン生がテーマ別に3つのチームに分かれ、発表をしてもらいます。
発表はこちらのページで放送する予定です。
お時間のある方は是非ご覧ください!

プログラミングの魔導書 Vol.2に寄稿しました

repeatedly
エンジニア

2011-09-15 14:47:27

こんにちは.TREKの2012年モデル7.4 FXを購入し快適に出勤している中川です.

今度ロングゲートさんから出版される”プログラミングの魔導書 Vol.2″に,D言語の記事を書かせてもらいました.

プログラミングの魔導書 〜Programmers’ Grimoire〜 Vol.2
grimoire2 cover

今までコードばかり書いてきた人間なので,こういうまとまった記事を書くのは良い経験になりました.ロングゲートの方々や,レビューをして下さった方々には本当にお世話になり,感謝しています.

私が書いたD言語の記事ですが,Vol.2のテーマは「言語の進化」ということで,某有名書籍を参考に「D言語の設計と進化とか」というタイトルになってます.D言語のWebサイトに載っている仕様には「こういう機能を持ってます」というのが多いので,なぜそういう機能を提供しているのか,やその経緯について主要な機能に絞って書きました.

Vol.1に続きC++は勿論のこと,F#,Scala,Haskellなど最近勢いのある関数型言語関係の記事もあり,これらの情報がまとまってる書籍はそうないと思うので,是非読んで頂ければと思います.書籍版の他にPDF版もあるので,様々なデバイスで読めるのも良いですね.

それでは,素敵なD言語ライフを!

サマーインターン2011問題

岡野原 大輔
リサーチャー

2011-07-27 20:20:01

今年のインターン2011の応募者には書類選考後に次の問題を解いてもらいました。

長さnの文字列中で出現回数が最大の文字をO(n)時間で答えるプログラムを書いてください。但し、出現回数が最大の文字の出現回数はn/2より大きいとします。
条件として、文字列を格納しているバッファは書き換え可能で文字列以外に利用できるバッファサイズはc log n bits (cは任意の定数)であり、文字種類数は可変(最大n)であるとします。

#これはオプション問題で、解けなくても選考としては問題ありませんでした。
#指摘を受けまして、バッファサイズの条件をきちんと書きました。計算量はlog nビットのRAMモデル(連続するlog nビットの操作は定数時間)で考えています。

例えば、単純に各文字毎に頻度を数えるのにはバッファサイズが定数ですので記録できませんし、文字をソートするのもO(n log n)時間必要なので条件を満たしません。

これに対する正しい回答はこれまで3通り分かっています。
興味のある方は考えてみてください。

PFIセミナーUSTREAM配信のお知らせ

祢次金 佑
エンジニア

2011-07-26 16:50:03

こんにちは。祢次金です。

PFIでは、毎週木曜に社内セミナーを開催しており、コンピュータサイエンスやITにかかわる様々な情報を社内で共有しています。また2009/2010年には、その様子をUSTREAMの弊社チャンネルを通じて度々ストリーミング配信し、より多くの方々にご覧頂こうという試みも行って参りました。

2011年8月より、本セミナーのストリーミング配信を再開致します。次回、および次々回の放映予定は以下のようになっております。

  • 2011年8月4日 19:10-20:00(予定) 発表者: 西川徹 タイトル: 未定
  • 2011年8月11日 19:10-20:00(予定) 発表者: 西鳥羽二郎 タイトル: 未定

セミナーに関するアナウンスは本ブログの他、弊社公式Twitterアカウントにてハッシュタグ#pfiseminarでもお知らせしていきます。また、セミナーの開催時間や内容は急遽変更になることがございますが、その際も公式アカウントよりアナウンスを行っていきます。

「Hadoop徹底入門」が出ます

太田 一樹
エンジニア

2011-01-20 22:16:17

MacBook Air 11インチ欲しい!、太田です。

1/27に、執筆に関わらせて頂いた「Hadoop徹底入門」という本が、翔泳社さんから出版されます。

Hadoop徹底入門

OSS分散フレームワーク「Hadoop」の、日本語では初めてとなる書き下ろし本になります。執筆はNTTデータでHadoopのお仕事をされている、下垣さん、猿田さん、藤井さん、濱野さん、そして私になります。また、翔泳社の石川さんには非常にお世話になりました。

目次はこのブログの最後に掲載させて頂きました(詳細はこちら)。Hadoopとは何か?といった説明に始まり、Hadoopの周辺プロダクト(Hive, Pig, HBase, Thrift)も詳しくカバーされています。

Hadoopに関して現在日本語で読める大きな情報源として有名なのは、オライリーさんから出版されている「Hadoop」本になります。

本書はこの本と補完関係に有ると思っています。オライリーさんのHadoop本は、どちらかと言えばHadoop上でMapReduceアプリケーションを開発する為の内容になっていますが、本書はどちらかというとシステムの環境構築、運用、監視、可用性の確保等といった内容がメインになっています。

「Hadoop」という単語が気になっていらっしゃる方、実際に使い始めようとしているがつまづいている方、「Hadoop」を既に使いこなしている方、等、全ての方に手に取って頂ければと思います!

続きを読む »

NLP2011で2人ほど発表します

徳永拓之
リサーチャー

2011-01-20 12:28:17

新年あけましておめでとうございます。研究開発チームの徳永です。2011年もよろしくお願いします。

3月に言語処理学会年次大会という大きな学会が豊橋技科大で開催されます。PFIからは今年は2人が投稿しました。

1月24日の予稿集締切りに向けて、現在鋭意執筆中です。

という訳で、内容についてはまだ執筆中なわけですが、概要をちょっと語りますと、全部分文字列(ある文書に含まれるすべての部分文字列)を素性としてクラスタリングする、という話と、識別的な手法を使ってかな漢字変換を実験してみました、という話です。詳しく聞きたい方はぜひ言語処理学会年次大会でC1:テキスト・データマイニング  3月8日(火) 09:30-12:10 (A1-201教室)とC4:テーマセッション3: 日本語入力における言語処理(1)  3月10日(木) 13:00-15:30 (A1-201教室)にご参加下さい。

豊橋技科大で岡野原大輔と握手!!

※残念ながら握手会はございませんので、握手される方は会場内を動きまわる岡野原をお探しください。その際、twitterなどから得られる情報が役に立つかもしれません。

12