製品ツールの操作 (製品マネージャー分析: 大規模モデルにツールの使用方法を教えるには?)

製品ツールの操作 (製品マネージャー分析: 大規模モデルにツールの使用方法を教えるには?)

製品マネージャーの分析: 大規模なモデルにツールの使用方法を教えるにはどうすればよいでしょうか?

はじめに|「人々はモデルの能力を過大評価し、エンジニアリングにそれを実装することの難しさを過小評価する可能性があります。」

導入

大規模なモデルがどのようにトレーニングされ、生成されるかについては、その背後にある原理とトレーニング方法について、誰もが多くの研究を行ってきたと思います。

しかし、ビジネスプラクティスを実装しているときに、大きなモデル自体の機能を使用するだけでは不十分であることがわかりました。本当に効果的な実装計画は、自社のビジネス上の優位性のシナリオを考慮し、ビジネス境界の制約と組み合わせる必要があります。この方法でのみ、ビジネス価値を最大化できます。これが重要な点であり、また難しさでもあります。

上記のシナリオでは、大規模なモデルを適用するとさまざまな問題が発生します。製品の観点から見ると、問題は、外部データを組み合わせることができない、コンテキスト メモリを組み合わせることができない、外部ツールを呼び出すことができないという 3 つの側面に要約できます。

もちろん、世の中に新しいものは何もない。上記の問題は、業界の調査において広く遭遇します。この記事では、「外部ツールが呼び出せない」という問題の解決に焦点を当て、製品の観点から学んだ解決策をレビュー形式でまとめ、共有します。

1. 研究の意義

たとえば、この大きなモデルを全能の人間に例えると、歴史を語ったり、複数の言語を翻訳したり、おしゃべりしたり笑ったりすることができます。しかし、お腹が空いていて、おいしい食事を作ってもらいたい場合、残念ながら、ガスコンロや圧力鍋を持っておらず、その使い方も知らないため、せいぜいレシピを教えてもらうことしかできません。

これが、モデルが外部ツールを学習できるようにする意義です。結局のところ、モデル自体の機能のみを使用するアプリケーション空間は限られており、ビジネス自体と統合することはできません。外部ツールを組み合わせることによってのみ、ビジネス目標をより適切に結び付け、より大きな価値を発揮することができます。

2. 業界ソリューション

「大きなモデルに外部ツールを呼び出させるにはどうすればよいか?」という疑問。 3 つの部分に分けることができます: 1) 大規模モデルはどのようにして意図を認識し、指示を分解するのでしょうか? 2) ビッグモデルは、分解された命令に対応するツールをどのように見つけるのでしょうか? 3) 大規模モデルは、対応するツールの使用方法をどのように学習するのでしょうか?

現在、この分野では、LangChain、Toolformer、HuggingGPT、AutoGPT、BabyAGI がすべて、上記の 3 つのリンクまたはいずれかのリンクに対応するソリューションを提案しています。

2.1 ランチェーン

LangChain は、大規模な言語モデルを開発するためのアプリケーション フレームワークです。これは包括的かつ強力であり、モデル、プロンプト、インデックス、メモリ、チェーン、エージェントなど、アプリケーションの実装時に発生する多くの問題を解決できる多くのコンポーネントを備えています。エージェントは、外部ツールを呼び出す問題を解決するために使用されます。

実装の原則を簡単に説明すると次のようになります。

1) まず、ユーザーのニーズに基づいてプロンプトをさまざまなタスクに分解します。

2) タスクに基づいて適切なツールを見つけ、ツールを呼び出して結果を生成します。 (ここで、ビッグモデルにツールの API ドキュメントも伝えて、ビッグモデルが API ドキュメントに従ってツールを正しく呼び出せるようにします)

3) 最後に結果を統合する

上記により、LangChain が Agent を使用して外部ツールを呼び出すプロセスが簡素化されます。

2.2 ツールフォーマー

Toolformer は、meta ai によって提案された微調整されたモデルであり、LangChain と同様のアイデアを持っています。主なアイデアは、大規模なモデルに API を自ら呼び出すように教える自己教師型メソッドを構築し、ラベル付け作業を大幅に節約することです。

Toolformer を導入することで、モデルはどのタスクにツールの呼び出しが必要か、これらのツールに対応する API は何か、API パラメータを組み立てる正しい方法は何かを学習できるため、大規模なモデルが外部ツールを呼び出せないという問題が解決されます。

このプロセスは主に、API 呼び出しのサンプリング、API 呼び出しの実行、API フィルタリングの 3 つのステップに分かれています。

1) API呼び出しのサンプリング

各 API について、最初にプロンプ​​トを記述します。この部分の目的は、ユーザーが入力したテキスト指示のどの部分でどのツールを呼び出す必要があるかをモデルが分析し、呼び出す必要がある API を対応する位置に挿入できるようにすることです。

(論文中の例:質問応答システムがAPI呼び出しのプロンプトを生成する)

2) API呼び出しの実行

前のステップのタスクに従って、すべての API 呼び出しを実行し、テキスト シーケンスを返して、対応する位置に挿入します。

3) APIフィルタリング

このアルゴリズムは、挿入された API 呼び出しのうちどれが本当に有用でどれが無用かを計算するために使用され、最終的に有用な部分のみが保持されます。

(論文中の例:出力結果)

2.3 ハギングGPT

HuggingGPT は、浙江大学と Microsoft Research Asia の研究者によって提案された、LLM がコントローラーとして機能できるようにする新しい方法です。これにより、LLM は言語を汎用インターフェースとして使用して、既存の AI モデルを管理し、複雑な AI タスクを解決できるようになります。

(模式図 - 論文より引用)

簡単に言えば、HuggingGPT は、一方では ChatGPT に接続され、他方では多くの分野に特化した AI モデルに接続されます。ユーザーが自然言語を入力すると、ChatGPT を組み合わせてユーザーの意図を分解し、必要に応じて意図に対応する AI モデルを呼び出し、最終的に組み合わせて結果を生成します。フレームワークの主なプロセスは次のとおりです。

1) ミッション計画

ChatGPT などの LLM は、まずユーザー要求を解析し、タスク分解を実行し、その知識に基づいてタスクのシーケンスと依存関係を計画します。

2) モデルの選択

LLM は解析されたタスクをエキスパート モデルに割り当てます。

3) タスクの実行

エキスパート モデルは、推論エンドポイントで割り当てられたタスクを実行し、実行情報と推論結果を LLM に記録します。

4) レスポンス生成
LLM は実行プロセスのログと推論結果を要約し、要約結果をユーザーに返します。

(ワークフロー - 論文より引用)

2.4 ベビーAGI

Baby AGI は、OpenAI の GPT-3.5 または GPT-4 言語モデルに基づいて構築された Python スクリプトです。目標とタスクを入力として受け取り、それらのタスクを積極的に完了しようとします。さらに、既存の目標と完了したタスクの結果に基づいて新しいタスクを生成し、タスク リストの優先順位を再設定することもできます。

システムの中心的なアイデアは、以前のタスクの結果と事前に設定された目標を使用してタスクを作成することです。次に、GPT を使用してそれらの目標に沿った新しいタスクを生成し、Pinecone (大量のデータを保存および取得するプログラム) を使用してタスク結果のコンテキストを保存および取得し、モデルが実行したアクションと次に実行するタスクを記憶できるようにします。

Baby AGI のコアプロセスは、同様の製品向けの他のソリューションと多くの類似点を持つ 3 つの主要なステップに従います。

1) 必要に応じてタスクを分割する

2) タスクに優先順位をつける

3) タスクを実行し、結果を統合する

(コアプロセス - Baby AGI GitHub から引用)

2.5 自動GPT

実際、AutoGPT はサポートのために、背後にある大規模な言語モデルとして GPT を依然として使用しています。簡単に言えば、AutoGPT はユーザーの自然言語ニーズを特定のプロンプトに変換することで機能します。

ただし、このプロンプトの目的は結果を直接生成することではなく、タスクを分解し、ユーザーのニーズに基づいて計画を立てることです。その後、分解されたタスクと策定された計画は、新しいプロンプトとしてシステムに入力されます。各タスクと計画の実行中に、システムは適切なツールを見つけ、問題が正常に解決されるまでサイクルを継続します。

(原則 - 簡易版)

主に、要求発行、自律操作、結果出力の 3 つの部分で構成されます。その中で、自律操作は AutoGPT のコア モジュールであり、次の手順で構成されます。

1) タスク定義

ユーザーは Prompt を通じて ChatGPT にタスクを送信します。発行される最初のタスクには、ユーザー名 (Name)、役割 (Role)、目標 (Goals) が含まれている必要があります。以降の会話では、ChatGPT は実行結果に基づいて新しいプロンプトを自動的に生成します。

2) タスク理解

ChatGPT は、送信されたプロンプトのセマンティクスを理解するために大規模なモデルを使用します。このプロセスは、タスクを受け取ったときの人間の思考プロセスを模倣したもので、AutoGPT では「思考」と呼ばれます。

3) ソリューション生成

ChatGPT は、タスクの理解に基づいて、詳細なステップバイステップのソリューションを出力します。この部分は、AutoGPT の「計画」ステップに対応します。

4) 命令生成

ChatGPT は、生成されたソリューションに対して論理的な判断を実行し、最初に実行するステップを選択し、実行可能な操作または命令を生成します。この部分は、AutoGPT では「批評」と呼ばれます。生成された命令には、Web サイトを閲覧するための命令などのコマンドとパラメーターが含まれます。

このステップは、キーワードの検索、Web ページ データのクロール、テキスト データ分析の実行、ファイルの読み取りと書き込みなどの組み込みアクションとパラメーターを GPT に提供するため、AutoGPT の中核の 1 つです。これにより、GPT はインターネットに接続し、メモリを持つことができるようになります。

5) 命令実行

AutoGPT は、生成された指示に基づいてタスクを実行します。これには、Web サイトへのアクセス、Web サイトの解析、データのクロール、コンピューター指示の実行などが含まれる場合があります。さらに、ChatGPT リソースを呼び出して、コードの記述などのタスクを完了することもできます。

6) 結果出力

コマンドが実行されると、AutoGPT は Web サイトのページの解析結果やデータ分析結果などの実行結果を返します。

7) 結果評価

タスクを実行した後、AI は結果を評価し、意図した目標が達成されたかどうか、またはさらに調整が必要かどうかを判断します。この評価プロセスは、AI がアクションの有効性を理解し、必要な最適化を行うのに役立ちます。

GPT が返すのは単純なテキスト情報ではなく、標準の JSON 構造を持つデータであることに注意してください。このデータ構造により、AutoGPT は独自の思考の本質を反映して、自律的にタスクを実行できるようになります。

システムは、ユーザーが定義したすべての目標が達成されるまで、上記のプロセスを繰り返し実行します。上記のプロセスは、AutoGPT の全体的な操作プロセスを説明しています。

3. 外部ツールの使用に関する制限

3.1 ツールの範囲が限られている

上記のソリューションに接続できるツールは限られています。主にいくつかの理由によって制限されていると思います:

1) 実施原則による制限

上記のソリューションは、実装の点では依然として Prompt プロジェクトの一部です。使用されるツールが増えるにつれて、コンテキスト トークンの数によって制限されるようになります。

2) コストによる制限

トークンの数が増えると、それに応じてコストも増加します。外部ツールをどのように使用するか、複数回の対話は、コストとユーザー エクスペリエンスのバランスをとるためのビジネス側のテストでもあります。

3) 生態学的発展による制限

大きなモデルが開発されたばかりで、エコシステムの構築は始まったばかりです。アクセスできるツール側がどうやって利益を得るか、また、呼び出されるツールのリストにもっと多くのツールを追加してもらうか、モデル側、ツール側、ユーザーの三者市場には明確なビジネスモデルが存在しません。

3.2 タスク実行の正確さ

真剣かつランダムな答えを出すという「錯覚」を作り出すことは、依然として大規模モデルが解決しなければならない問題です。 GPT-4 のリリース後、幻覚の発生確率は大幅に減少しましたが、それでもまだ頻繁に発生します。

精度とユーザー価値の関係の観点から考えてみましょう。タスクが複雑であるほど(複数のタスク)、ユーザーの実際の需要シナリオに近くなり、ユーザーにもたらす価値が高くなりますが、実際にはタスクの精度は低くなる可能性があります。私たちの価値を真に最大化できるようになるまでには、まだ道のりが残っているかもしれません。

4. ビジネスの観点から考える

以下の 2 つの質問については、今回は詳しく説明しません。いくつかの見解とアイデアについてのみ説明します。半年以上研究を続けてきて、色々な思いが湧いてきました。私は自分で穴を掘ったので、後で別の記事で共有する予定です。いつでもお気軽にご相談ください。

1) ビッグモデルをビジネス実装と組み合わせてより有効に活用し、製品とユーザー/顧客の価値を向上させるにはどうすればよいでしょうか?

  • ユーザー: 実際のユーザー/顧客のニーズを見つける
  • 製品: ビッグモデルの時代における自社製品とビジネスの真の強みと弱みを特定する
  • テクノロジー: テクノロジーに対する独自の理解と判断を維持し、テクノロジーの理解不足や過剰理解によって想像力を制限しないでください。

2) ビッグモデルがプラットフォームやオペレーティングシステムに発展した場合、現在のビジネス製品をビッグモデルプラットフォームにどのように統合し、事前にどのように準備し、独自の優位性を築くことができるでしょうか。

著者: edmondgeng、Tencent PCG プロダクト マネージャー

<<:  インターネット運用データ分析(データで発展を見る!過去10年間の我が国のインターネット発展レポートカードを理解する)

>>:  商品運用紹介(「What's Worth Buying」コンテンツはどのように運用されているのか?)

推薦する

ブランドプロモーションフルケース(ケータリングブランドにフルケースデザインが必要な理由)

ケータリングブランドにフルケースデザインが必要なのはなぜですか?ケータリングブランドに対する消費者の...

オンラインプロモーションとトラフィック転換方法(2024年にプラットフォームトラフィック転換を促進するeコマースの方法)

2024年にプラットフォームトラフィックを促進するEコマース戦略2024年、業界の激しい競争の中で...

2024年におすすめのWordPressグリッドプラグイン

WodPess は、パーソナライズされた Web デザインを容易にする多くのテーマとプラグインを備え...

製品マーケティングとブランドマーケティング(パフォーマンスマーケティングとブランドマーケティングは相互に刺激し合い、ブランドの持続的な発展に貢献します)

パフォーマンスマーケティングとブランドマーケティングは相互に刺激し合い、ブランドの持続可能な発展に貢...

情報フロー広告の表示量が多い場合(情報フロー広告の表示量が少ない場合はどうすればいい?必読のトラフィック最適化のヒント)

情報フロー広告の表示量が少ない場合はどうすればいいですか?必読のトラフィック最適化のヒント情報フロー...

Z-Blogナビゲーションバー管理設定チュートリアル

最近、編集者はZ-Blog関連のチュートリアルを紹介しましたが、何人かのユーザーの友人から、Z-Bl...

近年のユニクロの売上データ(ユニクロ中国では年間300億個を売り上げ、世界中の従業員が昇給)

ユニクロの中国での売上高は年間300億円に達し、世界中の従業員の給与が増加出典:タイムズファイナンス...

Nginx で IP と IP セグメント機能を無効にする方法

Nginx は、軽量の Web サーバー、リバース プロキシ サーバー、および電子メール (IMAP...

合肥ビッグデータ資産運用会社の処遇(安徽省合肥市のバス運転手の処遇の詳細)

安徽省合肥市のバス運転手の待遇の詳細な説明本日の記事では、安徽省合肥市のバス運転手の待遇について、第...

速報:百度統計がスパムをブロックする強力な武器を発表

長い間、ブラック業界やグレー業界が顧客レポートにスパム広告情報を掲載する状況が横行しており、これらの...

IIS で SSL 証明書を展開した後にページにアクセスするときに発生する 404 エラーを解決する方法

現在、ほとんどの Web サイトでは、セキュリティを強化し、データの漏洩や情報の改ざんを効果的に防止...

電子商取引業務で一般的に参照されるデータ(TikTok 電子商取引業務)

Douyin電子商取引事業ライブ放送プロセス全体を通じて、市場を監視し、調整を行う運用スキルが求め...

借金とギャンブルで、広正眼科は「資本迷路」に深く陥っている

国内政策の支援、技術の進歩、国民からの需要の高まりにより、眼科分野は徐々に人気の高い分野になりつつあ...

製品ブランド企画会社(OPPO 会社概要)

OPPOについて会社概要OPPO は、デジタル電子製品の研究開発に特化した広東省の国営企業です。 ...