Python は AI のために生まれたわけではありません。Golang は今後 10 年間の人工知能を支配することになるでしょうか?

Python は AI のために生まれたわけではありません。Golang は今後 10 年間の人工知能を支配することになるでしょうか?

ここ数年、Python は人工知能とデータサイエンスの分野で最も人気のあるプログラミング言語になりました。しかし、5G時代の到来とともに、実稼働環境ではAIアプリケーションに対するパフォーマンス要件がますます高まっており、Pythonでは少々「対応できない」状態になっています。当然のことながら並行処理をサポートする Golang が誕生しました。専門家は、Go 言語が今後 10 年間の人工知能の主流となるだろうと述べています。

[[345746]]

Pythonが認知されるまでに20年かかりましたが、AIのために生まれたわけではありません

Python が初めて登場したのは 30 年前です。

しかし、Python が一般に受け入れられるまでには 20 年かかりました。

2019 年の Stack Overflow 調査によると、Python は開発者の間で 2 番目に人気のある言語になりました。

過去 5 年間の Python の成長は間違いなく驚異的であり、機械学習やデータ サイエンスの開発者に好まれる言語となっています。

短期的には、Python の優位性が変わる可能性は低いでしょう。しかし、いくつかの新興言語と比較すると、実稼働環境への展開の障害となる重大な欠点がいくつかあります。

Python が人気である主な理由は、学習が簡単なことです。

他の言語に比べて構文がシンプルで、誰でも数時間または数日で Python の基礎を習得できます。

C++ や Java などの他の言語を学習した後でも、開発者は Python を使用することを好みます。何をしたいとしても、ニーズを満たす Python ライブラリが必ずあります。これらのライブラリにより、データ サイエンスと AI アプリケーションの開発がシンプルかつ効率的になります。

しかし、大規模な本番環境における Python のパフォーマンスの問題は、AI アプリケーションの開発効率に直接影響します。多くの人工知能スタートアップは現在、基盤となるアーキテクチャを構築している段階にあるため、Python の問題を確認する必要があります。

GIL が Python をロックし、松葉杖で歩くときにパフォーマンスがボトルネックになった

Pythonはインタープリタ型言語であるため、実行速度が遅くなります。C++やGoなどの他のコンパイル言語と比較すると、Pythonの実行速度はカメのように遅いです。そのため、多くのAIモデルはPythonで開発されたプロトタイプですが、展開時に他の言語に変換する必要があります。

Python は動的型付け言語です。変数のデータ型は実行時に自動的に決定されるため、実行速度も低下します。

Python の速度を克服するために、多くの Python ライブラリがより高速な言語で書き直されています。たとえば、TensorFlow、Numpy、Pandas は部分的に C または C++ で書かれており、実行速度が大幅に向上しています。

それは松葉杖をついて歩くようなもので、常に外界からの助けを必要とします。

5G時代の到来により、マルチタスクの並列処理とリアルタイム性能の需要が飛躍的に高まっています。Pythonは小さくて美しいアプリケーションの構築に使用できますが、大規模で高スループットのシナリオではパフォーマンスが不十分です。 Python の並列コンピューティング機能を向上させる方法は多数ありますが、それらはすべて回りくどい方法で実装されており、真の並列性は実現されていません。

Python には GIL ロックがあるため、一度に実行できるプログラムのスレッドは 1 つだけです。

GIL の正式名称は Global Interpreter Lock です。これは、Python の父がデータ セキュリティのために設計したものです。当時、コンピューターの主な周波数は 1G に達しておらず、すべてのプログラムはシングル コア コンピューターで実行されていました。

[[345747]]

スレッドを実行するには、まず GIL を取得する必要があります。GIL は CPU の「パス」とみなすことができます。パスがないと、実行のために CPU に入ることはできません。Python のマルチスレッドは、実際にはマルチコア コンピューティングの利点を活用しません。コアがいくつあっても、100 コアでは 1 つのスレッドしか実行できません。

したがって、ネイティブ Python にはパフォーマンスに関して多くの制限があります。人工知能やデータサイエンスの分野では、非常に高いパフォーマンス要件が求められます。Python のシンプルさと使いやすさの利点を備えながら、実稼働のニーズを満たす言語はあるでしょうか?

この時にGolangが誕生しました。

Goは自然に並行処理が可能で、クラウドコンピューティングを支配しており、今後10年間のAIを支配するだろう。

Golang (略して Go) は静的にコンパイルされる言語であり、Python よりも数倍高速に実行されます。 Python とは異なり、Go は高速化するために他の言語の助けを必要としません。

以下は、Go と Python の小さなベンチマーク ゲーム対決です。 Go は C++ や Java とほぼ同じ速度で実行され、Go でコンパイルされたコードは C++ や Java よりもはるかに高速です。ゲームによっては、Go にかかる時間は Python の 1% にすぎません。

Go の構文も非常にシンプルです。プログラムを記述したら、それを直接バイナリ ファイルにコンパイルして実行できます。 25 個のキーワードで、思いつく限りの動きをすべて表現できます。やりたいことを何でも実行してください。

Go の最大の特徴は、並行処理を自然にサポートしていることです。他のプログラミング言語とは異なり、開発者は自分で、またはサードパーティのライブラリの助けを借りて並行プログラミングを実装する必要はありません。ロジックはシンプルで理解しやすいです。

Go は並行性を実装するために Goroutine を使用します。Goroutine は同時に独立して実行できる関数であり、メモリを 2 KB しか占有しないため、単一のマシンで同時に数千の Goroutine を実行しても問題ありません。

上記のプログラムを順番に実行するには 1000 ミリ秒以上かかりました。次に、printTime 関数の前にキーワード go を追加します。これは、Goroutine を使用してプログラムを並行して実行することを意味します。プロセス全体にかかった時間はわずか 110 ミリ秒なので、Go で並行性を実装するのは非常に簡単です。

他のスクリプト言語や解釈型の高水準プログラミング言語とは異なり、Go で記述されたコードは、効率的に実行するためにマシン コードに直接コンパイルされます。 x86、AMD64 (x86_64)、ARM、Linux、Windows、Darwin (OSX)、FreeBSD、Android (Go 1.4 で予定) など、ほぼすべてのプラットフォームがサポートされているため、コードをどこでも再利用できます。

人工知能が世界を席巻し、機械学習やディープラーニングなど人間の知能を模倣するアプリケーションが次々と登場しています。Python を使用すると、プロトタイプ システムをうまく構築して、モデルを使用して効率を向上できるかどうかを検証できます。

しかし現在、高いスケーラビリティとコンピューティング能力に対する需要により Python は少々手狭になっており、一方で Go はこれらの面でより大きな可能性を示しています。 Python と比較すると、Go は数十倍から数百倍高速で、より多くのデータを処理でき、より高い同時実行要件を満たすことができます。

Hackearthが76か国16,000人以上の開発者を対象に実施した調査によると、Goは2020年に最も人気のあるプログラミング言語となった。

今年は、経験豊富な開発者の約 30% が Go を学習したいと考えており、学生の間でこの割合は 29% に達しています。

Zhihu も数年前に推奨システムを Python から Go に切り替えました。

GoのチーフエバンジェリストであるXu Shiwei氏は2015年に、Go言語は2年以内にクラウドコンピューティング分野を席巻し、今後10年間は​​Goが支配するだろうと語った。

Docker や Kubernetes などのプロジェクトの成功により、Go はクラスター コンピューティングとクラウド コンピューティングをリードできるようになりましたが、Go の勢いは止まりません。

私たちは予測と推論に機械学習とディープラーニングを使用し、最終的な目標はサービスを生み出すことです。

Go の実稼働環境に対するサポートは Python よりもはるかに優れています。たとえば、Go 言語で開発された Cortex は、Python で開発された AI モデルを実稼働環境に迅速かつ安定的にデプロイできます。

Go と Python のコミュニティの開発者も、どちらの言語が優れているかについて議論してきましたが、誰も完全に納得していないようです。

しかし、インフラストラクチャの構築に Go を使用する企業が増えており、少なくとも Go が本番環境に適していることが証明されています。

<<:  中国工程院院士の李軍氏:単一車両知能には5つの大きな問題があり、自動運転には新たな技術的ルートが必要

>>:  うつ病に苦しむ5400万人の人々に直面し、600人のボランティアはAIを使って彼らを救うつもりだ

ブログ    

推薦する

...

GPTストアはまだオープンしていないが、模倣者がすでにこの脂身の多い肉に狙いを定めている。

著者: トーマス・クラバーン編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat...

AIが従業員のオンボーディングを自動化する5つの方法

ますます激化する労働市場で人材獲得競争に勝つための新たな可能性を模索するビジネスリーダーや人事マネー...

...

AI業界は依然として寒い冬に:資金調達規模はピーク時の半分以下、上場ブームは倒産の波を伴う

[[351301]]資本の冬を経験した後、疫病のブラックスワンが次々と起こり、AI初期に蓄積された非...

製造業におけるコンピューター ビジョン: 機会と導入のヒント

時計職人の片眼鏡から、絵を描くのに便利な「ルシーダカメラ」まで、職人たちは光学技術を使って感覚を高め...

AI を医療業界のあらゆる側面に深く統合するにはどうすればよいでしょうか?

[[319366]]将来的には、医療エコシステムを中心として、人工知能が医療システムのあらゆる側面...

Google AI、眼球スキャンから心臓病リスクを予測可能

グーグルと、同じくアルファベットグループの健康関連子会社であるベリリー・ライフ・サイエンシズが共同で...

Appleは人工知能の分野で追い上げており、その視覚認識の成果は業界の賞を受賞した

[[201426]]歴史的に、Apple は最先端技術の研究にはあまり注意を払わず、むしろ製品の設計...

バブルソートに加えて、Python の組み込みソートアルゴリズムをご存知ですか?

プログラミング アルゴリズムに関して、多くの読者が学校で最初に学ぶのはバブル ソートかもしれませんが...

5Gが普及しつつある中、人工知能は「取り残される」ことになるのか?

2018年、5Gの人気が急速に高まり始めました。その年から、我が国は5G基地局の建設を開始し、全国...

スマートテクノロジーは小売業界にどのような影響を与えるでしょうか?

過去数年間、小売業界はテクノロジーによって革命を起こしてきました。店舗の日々の運営方法から、消費者の...

人工知能の罪と罰についても話しましょう

1. ある人にとっての好物は、別の人にとっては毒物かもしれない人工知能 (AI) が独自の言語を作成...

インテリジェントな運用とメンテナンスからスマートな運用まで、Qingchuang Technologyは企業に探偵シャーロックの能力を提供します

[51CTO.com からのオリジナル記事] 運用保守作業は、初期の手動運用保守から自動化運用保守、...

53 フレームが 900 フレームになります。 AIを使えば高価な高速カメラなしでスローモーションが作れる

[[424523]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...