【座談会】CMSIが拓いた計算物質科学 分野振興の成果と次なるステップ
物性科学、分子科学、材料科学の3つの分野にまたがる「計算物質科学」。CMSIはその分野振興を3年半にわたって組織的に展開してきました(下記の図参照)。さまざまな立場から分野振興を担ってきた方々に、これまでの活動を振り返り、ポスト「京」プロジェクトを見据えた次なるステップについて語ってもらいました。
●出席者●
金田千穂子 富士通研究所 専任研究員
川勝年洋 東北大学大学院理学研究科 教授
中島研吾 東京大学情報基盤センター 教授
松林伸幸 大阪大学大学院基礎工学研究科 教授
●司会●
藤堂眞治 東京大学大学院理学系研究科 准教授
産官学連携へのキーワードは問題意識の共有
藤堂(司会):最初に、自己紹介を兼ねて、CSMIで今までどんな活動をしてきたかを簡単にお話しいただけますか。
金田 :富士通研究所の金田です。産官学連携の小委員会に入っています。産官学の接点を見つけ、連携を促進するための研究会を、年に数回開いていますが、その企画を何度か担当しました。
中島: 東大・情報基盤センターの中島です。当センターのスーパーコンピュータシステムの運用を担当しています。私はスパコン連携小委員会のメンバーで、われわれの計算機資源(FUJITSU FX10)をCMSIでもご利用いただいています。また、CMSI主催の各種講演会、若手のサマースクールなどでも講演しています。専門は並列数値アルゴリズムです。大学では全学的なHPC(High Performance Computing)プログラミング教育にも関わっており、センター主催の講習会も実施しています。
川勝 :東北大学の川勝です。所属は人材育成・教育小委員会。東北大学には理学部に教育拠点があり、そこの責任者としてCMSIの材料科学拠点(CMRI)である金属材料研究所と協同して教育プログラムを動かしています。昨年度と今年度は「マルチスケール材料科学」に関する連続セミナーを開催しましたし、企業と大学の研究者向けには高分子材料設計シミュレーションソフトウェアOCTAの講習会を毎年開いていて、OCTAを開発したメンバーを講師として招き実習をおこなっています。参加者は大学と企業が半々か2対1と、企業のほうが多いです。
松林 :阪大の松林です。私の専門は分子科学で、分子集合系の計算統計力学を研究しています。いろいろな種類の分子集合系に共通する機能に着目し、その機能を解析する一つのソフトをつくって多くの人に役立ててもらう立場でアプリの普及に寄与できたらいいなと思っています。
藤堂: ありがとうございました。私自身は広報小委員会代表を務めています。“Torrent”やCMSIのホームページの作成、最近は物質科学シミュレーションソフトウェアのポータルサイト「MateriApps」の整備を通じてCMSIのアプリ普及に力を入れています。また、AICS(理化学研究所計算科学研究機構)との連携と交流にも取り組んできました。
では、まず産官学連携をテーマとして取り上げたいと思います。CMSIの活動によってどこが変わってきたのか、それがうまくいっているのか、あるいは空回りしてしまっているのかといったあたりをお話しいただけますか。
金田 :先ほどお話しした研究会では、産業界の人の話に大学の人が興味をもってもらえないといったこともありました。理学系の人は「why」のところから入っていきますが、産業界は「how」からです。興味のあるポイントが違うので、ギャップが大きいと痛感しました。
理学系と産業界を直につなぐのは難しいので、まずは工学のほうにつなげていく。あと、究極の産学連携というのは、人材を育てて産業界に送り込むというのが一つの最終的な形だと思っています。
藤堂 :CMSIの中でも材料分野の人たちはかなり企業に近いのでは。
金田 :確かに、企業からの委託研究をしている大学の研究室は多いのですが、将来的な産業界への普及や浸透を考えると、大学の研究室だけではカバーしきれないし、産業界の動きと同期するのも難しいので、それだけではしぼんでいってしまうでしょう。計算科学を専攻した大学生や大学院生を企業に入れて、そこで業績をあげてもらい、企業が活性化する。その利益を大学側に還流するような大きな流れをつくらないと、分野全体が広がっていかないと思うのです。
藤堂: 川勝さんが関わっておられるOCTAは産学連携で開発されたのですね。
川勝: OCTAは、私が名古屋大学にいたときのプロジェクトで、20数社の企業の人が集まり、名大の研究所でソフトウェアを開発しました。大学関係者はほんの数人でした。そこでつくったソフトウェアはフリーで公開されていて、今はたくさんの会社や大学の人、それも国内だけでなく海外でも使っていただいています。
藤堂 :OCTAが成功したそのポイントは?
川勝 :ソフトを全部フリーにしたことと、オリジナルの開発メンバーが10年以上経った今でもボランティアで改良していることだと思います。JSOL(ジェイソル)がバックアップしていて、商用版も出ています。
金田: そうですね。外国製で本当にうまくいっているソフトウェアは、使われるようになるのに20年から30年はかかっていて、その間に改良を続けている人がいて、ユーザー会もできている。日本ではそういう例がこれまでなかったですね。
藤堂 :そういう意味では、OCTAはアカデミアで開発されている他のソフトウェアとはかなり違っていますね。
川勝 :企業の方にはいっぱい使っていただけるのですが、一方で、学生にはあまり使ってもらえない。理学部の学生は自分でソフトをつくりたがりますから。
藤堂: コードを書いても、公開してみんなに使ってもらおうというのはけっこう大変です。
川勝 :マニュアルを書かないといけないですからね。
藤堂 :CMSIでつくったり高度化したりしているソフトはたくさんあるので、そのうちのよいものを残したいのですが、それにはCMSIとして何をやればよいでしょうか。
松林さんは今アプリを開発をされていて、実際に企業の方といっしょになって広げようとされている。それは感触としてはどうですか。
松林 :まあ、喜んでもらっていると思います。先に理学の話が出ましたが、理学のよいところは、会社ごとにいろいろな問題があっても、共通の基盤となるような問題意識があって、そこを教えていることです。異なる業界に属する会社の課題であっても、同じような問題意識に「翻訳できる」ことがしばしばあります。問題意識が初めから共通化することはあまりないのですが、翻訳していって共通になる基盤のような問題意識をつくっていったらいいのかなと思います。そうしたら、1本のソフトで何とかいけますから。
藤堂 :人材を産業界に送り込むということでは、計算機関係というのはそういう交流が多いと思うのですが、大学側として何か努力や工夫をしているのでしょうか。人材交流が進まないと言われる物理や化学分野を、中島さんはどうご覧になっていますか。
中島 :計算機科学の研究は即応性を求められるようなことが多いので,大学と企業の人で問題意識としては変わらないのではないかという気がしています。HPC業界で産学の交流がうまくいっているのも、そのあたりにあると感じています。あとは、ずっと大学の教員だったという人はむしろまれで、企業や研究機関出身の人も多い。就職先も最近は多様になってきて、Googleに行く人が増えていたりする。大学が特別ということもなく、企業との間でごく自然に交流がおこなわれているのではないでしょうか。
アプリをつくる人、使う人、いじれる人、それぞれの人材育成
藤堂 :産学の問題意識の共有は、大学院生のときから培っていく必要がありますね。CMSIでは連続研究会といった形で続けてきました。
金田 :人材育成というとき、産業界のために大学があるわけではないので、アカデミアは研究の高いレベルを目指す。無理に産業界にすり寄る必要はないと思うのです。それぞれのあり方は違って当然です。
川勝 :そうすると、人材育成委員会というのは学生を育てればいいということになりますよね。
金田 :そうではなくて、全部が同じ方向を向いたら困るだろうと思うのです。例えば、物質のある性質がわかったとしても、それでモノができるわけでありません。いろいろ組み合わせたりと工学的なプロセスを経て出来上がっていく。基礎と応用の間のところにもしかるべき人が必要で、そのような人材をどうやって育てるか。
松林 :その真ん中の人というのは、相当に偉くないと難しいでしょう。基礎的な研究を見て、「これは使えるから、こっちに持っていこう」「応用の人が本当にほしいのはここだ、ここが抜けているから何とかしないといけない」と判断できる能力が必要ですし、また誰かに「これをやれ」と指示できる立場にいないといけない。これは人材育成というよりも、本物のエリート養成みたいなことになるのでは。
金田 :難しいとは思いますが、技術者レベルでやれることもたくさんあり、そこをやらないと本当にはつながっていかない気がするのです。
中島 :アカデミア側はどういうことをやればいいのでしょうか。ソフトウェアを一般の人に普及させるような活動のことですか。それとも、使いやすいような作り込みをすること。
金田 :そこにどれだけ価値を感じるかです。大学の先生からしたら、たぶん普及活動などはいわゆる雑用になりかねない。
藤堂 :もう一つの側面があって、計算科学を専攻する人口が増えている。すべての人が大学で研究を続けるわけではなく、産業界へ行く人と、間に立つ人をどんどんつくっていかないといけない。例えばアプリを開発する人もいますし、アプリを使って何かを計算するノウハウを持った人が企業に行って、企業の研究開発の中で仕事をするとか、いろいろなレベルができてくる。CMSIでは拠点研究員という制度をつくっていて、いくつかの研究プロジェクトを回りながら分野共通のプログラムの開発に携わり、またアプリの普及活動もするという、間の立場になれる人をつくろうとしています。
中島: その人たちのキャリアパスは?
松林: 半官みたいな組織を育てて、それには企業からも寄付をもらって、そこに入るのが本当に価値があると認められるようにすれば、よいキャリアパスになると思います。
金田 :企業が材料開発のためにシミュレーション分野の人を採るとしたら、優秀なユーザーであって、アプリをつくる人ではないですよ。シミュレーション結果の解析用に短いコードなどを書ければ尚可ですが、アプリを自前でつくっている企業はほとんどなくて、よいアプリがあればそれを持ってくる。いろいろなアプリやハードを駆使して、材料開発やデバイス開発における問題を解決していく、優秀な人材が必要なのです。
大学では、優秀なユーザーを育てていただいているのでしょうか。
川勝 :いや、育てていないかもしれませんね。
中島 :私も計算機科学の人材育成を大学で検討していて、育成する人材を、「使える人」、「つくれる人」、「いじれる人」に分けています。この種別によって教えることは違うと考えています。「いじれる人」というのは究極の人材で、例えばサイエンスと数値アルゴリズムの両方に精通していて、どちらもできる。「つくれる人」というのは、アプリケーションを自分で開発できるような人。「使える人」というのがアプリのユーザーになりますね。
川勝 :アプリのユーザーというのは、プログラムのバックグラウンドになる理論は理解できなくてもよいのですか。
中島 :それはやはり必要です。「使える人」たちも最低限の理論とアルゴリズムは大学にいる間に勉強してもらうような教育プログラムを策定しています。
金田 :ただ、今のプログラムは非常に巨大になっていますから、隅から隅まで読まなければ使ってはいけないということではなくて、使いながら気になったところを勉強していければいいでしょう。
松林 :「こんなよい結果が出るのだから何かすごい理論が裏にあるに違いない、だから勉強してみよう」という順番のほうが、結果としては効率がよいのかなと思っています。
藤堂: では、「使える人」をつくるにはどういう教育をしたらいいのでしょうか。
中島: 基本的には、商用コードでも、講義を担当する先生自身がつくったプログラムでもいいのですが、それを使っていろいろな結果がきちんと計算できるように教育をするということです。そして、結果を評価できるようなセンス、すなわちエンジニアリングセンスを養うことが重要です。
また、計算機科学に関連することも最低限は勉強してもらい、アプリケーションを開発している人たちとディスカッションができるくらいの知識を大学で身につけてもらえれば、「使える人」としてはけっこうやっていけるのではないでしょうか。
ポスト「京」に向けた計算機教育とは
藤堂 :一方で、ポスト「京」を見据えると、コア数1000万個という教育をしなければいけない。そこで使えるプログラムやアプリはまだできていません。CMSIでは、中島さんのような計算機の専門家とアプリの開発者による連続講義を、配信形式でおこなっています。それは受講者も多くて盛況なのですが、この先、もっと上のレベル、エクサスケールまで行けるだろうかという不安があります。
松林 :うちの学生も行きましたが、やはり、非常に難しいとの意見が多い。週1回の講義ではなかなか目的に達しないのではないでしょうか。実効性のあるものにしたかったら、どこかに詰めてもらわないと難しいのでは。
藤堂: 実習ですか。
松林: 研修ですね。
川勝 :それで学生さんは出てくれますか。
松林: 極端な言い方になりますが、とにかく行かせるべきで、わかるわからないは別として、どういう業界で働くかわからないから、キーワードだけでも全部インプットして、資料は全部もらってくる。わからなくても、そのうち見るときが来るからという考えです。
金田: 確かに、何かあったときに「こんなものがあったな」と思い出すのが重要ですね。
松林 :もう一つは、ポスト「京」が出てきたときにそのプログラミングに関与できる人材を育てるのは、別だと思うのです。本当にチューニングなどをやってもらわないといけないので、テレビ講義の世界ではない。
藤堂: AICSでは毎年HPCサマースクールを開いていますが、対象は大学院生ですか。
中島: 大学院生が多いですが、一部ポスドクもいます。内容はごく基礎的なことで、MPIでプログラムがある程度つくれる、理解できるくらいのレベルをまず目指しています。5日間にわたって実施しますが、漫然と並列プログラミング一般を教えるのはなく、ターゲットのアプリケーションを定め、それを並列化するための手法について教えています(注:本年度<2014年8月4日~8日実施>からこのような方針に変更)。これまでの経験でも、このほうが短期間の教育プログラムとしては有効です。現在は、有限要素法による三次元定常熱伝導問題を扱っています。ただ、有限要素法を知らない人もいるので、最初の1日は有限要素法そのものとそのプログラミングについて講義をしています。次に並列有限要素法のために必要なMPIについて、あとは実際の並列化について話しています。最後はOpenMPについても講義して、ハイブリッド並列プログラミングまで一通り習得するというところまで5日間でこなしています。
内容的には盛りだくさんですが、本年度演習時間を1日2時間くらいは取れました。そのくらいやると、話として知っているというだけでなく、ある程度自分でプログラミングをやったという体験としても残るのではないでしょうか。まだフィードバックが来ていないので、受講者にどういう受け止められ方をしたかわからないのですが、最後まで一所懸命にやってくれていたので、本年度のやり方はわりとよかったのではと考えています。やはり、1週間くらい集中してやると、けっこう身に付きます。
藤堂 :そういう教育は、CMSIがやるというよりは、もう少しジェネラルな話なので、AICSであるとか情報基盤センターでやってもらって、うまく組合せてやるのがよいのかなという感じはしています。中島さんから見た理想の計算機教育、計算機科学者を育てるための理想の教育というのは、どのくらいのことを、どのくらい時間をかけてやるとよいと思いますか。
中島: いちばん重要なのは、先ほど話題になった中間的な人材、いろいろな分野の橋渡しができる人を育成することなのですが、教育では難しい面があります。いろいろなことが制度としては試されています。例えば、専攻は物理で、コンピュータサイエンスの指導教員がもう1人つくということをやっている大学もあります。また、理学系の博士とコンピュータサイエンスの修士をいっしょに3~4年で取れるようにするとか。まずは、そのあたりが制度として大学側でやれることになります。
本当に世の中の役に立つような中間的人材となると、ある程度の実務経験を積んでからやらないと難しい。そういう意味では、やはり産学の連携が重要になりますね。
藤堂 :実務経験というのは、実際に企業で開発なり研究なりをするということですか。
中島 :そういうことですね。いろいろなニーズに応えられるような人をつくるのは、大学だけではできないという気がしています。
金田 :企業の現場に行くと、アプリがこういうふうに使われているということがわかりますし、問題意識の持ち方が違う。課題があると、重要なのは時間で、ある限られた時間の中でリソースも限定されていて、それらをうまく使ってどうやってその問題を、100%でなくても80%でもいいから解決できるか考えなければならない。そのために、このプログラムがいいからこれを使うというだけではなくて、ほかにも選択肢があるかもしれないとか、アプリとしては精度は落ちるけど時間が速いからこっちを使ったほうがいいかもしれないとか、いろいろな判断をしなければいけなくなる。
そういう意味では、アプリケーションも一つだけではなくて、少なくとも二つか三つくらいは多少使えるようにしておいてもらって、課題が出てきたときにどれを使ったらいいか考えるようなこともできると、現場では強いのではないかと思います。
CMSIとアカデミアに求められる意識改革
藤堂 先ほど、理学系でシミュレーションをしている人は企業に採ってもらえないという話がありましたが、CMSIとして後押しできることはないでしょうか。
金田: 本当は理学系の人たちは基礎的な力があるのだから、どこに行っても大丈夫なはずなのですね。でも、そこがなかなかわかってもらえない。
中島 :それを知らせるような機会をもつことが、いちばん重要なのではないですか。
川勝: 理学の出身の人が、会社でがんばってくれればいいわけですよね。
中島 :そういうこともありますよね。
金田: 直接的には、材料分野で今ホットなところのシミュレーションで成果を出して、それを企業の人が来ないような学会ではなくて、企業の人が来るようなところで大々的に発表して個人を戦略的に売り出す方法があると思うのです。
松林 :「CMSIでこういうことをやるから来てください」だけではなくて、企業の人が集まるところに行って講習会や発表もするわけですね。
川勝: 確かに、物理の学生たちはみんな物理学会には行こうとしますが、企業の人がいっぱい行くような学会や研究会を恐がってあまり行こうとしません。
藤堂: それは先生の教育が必要ですね。意識改革をして地道にやっていかないと、産学連携の夢がしぼんでしまう。学生には、ネクタイの締め方とか名刺交換のしかたも教えないといけませんね。
金田 :すそ野を広げていかないと、最後は研究予算も取れなくなりますから、そこは将来的なことを考えるとぜひ。
藤堂: 戦略プログラムというのは、これまで研究課題の研究と分野振興の両輪で進んできたのですが、今年の後半からはポスト「京」に向けた研究課題がスタートする予定です。一方、分野振興活動のためのプロジェクトがどのような形で継続してくのか、まだ不透明です。
中島 :ポスト「京」を目指すことになると、計算機の大規模化に伴い、アルゴリズムの研究が重要な課題になります。産官学にわたる各分野間の協力が重要になってくるので、CMSIでも推進してほしいですね。
金田: たくさんのプログラムが開発されたのですが、プロジェクトが終わったらどうなるんだろうということがすごく気になっています。よいものを残していくような仕掛けとして、階層の違うものをリンクさせて、連携させて使えるようなプラットフォームを作り上げれば、もっと産業界でも使いやすくなると思うのです。
藤堂: 誰がやるかがいちばんの問題ですね。
川勝: 共通のプラットフォームやフォーマットをつくって、リンクさせて使えるようにすればいいでしょう。
藤堂 :あとは、シミュレーションの結果をどうするかという問題もあります。出力がそれぞれのプログラムでまったく違うので。
川勝 :それも共通フォーマットで対応可能です。
金田: 国の予算というのは新しいアプリをつくるところにはついても、その後の育てていくところにはつかない。そこは声を高くして要求したほうがいいですね。
松林 :大学の先生より、「産業界の要請です」「産業界として育ててもらわないと困ります」と言うほうが効くでしょう。
中島: JST(科学技術振興機構)には産業応用という枠があって、1回研究開発したものを継続させるときに使うことができるそうです。
松林 :そこは、大学の附置研究所の役割としてあってもいいのではないかと思います。
藤堂: CMSIでいうと、物性研や分子研は、今はアカデミアの中だけの共同利用という意識しかなくて、企業の人というのは入りにくい。意識を変えていかないといけないですね。
松林: そうですね。箱があるのですから、いろいろな会社の人にも入ってもらって、日常的に交流できるようにする。1階・3階・5階は大学の研究所で、2階と4階はいろいろな会社のスペースみたいな感じになれば、面白くなっていくと思います。
藤堂: 附置研究所の役割は次の5カ年計画で大きく変わりそうなところがあります。要するに、運用をやってマシンを貸すだけではなくて、いろいろな支援をする役割を担うべきだと思うのです。これを実現するには意識改革が必要です。ポスト「京」を見据えたとき、意識改革が必要なのはCMSIだけではなく、日本のアカデミアすべてに言えることです。
(2014年9月5日 東京大学本郷キャンパスで収録)
構成:福島佐紀子 撮影:由利修一 撮影協力:東京大学情報基盤センター