技術共有

大規模言語モデルのアプリケーション - AI エンジニアリングの実装

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


近年のAIの急速な発展は確かに大きな影響をもたらしていますが、実際にはAIは完全に国境を越えておらず、まだ小さな範囲で「自己啓発」しているだけです。しかし、以前とは大きく異なります。
この記事は、大規模モデルの現状に焦点を当て、エンジニアリングの実装に関連する内容について説明します。これもインスピレーションと要約に基づいています。

ここでは AI 自体についてはあまり詳しく説明しませんが、より上位レベルのアプリケーションに焦点を当てます。

大規模な言語モデルの概要

大規模な言語モデルについて話すとき、私たちは人間の言語と同じような方法で「話す」ことができるソフトウェアのことを指します。これらのモデルは驚くべきものです。コンテキストを取得して、一貫性があるだけでなく、まるで本物の人間から発せられたように感じる応答を生成することができます。
これらの言語モデルは、大量のテキスト データを分析し、言語使用のパターンを学習することによって機能します。彼らはこれらのパターンを利用して、人間が話したり書いたりする内容とほとんど区別がつかないテキストを生成します。
仮想アシスタントとチャットしたり、AI カスタマー サービス エージェントとやり取りしたことがある方は、おそらく気付かないうちに大規模な言語モデルを操作したことがあるでしょう。これらのモデルには、チャットボットから言語翻訳、コンテンツに至るまで、幅広い用途があります。創作など

大規模言語モデルとは

  • 意味 : 大規模言語モデル (LLM) は、事前トレーニングされた自然言語処理 (NLP) モデルであり、通常は数十億、場合によっては数千億のパラメーターを持ち、自然言語テキストを理解して生成することができます。成熟した大規模言語モデルのトレーニング データは膨大です。
  • 関数: 大規模な言語モデルは、テキスト分類、感情分析、機械翻訳、テキスト要約、質疑応答システムなど、さまざまな言語タスクを実行できます。
  • 技術的基盤: Transformer アーキテクチャに基づいて、セルフアテンション メカニズムを使用してシーケンス データを処理します。
  • 開発する: 初期の RNN や LSTM から BERT や GPT などの現在のモデルに至るまで、パラメーターの数とパフォーマンスは向上し続けています。

機械学習とは

  • 意味: 機械学習は、明示的にプログラムされずにコンピューター システムがデータから学習し、意思決定や予測を行えるようにする人工知能の分野です。
  • タイプ: 教師あり学習、教師なし学習、半教師あり学習、強化学習を含む
  • 応用: 画像認識、音声認識、推奨システム、予測分析などの分野で広く使用されています
  • 主要な概念: 特徴の選択、モデルのトレーニング、過学習と過小学習、モデルの評価など。

ディープラーニングとは

  • 意味: ディープ ラーニングは、人間の脳に似たニューラル ネットワーク構造を使用して、多層 (深い) 非線形変換を通じてデータの複雑なパターンを学習する機械学習のサブセットです。
  • コアコンポーネント: ニューラル ネットワーク層、活性化関数、損失関数、最適化アルゴリズム。
  • 建築: 畳み込みニューラル ネットワーク (CNN)、リカレント ニューラル ネットワーク (RNN)、長短期記憶ネットワーク (LSTM)、トランスフォーマー (Transformer) などが含まれます。
  • 応用:画像・音声認識、自然言語処理、自動運転などの分野で革命的な進歩が見られます。

大規模な言語モデルを理解する

上記で大規模言語モデルの概要を理解した後で、大規模言語モデルを「理解する」ために別の章を開く必要があるのはなぜでしょうか。これにより、大規模言語モデルとは何か、その上限を理解できるようになり、また、アプリケーション層をより良く行うことが容易になります。
まず、一般的に言えることは、機械学習とは、入力を目的の出力に変換できる特別で複雑な「関数」を見つけることです。たとえば、入力 1 と出力 5 が期待される場合、入力 2 と出力 10 が期待される場合、この関数は y=2*x になる可能性があります。あるいは、猫の写真を入力すると「猫」という単語が出力されるようにしたい、または「こんにちは」と入力すると「こんにちは」が出力されるようにしたいなどです。

実際、これは本質的に数学的な問題とみなすことができます。もちろん、実際の問題は上記の例よりもはるかに複雑になります。

歴史

1. 初期の頃、人々は常に機械に人間と同じように考えさせたいと考えていました。人々は主にバイオニクスに基づいて、鳥が飛んでいるのを見て、羽ばたいて飛ぶ方法を学びました。そして彼らは、機械にも人間と同じように考えさせたいと考えました。しかし、この効果はあまり良くありません(世界知識は、考えなくても本能的に知られている脳内のデフォルトの知識です)。たとえば、この種の世界知識。は膨大であり、1 つの単語で複数の意味を含む問題を解決することは困難です。一般に人間の脳を模倣するには複雑すぎて、コードや関数だけで実現することは困難です。

2. 人工知能 2.0 時代: 「統計ベースの人工知能」のデータ駆動型の実装。 GPT3の登場以降、なぜさまざまな大型モデルが雨後の筍のように現れたのでしょうか?実際、ほとんどの企業は長い間AIの研究をしてきましたが、初期の頃は誰もが石を見て川を渡っていましたが、多くの計画や考えはありましたが、スタッドへの投資を増やす勇気はありませんでした。それらはすべて限られた範囲内の研究でした。 GPT3 の出現により、大量のデータを使用して統計を計算するという特定の方法が実行可能であることがわかりました。つまり、成功例があれば、誰もがこの方法が実行可能であることを認識しました。投資を増やしてこの道を進む

3. ビッグデータは機械の知能のレベルを飛躍的に高めることができます。大量のデータを使用する最大の意義は、これまで人間にしかできなかった作業をコンピューターが完了できるようになることです。

  • 核となるアイデア:大量のデータの統計情報に基づいて、結果に適合するように「パラメータをトレーニング」する(本質は「バイオニクス」ではなく「統計」です)
  • 主な利点: データの量が蓄積するにつれて、システムは改善され続け、ますます良くなります。
  • 核となる要素:大規模・多次元・包括的なビッグデータ「ビッグデータ」
  • 膨大・多次元・網羅的なビッグデータに基づく「暗記学習」。
    統計的人工知能により、「知能の問題」が「データの問題」に変換され、コンピューティングが可能になります。
    機械はビッグデータから学習することで「不確実な問題」を解決できる

本質的なもの

したがって、問題の鍵は確率の問題になります。現在、大規模なモデルは、大量のデータから確率を計算し、次のテキストまたは途中のテキストの特定の段落の最も高い確率を決定し、それを出力します。実際、本質は新しいものを生み出すことではなく、推論することです。

たとえば、中国の首都はどこですか?と尋ねます。アルゴリズムによって抽出されたキーワードは、中国の首都は
次に、大規模モデルは、膨大なデータから、中国の首都が北京に続く最も可能性の高い単語であることを計算し、正しい結果を出力します。

大規模モデルは、現在の機能を実現するために、大量のデータの「暗記学習」に依存しています。
したがって、大規模モデルをトレーニングするためのデータ品質も非常に重要です。同時に、大規模モデルの上限についても考えることができます。

AIGCシステム

AIGC (Artificial Intelligence Generated Content) は、機械学習アルゴリズムを使用して、テキスト、画像、音声、ビデオなどのさまざまな種類のコンテンツを自動的に生成するテクノロジーです。 AIGC システムは、大量のデータを分析することで言語、視覚、音声のパターンを学習し、人間が作成したコンテンツに類似した、またはそれと区別できない新しいコンテンツを作成します。
すべてのデジタル作品は「大きなモデル」によって覆される可能性が高い
現在のアプリケーション層の作業のほとんどは AIGC システムに属しています
GPT3.5 以降、大規模モデルではすでにツールを使用できるようになりました。
• プラグインとネットワーキング: 大規模なモデル自体のメモリ不足を補い、LLM ツールの使用方法の学習が正式に始まります。
• 機能: LLM は、バックエンド エンジニアの主な仕事である複雑なタスクを完了するために API を呼び出す方法を学習します (ゴリラに指示を与えると、拡散などのモデルを自動的に呼び出して、描画や対話などのマルチモーダル タスクを実装します)。
• モデルに「考えさせる」: 大規模なモデルに論理的な機能を持たせるようにガイドします。その核心は「プランニング メモリ ツール」にあります。

AIエンジニアリングプロジェクトの実施

実際、AI プロジェクトの実行も通常のプロジェクトと同じで、プロジェクトが解決しようとしている中核的な問題を明確に理解し、思考を拡張して実行することが最初のプロジェクトの根幹となります。需要分析、技術選定など私たちはアプリケーション層の大規模なモデルを設計するのがあまり得意ではありません。通常、API を直接呼び出すか、ローカルのオープンソースの大規模モデルをデプロイします。

着陸方法

即時プロジェクト (フェーズ 1)

AI に少しでも触れたことがある人なら、2022 年から 2023 年にかけて、AI に関する初期の研究は依然としてこれに基づいて行われることになるでしょう。つまり、AI にあなたの意味をよりよく理解させるための質問の仕方、キーに注意を払う方法です。ポイントを評価して、Gao のより質の高い回答を提供します。
しきい値は比較的低く、大規模なモデル アプリケーションのほとんどは Prompt を使用して設計されています。いくつかのニーズに対応できるかどうかは、ベーシックモデルの性能に依存します

RAG検索(第2段階)

RAG(Retrieval-Augmented Generation)は、検索モデルと生成モデルを組み合わせた人工知能技術です。知識ベースまたはデータベースから関連情報を取得し、それをユーザーのクエリと組み合わせることで、大規模言語モデル (LLM) の応答機能が強化されます。 RAG テクノロジーは、特に特定のドメインの知識を扱うシナリオや最新の情報を必要とするシナリオにおいて、AI アプリケーションの精度と関連性を向上させることができます。
RAG の動作原理には主に 2 つのステップが含まれます。

  1. 検索: ユーザーのクエリに基づいて、RAG は検索モデルを使用して、ナレッジ ベース内の最も関連性の高い情報またはドキュメントを検索および抽出します。
  2. 生成: 取得された情報は、ユーザー クエリとともに生成モデルへの入力として使用され、そこから生成モデルは回答またはコンテンツを生成します。
    RAG テクノロジーの利点は次のとおりです。
    • 知識の更新: モデルのトレーニング中の知識だけでなく、最新の情報にアクセスする機能
    • 幻覚の軽減: 外部の知識源の支援を通じて、LLM が不正確または誤った情報を生成する傾向を軽減します。
    • データ セキュリティ: 企業がプライベート データをサードパーティ プラットフォームにアップロードせずに使用できるようにします。
    • 費用対効果の高い: RAG は、大規模なモデルの再トレーニングや微調整よりも経済的なソリューションを提供します。
機能別モデルのトレーニング(フェーズ 3)

ただし、このしきい値は比較的高く、コンピューティング能力、データ、アルゴリズムには特定の要件があります。

ビジネスデザインを実装しました

ステップ 1: アイデアと探索

目標: 実現可能性の検証を実施し、ビジネス要件に基づいてプロトタイプを設計し、主要な前提条件をテストするための PromptFlow を構築する

  • 中心となるインプット: 明確なビジネス目標
  • 主要な出力: 大規模言語モデル (LLM) がタスク要件を満たせるかどうかを検証し、主要な前提を確立または否定します。
  • 主要な行動計画:
    • ビジネスユースケースを明確に定義する
    • 適切な基本的な大規模モデルを選択し、その後の微調整 (SFT) またはその他の用途に必要なデータを準備します。
    • PromptFlow の設計と構築、実現可能性の仮説の策定とテスト
ステップ 2: 構築と強化

目標: より広範囲のデータセットに対するソリューションの堅牢性を評価し、微調整 (SFT) や検索拡張生成 (RAG) などの手法を通じてモデルのパフォーマンスを強化します。

  • 中心的な入力: 予備計画と組み合わせたビジネス目標 (ステップ 1 の結果)
  • 主な成果: 実稼働システムにすぐに導入できる、成熟したビジネス ソリューション
  • 主要な行動計画:
    • サンプルデータで PromptFlow の有効性を検証する
    • PromptFlow を評価して最適化し、より良いプロンプトとツールを検討します
    • 期待した目標が達成された場合は、より大規模なデータセットに拡張してテストし、SFT、RAG、その他のテクノロジーを通じて効果をさらに向上させます。
ステップ 3: 操作を続行する

目標: AIGC システムの安定した動作を確保し、監視および警報システムを統合し、継続的統合と継続的展開 (CI/CD) を実現します。

  • コアインプット: 特定の問題を解決できる AIGC システム
  • 主な成果: 監視および警告システムと CI/CD プロセスを統合する運用レベルの手順。
  • 主要な行動計画:
    • AIGCシステムの導入
    • 監視およびアラート機能を統合して、システム機能がアプリケーションに組み込まれていることを確認します。
    • 継続的な反復、展開、更新などのアプリケーション運用メカニズムを確立する
      このプロセスを通じて、概念実証から実稼働展開までのすべてのステップが正確で、制御可能であり、ビジネス目標に基づいて推進されることを保証します。

迅速な技術

1. メインコンテンツフラグメントの推進的な役割

メインコンテンツのスニペットは、効果を大幅に高めるための指示と組み合わせて使用​​されるテキストの基礎です。

  1. メインコンテンツの定義:
    • メイン コンテンツはモデルの処理または変換の核となるテキストであり、通常は特定の目標を達成するための指示とペアになっています。
  2. 応用例:
    • 例 1: 「上記の内容を要約してください」という指示を含む Wikipedia テキスト [テキスト] を提供します。
    • 例 2: ビール情報 [テキスト] を含むテーブルが与えられた場合、指示は「度数 6 度未満のビールをすべてテーブルにリストしてください」です。

2. メインコンテンツの実装戦略

メインコンテンツを達成するための具体的な方法には、次のようなものがあります。

  • 例: 直接的な指示ではなく、タスクを完了する方法の例を提供することで、モデルが実行する必要のあるアクションを自律的に推論できるようにします。
  • キュー: 手がかりを含む指示を使用して、モデルが段階的に推論して答えに到達するように導きます。
  • テンプレート: プレースホルダーを含む再利用可能なプロンプト レシピを提供し、特定のユースケースに合わせてカスタマイズできます。

3. 例の力(例)

与えられた命令に基づいて出力を生成する方法をモデルに示すことで、モデルはゼロショット学習、ワンショット学習、または少数ショット学習のいずれであっても出力パターンを推測できます。

  • 成分:
    • 全体的なミッションの説明。
    • 必要な出力の範囲の例。
    • 後続のタスクの開始点として機能する新しい例へのガイド。

4. 手がかり(Cue)の導きの役割

大規模なモデルに手がかりを提供して論理的推論を明確な方向に導くことは、モデルが徐々に答えを得るのを助ける段階的な式を提供することに似ています。

5. テンプレートのカスタマイズ値(Template)

テンプレートの価値は、アプリケーションの特定のコンテキストまたは例に合わせて最適化された、特定のアプリケーション領域用のプロンプトのライブラリを作成および公開することにあります。

  • 最適化のヒント: ターゲット ユーザー グループにとってより適切で正確な応答を作成します。
  • リソース リファレンス: OpenAI API サンプル ページには、豊富なテンプレート リソースが用意されています。
  • モデルの役割の割り当て: モデル ID の役割 (システム、ユーザー、アシスタントなど) を指定することで、モデルのタスク関連性の理解を強化します。

高度なプロンプトの例

# 职位描述:数据分析助手
## 角色
我的主要目标是为用户提供专家级的数据分析建议。利用详尽的数据资源,告诉我您想要分析的股票(提供股票代码)。我将以专家的身份,为您的股票进行基础分析、技
术分析、市场情绪分析以及宏观经济分析。
## 技能
### 技能1:使用Yahoo Finance的'Ticker'搜索股票信息
### 技能2:使用'News'搜索目标公司的最新新闻
### 技能3:使用'Analytics'搜索目标公司的财务数据和分析
## 工作流程
询问用户需要分析哪些股票,并按顺序执行以下分析:
**第一部分:基本面分析:财务报告分析
*目标1:对目标公司的财务状况进行深入分析。
*步骤:
1. 确定分析对象: