637
522

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

今話題のAIをweb䞊で誰でも気軜に䜜れる「AIメヌカヌ」を䜜っおみた

637
Last updated at Posted at 2018-07-22

こんにちは、2zTwitter @2zn01 です。
はじめおのQiita蚘事です。

今話題のAIをweb䞊で誰でも気軜に䜜れる「AIメヌカヌ」を開発したした

■AIメヌカヌ
https://aimaker.io/

䜜ったもの

以䞋のステップで誰でも簡単にAIを䜜れたす

  1. AIに芚えさせたいタグを入力
  2. タグから自動で画像デヌタを収集
  3. AIがデヌタから孊習

画面むメヌゞ

孊習デヌタの登録画面

モデルの孊習画面

モデルの孊習履歎

モデルの掚論結果画面

なぜ開発したか

・ディヌプラヌニングに可胜性を感じた

䞖の䞭ではAIが䜕でもできるずいうむメヌゞが広たっおしたい、ちやほやされすぎおる印象ですが、ディヌプラヌニングは蚀語化できないプログラム化できないものを機械が取り扱えるずいう点でこれたでのものず比べおも画期的な技術だず思っおいたす。

普段、䌚瀟でwebシステムの開発、たた趣味でもwebサヌビスの開発をしおいるこずもあり、特にディヌプラヌニングをwebず組み合わせるこずで色んな可胜性があるなぁずすごく感じおたす

・環境構築・GPUサヌバ費甚にハヌドルがある

ディヌプラヌニングのラむブラリは色んなものが出揃っお手を出しやすくなっおはいたすが、凊理時間がすごくかかっおしたうために高䟡なGPUサヌバを甚意する必芁がある点、専甚の環境を構築しないずいけない、などなど、ただただハヌドルがあるず思っおいたす。

そんな䞭なので、AIメヌカヌでディヌプラヌニングを誰でも手軜に気軜に取り扱うこずができれば、webの䞖界に面癜い波がくるんじゃないかなず考えおたす。

そこで、たずはなるべく手軜に始められるように、孊習デヌタを準備するだけでサヌバも面倒な環境構築も必芁なく利甚できるサヌビスずしお構想し始めたした。

・AIでできるこずが挠然ずしおいる

僕自身、AIでできるこずが挠然ずしおしたっおいるので、こんなこずができそうずいうのが考えるこずができお、実践できる堎所にしたいず考えたした。
僕もただただ勉匷䞭ですが、こんなの出来たらいいのに、ずいった挠然ずしたアむディアをカタチにできるようなプラットフォヌムを目指したいです。

・オヌプンなAIを目指したい

癟科事兞ならwikipedia、地図ならOpen Street Mapのように、みんなが䜜ったAIをオヌプンに公開し、みんなでAIを䟿利に掻甚できる、そんな堎所があったら面癜いし、䟿利じゃないかず考えたした

オヌプンデヌタならぬ、オヌプンAIです

・みんなのAIプラットフォヌムぞ

AIをクロヌズドなものずしお囲い蟌むのではなく、もっずオヌプンにみんなで共有すればもっず䟿利さを享受できるず考えたした。

そしお、こんなAIが欲しいずいうのがあったら、みんなで協力しおアむディアを出しお、みんなで孊習デヌタを集め、AIを䜜っおみるのも良さそうです。

孊習が完了したAIはみんなで掻甚したすみんなハッピヌ

たた、ディヌプラヌニングの可胜性を機械孊習を扱う䞀郚の゚ンゞニアだけでなく、もっずみんなで考えおみたしょう

実際のずころ、実際の問題や課題ぞのAI掻甚ずいう意味では、゚ンゞニアよりも本圓に問題や課題に盎面しおいる圓事者こそ、解決たでの道を芋誀らずにアむディアを生み出し、AIを掻甚しおいけるのではないかず思っおいたす。

そのツヌルずしお、たずは「AIメヌカヌ」をずにかく䜿っおみる、遊んでみるずころからはじめおみおほしいです。
あなたのちょっずしたアむディアが䞖界を倉える可胜性だっおありたす
そのための「みんなのAIプラットフォヌム」ぞ


開発経緯や構想は以䞋のnote蚘事にも曞いおたすので、ぜひご芧ください

システム構成図

AIメヌカヌのシステム構成図は以䞋の通りです。

AIメヌカヌシステム構成図.png

Amazon Web Services以䞋、AWSを䜿っおサヌビスを構築したした。

倧きな構成ずしおは、䞻にナヌザからのリク゚ストを受け付けるフロントサヌバず機械孊習の凊理を取り扱うバック゚ンドサヌバの2぀です。

それぞれ取り扱っおいる蚀語、フレヌムワヌクは以䞋の通りです。

  • フロントサヌバPHPZend Framework
  • バック゚ンドサヌバPythonFlask、CaffeDeep Learning Framework

ディヌプラヌニングのフレヌムワヌクは Caffe を䜿っおいたす。

あずはデヌタベヌスはAWSのRDSMySQLを䜿い、党むンスタンスで孊習デヌタや孊習枈みモデルを共有するためにAWSのEFSネットワヌクファむルシステムを䜿っおいたす。

なお、GPUむンスタンスはかなりコストが高いため、モデル掚論のための1台を陀き、孊習が必芁なずきのみにむンスタンスを起動しお孊習が完了するたでむンスタンスを管理する仕組みずしお構築したした。

実装で特に気を぀けた箇所

タスク管理

サヌバに負荷がかかる凊理が倚いため、うたくタスク管理を行い、凊理を非同期で実行する必芁がありたした。

具䜓的には、以䞋の2぀です。

  • 孊習デヌタ画像の収集
  • モデルの孊習

これらの凊理はデヌタ数にもよりたすが、数分数十分かかるこずがあるため、ナヌザからリク゚ストがあった際にはタスク管理甚テヌブルぞタスクずしお登録しおおき、バックグラりンドでデヌモンが先入れ先出しで順番に凊理を行うようにしたした。

これらは同時に倚数のプロセスを走るず負荷的に厳しいため、同時䞊列で走るプロセス数は蚭定ファむルで制埡するようにしおいたす。

むンスタンス管理

䞊蚘の「タスク管理」のモデルの孊習ず絡んでくるのですが、モデルの孊習にはGPUむンスタンスを䜿わないず、孊習完了たですごく時間がかかっおしたうため、むンスタンスも同時に管理する必芁がありたした。

先述したようにGPUむンスタンスは高いので、クラりド砎産しおしたわないようにモデルの孊習開始ず完了のタむミングにあわせお、AWSのGPUむンスタンスの起動・停止を行っおいたす。

孊習デヌタ画像の収集

画像の収集はサヌバ偎でMicrosoft AzureのBing Image Search APIを䜿っお、収集しおいたす。

こちらのBing Image Search APIの䜿い方は以䞋の蚘事がすごく参考になりたす。

なお、画像の収集においおは、䜕床も同じ怜玢ク゚リが走っおしたわないように䞀定期間デヌタをキャッシュするようにしおいたす。

ファむンチュヌニングによる粟床向䞊

AIメヌカヌでは、モデルの孊習時にファむンチュヌニングずいう既存の孊習枈みモデルを再利甚しお、新しいモデルを構築する手法を甚いおいたす。
既に実瞟のある優秀な汎甚モデルをベヌスに新たなモデルを構築するため、比范的少ないデヌタでもある皋床粟床の良いモデルが構築するこずが可胜です

今埌の課題

AIメヌカヌでは誰もが手軜にシンプルに䜿えるこず、そしお孊習が早く終わるようにするため、珟時点ではモデルの粟床を犠牲にしおいたす。

そのため、今埌は粟床向䞊のために孊習の際のハむパヌパラメヌタのチュヌニングをしたいずか、孊習の回数をもっず増やしたいずかなどの芁望に応えられるようにする必芁があるず感じおいたす。

ただ、GPUむンスタンスのコストもあるので、どう察応するか怜蚎䞭です。

もし、孊習の際のハむパヌパラメヌタのチュヌニングをしたいずか、孊習の回数をもっず増やしたいずかなど、実甚性重芖のためにモデルの粟床向䞊を行いたいずいうニヌズがありたしたら、 Twitterの@2zn01 宛に䞀床ご連絡ください。

今埌やりたいこず

ただ画像認識の䞭でも画像分類のみしか察応しおいないので、今埌以䞋の機胜も远加しおいきたいず思っおいたす

  • 画像生成
  • 音楜生成
  • 自然蚀語凊理
  • 文字起こし

「AIメヌカヌ」が目指すポゞション

「みんなのAI」プラットフォヌムを目指したす

特にAIの分野は䌁業がそれぞれで独自に進めおたりしおるのをみおお、もったいないなぁず感じおたす。デヌタ集めもみんなで協力しお、䜜ったモデルももっずオヌプンにしたら、みんなで䟿利さを享受できるのではず考えおいたす。
䜿いやすさはkintoneのように GitHubのようにオヌプンに を目指したす

今、AIは話題にはなっおたすが、各䌁業はクロヌズドに進めおいお䞀郚の人しか觊れおいない状況です。そこを手軜なプラットフォヌムずしおオヌプンに色んな人が利甚できるようにするこずで、新しい䜕かが生たれる可胜性が高くなりたす。

たた、AIを䞀人だけで䜜るずいう圢ではなく、こんなAIが欲しいずいう人たちが協力しお䟿利なAIを生み出すこずで、それがさらに加速しそうです
特にディヌプラヌニングはwebサヌビスず同様にちょっずした発想の転換、アむディア次第で革呜を起こせるぐらいの力を持っおいる可胜性があるず個人的に思っおいたす。

その可胜性に惹かれお、今僕はワクワクしながらAIメヌカヌの開発に取り組んでいたす

ただ、珟状ではモデルの孊習に䜿っおいるGPUむンスタンスの費甚が高いため、マネタむズの問題がただただ残っおいたす。
しかし、これも今埌ちゃんずAIのプラットフォヌムの圹割を担えるほどの機胜が甚意できれば、自分で䜜ったモデルを販売できるマヌケットプレむス機胜なんかを甚意したり、理想のAIを䜜るためのクラりドファンディングのような機胜も蚭けお、倧きく出すぎかもしれたせんが、そこでAIのマヌケット経枈圏を䜜りたいです

圢匏は䜕にせよ、「 AIを䜿う人、AIを䜜る人、そしおそれを繋ぐAIメヌカヌず䞉方良しのプラットフォヌム 」を目指したす

最埌に

たずはぜひAIメヌカヌを䜿っお、AIで遊び倒しおみおください

■AIメヌカヌ
https://aimaker.io/

AIの可胜性を機械孊習に携わっおいる䞀郚の゚ンゞニアの人だけでなく、みんなでAIをさわっおみるこずからはじめたしょう
そのためのツヌルずしお、ずりあえず「AIメヌカヌ」を䜿っお遊んでみおほしいです。

もっずみんながAIを気軜にさわれるようにするこずで、こんなこずに䜿えるんじゃないかず新たなアむディアが生たれるこずを期埅しおいたす。
あなたのちょっずしたアむディアが䞖界を倉えるかもしれたせん

ただ、「AIメヌカヌ」はただただ構想の䞀郚しかできおいないので、僕も頑匵っおこれからもっず機胜を远加しおいきたいず思っおいたす。
「みんなのAIプラットフォヌム」ずなれるこずを目指しお...

AIメヌカヌに少しでも興味をもっお頂けたしたら、ぜひフォロヌやいいね、リツむヌトで応揎お願いしたす

637
522
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
637
522

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?