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

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

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

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

導入

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

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

上記のシナリオでは、大規模なモデルを適用するとさまざまな問題が発生します。製品の観点から見ると、問題は、外部データを組み合わせることができない、コンテキスト メモリを組み合わせることができない、外部ツールを呼び出すことができないという 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年に最も人気のあるWordPress eコマースプラグイン

近年、オンライン ショッピング モールが急速に発展しています。WodPess を使用してオンライン ...

経営管理の主な内容(経営管理についてよく話しますが、経営管理とは何でしょうか?(2)丨芝麻学院)

経営管理という言葉をよく耳にしますが、経営管理とは何でしょうか? (2)丨セサミアカデミー科学的な管...

海外ブランドプロモーション(海外ソフト商品流通プラットフォーム)

海外ソフト記事配信プラットフォーム海外ソフトコピーライティングは、企業が海外市場でソフトコピーを公開...

ファッション業界におけるビジュアルストーリーテリングの力: .CFD でデザインの可能性を解き放ち、ブランドストーリーを伝える

視覚的なストーリーテリングはファッション業界に不可欠なものとなり、ブランドがオーディエンスを魅了し、...

情報フロー広告素材の見つけ方(情報フロー売れ筋素材、黄金の公式)

情報の流れの中で売れ筋商品を生み出す黄金律さっそく今日のキーワードは「情報流通素材」です!情報フロ...

酒類ブランド運用(新酒類ブランド運用方法(オリジナル))

新ブランドの酒類の運営方法(オリジナル)こんにちは、みんな!私の名前はピート・ワンです。まずは自己紹...

企業ブランドマーケティング戦略(ブランドマーケティング戦略:製品の反復には3つの遺伝子が必要)

ブランドマーケティング戦略: 製品の反復には3つの遺伝子が必要「ボス教育企業研修」に参加して、最も実...

Fission 顧客獲得 (Fission 活動を通じて 200,000 人以上の有料ユーザーを獲得するにはどうすればよいでしょうか?)

核分裂イベントを通じて 20 万人以上の有料ユーザーを獲得するにはどうすればよいでしょうか? 01ケ...

衣料品プロモーションプラン(衣料品業界のマーケティングプラン、実践情報!)

アパレル業界向け販促企画、実践情報!ブランドが成長段階にあるか成熟段階にあるかにかかわらず、積極的...

ECShopの商品ページで累計売上を表示する方法

HostEse ユーザーは、自分が構築した ECShop 製品ページに累計販売量を表示したいと考えて...

核分裂排水(「交通量ゼロ」という致命的な問題を解決し、3つのリターンと1つの核分裂顧客を促進して、正確に数十万人の顧客を引き付ける)

「トラフィックがない」という致命的な問題を解決し、「1つで3つのリターン」を推進し、正確なトラフィ...