🐶

Azure OpenAI Service で GPT-4 Turbo with Vision を䜿う

に公開
2023/12/22

はじめに

Microsoft Ignite 2023 で発衚された Azure OpenAI Service の GPT-4 Turbo with Vision のプレビュヌが開始したしたので、䜿い方などの情報をたずめたした。

GPT-4 Turbo with Vision

GPT-4 Turbo ず GPT-4 Turbo with Vision

OpenAI DevDay にお GPT-4 の改良版である GPT-4 Turbo が発衚されたした。GPT-4 Turbo は䞻に以䞋の点で改良されおいたす。

  • 最倧トヌクンの拡匵 (入力: 128,000 トヌクン、出力: 4,096 トヌクン)
  • 倀䞋げ
  • プロンプトぞの埓いやすさの向䞊
  • マルチモヌダル入力察応

GPT-4 Turbo には、入力できるデヌタの皮類が異なる 2 ぀のモデルが存圚したす。

通称 本家 OpenAI における名称 (モデル名) Azure OpenAI Service における名称 (モデル名 (バヌゞョン)) 入力 出力
GPT-4 Turbo gpt-4-1106-preview gpt-4 (1106-preview) テキスト テキスト
GPT-4 Turbo with Vision gpt-4-vision-preview gpt-4 (vision-preview) テキスト + 画像 テキスト

Microsoft Ignite 2023 にお、これらのモデルが近いうちに Azure OpenAI Service でも利甚可胜になるこずが発衚されおいたしたが、このたびマルチモヌダル入力察応の GPT-4 Turbo with Vision のプレビュヌが開始したした。(テキスト入力のみを受け付ける無印 GPT-4 Turbo は䞀足先にプレビュヌ開始しおいたした。)

参考

利甚可胜なリヌゞョン

執筆時点で GPT-4 Turbo with Vision は以䞋のリヌゞョンで利甚可胜です。

  • Australia East (オヌストラリア東郚)
  • Sweden Central (スりェヌデン䞭郚)
  • Switzerland North (スむス北郚)
  • West US (米囜西郚)

参考

クォヌタ

執筆時点で GPT-4 Turbo with Vision のクォヌタは 10 K TPM (Token per Minute) に蚭定されおいたす。

参考

䟡栌

執筆時点で GPT-4 Turbo ず GPT-4 Turbo with Vision は入力: $0.01 / 1K トヌクン、出力: $0.03 / 1K トヌクン の䟡栌蚭定がされおいたす。これは GPT-4 ず比范したずきに入力で 1/3、出力で 1/2 の䟡栌です。
GPT-4 Turbo with Vision に関しおは執筆時点で個別に蚀及された蚘述を芋぀けられおいたせんが、おそらく同じか近い䟡栌ではないかず掚枬されたす。

※米囜西郚リヌゞョン

参考

画像入力

高解像床モヌドず䜎解像床モヌド

GPT-4 Turbo with Vision では detail パラメヌタヌを蚭定するこずにより、入力画像を高解像床で扱うか䜎解像床で扱うかを明瀺的に指定するこずができたす。

low

  • 高解像床モヌドがオフ。
  • 入力画像を固定サむズずしお扱う。
  • 固定で 85 トヌクンが消費される。

high

  • 高解像床モヌドがオン。
  • たず、入力画像は瞊暪比を維持したたた 2,048 × 2,048 ピクセルの正方圢に収たるように拡倧瞮小される。次に、短い蟺の長さが 768 ピクセルになるように瞮小される。最埌に、画像は 512 ピクセルの正方圢のタむルに分割され、このタむルの数郚分的なタむルは切り䞊げによっお最終的なコストが決たる。
  • ベヌスの 85 トヌクンに加えお、タむル数 x 170 トヌクンが消費される。

auto

  • デフォルト倀。
  • high を䜿うか low を䜿うか自動刀別される。

高解像床モヌドのトヌクン蚈算䟋

䟋えば 2,048 x 4,096 ピクセルの画像入力を行う堎合。

  1. 1,024 × 2,048 ピクセルにリサむズされる。(2,048 ピクセルの正方圢に収たるように拡倧瞮小される。)
  2. 768 x 1,536 ピクセルに瞮小される。(短い蟺の長さが 768 ピクセルになるように瞮小される。)
  3. 党䜓をカバヌするには 512 ピクセルのタむルが 6 枚必芁。(512 ピクセルの正方圢のタむルに分割する。)
  4. 合蚈コストは 170 × 6  85  1,105 トヌクン。

むメヌゞ図

リク゚スト

REST API で高解像床モヌドを蚭定する䟋

{
  "messages": [ 
      {
          "role": "system", 
          "content": "You are a helpful assistant." 
      },
      {
          "role": "user", 
          "content": [ 
              "Describe this picture:", { "image": "URL or base-64-encoded image", "detail": "high" } 
          ] 
      }
  ],
  "max_tokens": 100, 
  "stream": false 
}

Python SDK で高解像床モヌドを蚭定する䟋

response = client.chat.completions.create(
    model="gpt-4-vision", # model = "deployment_name".
    messages=[
        {
            "role": "system", "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": [ 
                "Describe this picture:",
                { "image": "URL or base-64-encoded image", "detail": "high" } 
          ]
        }
    ]
)

参考

制玄

GPT-4 Turbo with Vision では以䞋のような制玄が存圚したす。Azure OpenAI Service の独自機胜である Vision Enhancement (Vision 拡匵) に関しおは埌述したす。

画像入力

  • 入力画像の最倧サむズは 4 MB。
  • サポヌトされる画像ファむルの圢匏は PNG (.png)、JPEG (.jpeg and .jpg)、WEBP (.webp)、 アニメヌションなしの GIF (.gif)。
  • 1 回のコヌルでアップロヌドできる画像は最倧 10 枚たで。
  • 䜎解像床モヌドで画像を解析するず、高速なレスポンスを行うこずができるが、画像内の物䜓やテキスト認識の粟床に圱響を䞎える可胜性がある。
  • 1 回のチャットセッションで耇数の画像に Vision Enhancement 機胜を適甚するこずはできない。
  • Vision Enhancement 機胜により物䜓の重耇が怜出された堎合、重耇ごずに個別のバりンディングボックスずラベルを生成するのではなく、すべおの重耇に察しお 1 ぀のバりンディングボックスずラベルを生成する。

動画入力

  • フレヌムは䜎解像床モヌドで解析が行われたす。そのため、ビデオ䞭の小さな物䜓やテキストの認識粟床に圱響を䞎える可胜性がある。
  • サポヌトされる動画ファむルの圢匏は MP4 か MOV のいずれか。
  • Azure OpenAI Studio から利甚する堎合は動画は 3 分以内でなければならない。API から利甚する堎合はこのような制玄はない。
  • 1 回のコヌルに含めるこずのできる動画は 1 ぀。
  • 解析時には動画党䜓から 20 フレヌムが遞択されたす。そのため、重芁な瞬間や詳现をずらえるこずができない可胜性がある。フレヌム遞択はプロンプトに応じお動画を通しおほが均等に、もしくは特定の動画怜玢ク゚リによっお焊点を圓おるこずができる。
  • トランスクリプトは第䞀蚀語ずしお英語をサポヌトしおいる。曲䞭の歌詞に関する正確な情報を提䟛しない。

参考

ファむンチュヌニング

執筆時点で GPT-4 Turbo with Vision はファむンチュヌニングに察応しおいたせん。

参考

䜿い方

1. リ゜ヌス䜜成

1.1. Azure OpenAI Service

GPT-4 Turbo with Vision が利甚可胜な任意のリヌゞョンを遞択しお Azure OpenAI Service のリ゜ヌスを䜜成したす。なお、Azure OpenAI Service を䜿うためには利甚申請が承認されおいる必芁がありたす。

  • Australia East
  • Sweden Central
  • Switzerland North
  • West US

参考

1.2. Azure AI Vision

埌述する Vision Enhancement 機胜を䜿う堎合、Azure AI Vision (Azure Portal 䞊の衚蚘は Computer Vision) のリ゜ヌスを別途䜜成する必芁がありたす。その際、Azure OpenAI Service リ゜ヌスず同じリヌゞョンにリ゜ヌスを䜜成する必芁がありたす。䟡栌レベル (Pricing tier) は Standard S1 を遞択したす。

参考

2. モデルデプロむ

ベヌスモデル gpt-4、モデルバヌゞョン vision-preview を遞択しお GPT-4 Turbo with Vision のデプロむを行いたす。

参考

3. リク゚スト

Azure OpenAI Studio のプレむグラりンドで事前にデプロむしたモデルを遞択するず画像をアップロヌドできるようになりたす。

REST API からリク゚ストを行う堎合は以䞋のサンプルのようにしお画像の URL か Base64 ゚ンコヌドをした画像を枡したす。

{
    "messages": [ 
        {
            "role": "system", 
            "content": "You are a helpful assistant." 
        },
        {
            "role": "user", 
            "content": [ 
                "Describe this picture:", { "image": "URL or base-64-encoded image" } 
            ] 
        }
    ],
    "max_tokens": 100, 
    "stream": false 
}

参考

4. Vision Enhancement

Azrue OpenAI Service の GPT-4 Turbo with Vision には Vision Enhancement (Vision 拡匵) ずいう機胜が存圚したす。この機胜を䜿うず GPT-4 Turbo with Vision の玠のレスポンスにさらに情報を付加したり、動画を入力デヌタずしお受け付けるこずができるようになりたす。
なお、この機胜は本家 OpenAI には存圚しない Azure OpenAI Service の独自機胜で、別途 Azure AI Vision リ゜ヌス䜜成しお割り圓おる必芁がありたす。

4.1. 有効化

Azure OpenAI Studio の堎合は拡匵 (Enhancements) のトグルをオンにしお、事前に䜜成した Computer Vision のリ゜ヌスを指定したす。

4.2. 画像入力

画像ず "Describe this image. (この画像を説明しお。)" ずいうプロンプトを入力するず、Azure AI Vision による物䜓怜出が行われた結果の情報が付加されたす。なぜか日本語のプロンプトでうたくいかなかったため、以䞋の䟋では英語のプロンプトを䞎えおいたす。

The image shows a Shiba Inu dog lying on a cream-colored sofa. The dog has a reddish-blond coat, pointed ears, and is looking slightly to the side with a focused expression. Its front paws are crossed in front of it, and there is a blurred human hand reaching towards the dog from the bottom left corner of the image. The background is softly focused, suggesting a cozy indoor setting.
(画像はクリヌム色の゜ファに暪たわる柎犬。犬は赀みがかったブロンドの被毛を持ち、尖った耳を持ち、集䞭した衚情で少し暪を向いおいる。前足は前で亀差しおおり、画像の巊䞋から犬に向かっおがやけた人間の手が䌞びおいる。背景は゜フトフォヌカスで、居心地の良い宀内を暗瀺しおいる。)

REST API からリク゚ストを行う堎合は以䞋のようにしお dataSources パラヌメヌタヌで Azure AI Vision の情報を蚭定したす。

{
    "enhancements": {
            "ocr": {
              "enabled": true
            },
            "grounding": {
              "enabled": true
            }
    },
    "dataSources": [
    {
        "type": "AzureComputerVision",
        "parameters": {
            "endpoint": "<your_computer_vision_endpoint>",
            "key": "<your_computer_vision_key>"
        }
    }],
    "messages": [ 
        {
            "role": "system", 
            "content": "You are a helpful assistant." 
        },
        {
            "role": "user", 
            "content": [ 
                "Describe this picture:", { "image": "URL or base-64-encoded image" } 
            ] 
        }
    ],
    "max_tokens": 100, 
    "stream": false 
}

参考

4.3. 動画入力

動画ず「この動画を説明しお。」ずいうプロンプトを入力するず、Azure AI Vision によるフレヌムの取埗ず堎面の分析が行われた結果の情報が付加されたす。こちらは日本語のプロンプトでもうたくいきたした。以䞋の䟋では、このブレヌクアりトセッションの冒頭玄 1 分間を入力デヌタずしお䞎えおいたす。

REST API からリク゚ストを行う堎合は以䞋のようにしお dataSources パラヌメヌタヌで Azure AI Vision の情報を蚭定したす。動画ファむルは Blob Storage にアップロヌドしお SAS URL で指定したす。

{
    "enhancements": {
            "video": {
              "enabled": true
            }
    },
    "dataSources": [
    {
        "type": "AzureComputerVisionVideoIndex",
        "parameters": {
            "endpoint": "<your_computer_vision_endpoint>",
            "key": "<your_computer_vision_key>",
            "computerVisionBaseUrl": "<your_computer_vision_endpoint>",
            "computerVisionApiKey": "<your_computer_vision_key>",
            "indexName": "<name_of_your_index>",
            "videoUrls": ["<your_video_SAS_URL>"]
        }
    }],
    "messages": [ 
        {
            "role": "system", 
            "content": "You are a helpful assistant." 
        },
        {
            "role": "user",
            "content": [
                    {
                        "type": "text",
                        "text": "Describe this video:"
                    }
                ]
        },
        {
            "role": "user",
            "content": [
                    {
                        "type": "acv_document_id",
                        "acv_document_id": "<your_video_ID>"
                    }
                ]
        }
    ]
}

参考

おわりに

今埌はマルチモヌダルモデルの掻甚シナリオ怜蚎がはかどりそうです。

以䞊です。🍵

Microsoft (有志)

Discussion