ホームページ > 記事 > テクノロジー周辺機器 > HuggingGPT: AI タスクのための魔法のツール
人工汎用知能 (AGI) は、人間と同じように知的タスクを理解し、処理し、応答できる人工知能システムと考えることができます。これは、人間の脳がどのように機能するかを深く理解し、それを再現できるようにする必要がある難しい課題です。しかし、ChatGPT の出現により、そのようなシステムの開発に関して研究コミュニティから大きな関心が集まりました。 Microsoft は、HuggingGPT (Microsoft Jarvis) と呼ばれるこのような主要な AI を活用したシステムをリリースしました。
HuggingGPT の新機能とその仕組みについて詳しく説明する前に、まず ChatGPT の問題点と、複雑な AI タスクの解決に問題がある理由を理解しましょう。 ChatGPT のような大規模な言語モデルは、テキスト データの解釈と一般的なタスクの処理に優れています。しかし、彼らは特定のタスクに苦戦することが多く、ばかげた反応をすることがあります。複雑な数学問題を解いているときに、ChatGPT からの偽の応答に遭遇したことがあるかもしれません。一方で、Stable Diffusion や DALL-E などの専門家レベルの AI モデルは、それぞれの主題領域についてはより深く理解していますが、より広範囲のタスクに苦労しています。 LLM とプロフェッショナル AI モデルの間の接続を確立しない限り、困難な AI タスクを解決するために LLM の可能性を最大限に活用することはできません。これが HuggingGPT の機能であり、両方の利点を組み合わせて、より効果的で正確かつ多用途な AI システムを作成します。
Microsoft が最近発行した論文によると、HuggingGPT は LLM の能力を活用し、機械学習コミュニティ (HuggingFace) のさまざまな AI モデルに接続するコントローラーとして使用し、外部ツールの使用を可能にします。生産性を向上させるために。 HuggingFace は、開発者や研究者に豊富なツールとリソースを提供する Web サイトです。プロ仕様・高精度モデルも豊富に取り揃えております。 HuggingGPT は、これらのモデルをさまざまなドメインやモードの複雑な AI タスクに適用し、印象的な結果を達成します。テキストと画像に関しては、OPenAI GPT-4 と同様のマルチモーダル機能を備えています。ただし、インターネットにも接続できるので、外部の Web リンクを提供してインターネットに関する質問をすることもできます。
モデルに画像に書かれたテキストの音声読み上げを実行させたいとします。 HuggingGPT は、最適なモデルを使用してこのタスクを連続的に実行します。まず、画像からテキストをエクスポートし、その結果を音声生成に使用します。回答の詳細は以下の画像で確認できます。ただただ素晴らしい!
ビデオ モードとオーディオ モードのマルチモーダル連携の定性分析
HuggingGPT は、ユーザーのリクエストをエキスパート モデルに送信するインターフェースとして LLM を使用する共同システムです。ユーザー プロンプトからモデルへの応答を受信するまでの完全なプロセスは、次の個別のステップに分けることができます:
この段階では、HuggingGPT は ChatGPT を使用してユーザー プロンプトを理解します。 , 次に、クエリを小さな実行可能なタスクに分割します。また、これらのタスクの依存関係を特定し、タスクが実行される順序を定義します。 HuggingGPT には、タスク解析用の 4 つのスロット (タスク タイプ、タスク ID、タスク依存関係、およびタスク パラメーター) があります。 HuggingGPT とユーザー間のチャットは記録され、リソース履歴を示す画面に表示されます。
ユーザー環境と利用可能なモデルに基づいて、HuggingGPT はコンテキストに応じたタスク モデル割り当てメカニズムを使用して、特定のタスクに最も適切なモデルを選択します。このメカニズムによれば、モデルの選択は多肢選択の質問とみなされ、最初にタスクのタイプに基づいてモデルがフィルタリングされます。その後、モデルの品質の信頼できる尺度と考えられるダウンロード数に基づいてモデルがランク付けされました。このランキングに基づいて、Top-K モデルが選択されます。ここでの K は、モデルの数を反映する単なる定数です。たとえば、3 に設定すると、ダウンロード数が最も多い 3 つのモデルが選択されます。
ここでは、タスクが特定のモデルに割り当てられ、モデルが推論を実行して結果を返します。このプロセスをより効率的にするために、HuggingGPT は、同じリソースを必要としない限り、異なるモデルを同時に実行できます。たとえば、猫と犬の写真を生成するように指示された場合、さまざまなモデルを並行して実行してこのタスクを実行できます。ただし、モデルが同じリソースを必要とする場合があるため、HuggingGPT はリソースを追跡するために
最後のステップは、ユーザーへの応答を生成することです。まず、前の段階でのすべての情報と推論結果が統合されます。情報は構造化された形式で表示されます。たとえば、プロンプトが画像内のライオンの数を検出することである場合、検出確率を使用して適切な境界ボックスを描画します。 LLM (ChatGPT) はこの形式を取得し、人間に優しい言語でレンダリングします。
HuggingGPT は、自然言語テキストを生成できるディープ ニューラル ネットワーク モデルである、Hugging Face の最先端の GPT-3.5 アーキテクチャに基づいて構築されています。ローカル マシンでセットアップする手順は次のとおりです。
デフォルト構成では、Ubuntu 16.04 LTS、少なくとも 24 GB の VRAM、少なくとも 12 GB (最小)、 16GB (標準) または 80GB (フル) RAM、および少なくとも 284GB のディスク容量。さらに、damo-vilab/text-to-video-ms-1.7b には 42 GB、ControlNet には 126 GB、stable-diffusion-v1-5 には 66 GB、その他のリソースには 50 GB のスペースが必要です。 「ライト」構成の場合、Ubuntu 16.04 LTS のみが必要です。
まず、server/configs/config.default.yaml ファイル内の OpenAI キーとハグフェイス トークンを実際のキーに置き換えます。または、環境変数 OPENAI_API_KEY と HUGGGINGFACE_ACCESS_TOKEN にそれぞれ設定することもできます。
次のコマンドを実行します。
<code># 设置环境cd serverconda create -n jarvis pythnotallow=3.8conda activate jarvisconda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidiapip install -r requirements.txt</code>
<code># 下载模型。确保`git-lfs`已经安装。cd modelsbash download.sh # required when `inference_mode` is `local` or `hybrid`.</code>
<code># 运行服务器cd ..python models_server.py --config configs/config.default.yaml # required when `inference_mode` is `local` or `hybrid`python awesome_chat.py --config configs/config.default.yaml --mode server # for text-davinci-003</code>
これで、HTTP リクエストを Web API エンドポイントに送信して、Jarvis のサービスにアクセスできるようになります。リクエストを
これらのリクエストは JSON 形式である必要があり、ユーザーに代わって入力された情報のリストが含まれている必要があります。
<code>cd webnpm installnpm run dev</code>
<code># 可选:安装 ffmpeg# 这个命令需要在没有错误的情况下执行。LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/ffmpeg -i input.mp4 -vcodec libx264 output.mp4</code>
CLI を使用した Jarvis のセットアップは非常に簡単です。以下のコマンドを実行するだけです:
<code>cd serverpython awesome_chat.py --config configs/config.default.yaml --mode cli</code>
Gradio デモも Hugging Face Space でホストされています。 OPENAI_API_KEY と HUGGGINGFACE_ACCESS_TOKEN を入力した後、実験できます。
ローカルで実行するには:
<code>python models_server.py --config configs/config.gradio.yamlpython run_gradio_demo.py --config configs/config.gradio.yaml</code>
<code>docker run -it -p 7860:7860 --platform=linux/amd64 registry.hf.space/microsoft-hugginggpt:latest python app.py</code>
注: 質問がある場合は、公式 Github リポジトリ (https: //github.com/microsoft/JARVIS)。
HuggingGPT には、ここで強調する必要がある特定の制限もあります。たとえば、システムの効率が大きなボトルネックとなっており、HuggingGPT では前述のすべての段階で LLM との複数の対話が必要になります。これらの対話により、ユーザー エクスペリエンスが低下し、遅延が増加する可能性があります。同様に、コンテキストの最大長は、許可されるトークンの数によって制限されます。もう 1 つの問題は、システムの信頼性です。LLM がプロンプトを誤って解釈し、間違ったタスク シーケンスを生成する可能性があり、それがプロセス全体に影響を及ぼします。それにもかかわらず、複雑な AI タスクを解決する大きな可能性を秘めており、AGI にとって良い進歩となります。この研究がAIの未来をどのような方向に導くのか、楽しみにしましょう!
以上がHuggingGPT: AI タスクのための魔法のツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。