2018年8月30日木曜日

AIチップの過去・現在・未来

 近頃では人工知能(AI)がしばしばニュースで取り上げられています。AIは医療診断、化学物質の合成、人混みの中での犯罪者の顔認識、車の運転、芸術作品の創造にすら活用されています。AIが人間に代わって何でもやっているところを見ていると、AIにできないことは何一つなく、私たちの仕事がなくなるのは時間の問題であるように思えてくることもあります。
 AI技術の発端を理解するために、このコラムでは今日に至るまでのその進化の過程を時系列に沿って見ていきます。また、AIチップの現状を踏まえ、先進運転支援システム(ADAS)や自動運転車の実現によって私たちの日々の生活を大きく変えるにはAIチップに何が必要なのかを考えていきます。まずはAIの歴史から見ていきましょう。AIはその進化の過程で、より特化された技術に形を変えていきます。プログラミングではなく体験学習に基づく意思決定を軸としたそれらの技術はマシンラーニングと呼ばれました。そして次にこのマシンラーニングを土台として生まれたのが、データをより深く理解させるためにアルゴリズムをいくつも重ねたディープラーニングです。
 

図1:マシンラーニングからディープラーニングへと進化してきたAI 出典:Nvidia
AIのルーツ
 「Artificial Intelligence(人工知能)」という言葉は、科学者のジョン・マッカーシー、クロード・シャノン、マーヴィン・ミンスキーらによって1956年のダートマス会議で初めて使用されました。1950年代の終わりごろにはアーサー・サミュエルが、自らの間違いから学ぶことができ、チェッカープログラムの作成者よりもうまくプレイできるようにさえなるプログラムに「マシンラーニング」という言葉を使いました。コンピュータ技術が急速に発展したこの時代の楽観的環境を思えば、AIはすぐに「完成」するだろうと研究者らが考えたのも無理はありません。科学者たちは、人間の脳の働きを模した計算によって現実世界の問題を解決できるのかどうかを調査し、そこで「ニューラルネットワーク」という概念を生みだしました。1970年、マーヴィン・ミンスキーはライフ誌にこう語っています。「3〜8年後には、平均的な人間の一般的知能を持つマシンが登場するだろう」
 1980年代までには、AIは研究室を出て商用化され、一大投資ブームを巻き起こしました。1980年代終わりにAIテックバブルがついにはじけると、AIは再び研究の世界に舞い戻り、科学者たちは引き続きその可能性を探りました。業界ウォッチャーたちはAIを「時代を先取りした技術」、あるいは「永遠にやってこない未来の技術」と呼びました。商用開発に再び火がつくまでには「AI冬の時代」といわれる長い停滞期があったのです。
 

図2:AI年表 出典:https://i2.wp.com/sitn.hms.harvard.edu/wp-content/uploads/2017/08/Anyoha-SITN-Figure-2-AI-timeline-2.jpg)
 1986年、ジェフリー・ヒントンは同僚たちと共に、バックプロパゲーション(誤差逆伝搬法)と呼ばれるアルゴリズムを使用してマルチレイヤー、すなわち「深層」ニューラルネットワークのパフォーマンスを劇的に向上させる方法を説明した画期的論文を発表しました。1989年、当時ベル研究所にいたヤン・ルカンと他の研究者らは、手書きの郵便番号を認識するよう訓練できるニューラルネットワークを作成し、この新技術を現実世界で応用できることを実証しました。このとき彼らがディープラーニング畳み込みニューラルネットワーク(CNN)を訓練するのに要した期間はわずか3日でした。そこから一足飛んだ2009年、スタンフォード大学のラヤト・ライナ、アーナンド・マドハヴァン、アンドリュー・ウは共同で、ディープラーニングにおいては近代GPUがマルチコアCPUの計算能力をはるかにしのぐことを説いた論文を発表しました。ここから再びAIブームに火がつきます。
AIチップの実用化に向けて
 近頃これほどAIが話題に上っているのはなぜなのでしょう? このテクノロジーが著しく発展する環境が整ってきたことで、現実世界の問題解決に幅広く役立てられると考える人々が増えているからです。今日ではインターネットによって提供されているインフラのおかげで、世界中の研究者たちが新しいアルゴリズムやソリューションの創造に必要な計算能力、大規模データ、高速通信にアクセスできます。例えば、自動車業界がAI技術に莫大な研究開発費を投じているのは、マシンラーニングによって自動運転などの非常に複雑なタスクを処理できる可能性があるからです。
 AIチップ設計における最重要課題の一つは全てを集約させることです。ここで言っているのは多種多様なハードウェアアクセラレータを用いてディープラーニングが実装される大規模カスタムSoC(システムオンチップ)のことです。自動車業界の厳格な安全・信頼性要求を考えればなおさらのこと、AIチップの設計は極めて難しいことに違いありません。しかし、AIチップがプロセッシング、メモリ、I/O、インターコネクト技術といった面でいくつか新しいソリューションを取り入れた単なるチップにすぎないのもまた事実です。
 新たにIC設計に乗り出したGoogleやTesla、さらにはAIMotiveやHorizon RoboticsといったAIチップベンチャー企業は、ディープラーニングの計算の複雑さについては豊富な知識を持っているものの、こうした最先端SoCを開発するにあたってはいくつもの厳しい試練に直面する可能性があります。これら新規参入プレイヤーができるだけ短期間で実用的なチップを開発できるようにする上では、コンフィギュラブルなインターコネクトIPが重要な役割を果たすと考えられます。
 

図3:GoogleのTSU(Tensor Processing Unit)に見るAIチップの構成
 例えば、画像解析による路側物体検出、分類を行う、車のフロントカメラ向けのディープラーニングアクセラレーターを搭載したAIチップについて考えてみましょう。最大帯域幅を確保するために各AIチップに固有のメモリアクセスプロファイルが割り当てられています。パフォーマンス目標を満たす必要があるときはオンチップインターコネクトへのデータフローを最適化して広帯域パスを確保しなければなりませんが、可能な場合は狭いパスを割り当てることによって面積、コスト、消費電力を最適化することができます。より高度なAIアルゴリズムを念頭に置けば各接続も最適化する必要があります。さらに付け加えれば、新しいAIアルゴリズムは毎日生みだされています。ある意味、今日のディープラーニングチップはバナナのようなもので、自分のAIチップに腐ったバナナを、つまり古いアルゴリズムを入れたい人などいないわけです。他の多くの半導体製品と比べてみても、こうした最先端チップでは製品化期間がいっそう重要な意味を持ってくるのです。
AIの未来
 ディープラーニングとニューラルネットワークによってAI技術は急速な進歩を遂げていますが、AIの究極の形を実現しようと思ったら根本的に異なるアプローチが必要になってくると考えている研究者たちは大勢います。大半のAIチップは、ルカンやヒントンらによって10年以上も前に発表された概念を絶えず改良してきたものに基づいて設計されており、たとえこのルートに沿って指数関数的な進歩が見られたとしても人間のように考えられるAIを実現できることは到底期待できないからです。
 今日私たちが知っているAIは、1つのタスクについてやっとのことで習得したディープラーニングを別の新しいタスクに適用することができません。また、ニューラルネットワークには、予備知識あるいは「アップvsダウン」や「子供には親がいる」というようなルールをうまく組み込むための方法がありません。さらに、人間は記憶に残るたった一度の経験で「熱いストーブには触ってはいけない」ことを学習できるのに対し、ニューラルネットワークに基づくAIに学習させるためには膨大な例が必要となります。大量のデータセットを使うことなく現在のAI技術をさまざまな問題にどう適用していけるのかは依然としてはっきりしていません。
 今のところAIチップは標準的な人間に比べてそう賢いわけではありませんが、それ自体が賢いことは確かであり、この先ますます賢くなっていくことはまず間違いないでしょう。AIチップが半導体プロセス技術、コンピュータアーキテクチャ、SoC設計の進歩を促すことによって処理能力が格段に上がれば、次世代AIアルゴリズムが登場するのもそう遠いことではないでしょう。また同時に、それら新しいAIチップの独自ハードウェアアクセラレーターにディープラーニングに必要なデータストリームを絶えず供給するためには、高度なメモリシステムとオンチップインターコネクトアーキテクチャが必要不可欠だと言えます。

あなたたちは、本当に「AI開発プロジェクト」をやる気があるのか?

 第3次AIブームを背景に、最近では多くの企業がAIの導入を検討しています。今や大企業の4社に1社がAIを導入しているという調査もあるほどです。メディアを通じて成功事例が知られるようになってきましたが、AIの導入はそんなに簡単な話ではありません。例えば、次の会話のような状況でプロジェクトを始めると、どうなるでしょうか。
A:AIで新製品の需要予測をしたいんですけども、どうしたらいいですか?
>B:予測して、その後どうするんですか?
>A:えっ……分析してから考えるつもりです。
>B:ちなみに過去の実績や参考になるようなデータはあるんですか?
>A:新製品だからありませんね。他製品のデータは経営報告のスライドに書いてあったと思いますが……。
 「AIの開発には『データがない』『分析力がない』『開発力がない』という3つのカベが立ちはだかるのが一般的です。しかし、それよりもっと重要なのが『AIに対する理解や当事者意識がない』ということ。AIを活用したいという要望を聞きに現場に赴くと、実はそんなにやる気がなかったり、『あなたたちは本当に開発プロジェクトをやる気があるのか』と感じたりする――そんな例は少なくありません」
 こう話すのは、トランスコスモス・アナリティクスのCOO(最高執行責任者)を務める北出大蔵さん。データサイエンティストとして数々のAIプロジェクトを経験し、成功事例も失敗事例も経験してきたと言います。トランスコスモスはアウトソーシング事業を展開しているため、ユーザー企業だけではなく、運用現場を担当する自社メンバーからもAI活用に関する相談を受けるのだそう。なぜ、それでも導入に失敗してしまうのでしょうか。
あなたたちは本当に「AI開発プロジェクト」をやる気があるのか?
 「AIを試してみたい」と口では言うけれど、心の底では別にAIで何とかしたいとは思っていない……。「上に言われたから」「競合がやっていたから」「お客さまに言われたから」など、理由はさまざまかもしれませんが、AI開発が自分ゴトになっていない状況でプロジェクトがうまくいくわけがありません。その例が冒頭に示したやりとりです。
 「AIでも機械学習でもチャットbotでも、ツールを使って何かやるのが自分じゃないと考える傾向がありますね。『あなたが何か便利なもの作ってくれるんでしょう? 私の手を使わずに』と思っている。
 AI開発プロジェクトを立ち上げる際、声が掛かるのはありがたいのですが、呼ばれて行っても『課題がない』とどうしようもありません。そういう場合は大抵、音声認識や需要予測といったキーワードレベルで相談が来ます。そういう目的がないケースは、プロジェクトが早々に立ち行かなくなりますし、『社内にデータがない』という理由で止まることがほとんどです」(北出さん)
なぜAIに対する理解が進まないのか?
 システムでやりたいことがあっても、使う必然性がなければ使われず、放置されるだけでしょう。この当事者意識の欠落は「年を経てどんどんひどくなってきている」と北出さんは感じているようです。その背景には、AIに対する誤解があると言います。
 「AIという言葉は、誤解を生みやすいという点でタチが悪い。自律的に勝手に学んでいく機械学習の側面と、RPAのような自動化の側面、それに加えて、音声や文字のようなアナログのデータでもデジタル化すれば処理できるという側面。
 技術的な観点では、それぞれ全く別モノなのですが、今は全てAIという言葉でくくられてしまっています。だからこそ、余計に何ができるのかが分かりにくく、『何かすごいことができそう』という感覚が先行してしまうのでしょう。触ったことも見たこともないために想像できないというのも、大きな理由だとは思いますが……」(北出さん)
 「AIをイメージできない人々も、プロジェクトに一度でも参加すれば理解は深まる」と北出さん。「AIってこういう場面なら使えるよね」という感覚を得るには、とにかく当事者意識を持って、試してみることが重要だと言います。しかし、そのための課題設定やデータ準備に膨大な時間を費やしてしまっては、プロジェクトが全く進まなくなるため、失敗前提で一度試させるようにしているそうです。
 AIに対して過度な期待を抱く人が多いのは、多くのビジネスパーソンが「業務をプロセスで考えられない」という点も関係しています。
 「本来、AIは業務プロセスの一部を効率化したり、代行する形で導入されるはずです。例えば『4段階ある業務プロセスのうち、3段階目でいつも時間がかかっているからAIを使って効率化したい』となれば分かりやすい。しかし、業務プロセスが見えておらず、『この業務が問題。理由は分かりませんが、AIで何とかなるんでしょ」という発想になってしまう。こうなると話は進みません」(北出さん)
AIの導入には「業務をプロセスベースで考える」姿勢が不可欠だという(提供:トランスコスモス)
 古くはERPパッケージやDWH、DMP、データマイニングといったツールと同様に、「これがあれば、既存の問題は解決してうまくいく」という神話が、AIでも繰り返されているといえるでしょう。このような神話を基にプロジェクトを進めてしまうと、目的や狙いなしに取りあえずAIを試してみる、といった暴挙に出ることになってしまいます。
コンセプトなき「PoC」が横行している
 「ここ2年間のAIプロジェクトは特にそうだったと感じていますが、技術部門が『PoC(Proof of Concept)』という名の単なる技術検証しかしてこなかったケースが多いですね。本来はコンセプトが必要なはずなのにそれがない。試しに使ってみた、導入してみた、それだけなのです。一通り検証を終えると『いいっちゃいいけど、なくてもいいよね』といった評価が下される。課題を解決するために導入していないのだから当然です」(北出さん)
 技術検証や調査は重要だが、コンセプトなきPoCの検証を経て、プロジェクトが成功することはない。AIプロジェクトのカベといわれる「データがない」「分析力がない」「開発力がない」というのは、何をやるか決まってからの話です。分析や開発といったポイントはSIerをはじめとした外部の力を借りることも可能ですが、課題やデータは自社で持っていなければ、プロジェクトが始まることもないのです。
コンセプトのない「PoC」を繰り返しても、何の意味もありません(提供:トランスコスモス)
 「みんながもう少し知識を持っていれば……と思うのですが、それはそれで難しいですよね。『よく分からないから専門家が何とかして!』という話で、思考停止してるんですよ。日本企業でAIが普及しないのは『データサイエンティストが不足しているから』という話をする人もいますが、私はそうは思いません。もう少し実務に沿った形で具体的に落とし込んだ議論が必要でしょう」(北出さん)
 とはいえ、当事者意識や知識がない中でも、プロジェクトを進めていかなければいけない例もある。そういう場合、北出さんは必ず「じゃあ3回失敗しましょう」とクライアントに話すのだそう。一体なぜ、必ず3回失敗することになるのでしょうか。
著者プロフィール:松本健太郎
株式会社デコム R&D部門マネージャー。セイバーメトリクスなどのスポーツ分析は評判が高く、NHKに出演した経験も。他にも政治、経済、文化などさまざまなデータをデジタル化し、分析・予測することを得意とする。本業はインサイトを発見するためのデータアナリティクス手法を開発すること。