フィレンツェ-2でコンピュータービジョンタスクを実行する方法-AnalyticsVidhya
導入
元のトランスの導入は、現在の大規模な言語モデルへの道を開いた。同様に、トランスモデルの導入後、視覚変圧器(VIT)が導入されました。テキストを理解し、応答を与えられたテキストを生成するのに優れている変圧器と同様に、画像を理解し、画像を与えられた情報を提供するためにVision Transformerモデルが開発されました。これらは、画像の理解に優れているビジョン言語モデルにつながりました。 Microsoftはこれに一歩前進し、単一のモデルだけで多くのビジョンタスクを実行できるモデルを導入しました。このガイドでは、MicrosoftがリリースしたFlorence-2と呼ばれるこのモデルを、多くの異なるビジョンタスクを解決するように設計されています。
学習目標
- ビジョン言語モデルであるFlorence-2を紹介してください。
- フィレンツェ-2が訓練されているデータを理解する。
- フィレンツェ-2ファミリーのさまざまなモデルについて知ることができます。
- Florence-2をダウンロードする方法を学びます。
- Florence-2でさまざまなコンピュータービジョンタスクを実行するためのコードを書き込みます。
この記事は、データサイエンスブログソンの一部として公開されました。
目次
- フィレンツェ-2とは何ですか?
- フィレンツェ-2を使用した画像キャプション
- フィレンツェ-2によるオブジェクトの検出
- フィレンツェ-2とのセグメンテーション
- よくある質問
フィレンツェ-2とは何ですか?
Florence-2は、Microsoftチームが開発したVision Language Model(VLM)です。 Florence-2には2つのサイズがあります。 1つは0.23Bバージョンで、もう1つは0.77Bバージョンです。これらの低いサイズにより、誰もがCPU自体でこれらのモデルを簡単に実行できます。 Florence-2は、1つのモデルがすべてを解決できることを念頭に置いて作成されています。 Florence-2は、オブジェクト検出、オブジェクトセグメンテーション、画像キャプション(詳細なキャプションの生成)、フレーズセグメンテーション、OCR(光学文字認識)、およびこれらの組み合わせなど、さまざまなタスクを解決するように訓練されています。
Florence-2 Vision Languageモデルは、FLD 5Bデータセットでトレーニングされています。このFLD-5Bは、Microsoftチームによって作成されたデータセットです。このデータセットには、約1億2600万枚の画像に約54億のテキスト注釈が含まれています。これらには、13億テキスト地域の注釈、5億テキストの注釈、36億テキストフレーズ地域の注釈が含まれます。 Florence-2は、OCR、オブジェクト検出、画像キャプションなどのタスクのテキストの命令と画像入力を受け入れ、テキスト結果を生成します。
アーキテクチャには視覚エンコーダーが含まれ、その後に変圧器エンコーダーデコーダーブロックが続き、損失のために、標準の損失関数、つまりクロスエントロピー損失を使用します。 Florence-2モデルは、オブジェクト検出のためのボックス表現、OCRテキスト検出のためのクアッドボックス表現、およびセグメンテーションタスクのポリゴン表現の3つのタイプの領域検出を実行します。
フィレンツェ-2を使用した画像キャプション
画像キャプションはビジョン言語タスクであり、画像が与えられた場合、深い学習モデルは画像に関するキャプションを出力します。このキャプションは、モデルが受けたトレーニングに基づいて短いまたは詳細にすることができます。これらのタスクを実行するモデルは、画像が与えられたテキストを出力する方法を学習する巨大な画像キャプションデータでトレーニングされています。訓練されているデータが多いほど、画像を説明するのが得意になります。
ダウンロードとインストール
Florence Visionモデルを実行するために必要なライブラリをダウンロードしてインストールすることから始めます。
!PIPインストール-Q -UトランスはFlash_attn Einops Timmを加速します
- Transformers: HuggingfaceのTransformers Libraryは、ダウンロードできるさまざまなタスクのさまざまなディープラーニングモデルを提供します。
- 加速: HuggingfaceのAccelerate Libraryは、GPUを介してモデルを提供するときにモデルの推論時間を改善します。
- Flash_attn: Flash Attention Libraryは、オリジナルよりも高速な注意アルゴリズムを実装しており、Florence-2モデルで使用されています。
- EINOPS: Einstein Operationsは、マトリックスの乗算を表すことを簡素化し、フィレンツェ-2モデルに実装されています。
Florence-2モデルのダウンロード
次に、Florence-2モデルをダウンロードする必要があります。このために、以下のコードを使用します。
トランスから輸入オートプロセッサ、Automodelforcausallmから model_id = 'Microsoft/Florence-2-Large-ft' Model = automodelforcausallm.from_pretrained(model_id、trust_remote_code = true).eval()。cuda() processor = autoprocessor.from_pretrained(model_id、trust_remote_code = true、device_map = "cuda")
- まず、Automodelforcausallmとオートプロセッサをインポートすることから始めます。
- 次に、モデル名をmodel_name変数に保存します。ここでは、フィレンツェ-2の大きな微調整モデルと連携します。
- 次に、.from_pretrained()関数を呼び出してモデル名を与え、trust_remote_code = trueを設定することにより、automodelforcausallmのインスタンスを作成します。これにより、HFリポジトリからモデルがダウンロードされます。
- 次に、.eval()を呼び出してこのモデルを評価モデルに設定し、.cuda()関数を呼び出すことでGPUに送信します。
- 次に、.from_pretrained()を呼び出し、モデル名を指定し、device_mapをCUDAに設定することにより、自動プロセッサのインスタンスを作成します。
オートプロセッサは、オートトケン剤に非常によく似ています。しかし、AutoTokenizerクラスはテキストとテキストのトークン化を扱っています。 Autoprocessは、テキストと画像の両方のトークン化を扱っていますが、Florence-2は画像データを扱っているため、オートプロセッサと連携しています。
さて、画像を撮りましょう。
PILインポート画像から image = image.open( "/content/beach.jpg")
ここでは、ビーチの写真を撮りました。
キャプションの生成
次に、この画像をFlorence-2 Vision Language Modelに提供し、キャプションを生成するように依頼します。
PROMPT = "<caption>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] result = processor.post_process_generation(text_generations、 タスク= prompt、image_size =(image.width、image.height))) 印刷(結果[プロンプト])</caption>
- プロンプトを作成することから始めます。
- 次に、プロセッサクラスにプロンプトと画像の両方を提供し、Pytorchセンサーを返します。モデルはGPUに存在し、可変入力に保存するため、GPUにそれらを与えます。
- 入力変数には、input_ids、つまりトークンID、および画像のピクセル値が含まれます。
- 次に、モデルの生成関数を呼び出し、入力ID、画像ピクセル値を指定します。最大生成されたトークンを512に設定し、サンプリングをfalseに保ち、生成されたトークンをGenerated_idsに保存します。
- 次に、プロセッサの.batch_decode関数を呼び出して、generated_idsを指定し、skip_special_tokensフラグをfalseに設定します。これはリストになるため、リストの最初の要素が必要です。
- 最後に、.post_process_generatedを呼び出し、生成されたテキスト、タスクタイプ、およびimage_sizeをタプルとして提供することにより、生成されたテキストをポストプロセスします。
コードを実行して上記の出力写真を表示すると、このモデルが画像のキャプション「傘とラウンジの椅子が海の背景にあるビーチにある」と生成したことがわかります。上記の画像のキャプションは非常に短いです。
プロンプトを提供します
この次のステップを踏むことができます。
これを試すためのコードは、以下に示すことができます。
prompt = "<deciption_caption>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] result = processor.post_process_generation(text_generations、 タスク= prompt、image_size =(image.width、image.height))) 印刷(結果[プロンプト])</deciption_caption>
prompt = "<more_detailed_caption>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] result = processor.post_process_generation(text_generations、 タスク= prompt、image_size =(image.width、image.height))) 印刷(結果[プロンプト])</more_detailed_caption>
ここでは、タスクタイプのために
フィレンツェ-2によるオブジェクトの検出
オブジェクト検出は、コンピュータービジョンの有名なタスクの1つです。画像が与えられたオブジェクトを見つけることを扱っています。オブジェクトの検出では、モデルは画像を識別し、オブジェクトの周りの境界ボックスのxおよびy座標を提供します。 Florence-2 Vision Languageモデルは、画像を与えられたオブジェクトを非常に検出できます。
以下の画像でこれを試してみましょう。
image = image.open( "/content/van.jpg")
ここには、背景に白い建物がある道路に明るいオレンジ色のバンの画像があります。
フィレンツェ-2ビジョン言語モデルに画像を提供します
次に、この画像をフィレンツェ-2ビジョン言語モデルに渡しましょう。
prompt = "<od>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] 結果= processor.post_process_generation(text_generations、 タスク= prompt、image_size =(image.width、image.height))) </od>
オブジェクト検出のプロセスは、行ったばかりの画像キャプションタスクと非常に似ています。ここでの唯一の違いは、プロンプトを
出力は、結果という名前の変数に保存されます。変数の結果は、{'bboxes':[[x1、y1、x2、y2]、…]、 'labels':['label1'、 'label2'、]}}。
画像に境界ボックスを描画します
次に、これらの境界ボックスを画像上に描画します。
pltとしてmatplotlib.pyplotをインポートします Matplotlib.patchesをパッチとしてインポートします 図、ax = plt.subplots() ax.imshow(画像) bboxの場合、zipのラベル(結果[プロンプト] ['bboxes']、results [prompt] ['labels']): x1、y1、x2、y2 = bbox rect_box = patches.rectangle((x1、y1)、x2-x1、y2-y1、linewidth = 1、 edgecolor = 'r'、facecolor = 'none') ax.add_patch(rect_box) plt.text(x1、y1、label、color = 'white'、fontsize = 8、bbox = dict(facecolor = 'red'、alpha = 0.5)) ax.axis( 'off') plt.show()
- 画像の周りに長方形の境界ボックスを描くために、Matplotlibライブラリを使用します。
- フィギュアと軸を作成することから始めてから、Florence-2 Vision Languageモデルに与えた画像を表示します。
- ここでは、モデル出力がx、y座標を含むリストである境界ボックスがあり、最終出力には、境界ボックスのリストがあります。つまり、各ラベルには独自の境界ボックスがあります。
- したがって、境界ボックスのリストを繰り返します。
- 次に、境界ボックスのxおよびy座標を開梱します。
- 次に、最後のステップで開梱した座標で長方形を描きます。
- 最後に、現在表示している画像にパッチを当てます。
- 境界ボックスにラベルを追加して、境界ボックスにどのオブジェクトが含まれているかを示す必要があります。
- 最後に、軸を削除します。
このコードを実行して写真を見ると、私たちが与えたバン画像のフィレンツェ-2ビジョン言語モデルによって生成される境界ボックスがたくさんあることがわかります。モデルがバン、窓、およびホイールを検出し、各ラベルの正しい座標を提供できることがわかります。
グラウンドのフレーズへのキャプション
次に、フィレンツェ-2モデルがサポートする「フレーズグラウンドへのキャプション」と呼ばれるタスクがあります。モデルが行うことは、画像とそれのキャプションを与えられたことです。フレーズの接地のタスクは、画像の領域に与えられたキャプション内の名詞句によって言及されている各 /最も関連するエンティティ /オブジェクトを見つけることです。
以下のコードを使用して、このタスクを確認できます。
prompt = "<caption_to_phrase_grounding>白い建物の前に駐車したオレンジ色のバン」 task_type = "<caption_to_phrase_grounding>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] 結果= processor.post_process_generation(text_generations、 task = task_type、image_size =(image.width、image.height))) </caption_to_phrase_grounding></caption_to_phrase_grounding>
ここでプロンプトについては、「白い建物の前に駐車したオレンジ色のバン」を与えています。タスクは「」であり、フレーズは「白い建物の前に駐車されているオレンジバン」です。フィレンツェモデルは、この与えられたフレーズから得られるオブジェクト/エンティティへの境界ボックスを生成しようとします。プロットして最終出力を見てみましょう。
pltとしてmatplotlib.pyplotをインポートします Matplotlib.patchesをパッチとしてインポートします 図、ax = plt.subplots() ax.imshow(画像) bboxの場合、zipのラベル(results [task_type] ['bboxes']、results [task_type] ['labels']): x1、y1、x2、y2 = bbox rect_box = patches.rectangle((x1、y1)、x2-x1、y2-y1、linewidth = 1、 edgecolor = 'r'、facecolor = 'none') ax.add_patch(rect_box) plt.text(x1、y1、label、color = 'white'、fontsize = 8、bbox = dict(facecolor = 'red'、alpha = 0.5)) ax.axis( 'off') plt.show()
ここでは、Florence-2 Vision Languageモデルが2つのエンティティを抽出できることがわかります。 1つはオレンジ色のバン、もう1つは白い建物です。その後、フィレンツェ-2は、これらの各エンティティの境界ボックスを生成しました。これにより、キャプションが与えられた場合、モデルは、その特定のキャプションから関連するエンティティ/オブジェクトを抽出し、それらのオブジェクトに対応する境界ボックスを生成できるようにすることができます。
フィレンツェ-2とのセグメンテーション
セグメンテーションはプロセスであり、画像が撮影され、画像の複数の部分に対してマスクが生成されます。各マスクはオブジェクトです。セグメンテーションは、オブジェクト検出の次の段階です。オブジェクトの検出では、画像の場所のみを見つけて、境界ボックスを生成します。しかし、セグメンテーションでは、長方形の境界ボックスを生成する代わりに、オブジェクトの形になるマスクを生成するため、そのオブジェクトのマスクを作成するようなものです。オブジェクトの位置を知っているだけでなく、オブジェクトの形状さえ知っているため、これは役立ちます。幸いなことに、フィレンツェ-2ビジョン言語モデルはセグメンテーションをサポートしています。
画像のセグメンテーション
私たちはバンの画像にセグメンテーションを試みます。
prompt = "<referring_expression_segmentation> 2つの黒いタイヤ" task_type = "<referring_expression_segmentation>" inputs = processor(text = prompt、image = image、return_tensors = "pt")。to( "cuda")) generated_ids = model.generate( input_ids = inputs ["input_ids"]、 pixel_values = inputs ["pixel_values"]、 max_new_tokens = 512、 do_sample = false、 )) text_generations = processor.batch_decode(generated_ids、 skip_special_tokens = false)[0] 結果= processor.post_process_generation(text_generations、 task = task_type、image_size =(image.width、image.height))) </referring_expression_segmentation></referring_expression_segmentation>
- ここでは、プロセスは画像キャプションとオブジェクト検出タスクに似ています。プロンプトを提供することから始めます。
- ここで、プロンプトは「
2つの黒いタイヤ」です。タスクはセグメンテーションです。 - セグメンテーションは、提供されるテキスト入力に基づいており、ここでは「2つの黒いタイヤ」です。
- したがって、フィレンツェ-2モデルは、このテキスト入力と提供された画像に密接に関連するマスクを生成しようとします。
ここで、結果変数は{":{'polygons':[[[polygon]]、…]、 'labels':[”、”、…]}}の形式の形式のものになります。各オブジェクト/マスクは、[x1、y1、x2、yn]の形式[x1、y1、x2、yn]です。
マスクを作成し、実際の画像にオーバーレイします
ここで、これらのマスクを作成し、実際の画像にオーバーレイして、視覚化することができます。
コピーをインポートします npとしてnumpyをインポートします iPython.displayインポートディスプレイから PILインポート画像、ImagedRaw、ImageFontから output_image = copy.deepcopy(画像) res = results [task_type] draw = imagedraw.draw(output_image) スケール= 1 ポリゴンの場合、zipのラベル(res ['polygons']、res ['labels']): fill_color = "blue" ポリゴンの_ポリゴンの場合: _polygon = np.array(_polygon).reshape(-1、2) Len(_ Polygon)<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174502929770135.png" class="lazy" alt="フィレンツェ-2でコンピュータービジョンタスクを実行する方法-AnalyticsVidhya" ></p><h4 id="説明">説明</h4>
- ここでは、画像処理のためにPILライブラリからさまざまなツールをインポートすることから始めます。
- 画像の深いコピーを作成し、新しい変数にキー「
」の値を保存します。 - 次に、the.draw()メソッドを呼び出し、実際の画像のコピーを指定することにより、画像をimagedrawインスタンスを作成してロードします。
- 次に、ポリゴンのジップとラベル値を繰り返します。
- 各ポリゴンについて、個々のポリゴンを_polygonという名前で反復し、再形成します。 _ Polygonは現在、高次元リストになっています。
- _ polygonには少なくとも3つの側面が必要であるため、接続できることがわかっています。したがって、この妥当性条件を確認して、_ Polygonリストに少なくとも3つのリスト項目があることを確認します。
- 最後に、.polygon()メソッドを呼び出して_ polygonを与えることにより、実際の画像のコピーにこの_ polygonを描きます。それに加えて、アウトラインの色と塗りつぶしの色さえ与えます。
- フィレンツェ-2ビジョン言語モデルがこれらのポリゴンのラベルを生成する場合、.text()関数を呼び出してラベルを与えることで、実際の画像のコピーにこのテキストを描画することもできます。
- 最後に、Florence-2モデルによって生成されたすべてのポリゴンを描画した後、IPythonライブラリからディスプレイ関数を呼び出すことで画像を出力します。
Florence-2 Vision Languageモデルは、「2つの黒いタイヤ」のクエリを正常に理解し、画像には目に見える黒いタイヤのある車両が含まれていると推測しました。このモデルは、これらのタイヤのポリゴン表現を生成し、青色でマスクされました。このモデルは、Microsoftチームがキュレーションした強力なトレーニングデータにより、多様なコンピュータービジョンタスクに優れていました。
結論
Florence-2は、Microsoftチームによってゼロから作成および訓練されたビジョン言語モデルです。他のビジョン言語モデルとは異なり、Florence-2は、オブジェクトの検出、画像キャプション、フレーズオブジェクト検出、OCR、セグメンテーション、これらの組み合わせなど、さまざまなコンピュータービジョンタスクを実行します。このガイドでは、フィレンツェ-2の大規模なモデルをダウンロードする方法と、フィレンツェ-2でプロンプトを変更すると、さまざまなコンピュータービジョンタスクを実行する方法を検討しました。
キーテイクアウト
- フィレンツェ-2モデルには2つのサイズがあります。 1つは、0.230億バージョンのバージョンであるベースバリアントで、もう1つは0.70億パラメーターバージョンの大きなバリアントです。
- Microsoft Teamは、FLD 5BデータセットでFlorence-2モデルをトレーニングしました。これは、Microsoftチームが作成したさまざまな画像タスクを含む画像データセットです。
- フィレンツェ-2は、入力のプロンプトとともに画像を受け入れます。プロンプトがフィレンツェ-2ビジョンモデルが実行するタスクのタイプを定義する場合。
- 各タスクは異なる出力を生成し、これらすべての出力はテキスト形式で生成されます。
- Florence-2は、MITライセンスを備えたオープンソースモデルであるため、商用アプリケーション用に協力できます。
よくある質問
Q1。フィレンツェ-2とは何ですか?A. Florence-2は、Microsoftチームによって開発されたビジョン言語モデルであり、0.23Bパラメーターと0.7Bパラメーターバージョンの2つのサイズでリリースされました。
Q2。オートプロセッサはオートトケン剤とどのように違いますか?A. AutoTokenizerは、テキストをトークンに変換するテキストデータのみを扱うことができます。一方、画像データさえ含まれるマルチモーダルモデルの自動プロセッサプレプロセッサデータ。
Q3。 FLD-5Bとは何ですか?A. FLD-5Bは、Microsoftチームがキュレーションした画像データセットです。 1億2600万枚の画像に対して約54億の画像キャプションが含まれています。
Q4。フィレンツェ-2モデルは何を出力しますか?A.フィレンツェ-2モデルは、指定された入力画像と入力テキストに基づいてテキストを出力します。このテキストは、タスクがオブジェクトの検出またはセグメンテーションである場合、単純な画像キャプションになるか、境界ボックス座標を調整できます。
Q5。フィレンツェ-2はオープンソースですか?A.はい。 Florence-2はMITライセンスの下でリリースされているため、オープンソースになり、このモデルで動作するためにHuggingfaceで認証する必要はありません。
この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。
以上がフィレンツェ-2でコンピュータービジョンタスクを実行する方法-AnalyticsVidhyaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。

メタのラマ3.2:マルチモーダルAIパワーハウス Metaの最新のマルチモーダルモデルであるLlama 3.2は、AIの大幅な進歩を表しており、言語理解の向上、精度の向上、および優れたテキスト生成機能を誇っています。 その能力t
