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

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

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

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

導入

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

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

上記のシナリオでは、大規模なモデルを適用するとさまざまな問題が発生します。製品の観点から見ると、問題は、外部データを組み合わせることができない、コンテキスト メモリを組み合わせることができない、外部ツールを呼び出すことができないという 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」コンテンツはどのように運用されているのか?)

推薦する

データの管理と保存 (データの保存と管理のための主な適切な方法は何ですか?)

データの保存と管理に適した主な方法は何ですか?昨今、ビッグデータをより有効活用できるのは大企業だけで...

価値の創造: CJO がコアビジネス課題を解決する方法

出典: センサーデータ顧客の期待は高まり続けており、顧客の行動は劇的に変化しています。消費者が毎日数...

都市マーケティング推進計画(地域に合わせたオンライン・オフラインマーケティング推進計画の共有)

ローカライズされたオンラインとオフラインのマーケティングプロモーション計画の共有インターネットプロモ...

資本運用には何が含まれるか(資本運用モデルとは何か)

資本運用モデルとは何ですか?経済と金融の広大な分野において、資本運用モデルは輝く真珠のようなものであ...

ゲームニューメディアの運営(ゲームメディアは商業的利益とコンテンツの質のバランスをどのように取るべきか?)

ゲームメディアは商業的利益とコンテンツ品質のバランスをどのように取るべきでしょうか? 2019年末か...

観光ネットワーク推進計画(文化観光部弁公室による2024年「5月19日中国観光デー」活動に関する通知)

文化観光部弁公室による2024年「5月19日中国観光の日」イベント開催のお知らせ各省、自治区、直轄市...

情報フロー広告の掲載(情報フロー広告の掲載を簡単に開始するための 6 つの手順)

情報フロー広告を開始するための6つのステップ。簡単に始められますモバイルインターネットの急速な発展に...

業務におけるデータ分析の方法(データ分析思考は業務に必須ですが、あなたはまだデータ分析ができないと断言できますか?)

データ分析の思考は運用に必須です。あなたはまだデータ分析ができないと断言しますか?運用データ分析に...

データ運用面接(運用職の面接で自己紹介するより良い方法です)

オペレーション職の面接では、このように自己紹介するのが良いでしょうサンウェイが魚釣りのやり方を教えま...

データ分析とデータ運用(データサイロの打破:企業運用データ分析画面が企業の意思決定を支援)

データサイロの打破:企業運営データ分析画面が企業の意思決定を支援デジタル時代において、データはビジネ...

モバイルビジネス運営コンテンツ(モバイルビジネスマネージャーの資格を取得するには?就職の見通しと市場需要の分析)

モバイルビジネスマネージャーの認定資格を取得するにはどうすればよいですか?雇用見通​​しと市場需要の...

.icu が世界で最も売れているドメインの 1 つである理由

4 年前に開始された .icu ドメイン拡張子は、世界で最も売れているドメイン拡張子の 1 つになり...

店舗プロモーションとは(店舗マーケティング戦略:顧客を引き付け、利益を伸ばし続ける)

店舗マーケティング戦略: 顧客を引き付け、利益を増やし続ける今日の競争の激しい市場環境において、店舗...

URL サフィックス org は何を意味しますか? org ドメイン名はどの組織ですか?

URL サフィックス og はどういう意味ですか? og ドメイン名はどのような組織ですか? .og...