次の方法で共有


Azure Database for PostgreSQL を使用した生成 AI - フレキシブル サーバー

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

生成 AI (GenAI) は、既存のマルチメディア コンテンツから学習し、新しいコンテンツを生成できる人工知能アルゴリズムのクラスを指します。 生成されたコンテンツは、プロンプトや微調整などの手法を使用してカスタマイズできます。 GenAI アルゴリズムでは、特定の機械学習モデルが適用されます。

  • テキスト生成のための Transformer とリカレント ニューラル ネットワーク (RNN)。
  • 画像生成のための敵対的生成ネットワーク (GAN)。
  • 画像生成などのための変分オートエンコーダー (VAE)。

GenAI は、画像や音楽の合成、医療、テキスト オートコンプリート、テキスト要約、翻訳などの一般的なタスクで使用されます。 GenAI の手法を使用すると、クラスタリングとセグメント化、セマンティック検索とレコメンデーション、トピック モデリング、質問応答、異常検出などのデータに対する機能を利用できます。

OpenAI

OpenAI は人工知能 (AI) の研究組織およびテクノロジ企業で、人工知能と機械学習の分野での先駆的な仕事で知られています。 彼らの使命は、汎用人工知能 (AGI) がすべての人類に利益をもたらすようにすることです。汎用人工知能とは、経済的に価値のあるほとんどの仕事で人間を上回りうる高度に自律的な AI システムを意味しています。 OpenAI は、GPT-3、GPT-3.5、GPT-4 (Generative Pretrained Transformer) などの最先端の生成モデルを市場に投入しました。

Azure OpenAI は、Azure を使用して GenAI アプリケーションを構築するのに役立つ Azure の LLM サービスです。 Azure OpenAI Service は、OpenAI GPT-4、GPT-3、Codex、DALL-E、Whisper モデルを使用した高度な言語 AI を Azure のセキュリティとエンタープライズの約束と共にお客様に提供します。 Azure OpenAI は OpenAI と共に API を共同開発し、互換性を確保し、一方から他方へのスムーズな移行を保証します。

Azure OpenAI を使用すると、顧客は OpenAI と同じモデルを実行しながら、Microsoft Azure のセキュリティ機能を使用できます。 Azure OpenAI では、プライベート ネットワーク、リージョンの可用性、責任ある AI コンテンツのフィルター処理が提供されます。

Azure OpenAI の詳細をご覧ください。

大規模言語モデル (LLM)

大規模言語モデル (LLM) は、大量のテキスト データでトレーニングされた AI モデルの一種で、人間のような言語を理解して生成します。 LLM は通常、Transformer などのディープ ラーニング アーキテクチャに基づいており、さまざまな自然言語理解と生成タスクを実行できることで知られています。 OpenAI の GPT は LLM で、ChatGPT を強化しています。

大規模言語モデルの主な特性と機能は次のとおりです。

  • スケール: LLM アーキテクチャで使用されるパラメーターの数が非常に多いことが特徴になっています。 GPT-3 (Generative Pretrained Transformer 3) のようなモデルには、数億から数兆個のパラメーターが含まれており、言語の複雑なパターンのキャプチャを可能にしています。
  • 事前トレーニング: LLM は、インターネットからのテキスト データの大規模なコーパスで事前トレーニングされます。これにより、文法、構文、セマンティクス、そして言語と世界に関する幅広い知識を学ぶことができます。
  • 微調整: 事前トレーニング後、タスク固有の小規模なデータセットで特定のタスクまたは分野に関して LLM を微調整できます。 この微調整プロセスにより、テキスト分類、翻訳、要約、質問応答など、より特殊なタスクに適応できます。

GPT

GPT は、Generative Pretrained Transformer を略したもので、OpenAI によって開発された一連の大規模言語モデルを指します。 GPT モデルは、インターネットからの膨大な量のデータで事前トレーニングされたニューラル ネットワークであり、人間のようなテキストを理解して生成できます。

主要な GPT モデルとその主な特性の概要を次に示します。

GPT-3: 2020 年 6 月にリリースされた、GPT シリーズでよく知られているモデルです。 これには 1,750 億個のパラメーターがあり、存在する最大かつ最強の言語モデルの 1 つとなっています。 GPT-3 は、さまざまな自然言語理解と生成に関するタスクで顕著なパフォーマンスを達成しました。 テキスト補完、翻訳、質問応答などのタスクを、人間のように流暢に実行できます。 GPT-3 は、最小 (125M パラメーター) から最大 (175B パラメーター) まで、さまざまなモデル サイズに分かれています。

GPT-4: OpenAI の最新の GPT モデルで、1.76 兆個のパラメーターがあります。

ベクトル

ベクトルは、線形代数学と幾何学で使用され、大きさと方向の両方を持つ量を表す数学的概念です。 機械学習の分野では、ベクトルはデータ ポイントや特徴を表すためによく使用されます。

主なベクトル属性と操作は次のとおりです。

  • 大きさ: ベクトルの長さやサイズは、ベクトルのノルムとも呼ばれ、ベクトルが表すデータの大きさを表します。 これは負ではない実数です。
  • 方向: 基準点または座標系に対して表す量の向きまたは角度を示します。
  • 成分: ベクトルは、異なる軸または次元に沿った成分に分解できます。 2 次元の直交座標系では、ベクトルは (x、y) として表すことができます。ここで、x と y はそれぞれ x 軸と y 軸に沿った成分です。 n 次元のベクトルは、n タプル {x1, x2... xn} で表すことができます。
  • 加算とスカラー乗算: ベクトルは加算して新しいベクトルを作ることも、スカラー (実数) で乗算することもできます。
  • ドット積とクロス積: ベクトルは、ドット積 (スカラー積) とクロス積 (ベクトル積) を使用して組み合わせることができます。

ベクトル データベース

ベクトル データベース (ベクトル データベース管理システム (DBMS) とも呼ばれる) は、ベクトル データを効率的に格納、管理、クエリできるように設計されたデータベース システムの一種です。 従来のリレーショナル データベースは、主にテーブル内の構造化データを処理しますが、ベクトル データベースは、ベクトルとして表される多次元データ ポイントの格納と取得用に最適化されています。 これらのデータベースは、類似性検索、地理空間データ、レコメンデーション システム、クラスタリングなどの操作が関係するアプリケーションに役立ちます。

ベクトル データベースの主な特性は次のとおりです。

  • ベクトル ストレージ: ベクトル データベースは、データ ポイントを複数の次元を持つベクトルとして格納します。 各次元は、データ ポイントの特徴または属性を表します。 これらのベクトルは、数値データ、カテゴリ データ、テキスト データなど、さまざまなデータ型を表します。
  • 効率的なベクトル演算: ベクトル データベースは、ベクトルの加算、減算、ドット積、類似性の計算 (コサイン類似度やユークリッド距離など) などのベクトル演算を実行するために最適化されています。
  • 効率的な検索: 効率的なインデックス作成メカニズムは、類似したベクトルをすばやく取得するために不可欠です。 ベクトル データベースでは、さまざまなインデックス作成メカニズムを使用して、高速な取得を実現しています。
  • クエリ言語: ベクトル演算と類似性検索用に調整されたクエリ言語と API が提供されています。 これらのクエリ言語を使用することで、ユーザーは検索条件を効率的に表現できます。
  • 類似性検索: ベクトル データベースは類似性検索に優れており、ユーザーは特定のクエリ ポイントに似たデータ ポイントを検索できます。 この特性は、検索システムやレコメンデーション システムで重要です。
  • 地理空間データ処理: 一部のベクトル データベースは地理空間データ用に設計されており、場所ベースのサービス、GIS (地理情報システム)、マップ関連のタスクなどのアプリケーションに適しています。
  • 多様なデータ型のサポート: ベクトル データベースは、ベクトル、画像、テキストなど、さまざまな種類のデータを格納および管理できます。

PostgreSQL では、pgvector 拡張機能を利用することで、ベクトル データベースの機能を使用できます。

埋め込み

埋め込みは、機械学習と自然言語処理 (NLP) の概念で、単語、ドキュメント、エンティティなどのオブジェクトを多次元空間のベクトルとして表現します。 これらのベクトルは多くの場合、高密度、つまり次元数が多く、ニューラル ネットワークを含むさまざまな手法を使用して学習されます。 埋め込みは、連続ベクトル空間内のオブジェクト間のセマンティック リレーションシップと類似性をキャプチャすることを目的としています。

埋め込みの一般的な種類は次のとおりです。

  • word: NLP では、単語埋め込みは単語をベクトルとして表現します。 各単語は高次元空間のベクトルにマップされます。この空間では、意味やコンテキストが似ている単語が互いに近い位置に配置されます。 Word2VecGloVe は、一般的な単語埋め込みの手法です。
  • document: これらはドキュメントをベクトルとして表現します。 Doc2Vec は、ドキュメントの埋め込み作成に一般的に使用されます。
  • image: 画像は、視覚的特徴をキャプチャするための埋め込みとして表現され、オブジェクト認識などのタスクを可能にします。

埋め込みは、複雑かつ高次元のデータを機械学習モデルで簡単に処理できる方法で表現する上で中心的な役割を担います。 これらは大規模なデータセットでトレーニングした後、さまざまなタスクの特徴量として使用でき、LLM によって使用されます。

PostgreSQL では、Azure AI 拡張機能 OpenAI 統合を利用したベクトル埋め込みの生成機能を使用できます。

シナリオ

生成 AI は、テクノロジ、医療、エンターテイメント、金融、製造など、さまざまな分野や業界に幅広く応用されています。 生成 AI で実行できる一般的なタスクの例を次に示します。

  • セマンティック検索:
    • GenAI を使用すると、データの辞書的検索ではなく、セマンティック検索を行うことができます。 辞書的検索ではクエリとの完全一致が検索されるのに対して、セマンティック検索では検索クエリの意図を満たすコンテンツが検索されます。
  • チャットボットと仮想アシスタント:
    • コンテキストを意識した自然な会話ができるチャットボットを開発して、顧客向けのセルフヘルプなどを実装できます。
  • レコメンデーション システム:
    • アイテムやユーザーの埋め込みまたは表現を生成することで、レコメンデーション アルゴリズムを改善します。
  • クラスタリングとセグメント化
    • GenAI によって生成された埋め込みを使用すると、クラスタリング アルゴリズムでデータをクラスター化し、類似するデータをグループ化できます。 これにより、顧客のセグメント化などのシナリオが可能になり、広告主は顧客をその属性に基づいて別個にターゲットにできます。
  • コンテンツ生成:
    • テキスト生成: チャットボット、小説/詩の作成、自然言語理解などのアプリケーションで人間のようなテキストを生成します。
    • 画像生成: グラフィックス、エンターテイメント、広告用のリアルな画像、アートワーク、デザインを作成します。
    • ビデオ生成: 映画、ゲーム、マーケティング用のビデオ、アニメーション、ビデオ効果を生成します。
    • 音楽生成。
  • 変換:
    • テキストを、ある言語から別の言語に翻訳します。
  • 要約:
    • 長い記事やドキュメントを要約して、重要な情報を抽出します。
  • データ拡張:
    • 追加のデータ サンプルを生成して、機械学習 (ML) モデルのトレーニング データセットを拡張および改善します。
    • 医療画像など、現実の世界で収集するのが困難または高価なシナリオの合成データを作成します。
  • 創薬:
    • 分子構造を生成し、製薬研究のための潜在的な薬剤候補を予測します。
  • ゲーム開発:
    • レベル、キャラクター、テクスチャなどのゲーム コンテンツを作成します。
    • リアルなゲーム内環境とランドスケープを生成します。
  • データのノイズ除去と補完:
    • クリーンなデータ サンプルを生成して、ノイズの多いデータをクリーンアップします。
    • データセットに不足しているデータや不完全なデータを補完します。