新年度の勉強会のキックオフ

本来は昨日の日記だが、行きがかり上こちらに。

詳しくはこちらにまとめてもらっているので非常に助かるのだが、勉強会のキックオフ(今後どのように進めるか)をしてみた。研究計画書を徹夜で書いていてへろへろになっていて、舌も回っていなかったかもしれないが……(昨日はこのあと帰ってすぐ寝た)

今日もNTTの人たちが来ていろいろ話してみたのだが、やっぱり考えるところはだいたい同じ。というわけで、自分の思うところを書いておくと、大規模データというのは別にみんなそこまで使いたくて使っているわけではないのだが、使わざるを得ないというのと、地道に使ってノウハウをためておかないと、突然使いたくなっても簡単に使えるものではない、ということ(ここ、「ただデータ増やすだけじゃん」と思っている人が多いのだが、その「ただ増やすだけ」が難しいのに、あまり理解されない)。

そして、大規模データを使おうが、せいぜいデータの量に対して log スケールで性能が上がるくらい(= データを2倍にしたときと同じだけ精度を上げたければ、さらにデータを2倍にする必要がある)で、これを「データを倍にするだけで性能が上がる」と見るか「データを倍にしてもこれしか精度が上がらない」と見るかはその人次第なのだが(ちなみに前者が真であることを検証したのは割と重要な仕事ではある)、データを倍にする、というのは簡単なものではない。

そもそも普通の大学や一般の人であれば、せいぜい数台のマシンが使えればいいほうで、こんな環境では並列分散計算をしたいとも思わないだろう。逆に、GoogleYahoo!Facebook のように数万台のマシンが使えるなら、並列分散計算をする以外にどうしようもないだろう。そこで問題(と自分が考えている)なのは、数十台から数百台のマシンにアクセスができる場合、どうすればいいか? というものである(研究大学や中小企業、もしくは大企業でも相対的に情報系の立場が弱い場合なんかだとこんな設定であることが多い)。

Hadoop というのは Google が使っている並列分散環境の MapReduce というもののオープンソース版で、自由に使えるのだが、これはこれでいろいろと動作にオーバーヘッドがあり、必ずしも最適なものではない、と思う。しかしながら、これに慣れておくと他の Hadoop ユーザとノウハウに互換性があるので、それのほうが重要である。(なぜなら、大規模計算環境なんて、必要とする人も少ないし、そもそもそんなデータや環境を持っている場所が少ない) というわけで、Hadoop やっておくのは(基礎知識として)重要かな、と思うのである。勉強会のねらいとしては、「大規模データを扱うのって、思ったより面倒くさい」ということをつかんでいただければ(笑)

留学生が4-5人いたので説明も全部英語でやったのだが、今後どうするべきか要検討。もっとインタラクションを増やしたいし、jordi-p さんから「説明するだけなら本を読めばいいのでつまらない。それぞれみんなが解きたい問題を持ってきてやったり、全員にパソコン持ってきてもらって実習したりしないとダメだよ」と言われ、そうしたいのも山々なのだが、M1 の人は全員が全員ノート PC を持っているわけではないし、M1 の人は授業で手一杯なので、授業以外に準備しなければならないことを要求するのは現実的に無理だし、ということを考えると、なかなか難しいのである。

というわけで勉強会のページも新しく英語で作り直してみた。まあ、日本語のページからしか行けないのだけど……

ちなみに、毎年こういう 「演習形式の勉強会をやったほうがいいのではないか」という話題が蒸し返され、松本研でも過去3-4回プログラミングの演習形式の勉強会が立ち上がったのだが、最後までやりおおせたのは SICP 勉強会だけだった(SICP 勉強会だけは、毎回自分は少なくとも絶対演習問題を解いて参加したので、そういう人が最低1人いないと続かないと思う)。

ACL 2010 の accepted papers が出ていた(ACL というのは自然言語処理の世界トップの国際会議である)。日本の人も何人も通っていて、刺激になる(というか、去年一つも研究できてない自分ダメだろう、とひとりでツッコミを入れたくなる)。意味役割付与(述語項構造解析)の研究は、去年まで CoNLL という国際会議の shared task というコンペ形式のセッションでよってたかって研究されたのが一段落したので、自分もまた戻ろうかと思っている。先日の「自然言語処理」4月号の関根さんの巻頭言ではないが、みんなが殺到しているところの研究をするのはあまり好きではないので……(もっとまったりやりたい)