CA Tech Challenge AbemaTV Hack –データコンペ編に参加してきました

はじめに

 こんにちは、大阪にある私立大学に通っている者です。僕は先日、CyberAgentさんで開催されたCA Tech Challenge AbemaTV Hack –データコンペ編に参加しました。この記事では参加した感想を記します。

インターンシップの内容

 AbemaTVのデータを使い、配信される広告がどれぐらい閲覧されるかを予測するモデルを作成し、その精度を競うイベントでした。1日目は個人戦で、2日目はチーム戦でした。学習用データが3600万データ、予測用データが820万データでとても驚きました。自分が持っているノートパソコンのスペックが高くないので、モデルを作成できるか不安でしたが、CyberAgentさんが前もって用意してくれたサーバーで解析・モデル作成を行うので公平で助かりました。

1日目

 午前は競技内容の説明と環境構築がありました。それが終わったら昼休憩でした。昼休憩では、社員さんと一緒にお弁当を食べながら、質問することができました。

 午後から競技開始でした。僕は3600万もの大規模データを扱ったことがなく、苦労していました。前処理結果がなかなか返ってこなく、処理を一旦止めて作戦をもう一度練るべきか、もう少し粘るべきかで迷っていました。この心境を社員さんに伝えると、大規模データだとあるあるらしくて一緒に笑っていました。あまり試行回数を稼ぐことができず、1日目の競技は終了になってしまいました。大規模データだと以下のことをやることが重要だと学びました。

  • 学習データを少なくして、良い特徴量を探す
  • for文など重いプログラムをできるだけ書かない
  • 少量の学習データで掛かる時間を計測し、学習データを増やした時にどれぐらい時間が掛かるかを簡単に見積もる

 僕は大規模データに対してとても苦労していましたが、1日目から周りの方との意見交換が自由で雰囲気はとても良かったです。カーネルが落ちて阿鼻叫喚な叫びが聞こえたりしましたw(2日目にはメモリの増量があり、約2倍の250GBになりました)。

2日目

 2日目はチーム戦でした。僕たちは1日目の結果を踏まえて、特徴量をいっぱい作ることにしました。どんな特徴量を作ると良いかをチームメイトと議論する時間はとても楽しかったです。またこの時にチームメイトの方に前処理を速く終わらすことができるプログラムを教えて頂きました。実際に走らせてみると、かなり速く終わり、そういった技術を勉強することはとても重要だと思いました。

 競技終了後には各チームの手法の発表とAbemaTVで現在動いているモデルの解説があり、とても勉強になりました。結果発表では入賞はできませんでしたが、ベンチマークになっているAutoMLに勝つことができ、良かったです。ちなみにAutoMLを走らせるのに数万円かかったみたいです。

 最後には懇親会がありました。インターン生の中にDataRobotを使用したことがある方がいらっしゃり、DataRobotがある中で、自分たちができることは何かといった話題で盛り上がりました。また、内定者アルバイトしている方にも色々なことが聞けました。

おわりに

 大規模データに苦労しましたが、学びがありとても楽しいインターンでした。CyberAgentさんありがとうございました。来年は内容が変わるかもしれませんが、興味がある方はテーブルコンペ(回帰)に参加して練習されると良いと思いました。例えば、SIGNATEの[練習問題] お弁当の需要予測などがあります。

 最後にインターンでお世話になった梅田さんがインタビュー記事で僕がインターンでも感じたことを仰っていられました。ぜひ読んでみてください。

https://www.wantedly.com/companies/abema/post_articles/169993