HOME/ AINOW編集部 /ディープラーニングはもう難しくない
2020.03.11

ディープラーニングはもう難しくない

最終更新日:

著者のCaleb Kaiser氏は、エンジェル投資家とスタートアップを志望する求職者のためのWebサイトを運営するAngelListに勤務した後、機械学習向け開発環境Cortexの開発に携わっています。同氏がMediumに投稿した記事『ディープラーニングはもう難しくない』では、近年、機械学習アプリの開発の敷居が低くなっていることとこの事実から導かれる帰結が論じられています。

機械学習とディープラーニングが活用されるようになった第三次AIブームが始まった数年前においては、AIモデルの開発には大規模な学習データ、巨大なアーキテクチャ、そして多額の資金が必要だったため、Googleのような資本力のある企業しか開発できませんでした。

こうしたなか、AI開発の敷居を下げる技術が登場しました。その技術とは、事前学習済みのAIモデルを特定の目的に最適化する転移学習です。転移学習を使えば大規模な学習データと巨大なアーキテクチャが不要となるため開発コストを削減できるので、従来は参入できなかった企業がAI開発に進出できるようになるのです。こうした転移学習を用いた事例として、テキストアドベンチャーゲームの文言を自動生成するAI Dungeon等が挙げられています。

転移学習を用いたAI開発が今後さらに普及すると、AI開発は事前学習済みの高性能AIモデルをカスタマイズするという方法論が主流になることが予想されます。この予想は、一部の専門家の専有物からオープンソース化されるというソフトウェアエンジニアリング全般の歴史がAI開発でも繰り返されようとしていることからも妥当なものと言えます。ちなみに、Kaiser氏が開発に関わるCortexは転移学習が主流となるAI開発を先取りして推進するものと位置づけられています。

Cortexがどの程度普及するかは定かではありませんが、近い将来、主要なAIモデルと学習データがほぼすべてオープンソース化され、AI開発の敷居が現在よりさらに低くなることでしょう。

なお、以下の記事本文はCaleb Kaiser氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。

少なくとも、ディープラーニングでソフトウェアを構築することは難しくない。

それほど遠くない過去においては、データサイエンスチームはディープラーニングを効果的に使うために、以下のようないくつかの条件を必要としていた。

  • おそらくは社内向けに設計された新しいモデルアーキテクチャ
  • 大規模でおそらくは独占的なデータセットへのアクセス
  • 大規模モデルの訓練のためのハードウェアまたは資金

以上はディープラーニングのボトルネックとして影響を及ぼし、ディープラーニングを開発できるのは以上の条件を満たす少数のプロジェクトのみに制限していた。

しかし、ここ数年で状況は変わった。

(機械学習ウェブアプリ開発環境である)Cortexにおいて、この環境のユーザがディープラーニングによって構築された新世代の製品をローンチするのをわたしたちは見てきた。そして以前とは違って、こうした製品はオリジナルなアーキテクチャモデルを使って構築されてはいないのだ。

以上のような新世代の製品の成長を影で推進したものこそ、転移学習だ。

転移学習とは何か?

転移学習とは、大まかに言えば、(例えば、画像のなかから花を識別するような)特定のタスクのために任意のモデルを訓練するために蓄積された知識である。転移学習を使えば、任意のモデルを、誰かの肌からメラノーマ(悪性黒色腫:ほくろのように見える皮膚がんの一種)を識別するような任意のモデルに関連したタスクでありながら目的の異なる予測を支援するために、違うモデルに作り替えることができる。

原註:転移学習の技術的な詳細をもっと知りたい場合は、Sebastian Ruderがすばらしい入門書を作成している。

転移学習には様々なアプローチがあるのだが、ファインチューニングというアプローチが特に幅広く採用されているように見受けられる。

このアプローチでは、チームは事前学習されたモデルを取得し、新しい関連タスクに焦点を合わせるためにモデルの最後のレイヤーを削除あるいは再訓練する。例えばAI Dungeonは、AIによって生成されたストーリーが説得力があることで話題になったオープンワールドのテキストアドベンチャーゲームである。

GIFアニメ出典:AI Dungeon

注目すべきはAI Dungeonが開発されたのはGoogleの研究所の1つによってではなく、たった1人でハッカソンプロジェクトに参加したエンジニアによって開発されたことだ。

AI Dungeonの作成者であるNick Waltonはモデルをゼロから設計するのではなく、最先端のNLPモデル(OpenAIのGPT-2(※訳註1))を採用して、ゲームをプレイするユーザごとに独自な冒険に関する文言を選択するようにファインチューニングして構築した。

AI Dungeonがうまく動作するのは、ニューラルネットワークの内部において最初のレイヤーは生成するテキストの単純かつ一般的な特徴のみに焦点を合わせる一方で、最終レイヤーはより特定化された分類/回帰に焦点を合わせているからだ。Andrew Ng氏(※訳注2)は画像認識モデルの処理を図解することで、モデルのレイヤー構造とレイヤーごとの相対的特異性を視覚化している。

画像出典:Stanford

基本層の一般的な知識は、多くの場合、他のタスクにうまく変換される。AI Dungeonの事例では、GPT-2には一般的な英語に関して最先端の理解があり、ジャンルとしての冒険小説に見られる文言をプレイヤーごとに選択するように、最終レイヤーで少し再訓練する必要があっただけだった。

以上のようなプロセスを使えば、Nick Walton のようにエンジニアがたった一人で数日のうちに新しいドメインで最先端の結果を実現するモデルを実装することが可能となるのだ。

(※訳註1)GPT-2とは、AIを研究するNPOであるOpenAIが発表した言語AIモデル。同モデルの公開と同時に掲載した2019年2月のOpenAI公式ブログ記事によると、フェイクニュース生成をはじめとした悪用の恐れがあることから、15億のパラメータをもつフルサイズモデルは公開されなかった(非公開に関しては本記事でも後述)。その後、2019年11月にフルサイズモデルを公開することが発表された。GPT-2については、AINOW翻訳記事『2019年はBERTとTransformerの年だった』でも言及している。
(※訳註2)Andrew Ng(アンドリュー・エン)氏はアメリカで著名なEラーニングサービス「Coursera」を設立し、スタンフォード大学で教鞭も執っている。同氏のAI教育に関しては、AINOW翻訳記事『アンドリュー・エン教授のアドバイスによる機械学習キャリアの築き方と研究論文の読み方』で紹介している。

転移学習が次世代の機械学習搭載ソフトウェアのカギである理由

本記事の最初で、機械学習―とくにディープラーニング―を効果的に使用するためには、現状では必要とされる有利な条件について説明した。すなわち大規模でクリーンなデータセットにアクセスする必要があり、効果的なモデルを設計できる必要があり、それをトレーニングする手段が必要なのだ。

つまり、以上のような制約的条件があることによって、デフォルトな状況では特定のドメインにおけるプロジェクト、あるいはリソースに乏しいプロジェクトは機械学習を実行できないと言える。

それが今や転移学習により、これらのボトルネックは取り除かれつつある。

1.小規模なデータセットしかないことはもはや障壁ではない

通常、ディープラーニングには大量のラベル付きデータが必要なのだが、多くのドメインではこうした大規模なデータは存在しない。転移学習はこうした状況を改善できる。

例えばハーバード大学医学部に所属するチームは最近、「胸部レントゲン画像からガン以外の死亡を含む長期死亡率を予測できる」モデルを実装した。

画像出典:JAMA Network

50,000枚までのラベル付き画像のデータセットしかなかったので、ハーバード大学医学部のチームはCNN(畳み込みニューラルネットワーク)をゼロからトレーニングするために必要なデータを持ち合わせていなかった。代わりに、(1,400万枚を超える画像のImageNetデータセットで訓練した)事前学習済みのInception-v4モデルを採用し、転移学習とわずかなアーキテクチャの変更を使用してモデルを(彼らがもっていた胸部レントゲン画像の)データセットに適合させた。

最終的に、胸部レントゲン画像診断CNNは患者ごとに1つの胸部画像を使用してリスクスコアを生成することに成功したのだった。このスコアは患者の実際の死亡率と相関するものであった。

2.モデルは数日ではなく数分で訓練できる

膨大なデータを使ってモデルを訓練する時には、大規模なデータセットを取得することが問題となるだけではなく、リソースと時間に関する問題も生じる。

例えばGoogleが最先端の画像分類モデルXceptionを開発していた時、2つのバージョンを訓練していた。1つはImageNetデータセット(1,400万枚)、もう1つはJFTデータセット(3億5,000万枚)だ。

60個のNVIDIA K80 GPUを使った(様々な最適化を伴う)訓練には、ImageNetの実験をたった1回行う度に実行に3日かかった。JFTの実験では1ヶ月以上を要した。

今となっては事前学習済みのXceptionモデルがリリースされたので、チームは独自のバージョンをより迅速にファインチューニングできる。

さらにイリノイ大学とアルゴンヌ国立研究所から成るチームの最近の事例では、銀河の画像を渦巻きまたは楕円形に分類するモデルが訓練された。

35,000枚のラベル付き画像のデータセットしか持っていなかったにもかかわらず、イリノイ大学らのチームはNVIDIA GPUを使用してわずか8分で Xceptionをファインチューニングすることができた。

結果として得られるモデルは、GPUを使って提供される場合(※訳註3)、毎分2,000個という超人的なスピードと正解率99.8%で銀河を識別できたのだった。

(※訳註3)本記事の著者Kaiser氏がMediumに公開したほかの記事『OpenAIのGPT-2をGPUとCPUで比較してベンチマークする』では、同モデルのパフォーマンスに関するGPUとCPUの比較について論じられている。
比較は同モデルに欠落のある英短文を入力として与え、欠落部分を予測するテストの実施を通して行われた。その結果、GPU使用時にはCPUに比べて4.6倍以上速く処理された。この結果により、GPUは訓練だけではなくモデル実行時にも有効活用できることが実証された。しかし、GPUをAIの処理に使うと高速になる一方で、コストがCPUに比べて5.5倍となることもわかった。

3.モデルの訓練にベンチャーキャピタルはもう必要ない

おそらくGoogleは、60個のGPUでXceptionモデルを一度に数か月間訓練した時、コストをあまり気にしていなかっただろう。しかし、Googleサイズの予算を持たないチームにとっては、モデルの訓練に費やされる価格は大きな懸念事項だ。

例えばOpenAIが最初にGPT-2の結果を公表したとき、モデルアーキテクチャはリリースされたが、誤用されることを懸念して、完全に事前学習したモデルはリリースしなかった。

以上のようなOpenAIの措置に対応して、Brown大学のチームは論文に記載されているアーキテクチャと訓練手順に従ってGPT-2を複製して、それをOpenGPT-2と呼ぶようにした(※訳註4)。訓練には最大で約50,000ドルかかったのだが、GPT-2ほどのパフォーマンスは出なかった。

50,000ドルをかけて最先端の性能を下回るモデルしかできないのは、巨額の資金を使わずに現実的なソフトウェア製品を開発しているチームにとって大きなリスクである。

幸いなことに、転移学習は最先端技術の水準を実現するコストを劇的に削減する。

Nick WaltonがAI Dungeonを構築した時、GPT-2をファインチューニングして実行した。OpenAIはすでに約27,118,520ページのテキストと数千ドルをモデルの訓練に費やしていたので、彼はそのいずれも再作成する必要がなかった(※訳註5)。

代わりに、chooseyourstory.com(※訳註6)から集めてきたはるかに小さなテキストのデータセットを使用して、Google Colab環境(※訳註7)でモデルをファインチューニングした。こうした開発プロセスは完全に無料である。

(※訳註4)OpenGPT-2を複製した顛末については、複製を実行したブラウン大学の研究助手であるVanya Cohen氏らのチームが投稿したMedium記事『OpenGPT-2:わたしたちはGPT-2を複製した。なぜならあなたもできるから』でまとめられている。その記事によると、GPT-2の複製は言語AIの開発経験のない修士生2人でできる程度の難易度と作業量だった。複製コストとしてクラウドコンピューティングの利用費用である50,000ドルがかかり、訓練スピードを落とせば費用を削減できる、とのこと。同記事には、OpenGPT-2とGPT-2を各種言語テストで比較した結果もまとめられている(以下の画像参照)。 画像出典:Medium ‘OpenGPT-2: We Replicated GPT-2 Because You Can Too‘[/caption]
(※訳註5)本記事の著者であるKaiser氏は自身が投稿したMedium記事『実装するには大き過ぎる:GPT-2はどのようにしてサーバを破壊するのか』において、GPT-2が大規模な学習データを使用したことに伴いモデル自体のサイズが巨大化したため、実稼働環境での運用が困難になっていることを指摘している。
GPT-2をはじめとした近年次々と登場している莫大な量のパラメータをもつモデルを実稼働環境で運用するノウハウとして、同氏は以下のような3つの方法を提案している。
  1. 性能を劣化せずにモデルのサイズを小さくする。具体的には、モデルを蒸留するのが有効。
  2. AIモデルをクラウド環境に設置してクライアントサーバモデルで運用する。
  3. AIモデルを稼働させるハードウェアを改善する。

以上のように提案したうえで、個々の実稼働環境でAIモデルを稼働させる際の技術的問題を解決するのは、AI業界において日常茶飯事になるだろう、と同氏は述べている。

(※訳註6)chooseyourstory.comとは、Choose-Your-Own-Adventureのスタイルで執筆されたテキストゲームを多数公開しているコミュニティサイト。Choose-Your-Own-Adventureとは、1980年代に流行したゲームブックのように、読者がストーリーの展開を選択できる冒険小説を意味する。
(※訳註7)Google ColabとはGoogle Colaboratoryの略称で、ウェブブラウザからPythonのソースコードを実行できる開発環境である。GPUに簡単にアクセスできるうえに、ソースコードの共有も容易に可能となっている。

機械学習エンジニアリングは真のエコシステムになりつつある

機械学習エンジニアリングをソフトウェアエンジニアリングと並べてみると、極めて標準的なパターンでエコシステムが「成熟」するのを見ることができる。

新しいプログラミング言語はいくつかのエキサイティングな機能を備えて登場し、それを見て人々は特殊なユースケース、研究プロジェクト、そして趣味に使用する。この段階では新プログラミング言語を使う人は誰であっても、基本的なユーティリティをすべてゼロから構築する必要がある。

新プログラミング言語の登場後しばらくするとコミュニティ内の人々は、ツールが実稼働環境で使用できるまでに十分に安定するまで、共通のユーティリティを抽象化したライブラリとプロジェクトを開発する。

この段階では、ソフトウェアを構築するためにライブラリ等を使用するエンジニアは、HTTPリクエストの送信やデータベースへの接続を配慮していない。ネットワーク機能はまだ抽象化から斥けられ、エンジニアはとりあえず製品の構築に専念している。

以上のような段階を別の仕方で言えば、FacebookはReactを、GoogleはAngularをそれぞれ構築し(※訳註8)、ソフトウェア開発エンジニアはこうしたライブラリやフレームワークを使って製品を構築する段階に達している。転移学習により、機械学習エンジニアリングは今日のウェブアプリ開発のような次の段階へのステップを至る。

OpenAI、Google、Facebook、およびその他のテック業界大手のような企業が強力なオープンソースモデルをリリースするにつれて、機械学習エンジニア向けの「ツール」の能力と安定性が向上する。

するとPyTorchまたはTensorFlowを使用してモデルをゼロから構築する代わりに、機械学習エンジニアはオープンソースモデルと転移学習を使って製品を開発するようになる。つまり、まったく新しい世代の機械学習を活用したソフトウェアが登場する。

そして今や、機械学習エンジニアはわたしたちが提供するようなオープンソースのモデルを使って製品をリリースする方法について思い悩まなければならないのだ。

原註:ファインチューニングされたモデルを使用したソフトウェアの構築に関心がある場合は、モデルを実装するためのオープンソースプラットフォームであるCortexを確認してください。Cortexに関する情報は完全に開示しており、私はCortexに関する貢献者のひとりです。

David Eliahuに感謝を込めて

(※訳註8)Reactとは、Facebookが主導して開発されたユーザーインタフェース構築に使われるJavaScriptライブラリAngularとは、Googleが主導して開発されたTypeScriptを使ったフロントエンドWebアプリケーションフレームワークである。

原文
『Deep learning isn’t hard anymore』

著者
Caleb Kaiser

翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)

編集
おざけん

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

生成AIで“ウラから”イノベーションを|学生起業家が描く、AIを活用した未来

特許技術×AIでFAQを次のステージへ|Helpfeel

GPUの革新からAI時代の主役へ|NVIDIA

あなたにおすすめの記事

生成AIで“ウラから”イノベーションを|学生起業家が描く、AIを活用した未来

特許技術×AIでFAQを次のステージへ|Helpfeel

GPUの革新からAI時代の主役へ|NVIDIA