AIフレームワークとは? 人気フレームワーク5つのご紹介
昨年、ガートナーの市場調査では、世界のAI(人工知能)業界が2022年に625億ドルに達し、2021年から21.3%増加すると予測されました。「AI」や「ディープラーニング」等の言葉は新しい概念ではないですが、AIをつかったシステムの開発はまだ難しいのが現状です。そのため、AI開発用のツールやサービスが複数登場しています。
本記事では、AI開発を簡単化させる「AIフレームワーク」について紹介いたします。
AIフレームワークとは
フレームワークは「枠組み」と翻訳されます。その名前通り、開発工程や期間を短縮するために、利用頻度の高いプログラムをまとめる「枠組み」です。フレームワークを活用することで、既存プログラムの一部を修正するだけで利用できるようになります。プログラマーの負荷の削減だけでなく、経営者の観点から見てもビジネスに役に立つものです。
AI(人工知能)の開発においてもフレームワークの活用は不可欠になります。その中で、開発者に無償で提供されているオープンソース(OSS)のフレームワークが最も注目されています。ここでは、有名なAIフレームワークについて、それぞれの特徴を簡単にまとめさせていただきます。
AI開発における人気フレームワーク5つ
1.TensorFlow
TensorFlowは、機械学習とディープニューラルネットワークを研究するために、グーグル社のGoogleBrainという部署の科学者とエンジニアによって開発されました。音声認識、言語翻訳、画像認識、画像のテキスト化等用途が幅広いフレームワークのひとつです。 他のAIフレームワークと比較すると、TensorFlowは最高のオープンソースフレームワークと評価されています。
このフレームワークは、GoogleおよびAmazonのクラウド環境でも開発可能です。
TensorFlowの特徴:
・C++とPythonで記述
・即時デバッグ機能を備えた使いやすいツール
・GPUだけではなく複数のCPUでも実行でき、トレーニングと学習したモデルからの実際のデータ処理が高速化
2.Microsoft Cognitive Toolkit
Microsoft Cognitive Toolkitはもともとマイクロソフトリサーチ(Microsoft Research)が開発した「CNTK(Microsoft Computational Network Toolkit)」でしたが、2016年10月の大幅なアップデートの後、改名されました。人間の話し言葉による会話の理解を高速化させるツールとして開発されました。
日本国内における活用焦れて押して、三井住友銀行の自動応答システムが挙げられています。また、Skypeのリアルタイム翻訳にも使われています。
Microsoft Cognitive Toolkitの特徴:
・強力な統合をサポートし、高い拡張性と効率性
・ディープラーニングモデルを異なるフレームワーク間で交換するためのONNXフォーマットを初めてサポート
・コミュニティはまだ少数
3.PyTorch
Pytorch(パイトーチ)は機械学習の自然言語処理のライブラリTorchを元に作られたディープラーニングフレームワークです。初期段階ではFacebookの人工知能グループが開発しました。
このフレームワークは2016年にリリースされ、比較的にはまだ新しいフレームワークですが、計算速度も早く、ソースコードが見やすく扱いやすいですので、TensorFlowの人気に最も近いものです。
Pytorchの特徴:
・構文がわかりやすく、判読が容易
・動的な計算グラフ
・参考文献・資料トが豊富にあるので、研究者の間にて人気
4.Keras
Kerasは現在GoogleのエンジニアとなったFrancois Chollet氏によって開発されました。現在TensorFlowに取り込まれ、tf.kerasの形で使われています。
Kerasの特徴:
・構築が簡単で、ビギナーにとっても分かりやすい
・TensorFlow、Microsoft Cognitive Toolkit、Theanoのような他のフレームワークをサポート
・プロトタイプの作成時に便利
5.MXNet
MXNetはマサチューセッツ工科大学、ニューヨーク大学、カーネギーメロン大学、シンガポール国立大学などの様々な有名大学からの研究者の協同によって、開発されたオープンソースのフレームワークです。
2016年にAmazonのAWSが公式なサポートを開始しました。
MXNetの特徴:
・高い拡張性
・Python, JavaScript, C++及び最新のJuliaなどなど多数の言語に対応可能
・命令的プラグラムと宣言的プログラムを併用可能
・モバイルデバイスにも対応可能
まとめ: AIフレームワークの活用で、開発者の負荷軽減や品質向上が期待できある
本記事では、AIフレームワークの定義及び人気のある5つのフレームワークを簡単に紹介いたしました。
AIフレームワークを活用することで、開発者の負荷の軽減、及びより品質の高いシステムが期待できます。AIフレームワークは様々な種類がありますので、それぞれの特徴、メリット・デメリットを理解したうえで、適当なものを自社の開発に取り入れることが重要です。
また、日本国内でのAIシステムの開発費用はとても高いため、オフショア開発と組み合わせて採用する中小企業が多くあります。一方、オフショア開発の人気国であるベトナムはAI開発を中心に技術開発に力を入れており、優秀なAIエンジニアも多数在籍しています。
AIフレームワークやシステム開発について何かご不明な点がございましたら、お問い合わせページにご遠慮なくご連絡ください。