AI(人工知能)は、アプリケーション開発者に可能性の世界を開きます。 機械学習やディープラーニングを利用することで、はるかに優れたユーザープロファイル、パーソナライズ、推奨事項を作成したり、よりスマートな検索、音声インターフェース、またはインテリジェントアシスタンスを組み込んだり、他の方法でアプリを改善したりできます。 予想もしなかった状況を見て、聞いて、それに反応するアプリケーションを構築することもできます。

パイソン

第一に、それはまだPythonです。 どうして他に何かあるのでしょうか? Pythonについては厄介なことがありますが、AIの作業をしている場合は、いつかは間違いなくPythonを使用することになります。 そして、いくつかの荒れた部分は少し滑らかになりました。

2020年に向けて、Python 2.xとPython 3.xの問題は、ほとんどすべての主要なライブラリがPython 3.xをサポートし、可能な限り早くPython 2.xのサポートを中止しているため、議論の余地があります。 つまり、ついに本格的にすべての新しい言語機能を利用できるようになります。

そして、Pythonのパッケージングの悪夢は、すべての異なるソリューションがわずかに異なる方法で壊れているため、依然として存在していますが、Anacondaを使用する時間は約95%であり、あまり心配する必要はありません。 それでも、Pythonの世界がこの長年の問題を何度も修正してくれるといいですね。

あなたはより多くのAI開発を見ることができます。 https://bap-software.net/knowledge/ai-developement/

C ++

AIアプリケーションを開発する場合、C ++が最初の選択肢になることはほとんどありませんが、システムのパフォーマンスのすべての最後のビットを絞る必要がある場合は、ディープラーニングがエッジに到達し、モデルを実行する必要があるため、より一般的なシナリオになります。リソースに制約のあるシステム—ポインタの恐ろしい世界にもう一度戻る時が来ました。

ありがたいことに、最新のC ++は書けるようになっています(正直!)。アプローチには選択肢があります。スタックの最下部に飛び込んで、NvidiaのCUDAなどのライブラリを使用してGPUで直接実行する独自のコードを作成するか、TensorFlowまたはPyTorchを使用して柔軟な高レベルAPIにアクセスできます。 PyTorchとTensorFlowのどちらでも、Python(またはPythonのPyTorchのTorchScriptサブセット)で生成されたモデルをロードしてC ++ランタイムで直接実行できるため、開発の柔軟性を維持しながら、本番環境のベアメタルに近づくことができます。

要するに、AIアプリケーションが最小の組み込みシステムから巨大なクラスターまですべてのデバイスにわたって増殖するにつれて、C ++はツールキットの重要な部分になります。エッジのAIは、もはや正確であるだけでは十分ではないことを意味します。あなたは良くて速い必要があります。

Javaおよびその他のJVM言語

JVMファミリーの言語(Java、Scala、Kotlin、Clojureなど)は、引き続きAIアプリケーション開発に最適な選択肢です。 自然言語処理(CoreNLP)、テンソル演算(ND4J)、完全なGPU高速ディープラーニングスタック(DL4J)など、パイプラインのすべての部分で利用できる豊富なライブラリがあります。 さらに、Apache SparkやApache Hadoopなどのビッグデータプラットフォームに簡単にアクセスできます。

Javaはほとんどの企業の共通語であり、Java 8以降のバージョンで利用できる新しい言語構成体を使用する場合、Javaコードの記述は、私たちの多くが覚えている嫌な経験ではありません。 JavaでAIアプリケーションを作成するのは少し退屈に感じるかもしれませんが、仕事を完了することができます。また、既存のすべてのJavaインフラストラクチャを開発、展開、監視に使用できます。