American Prism XYZ

FERMAT

459

latest update
September 30, 2009
16:00 jst
author
junichi ikeda

print

contact

459

Netflix Prizeに見るOpen Innovationの可能性

latest update
September 30, 2009 16:00 jst
author
junichi ikeda

print

contact

Netflixが2006年にスタートさせたNetflix Prize。

自社のRecommendation EngineであるCinematchのパフォーマンスを10%向上させたものに100万ドルの賞金が手渡される、ソフトウェア開発コンテスト。世界中のプログラマーを巻き込み、3年にわたる開発競争を経て、ようやく最終勝者が確定した。

A $1 Million Research Bargain for Netflix, and Maybe a Model for Others
【New York Times: September 22, 2009】

The Netflix Prize Was Brilliant
【Slate: September 22, 2009】

最終勝者は、BellKor’s Pragmatic Chaosの7人。ソフトウェア開発競争らしく、当初競い合っていたBellKor(アメリカ、AT&Tラボ)、Team Pragmatic Theory(カナダ、ソフトウェア会社)、Team Big Chaos(オーストリア、工科大学生)、が、最終コーナーで最高のパフォーマンスを絞り出すために協力した、混成チーム。ソフトウェア開発にありがちではあるが、彼ら7人は、NYで行われた授賞式で初めて互いに対面したという。つまり、基本的には、e-mailなどのネット上のコラボレーションツールを使っての開発だったということ。

ちなみに、次点につけたEnsembleも同じく混成チーム。

このことからもわかるように、10%向上という最終ゴールのハードルは当初想像していたよりも高く、長らく8%台で頭打ち状態が続いていた。その状況を打破してゴールに到達するには、それぞれのアルゴリズムの良いところをもちより、全体としてのパフォーマンスを上げるしか手がなかった。それが「混成チーム」が形成されていった理由。

ちなみに、EnsembleはBellKor’s Pragmatic Chaosにも統合チームの参加要請をしたようだが、旧BellKorのメンバーが所属するAT&Tの法務が、成果物の知的所有権の共有形態に関する契約締結を求め、その作業が時間のロスになるとEnsemble側が考えたため、結局、統合チームの実現には至らなかった。

いずれにしても、このコンテストを通じて、Best of the Bestの開発メンバーが、期間限定で自発的に形成されていったわけで、こうした「最高の知恵の抽出」部分が、crowdsourcing推進の側に経つ学者や経営者から関心が集まったところだ。

*

このNetflix Prizeの一件は、Open Innovationの実践例として高く評価されつつある。

そのため、いろいろと語りたいところはあるが、とはいえ、最大のポイントで、それゆえ何はさておきまず指摘しておきたいことは、Netflix Prizeの一件が「物語」として語られる磁場に包まれていることだ。つまり、一種の「開発秘話」として、あるいは、crowdsourcingを言祝ぐ「物語」として。そして、「物語」として人口に膾炙することも、様々な意味で、Netflixの影の狙いのはずだ、ということ。

このことは、まさに饒舌にこのNetflix Prizeのことを伝えている記事やブログのサイトからは、構造的に見落としてしまうことだ。

といっても、私も、Netflix Prize自体を否定しているわけではない。ただ、このケースからcrowdsourcing一般の過大な評価にいきなり飛びつかないために、こうした「語りの効果」を自覚して、この話題に触れた方がいいと思っているだけのこと。

たとえば、アメリカの記事やブログを見ると、獲得賞金のことを、“bounty(「賞金首」に掛かった懸賞金)”と表現したり、コンテストの途中で起こった自発的な協力関係の構築が“unseen forces(見えない力)”によって生じた、とか、パフォーマンスの向上が頭打ちになったところを打破したチームを“heroes(英雄)”と呼んでみたり、・・・、と、このコンテスト自体が、プロ・アマの書き手を問わず、思いきり「物語」的想像力に駆動されながら進められたことを示す痕跡で溢れているからだ。

少なくとも圧倒的多数の、傍観者としての読者にとっては、さながら、F1レースを見るかのごとく、あるいは、南極点到達の冒険を見るかのごとく、あるいは、アポロプロジェクトのクライマックスである月面到着を見るかのごとき存在だったのだろう。Netflix Prizeを眺める「まなざし」には、そうした偉業の達成を物語として記憶にとどめようとする視線で溢れている。

同時に、参加者からすれば、こうした「偉業の物語」に当事者として参加すること、そして、できればそこで自身のパフォーマンスを示すことに、相応の魅力、ロマンを感じている部分もあったことだろう。それは、コンテストの途中で開発したアルゴリズムをウェブ上で公開してしまう人物が現れたことからも窺い知れる。

実際、参加者の中には、大学教授や研究機関所属の研究者も多く、彼らにとっては、提示された問題を解決することの方が、賞金を得ることよりも重要だと捉える人物たちもいた。

もっといえば、Netflixが提供する100万件のデータを利用できること自体に価値を見いだす人びとも多数いて、それは単純に「この難問に立ち向かう」ことを通じて得ることができる経験や知見という、副産物の方に関心を持った人たちもいたということだ。

最終勝者のBellKor’s Pragmatic Chaosを見ればわかるように、実際には、企業所属の研究者が、会社の理解を得て参加するケースもあった。社会人チーム所属のスポーツ選手がオリンピックに参加するようなものだ。そのとき、会社からすれば、この難問に取り組むことで得られる知的副産物だけでなく、成功した暁に得られる名声、研究機関としてのブランド、も計算に入っていたことだろう。むしろ、そうした効果を見越して、社命としてこのコンテストに研究者を配置するベンチャー企業もあったほど。

*

このように、Netflix Prizeは随所に「物語」として語りたくなってしまう要素で溢れている。

まとめると、一種の冒険譚。ワールドコンテストという形式が、そもそもゲームじみている。

そうした物語的基盤の上で、次のような物語のパーツで満ちている。

●世界中からソフトウェア開発者が参加
●汎用性の高いゴールの設定により、賞金目当てのほかにも参加のインセンティブをもつ人びと・団体が存在
●開発ゴール途上で、誰もが超えがたい「難所」の発覚 (8%の頭打ち)
●難所攻略を目指した参加チーム間のリソース交換 (情報交換、メンバーのシャッフル)
●共通ゴールを目指しているという、参加者間の「一体感」の漸次的醸成
●ゴール攻略の直接の達成を放棄し、自身の成果を公開してしまう(善意の?)人物の登場

極めつけは、

●最終ゴールを達成したチームは2チームあり、その差は20分でしかなかったこと。

きっと、WIREDやCNETなど、ITマネジメントに詳しいサイトが、遠からず、この「物語」を紡いでくれることを期待したい。なんだかんだいって、Open Innovationとしては有意味な実践例だと思うから。

*

最後に、こうした「物語」を駆動したNetflix Prizeの「闘技場」「劇場」のルールをまとめておく。様々な立場のプログラマーを引き寄せ、彼らの関心をつなぎ止めた上で、最終ゴールに到達させるための「仕掛け」がいろいろと仕込まれていたように思うから。

■ゴール: 
Netflixのrecommendation engineであるCinematchのパフォーマンスの10%向上
(この10%向上が何を意味するかは専門的になるのでここでは割愛)。

数値目標が明確だったので、参加者は参加・不参加、あるいは、撤退の意思決定がしやすかった。

■期間: 
2006年10月から、2011年まで。
2011年までに所期のゴールが達成されない場合は、勝者無しでコンテストは終了。

5年経ってパフォーマンスが上がらなかったらGAME OVERとなる。この「時間の制約」は開発目標をスケジュール化する上で重要な指標。逆に、5年後の技術の到達点として「10%向上」が、広くソフトウェア開発者の間で研究開発目標として共有されて、現実的なプレッシャーとして開発者に覆い被さってくるようになる。

最終段階で、混成チームが形成されたのも、この締め切りの存在による「せきたて」があったからこそだと思う。

これは憶測だが、AT&Tのように法務まで出てくるのであれば、このプロジェクトはAT&T社内で相応の位置づけをされているはず。だとすれば、「達成できなかった」という不名誉な事態を蒙ることをよしとしない判断もあったと思う。企業の支援を受けてコンテストに参加していた開発者には、大なり小なり、このようなサポーターとしての経営側の(なかばメンツのような)事情もあったと想像される。

■賞金: 
最終ゴール達成者に100万ドル。
その過程で、年ごとにパフォーマンスの最大向上者にprogress awardとして50万ドル。
ただし、前年よりも1%の向上を満たすのが最低条件。

大事なのは、中間点での報酬の設定。最終ゴールまでの道筋を描く際に、一年ごとのパフォーマンス評価があるとないとでは、参加者のモチベーション(開発者も所詮は人間)を維持する上でも大事。最終ゴールに向けたステップを描いていく上でも大切なこと。

■データの提供:
参加者には、Netflixから100万件の顧客データが、サンプルデータとして提供される。

先述の通り、アカデミック関係者を中心に、このデータ利用は、彼らの研究を進める上で魅力的な提案だった。

実際、Netflix側が想定していた参加者としては、machine learningの専門家というように、アカデミックにも確立された研究分野の人びとだった。彼らにとっては、自身のアルゴリズムの検証用のために、複数のデータを利用することが大切だから。

■コンテストの運営:
Leadingboardを設置し、そこでパフォーマンス結果が公開される。

コンテストの状況が公開されていて、上位ランク者のチーム編成をたどることが、下位ランク者からすれば、必要な情報や知識を示唆する「情報」になっていること。いわば、想像上の「リバースエンジニアリング」が行われることも促していたはず(いわゆる、必要なリソースの「当たりをつける」上で重要)。

要するに、Leadingboardを眺めるだけでもわかる人にはわかる情報がある、ということ。

■アルゴリズム向上基準:
一般公開された100万件のデータセットとは異なるデータを使って、パフォーマンス向上の追試験を行う。そこで申告通りのパフォーマンスが示されることで「向上」が認定される。
これは、公開されたデータセットのみに通用する改良を排除するため。

■勝者決定基準:
最終ゴールを達成したアルゴリズムが提出されてから30日間の猶予期間がある。
その間に、よりよいパフォーマンスを示すアルゴリズムが第三者から提出されなければ、最初のアルゴリズム提出者が最終勝者となる。

最終勝者の決定まで30日間の猶予を置くことで、コンテストを主宰するNetflix からすれば、他の参加者によるファイナルプッシュを期待することができる。

また、最終ゴールに一番乗りするだけでは勝者として確定しない、つまり、土壇場でひっくり返される可能性を考慮すると、一番乗りをした人物たちも10%の大台に乗ればいい、という発送だけではいけなくなる。最後まで残った参加者は、いわば「猛者」の集まりだから、彼らの間で真剣な挑戦が継続することも求められる。

もっとも、そこまでして得られる報酬が100万ドルで妥当かどうか、という問題は残る。勝者候補が「100万ドルならこれくらいでいいや」と思ってしまえばそこで開発は止まってしまうから。

このファイナルプッシュのモチベーションを上げるためにこそ、Netflixはコンテスト自体の話題性を高める必要が出てくる。金銭的な報酬だけでなく、名声という栄誉も得られる用にしておくことが重要。その意味で、このコンテストをメディアバリューのあるものに「仕立てて」おく必要がある。

■アルゴリズムの所有権:
提出されたアルゴリズムの所有権は、開発チームに帰属する。ただし、Netflixとは必ずライセンス契約をしなければならない。また、このライセンス契約は非排他的なものにとどまる。

成果物に関しては、Netflixはあくまでも利用者に過ぎない。参加者からすると、ここで得られた知見やアルゴリズムはすべて自分たちが自由にできるものとして残ることになる。裏返すと、参加者の間で知的所有権をどう所有するかについては、Netflixは関与しない、ということ。

この所有権の所在については、途中段階のアルゴリズムに対しても適用されているようで、実際、Netflixからすると、2011年のデッドラインまでの間も、外部の能力を利用しながら、自社のrecommendation systemを改善していくことができる。

*

このように、Netflix Prizeはよく考えられたコンテストだった。

実は、既にコンテストの第二ステージたる“Netflix Prize 2”の概要が公表されている。

今度は、データとしては、ユーザーのデモグラフィックデータや行動履歴を含むものが与えられる。開発目標は、今回は、具体的な数値目標は示されず、単純にベストパフォーマンスを提供したものに報酬が与えられるようだ。報酬の確定は6ヶ月最高パフォーマンスを維持できたら、という条件がつく。さらに、18ヶ月維持できた場合は追加報償を用意するようだ。

10%の壁を破るのがこれほど大変だったのだから、おそらく今後の開発はより困難になると予想してのことだと思う。

最初のNetflix Prizeでは、コンテストを開始して2週間程度で、4%までの改善は達成された。6%までの向上も一年あまりで実現された。このことから、多分、Netflixの側も、その程度の改善であれば、外部に発注することで何とかなるとは思っていたことだろう。そこでよりハードルを上げることで、世界中からベストなソフトウェア開発者を探索することの方を重視したのだと思う。

つまり、right staffさえ集められれば、10%までの向上は原理的には可能だ、という見込みぐらいはあったと思う。問題は、そのright staffをどうやって集めるか、彼らの技能をどうやって集約させるか、こそが問題だった。その解決策が、コンテストの開催だったのだと思う。

実際、コンテストを通じて、ベスト・パフォーマー(right staff)に到達することができた。Netflixからすれば、開発委託先の候補を発見できたことがコンテストの(重要な)副産物だったと思う。そのベスト・パフォーマーに対して、彼ら自身の手で、開発のフロンティアを切り開いてもらうことを、コンテストの第二ステージでは要請したいのだと思う。

問題があるとすれば、この「本格的な開発」が上記の報酬で継続されるのか、また、第一ステージのような高揚感が持続するのか、というところだろう。

そして、この第二ステージの運営の方でこそ、Open Innovationが単なる「僥倖」や「熱狂」に支えられるものではないことを示す試金石になるはずだ。

そういう意味では、全くリソースのアテが見えないところで、つまり、リソースを発見すれば何とかなるレベルを超えて、発明そのものを実現させるための「アルゴリズム開発コンテスト」はどうやったら設計できるのか、というのが第二ステージ以後、常に抱え続ける問題のように思う。