今日は、クラウド コンピューティング、ビッグ データ、人工知能の 3 つのトピックについてお話ししたいと思います。なぜこの 3 つについてお話ししたいのでしょうか。それは、この 3 つが現在非常に人気があり、互いに関連しているように見えるからです。一般的に、クラウド コンピューティングについて話すときはビッグ データについても言及され、人工知能について話すときはビッグ データについても言及され、人工知能について話すときはクラウド コンピューティングについても言及されます。なので、これらは互いに補完し合い、切り離せない関係にあるように感じます。技術者でない人にとっては、この3つの関係を理解するのは難しいかもしれませんので、説明する必要があります。 1. クラウドコンピューティングはもともとリソース管理の柔軟性を実現することを目的としていた まず、クラウド コンピューティングについてお話ししましょう。クラウド コンピューティングの本来の目的は、主にコンピューティング リソース、ネットワーク リソース、ストレージ リソースなどのリソースを管理することです。 1.1 データセンターの管理はコンピュータの設定に似ている コンピューティング、ネットワーク、ストレージ リソースとは何でしょうか。たとえば、ラップトップを購入するとします。そのラップトップに搭載されている CPU の種類やメモリの容量は気になりますか。これら 2 つをコンピューティング リソースと呼びます。 このコンピュータがインターネットにアクセスできるようにするには、インターネット ケーブルを接続するインターネット ポート、またはルーターに接続するためのワイヤレス ネットワーク カードが必要です。また、ご自宅で China Unicom、China Mobile、China Telecom などの通信事業者に連絡して、100M 帯域幅などのネットワークを開設する必要があります。その後、技術者がインターネット ケーブルを持ってご自宅に伺います。技術者は、ルーターと通信事業者のネットワーク間の接続を構成するお手伝いをします。これにより、ご自宅のすべてのコンピューター、携帯電話、タブレットがルーターを介してインターネットにアクセスできるようになります。それがインターネットです。 ハードドライブの大きさはどれくらいかと疑問に思うかもしれません。もともと、ハードドライブは 10G など非常に小さいものでした。その後、500G、1T、2T のハードドライブも珍しくなくなりました。 (1Tは1000G)これがストレージです。 これはコンピューターにも当てはまりますが、データセンターにも当てはまります。非常に大きなコンピュータ ルームがあり、その中に多数のサーバーが積み上げられていると想像してください。これらのサーバーには CPU、メモリ、ハード ディスクがあり、ルーターに似たデバイスを介してインターネットにもアクセスします。このときの疑問は、データセンターを運営する人々がこれらのデバイスをどのようにして統一的に管理するかということです。 1.2 柔軟性とは、欲しいものを、欲しい時に、欲しいだけ手に入れられることを意味する 経営の目標は、2つの側面で柔軟性を実現することです。どの 2 つの側面ですか? たとえば、CPU が 1 つ、メモリが 1G、ハードディスクが 10G、帯域幅が 1M の非常に小型のコンピューターが必要な人がいます。その人にそれを提供できますか? このような小型の仕様のコンピューターの場合、現在ではどのラップトップでもこれよりも優れた構成になっています。また、自宅のブロードバンドは少なくとも 100M になります。しかし、クラウド コンピューティング プラットフォームにアクセスすれば、このリソースが必要なときにクリックするだけで入手できます。 したがって、2つの側面で柔軟性を実現できます。 1 つ目は、必要なときにいつでも入手できることです。たとえば、必要なときにすぐに利用できます。これを時間的柔軟性と呼びます。 2 つ目の側面は、必要なだけ持つことができることです。たとえば、非常に小さなコンピューターが必要な場合は、それを持つことができます。または、非常に大きなスペースが必要な場合、クラウド ディスクを例にとると、クラウド ディスクによって各人に割り当てられるスペースは非常に大きいようです。いつでもアップロードでき、いつでもスペースがあり、使い果たされることはありません。これをスペースの柔軟性と呼びます。 空間的な柔軟性と時間的な柔軟性は、クラウド コンピューティングの弾力性とよく呼ばれるものです。 この弾力性の問題を開発し解決するには長い時間がかかりました。 1.3 物理デバイスは柔軟性に欠ける 最初の段階は、物理マシン、つまり物理機器の時代です。この期間中に、顧客がコンピュータを必要とする場合、当社はそれを購入し、データセンターに設置します。物理デバイスは確かにますます強力になっています。たとえば、サーバーには数百 GB のメモリが搭載されていることがよくあります。ネットワーク デバイスの場合、1 つのポートの帯域幅は数十 GB から数百 GB になることもあります。たとえば、データ センターのストレージは少なくとも PB レベルです (1 P は 1000 T、1 T は 1000 G)。 ただし、物理デバイスでは大きな柔軟性を実現することはできません。まず第一に、欲しいものをいつでも手に入れることはできません。たとえば、サーバーやコンピューターを購入する場合、調達には常に時間がかかります。突然、あるユーザーがクラウドベンダーに、パソコンを立ち上げたいと伝えた。物理サーバーを使うと、その時点では購入が難しい。サプライヤーとの関係が並であれば、1か月かかるかもしれない。サプライヤーとの関係が良ければ、1週間で済むだろう。ユーザーは 1 週間待った後、ようやくコンピューターが到着し、ログインしてアプリケーションをゆっくりと展開する必要がありますが、その結果、時間の柔軟性が非常に低くなります。 2 つ目の問題は、スペースの柔軟性が良くないことです。たとえば、前述のユーザーは非常に小さなコンピューターを望んでいますが、現在そのような小さなコンピューターは存在しません。わずか 1 GB のメモリと 80 GB のハード ドライブというユーザーのニーズを満たすためだけに、このような小さなマシンを購入することはできません。しかし、大きいものを買ったらどうなるでしょうか? コンピューターが大きいので、ユーザーに請求する金額は高くなります。ユーザーは、小さいものしか使わないと言うので、ユーザーにもっとお金を払ってもらうのは不公平です。 1.4 仮想化ははるかに柔軟です 誰かが解決策を見つけました。最初の方法は仮想化です。ユーザーに必要なのは、非常に小さなコンピューターだけではないでしょうか? データセンターの物理設備は非常に強力です。物理的な CPU、メモリ、ハードディスクから小さな部分を仮想化して顧客に提供できます。また、小さな部分を仮想化して他の顧客に提供することもできます。各顧客は自分の仮想部分しか見ることができません。実際、各顧客は大きなデバイス全体の小さな部分を使用しています。仮想化テクノロジーにより、異なる顧客のコンピュータを分離して表示できます。このディスクは私のもので、このディスクはあなたのもののように見えるかもしれません。しかし、実際には、私の 10G とあなたの 10G が同じ非常に大きなストレージに保存されている可能性があります。 さらに、物理デバイスが事前に準備されている場合、仮想化ソフトウェアは基本的に数分で非常に迅速にコンピューターを仮想化できます。したがって、任意のクラウド上にコンピューターを作成する場合、ほんの数分しかかかりません。それが理由です。 この空間的柔軟性と時間的柔軟性は基本的に解決されます。 1.5 仮想世界でお金を稼ぎ、感じる 仮想化の段階で最も強力だったのは VMware でした。同社は仮想化技術を最も早く実装した企業の 1 つで、コンピューティング、ネットワーク、ストレージの仮想化を実現できました。この企業は非常に強力で、パフォーマンスも非常に優れていました。同社の仮想化ソフトウェアも非常によく売れ、多額の利益を上げました。その後、同社は EMC (Fortune 500 企業であり、ストレージ製造業者のトップ企業) に買収されました。 しかし、この世界には、特にプログラマーなど、情熱的な人々がまだたくさんいます。情熱的な人々は何を好むのでしょうか? オープンソースです。この世の多くのソフトウェアはクローズドソースかオープンソースのいずれかであり、ソースとはソースコードのことを指します。つまり、あるソフトウェアはよくできていて、誰もがそれを愛用していますが、このソフトウェアのコードは非公開で、それを知っているのは私の会社だけです。他の誰も知りません。他の人がこのソフトウェアを使いたい場合、私にお金を払わなければなりません。これをクローズドソースと呼びます。しかし、世の中には、すべてのお金がひとつの企業によって稼がれているという事実に耐えられない大物たちが常に存在します。専門家は、あなたがこの技術を持っているなら、私にもできると考えています。あなたが開発できるなら、私にもできます。私は開発に料金を請求せず、コードをすべての人と共有します。世界中の誰もがそれを使用でき、誰もがその恩恵を受けることができます。これをオープンソースと呼びます。 たとえば、最近のティム・バーナーズ=リーは非常に感傷的な人物です。2017 年に彼は、「ワールド ワイド ウェブ、最初のブラウザー、およびワールド ワイド ウェブの拡張を可能にした基本プロトコルとアルゴリズムを発明した」として 2016 年のチューリング賞を受賞しました。チューリング賞はコンピューター界のノーベル賞です。しかし、彼の最も称賛すべき点は、私たちが一般に www として知っている World Wide Web の技術を、無料で使用できるように世界中に貢献したことです。私たちが今インターネットで行っていることすべてに対して、彼に感謝すべきです。もし彼がこの技術でお金を稼ぐことができたら、彼はビル・ゲイツと同じくらい裕福になるでしょう。 たとえば、クローズド ソースの世界には Windows があり、Windows を使用するすべての人が Microsoft に料金を支払わなければなりません。一方、オープン ソースの世界には Linux があります。ビル・ゲイツは、WindowsやOfficeなどのクローズドソースソフトウェアで大金を稼ぎ、世界一の富豪と呼ばれました。その後、何人かの大物が別のオペレーティングシステム、Linuxを開発しました。 Linux について聞いたことがない人も多いかもしれません。バックエンド サーバーで実行されているプログラムの多くは Linux 上で実行されています。たとえば、Taobao、JD.com、Koala など、Double Eleven ショッピング スプリームをサポートするシステムはすべて Linux 上で実行されています。 たとえば、Apple があれば、Android もあります。 Apple の市場価値は高いが、Apple システムのコードを見ることはできない。そこで、何人かの専門家が Android 携帯電話のオペレーティング システムを作成しました。 Apple システムはオープンソースではないのに対し、Android システムは誰でも使用できるため、他のほぼすべての携帯電話メーカーが Android システムをインストールしていることがわかります。 仮想化ソフトウェアについても同様です。VMware の場合、このソフトウェアは非常に高価です。その後、何人かの専門家が 2 つのオープンソース仮想化ソフトウェアを作成しました。1 つは Xen と呼ばれ、もう 1 つは KVM と呼ばれます。技術者でない場合は、この 2 つの名前を無視できますが、後で説明します。 1.6 半自動仮想化と全自動クラウドコンピューティング 仮想化ソフトウェアは柔軟性の問題を解決するように見えますが、これは完全に真実ではありません。仮想化ソフトウェアは一般的に仮想コンピュータを作成するため、仮想コンピュータをどの物理マシンに配置するかを手動で指定する必要があり、より複雑な手動構成が必要になる場合もあります。そのため、VMware の仮想化ソフトウェアを使用するには、非常に印象的な認定を取得する必要があります。この認定を取得できる人の給与は非常に高く、これも複雑さを示しています。そのため、仮想化ソフトウェアだけで管理できる物理マシンのクラスターの規模はそれほど大きくなく、通常は十数台、数十台、多くても百台程度です。これは時間の柔軟性に影響します。コンピューターを仮想化する時間は非常に短いですが、クラスターの規模が大きくなるにつれて、手動の構成プロセスはますます複雑になり、時間がかかります。一方、スペースの柔軟性にも影響します。ユーザー数が多い場合、クラスターのサイズはユーザーのニーズを満たすのに十分ではありません。リソースがすぐに使い果たされ、再度購入しなければならない可能性が高くなります。そのため、クラスターの規模はどんどん大きくなり、基本的には数千台から始まり、数万台、さらには数千万台にまで簡単に達します。NetEase、Google、Amazonを含むBATを確認すると、サーバーの数は恐ろしいほど多いです。人間がこの仮想化されたコンピュータを配置する場所を選択し、多数のマシン間で対応する構成を行うことはほぼ不可能です。これを実行するには、依然としてマシンが必要です。 これを実現するためにさまざまなアルゴリズムが発明されており、そのアルゴリズムの名前は Scheduler と呼ばれています。簡単に言えば、スケジューリング センターがあり、数千台のマシンがプールに入っています。ユーザーが必要とする CPU、メモリ、ハードディスクの仮想コンピューターの数に関係なく、スケジューリング センターは自動的に大きなプールからユーザーのニーズを満たす場所を見つけ、仮想コンピューターを起動して構成し、ユーザーが直接使用できるようにします。この段階をプーリングまたはクラウド化と呼びます。この段階になって初めてクラウド コンピューティングと呼ぶことができます。この段階より前では、仮想化としか呼べません。 1.7 プライベートおよびパブリッククラウドコンピューティング クラウドコンピューティングには、大きく分けてプライベートクラウドとパブリッククラウドの2種類があります。プライベートクラウドとパブリッククラウドを合わせてハイブリッドクラウドと呼ぶ人もいますが、ここではこれについては触れません。プライベート クラウドとは、他者のデータ センターに導入される仮想化とクラウド ソフトウェアのセットです。プライベート クラウドのユーザーは、多くの場合、非常に裕福です。土地を購入してコンピュータ ルームを建設し、独自のサーバーを購入し、クラウド ベンダーにそれらのサーバーを自社の場所に導入させます。その後、VMware は仮想化に加えて、クラウド コンピューティング製品を発表し、プライベート クラウド市場で大金を稼ぎました。パブリッククラウドとは、クラウドベンダーの自社データセンターに導入される仮想化・クラウドソフトウェアのことです。ユーザーは多額の投資をする必要はなく、アカウント登録さえしておけば、Webページをクリックするだけで仮想コンピュータを作成できます。例えば、AmazonのパブリッククラウドであるAWSや、中国のAlibaba Cloud、Tencent Cloud、NetEase Cloudなどが挙げられます。 Amazon はなぜパブリック クラウドを構築したいのでしょうか。Amazon はかつて海外で比較的大きな電子商取引会社でした。電子商取引を行っていた当時は、特定の瞬間に誰もが急いで買い物をするダブル 11 のようなシナリオに必ず遭遇していました。誰もが急いで物を購入しているとき、クラウドの時間と空間の柔軟性が特に必要になります。必ずしもすべてのリソースを準備できるわけではないので、それは無駄になります。しかし、Double Eleven で商品を購入したいのにログインできないユーザーが多数いるのを見て、ただ座って何もできないというわけにはいきません。そのため、ダブルイレブンショッピングフェスティバル期間中は、電子商取引アプリケーションをサポートするために大量の仮想コンピュータが作成され、ダブルイレブンショッピングフェスティバル終了後、これらのリソースは他の用途に解放されます。したがって、Amazon にはクラウド プラットフォームが必要です。 しかし、市販の仮想化ソフトウェアは高価すぎるため、Amazon は電子商取引で得た収益のすべてを仮想化ベンダーに渡すことはできません。その後、Amazon は、前述の Xen や KVM などのオープンソース仮想化テクノロジーをベースにした独自のクラウド ソフトウェアを開発しました。予想外に、Amazon の電子商取引事業はますます成功し、そのクラウド プラットフォームもますます成功しました。さらに、Amazon のクラウド プラットフォームは独自の電子商取引アプリケーションをサポートする必要があり、従来のクラウド コンピューティング ベンダーは独自のアプリケーションをほとんど持たない IT ベンダーがほとんどであるため、Amazon のクラウド プラットフォームはよりアプリケーション フレンドリーであり、急速にクラウド コンピューティングのナンバーワン ブランドに成長し、多額の収益を上げています。アマゾンがクラウドコンピューティングプラットフォームの財務報告を発表する前、人々は「アマゾンの電子商取引は儲かっているが、クラウドも儲かるのか?」と推測していた。その後、財務報告が発表されたとき、儲かっているだけではないことがわかった。昨年だけで、アマゾンAWSの年間売上高は122億ドルに達し、営業利益は31億ドルだった。 1.8 クラウドコンピューティングで儲け、実感する パブリッククラウド企業第1位のAmazonは好調だが、第2位のRackspaceは平均的な業績だ。回避する方法はありません。これは、主に勝者総取りのモデルであるインターネット業界の残酷さです。したがって、2 番目がクラウド コンピューティング業界でない場合、多くの人は聞いたことがないかもしれません。 2 番目の人は、ボスに勝てなかったらどうすればいいかと考えました。オープンソースにしましょう。前述のように、Amazon はオープンソースの仮想化技術を使用していますが、クラウド コードはクローズド ソースです。クラウド プラットフォームを構築したいが構築できない多くの企業は、Amazon が大儲けするのを見ているしかありません。 Rackspace がソースコードを公開すれば、業界全体が協力してこのプラットフォームをさらに改善することができます。兄弟の皆さん、みんなで参加して大ボスと競い合いましょう。 そこで、Rackspace と NASA が協力してオープンソース ソフトウェア OpenStack を作成しました。図は OpenStack のアーキテクチャ図です。クラウド コンピューティング業界に携わっていない人はこの図を理解する必要はありませんが、コンピューティング、ネットワーク、ストレージという 3 つのキーワードがわかります。また、コンピューティング、ネットワーク、ストレージのためのクラウド管理プラットフォームでもあります。 もちろん、2位のテクノロジーも非常に優れています。OpenStackが登場した後、Rackspaceが想像したとおり、クラウドコンピューティングをやりたい大企業はすべて熱狂しました。IBM、HP、Dell、Huawei、Lenovoなど、想像できるすべての有名な大手IT企業も熱狂しました。誰もがクラウド プラットフォームを構築したいと考えているようですが、Amazon や VMware がどれだけの収益を上げているかを見ると、彼らにできることは何もありません。自力で構築するのはかなり難しいようです。現在、オープンソースのクラウドプラットフォームである OpenStack により、あらゆる IT ベンダーがコミュニティに参加し、クラウドプラットフォームに貢献し、それを自社製品としてパッケージ化し、自社のハードウェア機器と一緒に販売しています。プライベート クラウドを構築した企業もあれば、パブリック クラウドを構築した企業もあり、OpenStack はオープン ソース クラウド プラットフォームの事実上の標準となっています。 1.9 IaaS、リソースレベルでの柔軟性 OpenStack 技術が成熟するにつれて、管理できる規模も大きくなり、複数の OpenStack クラスターを、北京に 1 セット、杭州に 2 セット、広州に 1 セットなど、複数のセットに展開し、統一的に管理できるようになります。これにより、全体の規模がさらに大きくなります。この規模であれば、一般ユーザーの観点からすると、基本的に、欲しい薬を、欲しい時に、欲しいだけ手に入れることができることになります。クラウド ディスクを例に挙げてみましょう。各ユーザーのクラウド ディスクには 5T 以上の容量が割り当てられます。1 億人いるとしたら、合計でどのくらいの容量になるでしょうか。実際、その仕組みは次のようになります。スペースが割り当てられると、そのごく一部しか使用できない場合があります。たとえば、5T が割り当てられた場合、そのような大きなスペースは表示されているだけで、実際にあなたに与えられるわけではありません。実際に使用したのが 50G だけなので、実際に得られるのは 50G です。ファイルをアップロードし続けると、割り当てられるスペースが増えていきます。全員がアップロードしていて、クラウド プラットフォームがほぼ満杯 (たとえば、70% が使用されている) であると判断すると、サーバーを追加購入してその背後にあるリソースを拡張します。これは透過的で、ユーザーには見えません。知覚的な観点から、クラウド コンピューティングの弾力性が実現されます。実際、それは銀行に少し似ています。預金者はいつでもお金を引き出せると感じており、同時取り付けがない限り銀行は破綻しません。 ここで簡単にまとめてみましょう。現段階では、クラウド コンピューティングは基本的に時間的柔軟性と空間的柔軟性を実現し、コンピューティング、ネットワーク、ストレージ リソースの弾力性を実現しています。コンピューティング、ネットワーク、ストレージは、インフラストラクチャと呼ばれることがよくあります。したがって、この段階での弾力性は、リソース レベルの弾力性と呼ばれます。リソースを管理するクラウド プラットフォームはインフラストラクチャ サービスと呼ばれ、よく IaaS (Infrastructure As A Service) として耳にするものです。 2. クラウドコンピューティングはリソースだけでなくアプリケーションも重要です IaaS では、リソース レベルで弾力性を実現するだけで十分でしょうか? 明らかにそうではありません。アプリケーションレベルでも柔軟性があります。例を見てみましょう。電子商取引アプリケーションを実装するには、通常は 10 台のマシンで十分ですが、Double Eleven の場合は 100 台必要です。これは簡単にできると思うかもしれません。IaaS では、90 台の新しいマシンを作成するだけです。しかし、90 台のマシンは作成時には空であり、電子商取引アプリケーションはインストールされていません。会社の運用および保守担当者は 1 台ずつインストールすることしかできず、完了するまでに長い時間がかかります。リソース レベルでは弾力性が実現されますが、アプリケーション レイヤーで弾力性が実現されなければ、柔軟性は依然として不十分です。 この問題を解決する方法はあるのでしょうか? そのため、リソース上のアプリケーションの弾力性の問題を管理するために、IaaS プラットフォームの上に別のレイヤーが追加されました。このレイヤーは通常、PaaS (Platform As A Service) と呼ばれます。このレイヤーは、理解するのが難しいことがよくあります。実際には、大きく分けて 2 つの部分に分かれています。1 つの部分は自動的にインストールされる独自のアプリケーションと呼び、もう 1 つの部分はインストールする必要のないユニバーサル アプリケーションと呼びます。 まず最初の部分、つまり独自のアプリケーションの自動インストールについてお話ししましょう。たとえば、自分で電子商取引アプリケーションを開発した場合、あなた以外にインストール方法を知らない人はいません。たとえば、電子商取引アプリケーションをインストールするときは、他の人があなたの電子商取引サイトで商品を購入したときに、支払いがあなたのアカウントに入金されるように、Alipay または WeChat アカウントを構成する必要があります。あなた以外には誰もそれを知りません。したがって、プラットフォームはインストール プロセスを支援することはできませんが、自動化することはできます。構成情報を自動化されたインストール プロセスに統合するには、いくつかの作業を行う必要があります。たとえば、上記の例では、Double Eleven に新しく作成された 90 台のマシンは空です。これらの 90 台の新しいマシンに電子商取引アプリケーションを自動的にインストールするツールを提供できれば、アプリケーション レベルでの真の弾力性を実現できます。例えば、Puppet、Chef、Ansible、Cloud Foundary はすべてこれを実現できます。最新のコンテナ技術である Docker はこれをより良く実現できます。技術に携わっていない人はこれらの言葉を無視しても構いません。 2 番目の部分では、ユニバーサル アプリケーションをインストールする必要はありません。いわゆる一般アプリケーションとは、一般的に、データベースなど、比較的複雑だが誰もが使用するアプリケーションを指します。ほぼすべてのアプリケーションはデータベースを使用しますが、データベースソフトウェアは標準です。インストールとメンテナンスはより複雑になりますが、誰がインストールしても同じです。このようなアプリケーションは、標準の PaaS レイヤー アプリケーションに変換され、クラウド プラットフォーム インターフェイスに配置できます。ユーザーがデータベースを必要とすると、すぐにデータベースが表示され、ユーザーは直接使用できます。誰もが同じ方法でインストールするので、自分でインストールすればよく、クラウド プラットフォームで購入するためにお金を使う必要はない、と誰かが尋ねました。もちろん違います。データベースは非常に難しいものです。Oracle だけでもデータベースから多額の収益を上げることができます。 Oracle を購入するのにも多額の費用がかかります。ただし、ほとんどのクラウド プラットフォームは、MySQL などのオープンソース データベースを提供しています。オープンソースなので、それほど多くの費用をかける必要はありません。ただし、このデータベースを維持するには大規模なチームが必要です。このデータベースを Double Eleven に対応できるように最適化できる場合、1、2 年以上かかるでしょう。たとえば、自転車メーカーの場合、これを行うために非常に大規模なデータベース チームを採用する必要はまったくありません。コストが高すぎます。これを行うには、クラウド プラットフォームに委ねる必要があります。専門的なことは、専門的な人々から生まれます。クラウド プラットフォームには、このシステムの保守に専念する何百人もの人々がいます。自転車アプリケーションに集中するだけで済みます。 自動的にデプロイされるか、デプロイが不要になります。一般的に、アプリケーション層についてはあまり心配する必要はありません。これが PaaS 層の重要な役割です。 スクリプト方式では独自のアプリケーションのデプロイメントの問題を解決できますが、環境によって大きく異なります。スクリプトは、ある環境では正しく実行されても、別の環境では正しく実行されない場合があります。 コンテナはこの問題をより適切に解決できます。 Container は Container であり、Container の別の意味はコンテナです。実際、Container の考え方は、ソフトウェア配信用のコンテナにすることです。コンテナの特徴は、包装と規格です。 コンテナがなかった時代には、A地点からB地点まで貨物を輸送する場合、3つの埠頭を通過し、船を3回乗り換える必要がありました。船から商品を降ろすたびに、商品は乱雑に置かれ、その後船に戻されて再びきれいに並べられます。そのため、コンテナがない場合、乗組員は出航前に船を乗り換えるたびに数日間陸上に留まらなければなりませんでした。 コンテナなら、すべての品物が一緒に梱包され、コンテナのサイズもすべて同じなので、船を乗り換えるたびに、1つの箱全体を移動するだけで済み、数時間で完了します。乗組員が陸に上がって長時間滞在する必要がなくなりました。 容器の持つ2大特性「包装」と「規格」を生活に応用した製品です。 では、コンテナはアプリケーションをどのようにパッケージ化するのでしょうか? コンテナについてはまだ学ぶ必要があります。まず、商品をパッケージ化するには、商品が互いに干渉せず、互いに分離され、積み下ろしが便利になるように、閉じた環境が必要です。幸いなことに、Ubuntu の LXC テクノロジーは長い間これを実現してきました。 クローズド環境で使用される主なテクノロジーは 2 つあります。1 つは Namespace と呼ばれる、一見分離されたテクノロジーです。これは、各 Namespace 内のアプリケーションが異なる IP アドレス、ユーザー スペース、プロセス番号などを認識することを意味します。もう 1 つは Cgroups と呼ばれる分離テクノロジです。これは、マシン全体に大量の CPU とメモリがあっても、アプリケーションはその一部しか使用できないことを意味します。 いわゆるミラーリングとは、溶接した瞬間のコンテナの状態を保存することを意味します。孫悟空が「フリーズ」と言ったように、コンテナはその瞬間にフリーズし、その瞬間の状態が一連のファイルとして保存されます。これらのファイルのフォーマットは標準的であり、誰でもそれを見て、その時点で凍結された瞬間を復元することができます。イメージを実行時に復元するプロセス(つまり、イメージファイルを読み込んでその時点の状態に復元するプロセス)がコンテナを実行するプロセスとなります。 コンテナを使用すると、PaaS レイヤーでのユーザー アプリケーションの自動展開が高速かつスムーズになります。 3. ビッグデータがクラウドコンピューティングを採用 PaaS レイヤーの複雑な汎用アプリケーションは、ビッグデータ プラットフォームです。ビッグデータはどのようにして段階的にクラウド コンピューティングに統合されるのでしょうか? 3.1 小さなデータにも知恵が含まれている 当初、ビッグデータはそれほど大きくありませんでした。元々どれだけのデータがあったか想像できますか?今では誰もが電子書籍を読んだり、ニュースを探すためにインターネットをサーフィンしたりしています。1980年代の私たちが若かった頃は、情報量はそれほど多くありませんでした。私たちは本と新聞を読むだけでした。1週間の新聞にはどれくらいの単語がありますか?大都市でなければ、普通の学校の図書館には全部で数個の本棚しかありません。情報化が進んでから、ますます多くの情報が登場するようになりました。 まず、ビッグデータに含まれるデータを見てみましょう。ビッグデータは、構造化データ、非構造化データ、半構造化データの3種類に分けられます。構造化データとは何ですか? 固定形式と制限された長さを持つデータです。たとえば、フォームへの入力は構造化データであり、国籍:中華人民共和国、民族:漢族、性別:男性、これらはすべて構造化データと呼ばれます。最近では、Web ページなど、非常に長い場合もあれば、数文だけの場合もありますが、非構造化データ、つまり長さが可変で形式が固定されていないデータがますます増えています。たとえば、音声やビデオも非構造化データです。半構造化データは、XML または HTML の形式です。テクノロジーに携わっていない人には理解できないかもしれませんが、それは問題ではありません。 データはどのようにして人々に役立つのでしょうか? 実際、データ自体は役立つものではなく、特定の方法で処理する必要があります。例えば、毎日ランニングするときに身につけているブレスレットが収集するデータもデータです。インターネット上の多くのウェブページもデータです。私たちはそれをデータと呼んでいます。データ自体は何の役にも立ちませんが、情報と呼ばれる非常に重要なものが含まれています。データは非常に乱雑であり、整理され、整理されて初めて情報と呼ぶことができます。情報には多くのルールが含まれており、その情報からルールをまとめる必要があります。これを知識と呼びます。知識は運命を変えます。情報はたくさんありますが、一部の人にとっては、情報を見るのは単なる時間の無駄です。しかし、情報から電子商取引の未来を見る人もいれば、ライブストリーミングの未来を見る人もいるので、彼らは素晴らしい人になります。情報から知識を抽出せず、毎日友達の輪をチェックするだけでは、インターネットの急増する波の中で傍観者になるだけです。知識を持ち、それを実際の戦闘に応用すると、非常にうまくやれる人もいます。これを知性と呼びます。知識を持っていることは、必ずしも知恵を持っていることを意味するわけではありません。たとえば、多くの学者は非常に知識が豊富で、起こったことをさまざまな角度から分析することができますが、実際の仕事になると無力であり、知識を知恵に変換することができません。多くの起業家が偉大な企業家になる理由は、獲得した知識を実際に応用し、最終的に大きなビジネスを築き上げるからです。 したがって、データの応用は、データ、情報、知識、知恵の 4 つのステップに分かれています。これは多くの企業が望んでいることです。ご存知のように、私は膨大なデータを収集してきました。このデータを活用して次の決定を下し、製品を改善できますか? たとえば、ユーザーが動画を見ているときに、そのユーザーがまさに購入したいと思っている広告がユーザーの隣に表示されます。または、ユーザーが音楽を聴いているときに、ユーザーが本当に聴きたい他の音楽を推奨できます。私にとって、アプリやウェブサイトでのユーザーのマウスクリックやテキスト入力はすべてデータです。その一部を取り出して、実践を導き、知恵を形にして、ユーザーをアプリに夢中にさせたいのです。アプリにログインしたら、離れたくないと思うでしょう。クリックして購入し続けます。ダブルイレブンの期間中は、妻がインターネットで買い物をし続けるので、インターネットから切断したいという人が多いです。Aを購入した後、妻はBを勧めます。妻は「あ、私もBが好き。買いたいわ」と言います。このプログラムはどうしてこんなに素晴らしくて賢いのでしょうか? 私よりも妻のことをよく知っています。どうやってこんなことができたのでしょうか? 3.2 データを知恵に変える方法 データ処理はいくつかのステップに分かれており、完了して初めて知恵が生まれます。 最初のステップはデータ収集と呼ばれます。まず、データが必要です。データを収集する方法は 2 つあります。1 つ目はデータを取得する方法で、専門的にはクロールまたはグラブと呼ばれます。たとえば、検索エンジンはこれを実行します。インターネット上のすべての情報をデータ センターにダウンロードし、その後検索できるようになります。たとえば、結果は検索エンジン会社のリストになります。たとえば、Sinaにニュースがあり、Baiduでそれを検索した場合、クリックしないと、そのページはBaiduのデータセンターにありますが、クリックすると、出てくるページはSinaのデータセンターにあります。別の方法は、たとえば、Xiaomi Braceletがデータセンターにアップロードできるようにすることができる多くの端末です。 2番目のステップは、データの送信です。データの量は非常に大きいため、データを役立つ前に処理する必要があるため、通常はキューで行われますが、システムはそれを処理できないため、キューを整えてゆっくり処理する必要があります。 3番目のステップはデータストレージです。現在、データはお金であり、マスターデータはお金のマスターに相当します。それ以外の場合、Webサイトはあなたの歴史的な取引のデータを持っているので、どのように購入しますか? 4番目のステップは、データ処理と分析です。上記のデータは、生データがほとんど混乱しており、多くのジャンクデータを含む必要があります。高品質のデータの場合、分析を実行してデータを分類したり、データ間の関係を発見して知識を取得できます。たとえば、ウォルマートのスーパーマーケットでは、人々の購入データの分析に基づいています。 5番目のステップは、データ検索とマイニングです。検索は、外部の問題について質問がある場合は、Googleに質問してください。国内と外国の両方の検索エンジンが分析されたデータを検索エンジンに入れたため、人々が情報を見つけたいときに、1回の検索でそれを見つけることができます。別のことは、単に検索することで、人々のニーズを満たすこともできません。たとえば、財務検索では、会社の株式を検索すると、会社の株式を検索して、特に上昇した場合、幹部はそれを購入していますが、実際には在庫に非常に不利な声明を出しました。 3.3ビッグデータの時代において、誰もがより明るい未来に貢献しています データの量が小さい場合、それを処理できるマシンは数個しかありません。徐々に、データの量が大きくなり、最も強力なサーバーでさえ問題を解決できない場合は、複数のマシンのパワーを集約する必要があります。 データ収集については、数千の検出デバイスが大量の温度、監視、電気、その他のデータを収集します。 データ送信に関しては、メモリ内のキューは大量のデータに圧倒されるため、この方法では、複数のマシンがある限り、厚いピペリンを処理できます。 データストレージに関しては、単一のマシンのファイルシステムがすべてのデータを保持できないため、これを行うには大きな分散ファイルシステムが必要であり、複数のマシンのハードディスクを大規模なファイルシステムに組み合わせています。 別の例は、大量のマシンの分解、統計、および集約が必要になる可能性があるため、分析されたコンピューティング方法があります。たとえば、有名なTeraSortは1 TBのデータを並べ替えます。1000GBに相当しますが、数時間かかりますが、209秒で並列処理で完了できます。 それで、ビッグデータプラットフォームとは何ですか?それは、1つのマシンがタスクを完了できないことを意味します。データの量が増えるにつれて、多くの小企業が多くのデータを処理する必要があります。 3.4ビッグデータにはクラウドコンピューティングが必要であり、クラウドコンピューティングにはビッグデータが必要です これについて言えば、誰もがクラウドコンピューティングを考えています。これらの仕事をしたいとき、あなたはそれを一緒に行うために多くのマシンが必要です。たとえば、ビッグデータ会社の財務状況は、週に1回、1000マシンを保持し、週に1回だけ使用する必要がある場合は、分析されます。それで、計算が必要なときにこれらの1,000台のマシンを取り出すことは可能ですか、そしてそれらを使用して他のことを必要としないときに行うことができますか?これを行うことができます。クラウドコンピューティングは、非常に重要な一般的なアプリケーションとして、PAASプラットフォームにビッグデータを展開します。ビッグデータプラットフォームは、複数のマシンが1つのことで協力することを可能にします。これは、普通の人が開発できるものではありません。パブリッククラウドには基本的にビッグデータソリューションがあります。パブリッククラウドを購入する必要はありません。 クラウドコンピューティングにはビッグデータが必要であり、ビッグデータにはクラウドコンピューティングが必要であり、2つはこのように組み合わされています。 4。人工知能はビッグデータを採用しています 4.1機械はいつ人間の心を理解しますか ビッグデータはありますが、人々の欲求は常に不十分です。ビッグデータプラットフォームには検索エンジンがありますが、私は自分が欲しいものを見つけます。しかし、そのような状況もあります。たとえば、もちろん、私はこの曲を聞いたことがありません。この種のアプリケーションを使用すると、マシンが必要なときにマシンで検索する代わりに、マシンが私が望むものを知っていることがわかります。このマシンは、私の友人のように私を本当に理解しています。つまり、人工知能を意味します。 人々はこれについて長い間考えてきました。最も早い時期に、人々はその背後に機械がある壁があり、私がそれが人間であるかマシンであるかを感じることができなかった場合、それは本当に人工知能のものになると想像しました。 4.2マシンに推論を学ばせます どうすればこれができますか?まず、人間の推論の能力をコンピューターに伝える必要があります。人間と動物の違いは何ですか?私がマシンに推論する能力を伝えると、マシンはあなたの質問に基づいて対応する答えを推測できます。実際、人々は、数学的な式を証明するなど、機械がいくつかを行うことを徐々に許可しています。これは非常に驚くべきプロセスであり、マシンは実際に数学的な式を証明できます。しかし、私はこの結果がそれほど驚くべきことではないことを発見しました。しかし、たとえば、人間の言語はそれほど単純ではありません。このマシンは理解するのがより困難ですが、誰もがそれを理解しているので、あなたがあなたのガールフレンドとデートするとき、あなたはあえて遅れることを敢えてしません。 4.3マシンの知識を教える したがって、機械に厳密に理由を伝えるだけでは十分ではありません。また、マシンに知識を伝える必要もあります。ただし、ほとんどの人は、言語分野の専門家や金融分野の専門家など、知識を実行できない場合があります。たとえば、言語の数式はできるだけ厳格であることを意味します。 。主題の例を見てみると、言語は省略されています。但是你不能规定在语音语义识别的时候,要求对着机器说标准的书面语,这样还是不够智能,就像罗永浩在一次演讲中说的那样,每次对着手机,用书面语说:请帮我呼叫某某某,这是一件很尴尬的事情。 人工知能のこの段階は、専門家システムと呼ばれます。専門家のシステムは成功するのが容易ではありません。知識を要約することは困難であり、一方で要約された知識はコンピューターを教えるのが困難です。あなたはまだ混乱しており、ルールがあると感じているように見えるので、それを伝えることができないので、プログラミングを通じてコンピューターにどのように教えることができますか? 4.4忘れてください、あなたがそれを教えることができないなら、あなたはそれを自分で学ぶことができます。 そのため、人々は機械が人間とは完全に異なっているように見えると思ったので、単に機械を自分で学習させました。マシンはどのようにして統計学習に基づいて、そのような強力な統計的能力を持っているため、多くの数字から特定のルールを発見することができます。 実際、エンターテインメント業界には良い例があります。 ネチズンは、中国本土の有名な歌手によってリリースされた9枚のアルバムで117曲の歌詞を数えました。 一連の数字を書いてから、数字に従って形容詞、名詞、動詞から単語を取ったら、それらを一緒に接続するとどうなりますか? たとえば、PI 3.1415926を服用してください。対応する単語は、強い、道路、飛行、自由、雨、埋葬、混乱です。少しのつながりとポリッシュ:
もちろん、実際の統計ベースの学習アルゴリズムは、この単純な統計よりもはるかに複雑です。 ただし、たとえば、統計学習は簡単になります。 4.5脳の仕組みをシミュレートします そこで、人間は、人間の世界が機械の世界からどのように機能するかを振り返り始めました。 人間の脳は、多数の統計データを保存または記録しませんが、各ニューロンが他のニューロンを受信すると、他のニューロンを刺激し、最終的には出力を促進します。たとえば、人々が美しい女性の生徒が拡張されているのを見ると、脳が身体の割合に基づいてルールを作成したり、人生で見たすべての美しさを数えたりするのではなく、ニューロンが網膜から脳に引き起こされ、生徒に戻るということではありません。このプロセスでは、実際には、各ニューロンが最終結果でどのような役割を果たすかを要約することは困難です。 そこで人々は数学的ユニットでニューロンをシミュレートし始めました このニューロンには、入力と出力は式(重量)によって異なります。 したがって、Neuronは、Neural Neworsのように接続されています。人々がこのネットワークから何かを入力すると、彼らは人間にとって正しい結果を出力したいと考えています。たとえば、2つの書かれた写真を入力すると、出力リストの2番目の数字が最大です。ニューロンと同様に、彼らは網膜が美しさを見ていることも、生徒がはっきりと拡張していることを知りません。 ニューラルネットワークの場合、入力が2であることを保証することはできません。この結果は、トレーニングと学習が必要であることを保証するためです。結局のところ、美しい女性と拡張された生徒を見ることは、長年にわたる人間の進化の結果でもあります。学習プロセスは、結果が望ましい結果ではない場合は、多数の写真を入力し、調整を行うことです。それを調整する方法は、各ニューロンがターゲットに微調整されているため、ネットワーク全体が生成された結果は、結果にわずかに進歩し、最終的にターゲットの結果を達成することが困難です。もちろん、これらの調整戦略は依然として非常に熟練しており、アルゴリズムの専門家からの慎重な調整が必要です。人間が美しい女性を見るように、彼女の生徒は最初にはっきりと見るように拡張されていないので、次の研究の結果は、鼻孔を拡張するのではなく、生徒を少し拡張することです。 4.6それは意味がありませんが、それをすることができます それはそれほど合理的ではないように聞こえますが、それはできます、それはとても意図的です。 ニューラルネットワークの普遍性定理はこれを述べています。誰かがあなたに複雑で特異な機能を与えているとしたら、F(x): この関数がどのように見えるかに関係なく、xを入力xに入力できるニューラルネットワークが常に保証されます。 関数が法律を表す場合、法律がどれほど素晴らしく、理解できないとしても、多数のニューロンと多数の重量調整を通じて表現できることも意味します。 4.7人工知能の経済的説明 これは経済学を思い出させるので、理解しやすいです。 私たちは、各ニューロンを経済活動に従事する社会の個人と見なしています。したがって、ニューラルネットワークは経済社会全体に相当します。ここにはルールはありませんか? 専門家システムに基づく経済は、計画された経済全体の表現に属します。専門家は、どの都市が甘い豆腐の脳を売る通りを逃しているかを決して知りません。したがって、専門家は、数百ページの計画全体が書かれていても、多くの場合、鋼鉄と蒸しパンを生産する必要があると言います。 統計に基づくマクロ制御は、雇用率、GDP、およびこれらの指標全体を正確に表現することはできませんが、より信頼できます。ただし、統計に基づく法律の概要は、例えば、住宅価格が長期的に上昇するか、長期的に上昇するか、住宅価格と株式が上昇するかどうかを要約できるこれらの統計を見ることができます。ただし、統計データに基づいて、株式と価格のわずかな変動を要約することは不可能です。 ニューラルネットワークに基づくマイクロ経済は、誰もが社会からの意見を独自の調整を行う最も正確な表現です。各独立した個人の継続的な取引の結果である株式市場の微妙な変動曲線を想像してください。誰もが社会全体のインプットに基づいて独立した決定を下します。たとえば、多額のお金が発行されるたびに、最終的に住宅価格が上昇し、多くのトレーニングの後、人々はそれを学びます。 4.8人工知能にはビッグデータが必要です ただし、ニューラルネットワークには多くのノードが含まれており、各ノードにはパラメーター全体が大きすぎます。 スパムの識別、ポルノの暴力的なテキストや写真の識別など、人工知能ができることはたくさんあります。これも3つの段階を経ました。最初の段階は、キーワードとフィルタリングテクノロジーの白黒リストに依存しています。このオンライン言語が増加し、言葉が変わり続けるにつれて、このレキシコンを絶えず更新することを心配するには少し多すぎます。第2段階では、ベイジアンフィルタリングなどの新しいアルゴリズムに基づいて、ベイジアンアルゴリズムとは何かを心配する必要はありませんが、この名前、この確率ベースのアルゴリズムを聞いたはずです。 3番目の段階は、ビッグデータと人工知能に基づいて、より正確なユーザーのポートレート、テキスト、画像の理解を実施することです。 人工知能のアルゴリズムは、多くの場合、特定の分野で長い間蓄積する必要があります。多くの場合非常に貧しいです。ただし、クラウドコンピューティングメーカーは多くの場合、大量のデータを蓄積するため、クラウドコンピューティングメーカーのセットをインストールして、たとえば、テキストがイエローと暴力を含むかどうかを識別したい場合は、このオンラインサービスを直接使用します。この状況でのサービスは、クラウドコンピューティング、SaaS(サービスとしてのソフトウェア)のサービスとしてソフトウェアとして呼ばれます。 したがって、人工知能プログラムは、SaaSプラットフォームとしてクラウドコンピューティングを参照しています。 5.クラウドコンピューティング、ビッグデータ、人工知能は良い生活を送ってきました 最後に、クラウドコンピューティングの3人の兄弟が集まっています。つまり、IAAS、PAAS、SAASであるため、一般的にクラウドコンピューティングプラットフォームでは、クラウド、ビッグデータ、人工知能が見つかります。ビッグデータ会社の場合、大量のデータを蓄積し、いくつかのサービスを提供するためにいくつかの人工知能アルゴリズムも使用します。人工知能会社にとって、ビッグデータプラットフォームからサポートを受けないことは不可能です。したがって、クラウドコンピューティング、ビッグデータ、および人工知能はこのように統合され、出会い、知人、理解を完了します。 |
<<: 今後 5 年間で最も収益性の高い業界は何ですか?人工知能を勝ち取る者はインターネットを勝ち取るのでしょうか?
まとめこの記事では主に、プロンプトを最適化することで ChatGPT の使用を改善する方法について説...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ディープラーニングと機械学習は、今日のテクノロジーのホットな話題ですが、初心者にとっては少し複雑で難...
人工知能は近年注目されている技術分野です。機械学習は人工知能のサブセットであり、人工知能分野全体の中...
翻訳者 | 朱 仙中校正 | 梁哲、孫淑娟AutoML の紹介 自動機械学習 (AutoML) は、...
食器洗い機がどれくらいの時間稼働するか知っていますか? 多くの人はおそらく退屈だと言うでしょう。この...
今年初めから現在まで、ToFセンサーはApple、Samsung、GD、AMSなどのセンサー企業やス...
IT Homeは2月9日、「高齢者のデジタル適応力に関する調査報告」によると、スマートフォンを使用...
頭に貼るビジョンプロは人から人へと広がっています。これがロンドンの街の最新風景です。 「刺激が欲しけ...
9月12日、複数の投資家は、NVIDIAがすでに人工知能(AI)チップ製造の分野で優位に立っており...
政府や社会からの監視が強まる中、人工知能(AI)の責任ある開発を促進し、業界標準を確立することを目的...