「スマホでグリッド」プロジェクト ~第1話 創世記~
はじめまして、CS学部4年の小谷晏経と申します。
今年3月に開催された情報処理学会第84回全国大会にて発表し、学生奨励賞を受賞しました。発表内容は伊藤忠テクノソリューションズ株式会社(CTC)と大学の共同研究プロジェクト「スマホでグリッド」による研究成果です。これは大規模な計算を文字通り多数のスマートフォンで分散して処理するシステムを開発するものです。
なお、「スマホでグリッド」のことを我々の業界では「SDGs (Sumaho De Grid)」と呼びます。ここでsは何かとツッコまないのがお約束です。
このブログではこれから3回にわたり
- プロジェクトの経緯
- 研究内容
- 学会発表
について、共同研究の過程で私の考えたことを織り交ぜながら詳細にお話ししようと思います。今回はプロジェクトの経緯についてです。少しでも共同研究の雰囲気が伝わればと思います。話が積もりますが、どうぞお茶でも飲みながらお付き合いください。
▲ミーティングの様子
2021年5月 プロジェクト発足
突然ですが、企業では情報漏洩対策などの理由で従業員に作業用のスマホやタブレットを貸与することがあります。大企業ではこれが数千〜数万台にもなります。そのために相応のコストを割くわけですが、実際のところ夜間や休日には使われません。これらをコンピューティングに活用することでIT資産としての利用効率を高められ、ついでに近年需要の増すAI・シミュレーションに必要な大規模計算の効率化にも貢献し、そうした研究に用いられる既存のクラウドコンピューティングサービスよりも安価にでき、それを利用してビジネスにできるのではないかと考えたのがCTC金融ビジネス企画部の植月修さんです。一石二鳥どころか三鳥か四鳥か、凄まじいビジネスセンスです。
一方、多数のスマートフォンで分散処理を行うアイディアは多くの人が考えるものです(たとえばSETI@homeなど)。本学CS学部の石畑宏明教授もその一人で、本学恒例のコラム「大学の学びはこんなに面白い!」でも紹介されていました(ちょうど10年前!)。
ここに目を付けた植月さんが石畑先生に打診し、さらに本学で推進する実学教育の意味も込め、石畑先生が3年次前期の必修科目「キャリア設計I」を通して参加する学生を募集してくださいました。
同時にビジネスにする上ではシステムの実用性を示すことも重要です。そのために大規模計算の例として、CS学部瀬之口潤輔教授が開発する株価予測シミュレーターを使うことになりました。
6月 プロジェクト始動
参加する学生数として当初4人程度を想定していたところ、実際には10人くらい集まったそうです。そこで開発経験と打ち合わせ可能な時間についてアンケートを取り、私を含め6人が選抜されました。いわゆるエントリーシートのようなものですが、実際には「この時間空いてるひと〰!あ、じゃあこの人とこの人ね!」とか言って選定したとかしていないとか。ともあれ全員プログラミング能力も意欲も極めて高い人達です。
CTCでは普段の業務と別にビジネスアイディアを試す社内企画があるそうで、スマホでグリッドはその1つでした。同時期にもう1つ「メンタルキャンバス」という、見ているだけではわからない子どもの心の状態をデータから分析するシステムを作るプロジェクトもありました。そこで選抜された6人のうち4人が前者、2人が後者に参加することになったというわけです。(※スマホでグリッドの1名はその後都合により離脱し、メンタルキャンバスの1名は途中で新しい人と交代しました。)
6月30日、第1回ミーティング(Zoom)をもってキックオフとなりました。
7月~8月 プロジェクト初期
研究の流れとしては、学生が空いている時間に作業を行い、毎週月曜日にメンバーが集まりCTCのSE(システムエンジニア)である佐原潤哉さんを進行役にZoomでミーティングを1時間ほど行います。
学生は実務経験などなく、仕様や実装方法の策定といった上流工程から行うので、初めのうちは進め方が手探り状態でてんやわんやしていました(開発の様々な工程を経験できる意味では非常に良い経験です)。モチベーションは異様に高いので、学生たちが「こんなものありましたよ~!」と口々に情報を持ち込んだり唐突に株価予測プログラムを完全解析したり異様に凝った報告資料を作ったりと、正直工程や作業計画はあまり意識せず暴走していました(それは自分だけ?)。(ちなみにこの凝った資料のおかげで学会発表の画像や内容を考える手間が省けたのはまた別の話。)
フリーダムなようでいて、あるいはフリーダムゆえなのか、7月の終わりにはネットワークを介して分散処理を行うプログラムができ、8月中旬にはウェブアプリとして実装し、ほぼ現在の形が完成しました。
また佐原さんの進行がこれまた非常にうまいのです。次第にミーティングの進め方も定まっていき、順次作業報告→まとめ→次の作業計画という流れが出来上がっていきました。何より、個々の得意分野(AI、ウェブ開発、AWS、プログラミングなど)に合わせてうまいこと学生に均等にタスクを割り当ててくれます。本職のSEの凄さを実感しました。こういったところは卒業研究などにはない共同研究の醍醐味ですね。
▲異様に凝った報告資料
9月~11月 プレスリリース・改良・テスト
CTCでは10月初めに中間報告があり、そのために簡単なデモンストレーション動画を作りました。また共同研究契約を締結したという旨のプレスリリースが出ました。その後いくつかの新聞社が取り上げていき、規模が増してきたことを感じました(別に何も変わりませんが)。
開発作業としてはバグ修正や改良を加えながら、実用化を見据えて作ったシステムを AWS (Amazon Web Services) のクラウドサービスを使うように移植していました。CS学部では2年次にプロジェクト演習という必修科目の一部で Microsoft Azure を使ってウェブサービスを作るので、結構とっつきやすく感じます。とはいえ、こうしたクラウドサービスにはコンピューティング以外にもデータベースやストレージ、VPC、アカウント管理など様々なサービスがあり、実務ではこれらを連携させるための体系的な理解が必要となります。個人的に非常に苦戦していましたが(今もですが)、プロジェクトメンバーの助けも借りながらタスクを一つ一つ着実に攻略し、経験値が上がっているのを実感しています。
一方でシステムのテストも行いました。並列処理をする以上、その効率は大きなテーマです。システム全体の計算能力を測れば既存のクラウドコンピューティングサービスと比較することで経済価値を試算し、それらと同様にコンピューティングサービスとして提供できます。結果は思っていた以上に良く、スマホの計算能力を活かせていました。達成感を感じる瞬間です。
12月~2022年3月 学会発表
石畑先生から情報処理学会の全国大会を紹介され、申込み締切の延長にも助けられ、発表することにしました。とはいえメンバー3人とも意欲はあるのですが、論文を書いたこともなければ学会に参加したこともありません。当時はこれから何が必要なのか、どんな困難が待っているのか見当もつきませんでしたが、まあいずれ通る道だろうし普通はできないことだろうと考え、また「どうにかなるでしょう」という持ち前(?)の楽観でやっちゃったのでした☆
学会発表の詳しい様子は次次回に預けますが、予稿を書いて発表して、なんやかんやあって学生奨励賞をいただきました。
4月~
最近は商用化に向けてこのシステムをバックグラウンドにしたサービスの開発などを行っています。学会発表時、他の方の発表で野球の戦略提案を行うAIというものがありました。これとスマホでグリッドシステムを組み合わせることで、一般の計算参加者に報酬を還元する仕組みを作れないかというアイディアです。植月さんが提案し、これを具体的に開発する手順や方法を整理したり、プロトタイプを作成したりして現在に至ります。このプロトタイピングは「見た目だけ実際のウェブサイトっぽく動くものを作る」というものですが、まさにCS学部1年次の必修科目「価値創造演習」での経験が活きます。まさしく学部で学んだことの集大成という感じです。
ちなみにこの共同研究、本来は12月末までの契約だったのですが、3月末までに延長された後、さらに5月末までに延びたという経緯があります。まだ延びちゃったりして。戦いはこれからも続く・・・。
おわりに
このような産学連携の共同研究はインターンシップに近いところがあり、就活に有利なのはもちろんですが、研究でもあるので大学院進学を目指す場合も良い経験になると思います。実際、参加メンバー5人のうち2人はCTCに就職、3人は大学院進学の予定です。
うまくいけば学会発表もできて賞も貰えます。そんなに簡単じゃないって?でも考えてみてください。大人数で研究する分卒業研究よりクオリティは高くなると思いませんか?あとはノリと勢いでなんとかするのです。
また、今回のプロジェクトは卒業研究の研究室に配属される前の3年次前期から始まりました。そして参加メンバーは全員、卒業研究配属先は石畑研究室でなければ共通の研究室でもありません。私は並列処理とはだいぶ離れた認知科学系の菊池研究室です(ここでしれっと宣伝を行う)。脳波を計ったりして人間の脳を数理的にモデリングしています。要するに、自分の専門分野でなくても実績を積めるのです。そもそもコンピュータサイエンスはあらゆる分野が深く関わり合っています。並列処理を理解してこそ人工知能の性能を向上させられるし、並列処理にはオペレーティングシステムやネットワークの知識も必要です。さらに脳の神経回路もネットワークの一種であり、この脳の構造が今日の人工知能・深層学習技術の中核になります。専門分野だけでなく周辺の他分野を理解してこそ、我々は真のコンピュータサイエンティストと言えるのではないでしょうか。知りませんけど。
東京工科大学はこうした実学教育に非常に力を入れており、早期に実績を積む機会が多くあります。あと共同研究では(大抵)研究アルバイト代も貰えます💰学生はぜひ積極的に活用しましょう。
・・・と、ここで今回は一旦筆を置かせていただきます。次回は研究内容について(企業秘密に抵触しない範囲で)詳しくお話しします。よろしくお願いします。
2022年5月31日 (火)