はじめに
2015年夏休みにTreasure dataのSummer Internshipに参加しました。
忙しさにかまけて原稿を公開していませんでしたが、今年もインターンの募集がされているようなので今公開します!
インフラ/OSS系と機械学習の枠があり、自分は機械学習の枠で参加したので、インターン中の生活と取り組んだタスクの概要をシェアします。
場所など
- 期間:8月3日 - 9月30日
- オフィス:丸ビル34階
- 週5日(11:00 - 19:00)
インターン生活
インターンを通じて大体以下のようなサイクルで生活していました。
- 11:00 出社
- 12:15あたり お昼ごはん
- 19:30 退社
お昼ごはんは無料で食べることができました。
火曜はカレーで、どの曜日もおいしかったです。特に月曜と木曜日が自分は好きでした。
金曜日は外にご飯を食べに行く日で、他のインターン生と丸ビル内にご飯を食べに行ったりしました。
インターンの雰囲気・環境
インターンの同期は自分の他に2人で、一人は機械学習・fluentd、もう一人はfluentdに取り組んでいました。
インターンが始まった一週目はお互いに緊張してしまい、コミュニケーションをあまりとれていませんでしたが、二人ともとても優秀な学生で、もう少し早い段階で積極的に話せればよかったと思います(笑)
社内のコミュニケーションは日本語でしたが、会議等で英語が飛び交っていました。職場で英語を実務で使っている場所にそれまで入ったことがなかったので、ホントに外資の会社にいるんだ、ヤバい場所に来てしまったと一週目にとても緊張した記憶があります(笑)
社内のコミュニケーションツールとしては、slackやtwitterで連絡することが多いようで、インターン前にtwitterから得ていた印象と比べてエンジニアの方々は静かに作業されている印象でした。
自分も相談した内容が後で参照できるように、主にslackで連絡を行い、口頭の方が早い時にのみ直接話すようにしていました。
インターン中にやったこと
Hivemallへの機械学習のアルゴリズムの実装
インターン開始前からメンターの@myuiさんから幾つか論文のお題をいただき、インターン中に自分は2本の論文の実装を行いました。
Factorization Machines
レコメンデーションなどに使われるアルゴリズムで、回帰と分類をすることができます。
アルゴリズム的にはMatrix Factorizationという行列分解をさらに発展させたようなアルゴリズムで、機会学習系のコンテストで上位の人たちが使っていたりします。
実際の応用先として、CTR予測 やNetflixなどの動画サイトでのレーティング予測などに使われています。
論文
Online LDA
トピックモデリングという文章のトピックを推定する自然言語処理のアルゴリズムです。
文章中の単語の頻度情報を元に単語のクラスタと文章のクラスタを推定します。
インターン中ではベンチマークデータとして20newsを使い、検証を行いました。
論文
発表
一ヶ月後に中間発表、最終日に最終発表をしました。
中間発表では資料は英語、発表は日本語でしたが、最終発表では英語での発表になりました。
中間発表、最終発表ともに多くのエンジニアの方々が見に来て下さり、中間発表では予想以上の人数に緊張しすぎてしまいました。
最終発表の方が英語なのである程度言い間違ってもいいという謎の安心感から上手くできたように思います(笑
言いたいことを訛っていてもいいのでスライドを使いながらプレゼンできることが重要だと思います。
インターン中にあった方が良いと思ったスキル
インターン中から始めると、本来やりたいこと以外のことにコストをかけて勉強しなければならない可能性があるので、インターン中にこれは必要だと思ったことを列挙します。
Java
HivemallはJavaで書かれているので、Javaが書ける必要があります。
その他、他のライブラリの実装を見るためにC++とPythonも読めると捗ると思います。
Git/Github
必須だと思います。
インターンが始まってからだと慣れるのに時間がかかると思うので、慣れていない場合は事前にやっておくといいと思います。
英語
実装するアルゴリズムの論文の理解、週に1回の週報、最終発表(口頭・スライド)に英語が必要でした。
今年はどうなるかわかりませんが、最低限の英語力は必要だと思います。
SQL
Hivemallのアルゴリズムを実際に動かしてテストする際に必須です。
これもインターンが始まってから勉強し始めると効率が悪いので、慣れていない場合は事前に練習しておくといいと思います。
データ整形
形式を合わせるために、awkなどがかけると便利だと思います。
さいごに
初めてのインターンだったので、メンターの方々、特に@myuiさんには非常にお世話になりました。
特にインターン終盤は詰まることが多く、その度に助けていただきました。
OSSに参加する機会はありそうであまり無いものだと思うので、参加する機会を与えてくれるのはとても貴重な経験だと思います。
OSSに関わることができる!お給料も一日2万!飲み物飲み放題!夜景が綺麗すぎる!と最高すぎるインターンなので行かない理由が見つかりません!
今思い出しても去年一番濃い時期を過ごせました!Treasure Dataの方々本当にありがとうございました!