ここから本文です

UMLの生みの親が語る、AI時代に求められる開発者に必要な「学び」と「考え方」

6/15(金) 7:05配信

@IT

 日本アイ・ビー・エム(IBM)は、2018年6月11、12日に都内のホテルでカンファレンスイベント「IBM Think Japan 2018」を開催した。初日となる11日は「Code Day」と銘打たれ、開発者向けのテーマを中心に多数のセッションが展開された。午前中のゼネラル・セッションでは、テクノロジーが社会を動かす原動力となっている今の時代に、エンジニアに求められていることは何か、そしてエンジニアは、そのスキルをどうすれば発揮することができるのかをテーマに講演が行われた。

新たなテクノロジーにも対応できる基礎知識一覧

 オープニングに登壇したのは、日本IBM 執行役員 研究開発担当の森本典繁氏だ。1990年代以降におけるインターネットの爆発的な拡大に始まり、コンピューティングリソースのコスト性能比の向上、クラウドの普及やAI技術の発達という流れの中で、「大量に生み出されるデータを活用するためのテクノロジーが強化されてきた」(森本氏)とした。

 データを高度に活用するためには、それを処理するアルゴリズムを内包したソフトウェアの開発が不可欠である。テクノロジーの活用範囲が広がり続ける中で、その構成要素の全てを1つの組織や企業で実現、提供していくことは不可能であり、オープンソースソフトウェア(OSS)の活用が必須となっている。

 森本氏は、IBMがOSSの重要性を認識している証しとして、Linux、Apache Spark、Docker、node.jsを含む、さまざまなプロジェクトやコミュニティーを支援してきたことを紹介。それに加えて「個々のデベロッパーに直接リーチし、最新のテクノロジーやツールを提供して、未来をコクリエイション(協創)していくことが重要である」と、本イベントの意義を説明した。

●新たなテクノロジーの中からどれを学び、それらで何を作るべきか

 続いて登壇したIBM Digital Business Group General Manager兼IBM Chief Developer Advocateのウィリー・テハダ(Willie Tejada)氏は「IBM Developer Way」と題して、IBMがデベロッパー向けに展開している施策を紹介した。

 「開発者にとって、次々と登場する新たなテクノロジーの中からどれを学び、それらで何を作るべきか」というのは重要な問題だ。

 「特に近年では『クラウドネイティブ』『AIとデータ』『ブロックチェーン』といったテーマが、開発者にとってのプレッシャーになっているのではないか」(テハダ氏)

技術別、業界別のベストプラクティスに触れられる「IBM Code」と「Code Patterns」

 IBMでは、そうした技術に関して学び、活用していこうとしている開発者を「コード」「コンテンツ」「コミュニティー」の観点から支援していこうとしている。同社では、開発者向け情報サイト「developerWorks」を運営しているが、その中に設けられた「IBM Code」が、その基盤であるという。

 IBM Codeでは、開発者がスキルと生産性を高める過程で参考にできる各種のコードへアクセスできる。ポイントは、テクノロジーや業界別のベストプラクティスとなる「Code Patterns」のアーカイブとなっている点だ。

 テハダ氏は「これはIBMだからこそ可能なこと。こうした取り組みは、IBMがOSSに対して行ってきた投資や貢献の流れをくむものである」とあらためて強調した。

IBMが技術支援を行う「Build with IBM for ISV Developer」

 もう1つ、パートナー向けの施策として紹介されたのが「Build with IBM for ISV Developer」だ。これは、クラウドやAIといったテクノロジーを活用したソフトウェア開発を行いたい企業に対し、IBMが技術支援を行い、同社のクラウド、Watsonなどを使いながら共同でPoC(Proof of Concept)の実施や、MVP(Minimum Viable Product)の開発を行うものだ。

社会問題の解決に向けた「Call for Code Global Initiative」

 テハダ氏は最後に、社会問題の解決に向けたテクノロジー活用という観点から、IBMがThe Linux Foundation、国連人権高等弁務官事務所、アメリカ赤十字社らと発表した「Call for Code Global Initiative」について触れた。これは、火災、洪水、地震、嵐といった大規模な自然災害に対し、備えを強化して被害を縮小したり、発生後の対応や被害の復旧を迅速に行えたりするような新たなシステムソリューションの開発を目指すもの。

 IBMでは、このイニシアチブにおいて、ツール、テクノロジー、コード、専門家によるトレーニングなどの提供資金として、今後5年で3000万ドルを投資していく計画だ。

 Call for Codeでは、個人やチームの開発者によるソリューションアイデアのコンテストを行う。応募期間は2018年6月18日から8月31日までとなっており、テハダ氏は多くの開発者が参加するよう訴えた。

●「UML」の生みの親が示す「AI時代のエンジニアに求められること」

 続いて登壇したのは、IBM Fellow & Chief Scientist for Software Engneergingのグラディ・ブーチ(Grady Booch)氏だ。現在もIBMソフトウェアのブランドとして名を残す「Rational」の重鎮であり、ビジネスとしてシステム開発を手掛ける開発者にとっては「UML」の生みの親、オブジェクト指向ソフトウェア工学の権威としても著名なブーチ氏は、「このAI時代において卓越したエンジニアであるために何をすべきか」をテーマに講演を行った。

○時代の変化で、開発者が取り組むべき課題も変化する

 コンピューティングの未来を考える前段として、ブーチ氏は、大規模な技術計算が電子式計算機ではなく「計算手」と呼ばれる人を大量に動員して行われていた時代から、冷戦や宇宙開発の時代を経て求められる計算の複雑性が増し、ハードウェアとソフトウェアが分離されて、「プログラムの設計」「プログラミング」という概念が生まれてきたこと。その後、人件費よりも高価であったコンピュータが徐々に低価格化していき、パーソナルコンピュータが登場するといったコンピューティングの歴史を振り返った。

 こうした技術の変遷の中で、いわゆる「エンジニア」「プログラマー」と呼ばれる人の役割も大きな変化を続けてきたとする。ネットワークによってコンピュータが接続され、インターネットの登場でその規模が爆発的に拡大する中で、エンジニアには単体で動くものだけでなく、他のさまざまな仕組みと連携可能な「システム」を構築していくことが求められるようになった。

 「そして、クラウドコンピューティングの時代においては、モノリシックなシステムを分解し、マイクロサービスと、用途に応じてそれらを組み合わせて提供するという新たなエコシステムが立ち上がってきた。技術と社会のランドスケープが変わることで、求められるソフトウェアの本質も変わる」(ブーチ氏)

 現在起こっている、機械学習やディープラーニングをベースとした「AI」の活用、その先に見えつつある「量子コンピューティング」時代の到来も、そうしたランドスケープを変化させるものだとする。時代の変化で、開発者が取り組むべき課題も変化するのは必然ということだ。

 「現在は『Imagined Reality』の時代だ。物理学者は、この宇宙で現実に起こっていることをイメージしながら、それをシンプルなモデルに還元して説明しようとする。開発者は、それとは逆に、シンプルなモデルを組み合わせたり、拡張したりしていくことで、自分がイメージする世界を実現しようとする。コードを書いてソフトウェアを作るということが、経済的価値となり、社会的な意味を持つ時代において、開発者には新たに倫理的・道徳的な課題が立ち上がってくる」(ブーチ氏)

○Luminous Productionsとの協業も発表――IBMのAI活用への取り組み

 ブーチ氏は、ここで近年特に関心が高まっている「AI」の活用に話題を移した。クイズ番組「Jeopardy!」に回答者として参加し、人間のクイズ王に勝利した「Watson」。Google DeepMindによって構築され、人間を破った囲碁プログラム「AlphaGo」。それぞれのアーキテクチャの違いを比較しながら、AIを活用してアイデアを実現する際には、さまざまなアプローチがあることを示した。

 「世の中に存在する多様なOSSの機械学習フレームワークも重要だ。IBMでは『Watson Studio』と呼ばれるAI活用のワークフローをサポートするツールにおいて、そうしたOSSもサポートしていく」(ブーチ氏)

 ここで、AIに関してIBMとのコラボレーションを進めている日本企業としてLuminous Productionsが紹介された。同社は、スクウェア・エニックスでゲーム「ファイナルファンタジーXV」の開発に携わったチームがスピンアウトし、2018年3月に設立されたばかりの開発スタジオである。

 同社で研究開発を担当するチーフリサーチャーの長谷川勇氏は、「ゲーム内に登場するキャラクターに知性を持たせて行動させる『AI Human』と、ゲームの開発プロセスにAIを活用することで、大規模化と複雑化が進む開発作業の効率化を目指す『AI Integrated Development』の主に2つの領域で、IBMとのコラボレーションを進めている」とした。

○AI時代に開発者が適応していくための3つのヒント

 ブーチ氏は、AI活用がますます重要となるこれからの時代に開発者が適応していくためのヒントとして「本を読んで学ぶ」「講義を受けて学ぶ」「何かを作る」の3つを実践していくことを勧めた。ブーチ氏自身も、これらを実践しながら新たな知識を学び、変化するテクノロジーに対応し続けているという。

 同時に、新たなテクノロジーが登場してきたとしても、これまでに学んできたことの中には「常に適用されるべき基本」も存在しているとする。それは「適切な抽象化」や明確な「関心の分離」、バランスの取れた「責任の分散」といったものだ。これらを基本としつつ、実行可能なアーキテクチャに対する反復的、増加的、継続的なリリースによってシステムを成長させていくことは、これからの時代においても必要なプロセスになるとした。

 「ソフトウェア開発者は世界を変えられるという特権を手にしている。だからこそ、その仕事は責任を伴う。私はこれからも、皆さんと一緒に、ソフトウェアを作ることで新しいものを生みだし、世界を変えていきたい」(ブーチ氏)

●IBMは企業や開発者と信頼性の高いエコシステムを構築していく

 その後、「イノベーター」と「エンジニア」の生き方や働き方をテーマとした2つのパネルディスカッションを挟み、ゼネラル・セッションのクロージングとして、日本IBMの代表取締役社長であるエリー・キーナン(Elly Keinan)氏が登壇した。

 今回の日本における「Code Day」は、約2000人の来場者と5000人のオンライン視聴者による大規模な開発者イベントになったという。キーナン氏は「この盛況が、IBMによる日本のデベロッパーコミュニティーへの強いコミットを表しているものだと感じてもらえればうれしい」とした。

 キーナン氏は、企業や開発者がIBMとパートナーシップを持つことのメリットとして「テクノロジーの未来にコミットしている企業であること」「古くからOSSに対して貢献、投資を続けている企業であること」「企業との協業における成果をコードパターンとして業界に還元していること」の3つを挙げた。その取り組みの実例として、テハダ氏の講演の中でも触れられた「IBM Code」「Build with IBM」などを再度挙げつつ、「多くの企業にこれらを活用してほしい」と訴えた。

 「IBMの使命は、テクノロジーに関する信頼性の高いエコシステムを、企業や開発者との間で構築し、コミュニティーに貢献していくこと。この取り組みを今後も継続していく」(キーナン氏)

最終更新:6/15(金) 7:05
@IT