大規模モデルの時代に、企業は AI アプリケーション実装のパラダイムをどのように再構築できるでしょうか?

過去 1 年間で、生成人工知能 (AIGC) テクノロジーの急速な発展とさまざまな大規模モデルの登場により、汎用人工知能 (AGI) の時代が来るかどうかについての世界的な議論が引き起こされました。AIGC の大規模モデル公共サービスが徐々に弁証法的に大衆に受け入れられた後、AIGC テクノロジーを使用して企業のインテリジェント サービスを再形成する方法は、深い水域になりました。

現在、ほぼすべての企業が AIGC テクノロジーを自社の分野に導入しようとしていますが、導入の過程でさまざまな課題や困難に直面することになります。しかし、新しい人工知能 (AI) テクノロジーにより、企業の本来の結びつきが変化し、AI 細分化機能を通じてビジネスに力を与えていることが明らかにわかります。統合されたエンタープライズ AI データ インフラストラクチャに基づいて、大規模モデルに蓄積された一般化されたインテリジェンスが正確な企業知識と深く統合され、特定のシナリオベースのサービスに凝縮され、企業を真に包括的なインテリジェント時代に導きます。

写真

2006 年に、ジェフリー ヒントンらは「ニューラル ネットワークによるデータの次元削減」という論文を発表し、「ディープ ラーニング」の時代を切り開きました。20年近くを経て現在までに、比較的完全なAIアプリケーションの開発と運用保守システムを構築する企業が増えてきており、このシステムは通常、最下層が機械学習プラットフォーム、中間層が3層に分かれています。 AI サービス、最上位層は AI サービスに基づくエンタープライズ アプリケーションです。

ディープラーニング時代の AI には多くの実装上の問題があります。具体的には、データ側では、従来の小規模モデルの一般化能力が低いため、既存のモデルをより完全な企業プライベート データと直接組み合わせて外部サービスを提供することが困難です。 、企業のプライベート データは AI 指向のアプリケーションにあり、接続とリンクが実現されていません。AI サービス エコロジーの観点から、企業は既存の AI サービスを直接再利用してアプリケーションを迅速に構築できることを期待していますが、実際には少数のサービスしかありません。高い再利用性を実現するために、企業は自社のデータやビジネスシナリオに合わせて新しいアルゴリズムやモデルを継続的に開発する必要があり、AI アプリケーションの実装効率を向上させる必要があります。

写真

大規模モデル技術を中心としたAIGC技術の急速な発展により、AI時代のiPhoneが本格的に到来し、AIはディープラーニングの時代から大規模モデルの時代へ移行しつつあります。まったく新しいテクノロジー パラダイムは、エンタープライズ AI アプリケーションの実装方法を再定義し、企業の包括的なインテリジェント アップグレードを加速し、従来の AI アプリケーションの開発と運用保守にも新たな変化をもたらします。

大規模なモデルは、AI インテリジェンス用の非常に限られたデータに限定されず、インテリジェントなアプリケーション開発のためにより多くのエンタープライズ データと組み合わせることができます。大規模なモデルの汎化機能により、大規模なモデルが複数の下流 AI タスクを処理できるようになり、モデルの開発時間と運用を節約でき、複数のモデルのメンテナンスコストを削減すると同時に、数百億のパラメータを持つ大規模なモデルは汎化機能とインテリジェントな創発機能を備えており、従来のディープラーニングモデルと比較してモデル効果が大幅に向上します。これらの大規模モデルの利点も、AIGC を企業に導入するというクラリオンの要求を呼び起こしました。

写真

AIアプリケーションのパラダイムシフトはディープラーニング時代からラージモデル時代へ

写真

その技術的な利点により、大規模モデルは企業データと組み合わせて企業によって徐々に実装されてきました。実際には、次のような多くの課題もあります。

  • 企業内で大量のデータを管理することは困難でコストがかかりますが、企業の豊富なデータを AI の実装に備えて準備するにはどうすればよいでしょうか?

  • ベクトルデータベースとエンタープライズデータを組み合わせると、大規模なモデルを着陸させる過程で幻覚や不可解性などの問題が発生しますが、正確な知識と解釈可能性を求める企業のニーズにどのように応えるのでしょうか?

  • 限られたリソースでより高速なモデル推論を実現するにはどうすればよいでしょうか?

  • エンタープライズ データからモデル サービスに至るエンタープライズ インテリジェンスのバリュー チェーン全体を開くにはどうすればよいでしょうか?

上記の課題に対処し、AI アプリケーションの迅速な実装を実現するために、企業は大規模モデルの時代に対応した AI インフラストラクチャを確立し、大規模モデルの錯覚を軽減し、GPU リソースの使用を最適化し、サービス推論機能を向上させる必要があります。大規模モデルに高品質のデータ入力を提供するための管理と在庫、エンタープライズ データ、モデル サービスからインテリジェント アプリケーションへの価値のリンクを開くために、ユーザー フレンドリーなエンジニアリング リンクを提供する必要があります。

3.1 統合された AI インフラストラクチャがこれまで以上に重要になっている

大規模モデルの汎用化とマルチモーダル機能のおかげで、将来的には、独自の新しいトレーニングと微調整(微調整)大規模モデルを使用する少数の企業を除いて、ほとんどの企業は大規模モデル(一般的な大規模モデルまたは業界)に基づいたものになるでしょう。大規模モデル) を少数の小規模モデルと組み合わせて、アプリケーションを迅速にランディングします。これに関連して、企業はプライベート データ、より経済的なコンピューティング能力、すぐに使えるモデルにこれまで以上に注目を集めています。

大規模モデルの場合、企業は大規模モデルの幻覚、長期記憶、推論の問題を解決すると同時に、限られた GPU リソースに基づくサービス推論の効果を向上させる必要もあります。したがって、大規模モデルの時代には、統合されたデータ、コンピューティング能力、および大規模モデル用のモデルのための AI インフラストラクチャが、将来の企業の標準要件となるでしょう。

3.2 AI はデータの最終的なエクスポートであり、高品質のデータは企業が高品質のローカル モデルや AI アプリケーションを作成するのに役立ちます

現在でもビジネス インテリジェンス (BI) は重要なデータ輸出の 1 つです。ラージ モデル テクノロジーの台頭により、BI と AI の統合が加速し、AI はデータの究極の価値輸出となるでしょう。BI のデータ使用履歴の観点から見ると、高品質のデータ レポートは、高品質でクリーンな構造化データに依存します。BI と同様に、高品質のマルチモーダル データも AI モデルとアプリケーションの品質に影響を与える重要な要素となります。

企業は、規制ベースのデータ ガバナンスからビジネス主導のインテリジェントなデータ資産インベントリに移行し、大規模なモデルやビジネス シナリオに高品質のデータ入力を提供します。しかし、手動実装に重点を置いた従来のデータ ガバナンス プラットフォームでは、これらのタスクを効率的に完了することが困難であるため、大規模モデルの機能を活用して、統合されたインテリジェントなデータ資産プラットフォームを構築することで、高品質のエンタープライズ データを効果的に保証します。これにより、大規模モデル能力の時代における企業における AI アプリケーションの実装が加速されます。

3.3 データとモデル ファクトリを接続するローコード プラットフォームは、企業が AI アプリケーションを迅速に実装するのに非常に役立ちます

大規模モデルの時代以前は、AI モデルの汎化能力が限られていたため、多くの場合、さまざまな AI アプリケーションが新しい AI モデルを個別に確立する必要があり、新しい AI アプリケーションの開発はプロのアルゴリズム エンジニアや上級開発者に依存していました。大規模モデルの時代には、企業担当者はプライベート データにさらに注意を払い、適切な大規模モデル (または大規模モデルと小規模モデルの組み合わせ) を選択し、迅速なエンジニアリングやモデルファインを通じてモデルをローカルの高品質データとリンクできます。 -一緒にチューニングします。

さらに、大規模なモデルはビジネス シナリオを理解し、顧客データとビジネス シナリオに従ってさまざまなモデルを織り交ぜて、共同でビジネス目標を達成することができます。企業の担当者は、ビジネスへの AI 機能の迅速な実装を実現するために、ローコードの方法を使用してデータとモデルを関連付けることを好む傾向があります。企業のマルチモーダル データを「織り込み」、継続的にアップグレードされる AI モデルの機能を活用することで、企業サービスを再構築し、最終的には新たなビジネス価値を生み出すことができます。

写真

4.1 ファバルタ製品マトリックス

ファバルタ氏は、大規模モデル時代の AI アプリケーションのランディング パラダイムの理解に基づいて、現在サービスを提供している多くの大規模トップ金融および製造顧客のビジネス上の課題とニーズを組み合わせ、一定の製品磨きを行った後、次のような提案を行いました。 「一つの体に二つの翼」の製品マトリックス。この製品マトリックスは、大規模モデル時代のデータ、コンピューティング能力、モデルの統合を実現し、大規模モデル時代のインフラストラクチャを構築し、企業が大規模モデル時代の AI アプリケーションを迅速に構築できるようにすることを目的としています。

写真

ファバルタ「一身二翼」製品一覧

「統合」とは、企業のインフラストラクチャを大規模なモデルで統合的に構築し、データ、コンピューティング能力、モデルの実行時間の管理を実現し、AI 対応インフラストラクチャ (Infrastructure Ready for AI) を基本レベルから実現することを指します。グラフとベクトルコンピューティングのマルチモーダルインテリジェントエンジンを統合することで、モデル推論のプロセスで長期記憶を実現できるだけでなく、モデルの推論フレームワークを最適化して、論理推論能力を向上させることができます。「2つの翼」 「データ」はそれぞれデータと AI を指します。データ側は包括的なマルチモーダル データ管理機能を提供し、企業がデータ資産の管理とインベントリを効果的に支援します。これらのデータを企業のプライベートデータとして「一台」に保存し、AIに高品質なデータを提供し、データ側からAI対応データ(Data Ready for AI)を実現、AI側がオープン化モデル ファクトリ機能と企業機能のプライベート ナレッジの統合を強化し、ローコード アプローチを採用して、企業が大規模なモデルを迅速に使用し、企業のプライベート ナレッジと組み合わせた微調整またはプロンプト モードに基づいて AI アプリケーションを実装できるようにします (AI Ready forアプリ)。

4.2 Fabarta ArcNeural マルチモーダル インテリジェンス エンジン

AI 時代には、さまざまなマルチモーダル データベースが誕生しています。従来のデータベースの多くも、拡張することでさまざまな形式のデータ ストレージをサポートできます。しかし、これらのマルチモーダル データベースの本質は、依然としてストレージと統合を実現することです。複数のデータへのアクセス。大規模モデルの時代において、Fabarta が常に考えてきたのは、マルチモーダル データ ストレージと統合アクセスのサポートに加えて、大規模モデルをサポートするために他に何ができるかということでした。

  • データの課題: 企業が統合されたプライベート マルチモーダル データ レイヤーを構築し、このプライベート データを大規模モデルとうまく組み合わせられるようにするにはどうすればよいでしょうか?

  • コンピューティング能力の課題: 企業が大規模なモデルを民営化して展開する場合、限られたコンピューティング能力でより高い同時実行性をどのようにサポートできるでしょうか?

  • モデルの課題: 大規模モデルの推論能力には限界があります。大規模モデルの推論能力を向上させるにはどうすればよいでしょうか? 企業は、大規模モデルからの生成的な答えに対する非常に高い決定論的な要求を持っています。大規模モデルのランダム生成の問題を効果的に軽減するにはどうすればよいでしょうか? 企業が説明可能なインテリジェンスを達成できるようにするにはどうすればよいでしょうか?

ArcNeural は、シンボリック データ グラフ (Graph) とベクトル (Vector) を処理するためのコアとしてデータ中心 AI で構築されたインテリジェント エンジンです。AI アプリケーションは、プライベート メモリと正確で解釈可能な推論を提供します。ArcNeural は、AI の 3 つの要素に基づいて構築されたインフラストラクチャです。データ、コンピューティング能力、モデルを統合し、上位レベルの AI インテリジェント アプリケーションのサポートを提供し、ビジネス インテリジェンス イノベーションのプロセスを加速します。

たとえば、ナレッジ ベースのインテリジェントな質問応答システムでは、最初にすべてのエンタープライズ データ (CRM、ERP データ、製品マニュアルなどの元の生データ) を ArcNeural にインポートすると、エンジンが自動的にモデル化してシンボリック データ (埋め込みとグラフ化) を生成します。 )。ユーザーが質問すると、ArcNeural は解釈可能なシンボリック コンピューティング (グラフ コンピューティング) とベクトル コンピューティングを使用して問題を分析し、関連する価値の高いデータを見つけ、コンテンツの生成、誘導、要約のための大規模なモデルをサポートする最適化されたランタイム環境を提供します。これにより、回答の正確性、リアルタイム性、プライバシーが確保されるだけでなく、大規模モデルの「無意味」を効果的に回避し、ユーザーにインテリジェントでフレンドリーなサービスを提供します。同時に、柔軟でスケーラブルなエンジン アーキテクチャは、独立したグラフ データベース、グラフ コンピューティング、およびエンタープライズ レベルのベクトル データベースのシナリオ アプリケーションもサポートし、ビジネス インテリジェンスの観点から企業のインフラストラクチャ ニーズに柔軟に対応します。

写真

Fabarta ArcNeural マルチモーダル インテリジェント エンジンのアーキテクチャ図

4.3 Fabarta マルチモーダル データ ウィービング プラットフォーム

大規模モデル技術の適用には、企業の膨大なプライベートデータを通過する必要がありますが、現在の企業データは種類が多く、量が多く、質も混在しており、AIが利用できる「プライベートデータ」をどのように選別すればよいのでしょうか。これにより、データ管理に次のような新たな課題が生じます。

  • データ形式のアップグレード:コアビジネスレポートを中心としたものから、構造化データから非構造化データへだけでなく、CRMデータ、ERPデータ、製品マニュアル、法規、写真、ビデオファイルなどのオリジナルの生データを包括的にカバーするアップグレードが必要ですデータの接続とキャプチャのための新しい技術的手法と、より汎用的なメタデータ管理手法。

  • ガバナンス目標のアップグレード: ガバナンスの目標は、データの「DAMA 6 つの特性」(完全性、一意性、適時性、有効性、正確性、一貫性) から、セマンティクスの理解と暗黙的な関係の抽出にアップグレードされます。

  • データサービスのアップグレード:データガバナンスのサービス対象がBIからAIにアップグレードされ、さらに大規模モデルに進化したため、データサービスの形式も従来の2次元テーブルから大規模モデルのエコロジーに適したナレッジサービスにアップグレードされました。 。

Fabarta のマルチモーダル データ ウィービング プラットフォームは、AI 指向のデータ管理プラットフォームであり、データをよりインテリジェントに接続、理解、管理し、エンタープライズ データをエンタープライズ ナレッジに変換し、AI アプリケーションのデータ推進力を提供します。従来のデータ ガバナンス シナリオ。ArcNeural インテリジェント エンジンに基づくこのプラットフォームは、企業のプライベート データを接続し、メタデータとデータ セマンティクスを自動的に取得して分析し、データ リネージュと資産マップを形成し、これに基づいてインテリジェントなデータ標準の実装、データ品質分析、インデックス リンクの最適化を提供します。 、データの分類とカタログ化、およびビジネス アプリケーションや大規模モデルにデータ サービスを提供するその他の機能。そのコアモジュールには次のものが含まれます。

  • グラフで強化されたデータガバナンス:構造化データベース、文書、画像などのマルチモードデータのメタデータ情報を収集・特定し、データ処理スクリプトやシステムアクセスログなど独自の技術情報を通じてデータリネージを分析し、データ規格やデータ品質を包括的に制御します。 、データセキュリティ、企業の既存のデータガバナンスプラットフォームとの互換性。

  • インテリジェントなデータ資産インベントリ: 正確なメタデータ、親族関係、その他の情報を使用して大規模な企業データを選別および分類し、インテリジェントなテクノロジーの支援を通じてデータの内容を理解し、隠されたデータの関係を抽出し、実際のデータ モデル (データ モデル) を復元します。 ;

  • マルチモーダル データ サービス: インデックス モデリング、データ仮想化、ナレッジ サービス、その他のテクノロジーを通じて、従来の BI、AI、大規模モデルのシナリオに同時に適応し、包括的なデータ サービスを提供し、Fabarta エンタープライズ インテリジェント サービスにも接続できます。 AIアプリケーションを迅速に実装するためのサービスプラットフォーム。

写真

Fabarta マルチモーダル データ ウィービング プラットフォームのアーキテクチャ図

ファバルタの製品マトリックスの「データ ウィング」として、ファバルタ マルチモーダル データ ウィービング プラットフォームは、大規模モデル機能を最大限に活用してインテリジェントなデータ管理を実現し、企業の既存のビッグ データ プラットフォームと接続し、企業の膨大なマルチモーダル データを整理して管理します。データ資産マップを構築し、AI 大規模モデルの実装のためのインテリジェントなデータ基盤を提供し、AI 実装に備えたデータを提供します (Data Reay for AI)。

4.4 Fabarta エンタープライズ インテリジェント分析プラットフォーム

過去数十年間、AI プラットフォームの主なユーザーはプロのアルゴリズム エンジニアや上級開発者であり、プラットフォームは完全な AI 開発エンジニアリング リンク、成熟したアルゴリズム、効率的なトレーニングと推論フレームワークを彼らに提供しました。大規模モデルは、その優れた一般化推論能力により、特に企業内のビジネスユーザーやエンジニアが蓄積されたプライベートデータを大規模モデルと低い閾値で組み合わせて利用し、直接的に価値を生み出すことができるようにする方法について、さまざまな業界から注目を集めています。ビジネス。専門的かつ高度な AI 開発者から企業ビジネス ユーザー向けの大規模モデル機能の実装に至るまで、この時代のエンタープライズ インテリジェンス プラットフォームが直面する必要があるのは、この変革の課題です。

  • 大規模モデル時代に向けたデータ準備: 企業のマルチモーダル データを AI シナリオの大規模モデルに適したデータ ストレージ形式に適切にセグメント化および再編成し、ビジネス シナリオと組み合わせて微調整モードまたはプロンプト モードを選択して大規模モデルを削減する方法エンタープライズレベルの着陸を確実にするための幻覚問題。

  • 大規模モデル時代に向けたモデルの準備: 企業は、急増するオープンソースおよびクローズドソースの大規模モデル プロジェクトの中から、エンタープライズ インテリジェンス ベースとして自社のビジネス シナリオに適合する基本モデルをどのように選択できるか。

  • 大規模モデル時代におけるビジネスの強化: 企業は、ビジネス担当者が自分のビジネス データに集中し、大規模モデルと小規模モデルのそれぞれの利点を組み合わせ、ドラッグ アンド ドロップ方式で AI アプリケーションを直接生成し、包括的な大規模モデルを完全に生成できるようにするにはどうすればよいでしょうか。スケール モデル シナリオはセルフサービス ベースで着陸します。

写真

Fabarta Enterprise Intelligent Analysis Platformのアーキテクチャ図

ファバルタの製品マトリックスの「AI ウィング」として、ファバルタのエンタープライズ インテリジェンス分析プラットフォームは、企業内の AI 開発者、ビジネス ユーザー、アプリケーション開発者がローコードおよびノー​​コード (ローコード ノーコード LCNC) で迅速に実装できるよう支援することを目的としています。 )マナーAI機能。その特徴は次のとおりです。

  • 大規模モデルの着陸の加速: 企業が自社のビジネスとデータに基づいて最適な大規模モデルを選択できるように支援し、自社所有のデータと主流の大規模モデルの微調整をサポートし、大規模モデルとローカルのモデルを直接使用できるようにします。ナレッジサービスを構築するためのナレッジベース。

  • 大規模モデル アプリケーションの進化をサポート: エンタープライズ レベルの AI アプリケーションは、特定の大規模モデルへの依存度が高く、複数の小規模モデルを組み合わせることでビジネスのあらゆる側面に浸透します。プラットフォームは、モデルを通じてエンタープライズ レベルの AI アプリケーションの大規模なモデル化を完全にサポートします。ファクトリとモデルのオーケストレーション。

  • エンタープライズ スマート ユーザー エコロジーを完全にカバー: データと AI 開発、ビジネス分析、サービス、アプリケーションの 3 層アーキテクチャを通じて、開発からビジネスに至るデータのプロセス全体を加速します。データが業界やシナリオに合わせてビジネス価値を生み出すのに役立ちます。

  • LCNC 分析機能の直列接続: LCNC アプリケーションは、フロントエンド コンポーネントのドラッグ アンド ドロップだけでなく、複雑なビジネス分析ロジックを事前にパッケージ化することで、ビジネス ユーザーがデータとビジネスそのものに集中できるようにし、ビジネス アプリケーションを直接作成することもできます。プラットフォーム機能 AI の包括性を包括的に向上させます。

  • 業界機能の蓄積と再利用: 企業が業界固有のビジネス知識と技術的アトミック機能を蓄積し、水平方向に拡張する際にプラットフォーム機能を使用してビジネス シナリオの再利用性をサポートし、業界機能の導入を加速できるように支援します。

  • 解釈可能なグラフ インテリジェンス: グラフ データの自然な解釈可能性を、グラフ コンピューティング アルゴリズム、デシジョン エンジン、分析キャンバス、グラフ BI、データ探索、その他の機能と組み合わせて使用​​し、エンド ビジネス ユーザーが何が起こっているのか、なぜ起こっているのかを把握できるようにします。

写真

Fabarta は、そのコア製品を使用して、いくつかの大手企業顧客がインテリジェントな変革を実行できるよう支援してきました。

  • グラフと大規模モデル テクノロジーを活用したデータ リネージ リンク トラッキング テクノロジーを使用することで、都市の大手商店がデータ リネージを完全に追跡し、データの洞察力を向上させ、詳細な分析を通じて信頼できるデータに基づいて意思決定を確実に行うことができます。データ系統のデータを迅速に見つけることができます。 品質の問題を解決し、データの探索を実現し、データ ウィービングを構築するための強固な基盤を築きます。

  • エンタープライズ インテリジェント分析プラットフォームを、マルチモード インテリジェント エンジンのグラフ テクノロジーおよびグラフ アルゴリズムと組み合わせて使用​​することで、大手商業銀行が融資後のリスク管理アプリケーションを迅速に開発し、早期警告設定、リスク評価、リスク調査、リスク管理機能に顧客視点等を反映させ、リスク監視コストを削減し、リスク監視のワンストップ管理を実現します。

  • ベクトルとグラフを統合するマルチモデル インテリジェント エンジンを使用すると、大手製造会社が社内ナレッジ ベースに迅速に接続し、インテリジェントな質疑応答システムを構築し、エンタープライズ データに対する大規模モデルの強化を実現し、完全な機能を実現できるようになります。企業データの価値を活用して最大化します。

大規模モデル時代の新たなパラダイムに向けて、Fabarta はマルチモード インテリジェント エンジンを通じて大規模モデル時代のシンボリック データ (主にベクトルとグラフ) を管理し、コンピューティング パワーとモデル アクセラレーションのサポートを提供し、AI として機能します。このプラットフォームは、データの探索、インテリジェントなインベントリ、および使用を実現し、大規模モデルに高品質のエンタープライズ データを提供し、エンタープライズ インテリジェント分析プラットフォームを使用して、企業が迅速に接続できるようにします。ローカル データを管理し、大規模なモデルを使用してビジネス アプリケーションを強化します。

ファバルタは「世界をつなぎ、知恵で未来を見る」というコンセプトを貫き、ラージモデル時代のAIインフラの構築、パートナーや顧客と協力してラージモデル時代のインテリジェントエンタープライズを創造することに尽力している。

当社の製品や技術にご興味がございましたら、[email protected] までお問い合わせください。

写真

Fabarta は、データ リソースを探索して接続することで、企業がインテリジェンス主導の継続的なイノベーションを達成できるよう支援する AI インフラストラクチャ企業です。現在、Fabarta の製品システムは 3 つの層に分かれています。エンジン層では、AI 指向の技術インフラストラクチャを構築し、グラフ、ベクトル、および AI 推論機能の統合をサポートする ArcNeural マルチモーダル インテリジェント エンジンを提供します。プラットフォーム層では、エンタープライズ インテリジェント分析プラットフォームを通じて加速します解釈可能なグラフ インテリジェンスと新世代の AI テクノロジーがエンタープライズ シナリオに実装され、同時にマルチモーダル データ織りプラットフォームを使用して、企業がマルチモーダル データを分類するのを支援しますこれにより、企業はデータ フローによってもたらされる価値を最大限に活用できるようになります。さらに、Fabarta はマルチモーダルに基づくことができます。モーダル インテリジェンス エンジン、エンタープライズ インテリジェント分析プラットフォーム、およびマルチモーダル データ ウィービング プラットフォームは、顧客やパートナーと協力して、業界アプリケーションを構築し、企業のデジタル変革と AI テクノロジーの実装を加速します。

おすすめ

転載: blog.csdn.net/Fabarta/article/details/131980795