著者 | 崔昊 レビュー | Chonglou まとめこの記事では、マルチモーダル技術分野における OpenAI の画期的な進歩に焦点を当て、OpenAI の最新の進歩を紹介します。この記事では、まず GPT-4 Turbo モデルの最適化と、画像生成やテキストから音声への変換などのマルチモーダル機能の融合について説明します。次に著者は、マルチモーダル技術の仕組み、特にテキストから画像への変換プロセスについて詳しく説明します。実践的なアプリケーションとプログラミング例を通じて、これらのテクノロジを使用して画像やビデオのコンテンツを認識し、認識したコンテンツを音声に変換する方法を示し、実践的なアプリケーションにおけるマルチモーダル テクノロジの幅広い可能性と影響力を反映しています。 導入OpenAIは最近、同社のプラットフォームにおける一連の注目すべき新機能および改良機能を発表しました。これは人工知能の限界をさらに押し広げるために設計されたアップデートです。これらのアップデートには、より強力で安価な新しい GPT-4 Turbo モデルが含まれているだけでなく、開発者や研究者のイノベーション空間を大幅に拡大するマルチモーダル機能も導入されています。これらのアップデートのハイライトは次のとおりです。 1. GPT-4 Turbo モデル:この新しいモデルは、大規模言語モデルの最新の進歩を表しています。より強力になっただけでなく、より手頃な価格になりました。このモデルは最大 128K のコンテキスト ウィンドウをサポートしているため、より長い会話やテキストを処理できます。 GPT-4 Turbo の登場により、大規模言語モデルの潜在能力を活用する開発者の能力が大幅に向上し、モデルは真の「オールラウンダー」になりました。 2. マルチモーダル機能:マルチモーダル分野における最近の進歩は特に注目に値します。 OpenAI プラットフォームの新機能には、視覚機能の向上、画像作成 (DALL·E 3)、テキスト読み上げ (TTS) テクノロジが含まれます。これらのマルチモーダル機能の組み合わせにより、新しいアプリケーション シナリオが実現されるだけでなく、より豊かでインタラクティブなエクスペリエンスがユーザーに提供されます。 3. アシスタント API: OpenAI が新たにリリースしたアシスタント API により、開発者はターゲットを絞った AI アプリケーションをより簡単に構築できるようになります。この API は、モデルやツールを呼び出すための簡単な方法を提供し、ビジネス プロセスの自動化やユーザー エクスペリエンスの向上を目的とした複雑な支援 AI アプリケーションの開発を可能にします。 これらの機能が追加されたのを見てワクワクしており、GPT にログインして試してみるのが待ちきれません。特にマルチモーダル機能に感銘を受けたので、ここでは実際の操作とコード分析についてご紹介します。 マルチモダリティに関する予備的研究マルチモーダル テクノロジーは、テキスト、音声、画像、ビデオなどのさまざまな種類のデータの入力と出力を組み合わせて、より豊かで直感的なユーザー エクスペリエンスを作成する、ますます人気が高まっている分野です。マルチモーダル テクノロジーの重要な側面をいくつか紹介します。 1. 複数の知覚モードの統合:マルチモーダル技術は、視覚(画像、動画)、聴覚(音声、オーディオ)、触覚などの複数の知覚モードを統合します。この統合により、AI システムは複雑な環境や状況をより適切に理解し、解釈できるようになります。 2. 強化されたユーザーインタラクション:マルチモーダル技術は、テキスト、画像、音声を組み合わせることで、より自然で直感的なユーザーインタラクションを実現します。たとえば、ユーザーは音声コマンドで質問し、画像とテキストの両方の形式で回答を受け取ることができます。 3. コンテキスト認識:マルチモーダル システムは、異なるタイプのデータ間の関係を分析および理解できるため、より正確な情報と応答を提供できます。たとえば、自然言語クエリを処理する場合、システムは関連する画像やビデオコンテンツを考慮して、より豊富な回答を提供できます。 4. 革新的なアプリケーション:マルチモーダル テクノロジーには、自動化された顧客サービス、インテリジェント アシスタント、コンテンツ作成、教育、ヘルスケア、小売など、幅広いアプリケーションがあります。これにより、ユーザーのニーズをより適切に理解し、それに応えることができる新しいタイプのアプリケーションを作成できます。 5. 技術的な課題:マルチモーダル技術は大きな可能性を秘めていますが、データの融合、さまざまなデータタイプの処理の複雑さ、正確性と効率性の確保などの課題ももたらします。 6. OpenAI のマルチモーダルの例: OpenAI のマルチモーダル機能の注目すべき例として、テキストの説明に基づいて詳細でクリエイティブな画像を作成できる高度な画像生成モデルである DALL·E 3 があります。さらに、テキスト読み上げ (TTS) テクノロジはテキストを自然な音声に変換し、人間とコンピューターのインタラクションの可能性をさらに豊かにします。 マルチモーダル原理の分析先ほど、マルチモーダル性について基本的な説明をしました。マルチモーダル性とは、複数の種類のデータ (テキスト、画像、音声など) を理解して処理できるテクノロジーを指します。テキスト・画像・音声・ビデオ間の変換を実現します。変革は表面的なものであり、本質を理解する必要があります。 人工知能の分野では、マルチモーダルアプローチにより、自然言語処理 (NLP)、コンピュータービジョン (CV)、その他の信号処理技術を組み合わせて、より包括的なデータ理解と処理機能を実現することがよくあります。 マルチモーダル性の動作原理を説明するために、テキストを画像に変換する例を示して理解を深めます。全体のプロセスは以下のようになります。 1.テキスト特徴抽出:まず、テキスト入力はテキスト モデル (事前トレーニング済みの言語モデルなど) に渡され、テキストの特徴が抽出されます。このプロセスでは、テキストを、テキストの意味内容を表現できる高次元空間のベクトルに変換します。 2.融合モデル:場合によっては、異なるモダリティからのデータを組み合わせる方法を学習することによって、トレーニング フェーズ中に取得される専用の融合モデルが実際に存在します。この融合モデルは推論フェーズで使用されます。 他の場合には、融合モデルは暗黙的である可能性があります。たとえば、条件付き生成モデルでは、明示的な融合ステップを必要とせずに、テキスト特徴ベクトルが画像生成の条件として直接使用されます。 3. 条件付き生成:融合モデル (またはテキスト モデルから直接取得された特徴ベクトル) は、画像生成モデルの条件付けに使用されます。この条件は、生成モデルがテキストの内容を「理解」し、それに応じて一致する画像を生成するように導くものとして理解できます。 4. 画像生成:最後に、画像生成モデル (DALLE やその他の生成的敵対ネットワーク ベースのモデルなど) がこの条件付きベクトルを受け取り、それに一致する画像を生成します。このプロセスでは通常、モデルが条件に最も一致する画像出力を生成しようとするため、多くの内部計算が行われます。 プロセス全体は、テキスト入力 → テキスト特徴抽出 → 特徴融合(ある場合) → 条件付き生成 → 画像出力と簡略化できます。このプロセスでは、「融合モデル」は独立したモデルである場合もあれば、条件付き生成モデルの一部である場合もあります。重要な点は、推論時の特徴の融合は、トレーニング フェーズ中に学習した知識とパラメータに基づいていることです。 マルチモデルエクスペリエンスマルチモデル実装の原理を理解したら、ChatGPT にログインして体験してみましょう。現在、 DALLE 3の機能は ChatGPT 4に統合されています。対応する画像を生成するには、指示を入力するだけです。下図のように、かわいい猫をテキストで説明すると、ChatGPT 画像の生成を完了するのに役立ちます。 それだけでなく、OpenAIは写真も認識できます。写真を提供すると、OpenAIはその写真をもとに内容を説明してくれます。下の図のように、インターネット上で子猫の写真を見つけて、OpenAIに認識してもらいました。 今回はOpenAIのAPIを呼び出して上記の機能を実装します。結局のところ、プログラマーとしては、コードを入力せずにツールを使用してテキストを入力するだけでは満足できません。 このコードは、Python と OpenAI ライブラリを使用して、OpenAI の GPT-4 API と対話します。目的は、ユーザーがモデルに画像アドレスを送信できるチャット セッションを作成することです。コードは URL アドレスを通じて画像を読み取り、認識し、最終的に理解したテキストを出力します。 コードは比較的単純ですが、ここで説明します。 ライブラリのインポート: コードは最初に os と openai をインポートします。 os ライブラリは環境変数から API キーを読み取るために使用され、openai ライブラリは OpenAI API とのやり取りを実行するために使用されます。 チャットリクエストを作成します:
実行後、結果は JSON テキストになります。これをエディターで開きます。下の図に示すように、プログラムは白い子猫である写真の内容を認識し、動作と表情を正確に説明します。 画像認識から動画認識へ実は、今回OpenAIが提供した機能は写真の認識だけではなく、写真認識の能力を動画まで拡張することも可能だ。下の図のように、1秒間の動画が24フレームの画像で構成されていると仮定し、各画像を識別し、識別した情報を要約して要約を生成することができれば、動画を認識できるのでしょうか? これは良いアイデアですが、実際に検証する必要があります。準備されたビデオを追加し、OpenCV コンポーネントを介してビデオをロードし、ビデオの内容を読み取ります。読み取った動画内容を画像のフレームに分割し、画像を認識させることで動画認識の目的を達成します。 コードは次のとおりです。 1. コンポーネントライブラリをインポートする
もちろん、ご要望に応じて、コードコメントの位置を関連するコード行の上になるように調整しました。 ビデオ処理ビデオ ファイル ("the-sea.mp4") を開き、各フレームを読み取り、JPEG 形式に変換して、base64 文字列にエンコードします。この処理方法は、ネットワーク通信で画像データを送信する場合など、画像データをテキスト形式で保存または送信する必要があるシナリオで非常に役立ちます。 インポートと初期化: まず、必要な OpenCV ライブラリをインポートし、エンコードされたフレームを格納するための空のリスト base64Frames を作成します。 ビデオ フレームの読み取り: while ループと video.read() メソッドを使用して、ビデオをフレームごとに読み取ります。読み取りが成功すると、フレームは JPEG 形式でエンコードされ、その後、これらの JPEG フレームは base64 エンコードに変換されてリストに追加されます。 リソース管理と出力: ループが終了したら、video.release() を使用してビデオ ファイルを解放し、処理の結果として読み取ったフレームの数を出力します。これにより、ビデオ コンテンツがどのように処理されているかを直感的に理解できます。 ビデオフレームを表示base64 でエンコードされた画像フレームのリストを走査し、それらを連続的に表示して、ビデオ再生の効果を実現します。 ディスプレイ ハンドルを初期化します。まず、更新可能なディスプレイ オブジェクトである display_handle を作成します。これを行うと、新しい画像表示を作成する代わりに、ループの後半で表示される画像を更新できます。 画像フレームを走査して表示する: for ループを使用して、base64Frames リスト内の各 base64 エンコードされた画像フレームを反復処理します。ループ内で、display_handle.update() メソッドを使用して、現在表示されている画像を更新します。これには、base64 でエンコードされた文字列をバイナリ データにデコードし、Image オブジェクトを使用して表示可能な画像に変換することが含まれます。 再生速度を制御する: 各画像の更新後、time.sleep(0.025) を使用してしばらく (0.025 秒) 一時停止します。これにより、画像フレーム間に短い遅延が作成され、ビデオの連続再生がよりスムーズになります。 動画の効果を以下で確認してください。動画から写真をキャプチャしましたが、海に沈む夕日を描写した動画であることがわかります。 ビデオコンテンツを識別するOpenAI の API を使用して、ビデオ フレームの内容を記述します。まず、モデル、API キー、リクエスト プロンプト情報などのリクエスト パラメータを設定し、API を呼び出して返されたコンテンツを出力します。 プロンプト情報を設定します。PROMPT_MESSAGES には、ユーザー ロール タグや処理されるコンテンツなど、API リクエストのコア情報が含まれます。ここでの内容は、モデルにビデオ フレームの内容を記述するように要求することであり、ビデオ フレームは base64 でエンコードされた文字列として渡されます。 API 呼び出しパラメータを構成する: モデル名、プロンプト情報、API キー、API バージョン、要求されるトークンの最大数など、API 呼び出しに必要なすべてのパラメータは、params 辞書で構成されます。 API 呼び出しを開始する: openai.ChatCompletion.create メソッドを使用して API 呼び出しを開始し、以前に構成したパラメータを渡します。この呼び出しは、提供されたビデオ フレームのコンテンツに基づいてモデルを記述するように要求します。 出力結果: 最後に、API によって返された結果 (モデルによるビデオ フレームの内容の説明) を出力します。 最終結果は以下の通りです。
OpenAIは映像の場面を描写するだけでなく、その意味合いまで拡張しているようです。これは人間を超えるペースです。 コンテンツ認識から音声放送までさて、ここまでで、画像からテキスト、ビデオからテキストへの変換が完了しました。ウェブサイトにビデオをアップロードし、ビデオの説明をしたいとします。このとき、テキストだけでなく、専門的な音声放送も必要です。よし!ビデオ内で認識されたテキストを音声放送に変換する次の機能を実演したいと思います。 次のコードは、Python と OpenAI の音声合成 API を使用してテキストを音声に変換します。つまり、ビデオによって生成されたテキスト (夕焼けのシーンを説明するテキスト) を音声に変換します。次に、応答内のオーディオ データを受信して集約し、Audio オブジェクトを使用してオーディオを再生します。 準備とリクエストの作成: まず、必要なライブラリをインポートし、OpenAI の音声合成 API に POST リクエストを送信する準備をします。リクエスト ヘッダーには API キー (環境変数から取得) が含まれ、リクエスト ボディにはモデル名、変換するテキスト コンテンツ、音声タイプが含まれます。 オーディオ データを受信: API 応答からオーディオ データをチャンクごとに読み取ります。ここでは、各データ ブロックのサイズ制限として 1 MB が使用されます。ループを通じて、これらのデータ ブロックはバイト文字列オーディオに蓄積されます。 オーディオの再生: 最後に、Audio オブジェクトを使用して蓄積されたオーディオ データを再生します。これにより、Jupyter Notebook 環境内で直接オーディオを再生できるようになります。 オーディオ結果は次のとおりです。 上記のコードを試して、独自の音声ファイルを生成できます。 要約するこの記事では、OpenAI のマルチモーダル機能を詳細に検討することで、人工知能分野における最新の進歩を紹介しています。 GPT-4 Turboモデルの紹介からマルチモーダル技術の応用例まで、技術の理論的背景を提供するだけでなく、具体的なコード例を通じて、これらの技術を実際に画像生成、動画コンテンツ認識、音声変換に適用する方法を示します。これは、AI テクノロジーの最先端のトレンドを紹介するだけでなく、読者に AI テクノロジーを実践するための洞察とインスピレーションも提供します。 著者について51CTO コミュニティ エディター兼シニア アーキテクトの Cui Hao 氏は、ソフトウェア開発とアーキテクチャで 18 年の経験があり、分散アーキテクチャでは 10 年の経験があります。 |
<<: 最強モデル育成チップH200発売! 141Gの大容量メモリ、AI推論が最大90%向上、H100にも対応
>>: 自動運転におけるBEVとSLAMをわかりやすく説明するにはどうすればいいでしょうか?
標準の UNet 構造では、ロング スキップ接続のスケーリング係数は通常 1 です。ただし、Imag...
[[187204]]最近、シェフィールド大学自動制御システム工学部のロデリッヒ・グロス博士は次のよう...
[[261735]] [51CTO.com クイック翻訳] アイリーン・リーはカウボーイ・ベンチャー...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
百度は4月28日、「世界に知恵を、未来に人材を育成」をテーマに百度技術研究所の開所式を開催し、もとも...
序文これは Zhihu に関する質問です: k 近傍法、ベイズ法、決定木、SVM、ロジスティック回帰...
ビッグデータダイジェスト制作眼鏡をかければ心臓発作の危険があるかどうかがわかるなんて、驚きですよね?...
データプライバシーの制限により、複数のセンター間でのデータ共有は制限されており、フェデレーテッドラー...
製造業は過去 1 世紀にわたって大きく変化しました。 新しい高度なテクノロジーが業界を前進させるにつ...
[[402242]] 7年前、グーグルの親会社アルファベットの子会社であるウェイモは、花やシャボン玉...
Cloudsim は、グリッドコンピューティングシミュレーションソフトウェア Gridsim のプロ...
ビジネスとテクノロジーの世界のつながりは非常に強いため、テクノロジーの発展が次の段階に進むたびに、ビ...
シーケンスモデルにおけるHMM(隠れマルコフモデル)を習得した後は、別のシーケンスモデルであるCRF...