BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

Azure OpenAI 関連: Microsoft Build 2024 の更新情報

Microsoft Build 2024 の自分用のメモです。

Azure OpenAI 関連の更新情報で気になった内容の一部をさっとまとめました。
ブログに公開するつもりがなかったので雑なメモ程度に書いてたやつです。
まだドキュメントをさらっとみた段階で実際さわってはないので、認識間違いはあるかもってのは注意です。

Azure OpenAI 関連

Exploring the New Frontier of AI: OpenAI's GPT-4-o For Indic Languages のまとめ

前提知識として、GPT-4o は 2024-5-13 導入のモデルで入力はテキスト・ビデオなど、出力はテキスト・オーディオ・画像などに対応。その特徴の紹介。

o200k_base という新しい tokenizer を導入:

  • Tokenization (トークン化) は、テキストをトークンとよばれる小さな単位に分割する自然言語処理における重要なプロセス。
  • tokenizer の設計に応じてテキストは単語、サブワード、または文字になる場合がある。
  • o200k_base は以前のバージョンより高速かつ効率的。

Features and Capabilities:

  • Multimodal Inputs and Outputs: 人間と様々なフォーカットでやり取りを反映できる、複雑なタスクを実行できる「Omni」モデルという意味からネーミングされたよう。
  • Improved Token Generation Speed: トークンの生成速度が以前の2倍と言われている。試したけどもっと早いかもって体感。
  • Cost-Effectiveness: 価格は以前の GPT-4の半額。tokenizer によるトークン数の削減も考慮するとコストはそれプラスαくらい効率的になった。
  • Enhanced Vision Capabilities: 画像認識の精度が向上。
  • デプロイに関しては、今まで通りの特定のリージョンにデプロイする "standard" と、新たに "global standard" ができた。
    • global standard だと、トラフィックをいい感じルーティングしてくれる。その分 quata limit も大きい。現状使えるのは US。デプロイすると US の一部リージョンに分散される。
    • global-standard と以前の他のタイプの特性の比較表はこちら
    • global standard と standard それぞれの rate limit の違いはこちら
      • rate limit で記載の "enterprise cusomer" は EA 契約の customer のよう (←こちらより)
    • 現時点 (今だと US のみ) の使えるリージョンに関する情報はこちら

Announcing the General Availability of GPT-4 Turbo with Vision on Azure OpenAI Service

  • こちらはマルチモーダルの GPT-4-turbo-2024-04-09 の話。このモデルの登場で古い3つのモデル (gpt-4-1106-preview / @gpt-4-0125-preview/gpt-4-vision-preview`) は全て 2024-04-09 を使えば OK って話。
    • 古い3つのモデルでモデルばーしょんを「自動更新」にしていると、6/10以降で 2024-04-09 に随時アップデートされる。
  • ただ、GPT-4o の登場で性能的にも価格的にも GPT-4o を利用するだけでよさそう。
  • 今後数週間で、入力に画像が含まれる推論リクエストに JSON mode と Function calling がリリース予定。
  • GPT-4 Vision Enhancements (Document Intelligence とインテグレーションする機能) は非対応に。

Announcing Fine Tuning for GPT-4, AI Studio Support, and API improvements with Azure OpenAI Service

  • GPT-4 の Fine-tuning が public preveiw に。
  • Fine-tuning された後のモデルを評価するされた機能も。
    • Responsible AI 的に有害となるリスクと評価された場合デプロイ不可なので、再トレーニングが必要に。
    • トレーニングデータも有害コンテンツじゃないかを評価できる。

Announcing New Capabilities for Azure OpenAI On Your Data

Azure AI Studio/Azure OpenAI Studio の機能 "Azure OpenAI On Your Data" の機能追加の話。近日公開の機能やプレビュー機能も一色単に書いてますで詳細はドキュメントを要確認。

  • Microsoft Defender for Cloud との統合が可能に。
  • Managed Identity での接続が可能に。
  • Teams アプリにシームレスにデプロイ可能に。
  • 選択できるデータソースが増加。AI Search, Cosmos DB の MongoDB vCore, Web アドレス、ローカルファイルに加えて Pinecone と Elasticsearch が追加
  • Customizable parameters の設定が可能に (チャンクストラテジーや advanced output mode などを実現するための各種パラメーター)
  • GPT-4o や text-embedding-3 シリーズのサポート

Announcing key updates to Responsible AI features and content filters in Azure OpenAI Service のまとめ

改善されたコンテンツフィルターとResponsible AI 機能のリリース (の発表):

  • 新しい "Unified content filters":
    • AOAI, Azure AI Studio, Azure AI Content Safety などの様々なプロダクトに渡るコンテンツフィルターの設定プロセスが合理化。
  • DALL-E および GPT-4 Turbo Vision デプロイ用のカスタマイズ可能なコンテンツフィルターの提供が開始。
  • Asynchronous Filters が申請無しで利用可能に。
  • "Safety System Messages" の設定が可能となり、より安全な回答の生成が可能に。
    • System message ( = metaprompt, system prompt) の指示に加え、"Safety System Messages" の設定することで望ましくない危険な動作を軽減できることを目的としてる。
    • 今のところ Azure AI Studio/Azure OpenAI Studio の Chat playground の UI から試せる。
    • プログラミングからはどう指定するんだろうって疑問。以下のドキュメント見る限り現時点だと特別なプロパティで指定するわけではなさそう?
    • ドキュメントは一応こちら: Announcing Safety System Messages in Azure AI Studio and Azure OpenAI Studio

Protected Material Detection の v2.0:

  • Protected Material Detection とは
    • 既知のテキストコンテンツ (歌詞、記事、レシピなど) と一致するかを識別し、言語モデルの出力に出ないようにブロックする機能
    • 2024-5時点では英語のみ
  • 試すにはこちら:

Updated Features in Azure OpenAI Service DALL-E:

  • キャラクターや現代アートワークなど、特定の種類の既知のクリエイティブコンテンツに酷似した作品を生成することを禁止しており、これに関する機能が強化された。
    • Protected Material Detection はテキスト用で、こちらは画像用って感じかな。
    • ようは、既存のアニメなどのキャラとほとんど類似の画像の生成を禁止する機能。
    • 例として、以前ならマリオやスポンジボブなどをプロンプトに入力するとほぼ類似の画像が生成されたが、多少違うキャラが生成されるようになった。
  • テキストプロンプトを DALL-E に再解釈し、クリエイティブコンテンツカテゴリに関連付けられたキーワードやフレーズを削除することによって行われます。

"Custom Categories" という機能が追加 (される予定というアナウンス):

  • Azure AI Language を利用して、テキスト分類と生成のための自然言語を提供するサービス。
  • "Custom Categories の機能により、機密コンテンツの検出、ユーザー作成コンテンツの管理、または地域の規制の遵守など、コンテンツ フィルタリングと AI の安全性に対する特定のニーズに基づいて独自のカスタマイズされた分類子を作成できる。
  • カスタム カテゴリを使用すると、独自のカスタム コンテンツ フィルターを簡単かつ柔軟にトレーニングおよび展開できる。
  • 詳細はこちら:

Model Customization for Azure AI

顧客とパートナーシップを組んでカスタマイズしたモデルを作れますよって発表。 今までだとヘルスケアや金融ってドメインでのモデルがあったけど、それと同様に特定のドメイン特化のモデルを作れる感じの話と思ってる。

Announcing Azure OpenAI Service Assistants Public Preview Refresh

2023年公開された Assistants API は多くの場合は大規模なエンジニアリングやサードパーティライブラリの利用など多くのインテグレーションが必要だったが、今回の改善でより使いやすくなったよう。

まずは新機能の紹介。

  • File Search (Public Preview)
    • データソースに簡単に接続し vector search を有効することで、RAG を簡単に実装できる。
    • Assistant ごとに10000 ファイルをサポート (以前の500倍以上に増えた...)
    • マルチスレッド検索サポート
    • re-rank と query rewriting をサポート
    • vector store の API が備わっており、ファイルが vector store に追加されると、自動解析、chunk, embeddings してくれる。
    • File search は text-embedding-3-large で 256 次元、デフォルトの chunk size 800, overrap 400 になってる。
    • もちろん有料だが、最初の1GBは free 。
  • Bring Your Indexes to File Search (6月より public preview 予定)
    • Azure OpenAI On Your Data でも File Search に接続可能になる予定。
  • Browse (7月より public preview 予定)
    • Assistant が Bing の検索エンジンに接続して web の情報を検索できる機能。

セキュリティ関連の更新情報:

  • 入出力のトークンの制御や Assistants API で実行に使用されるトークンの最大数の制御の設定が可能に。
  • temperature, response_format (JSON mode), top_p のサポート。
  • Cross-Prompt Injection Attack (XPIA) Mitigation (Public Preview) のサポート。
    • Assisntans で利用している deployment に対して Contents filter の "追加モデル" で "間接的な攻撃に対するプロンプト シールド" を有効にすれば OK 。

その他の更新情報:

  • GPT-4o のサポート: 7月より public preview 予定
  • Fine-tuned のモデルサポート: 一部リージョンで GPT-35-turbo(0125) のモデルから。
  • Vision のサポート: モデルは gpt-4-turbo (0409) 。画像を使用して会話が可能。
  • 利用可能なリージョンの拡大: 東日本でも利用可能に...でも使えるモデルがまだしょぼい。詳細はこちら
  • Streaming と polling がサポート。
  • Assistants API の SDK のサポート (public preview)
    • Python はいつもの openai のやつ
    • JS/TS: openai/openai-node
    • .NET, Java, Go は7月ごろ
  • Prompt Flow の評価機能を使って品質と安全性の評価や比較が容易に。
  • Assistants と AutoGen を組み合わせてマルチエージェントの構築が可能に。
  • Logic Apps との integration も可能に。

Azure AI Model Inference API

  • Azure AI Studio の model catalog では Command R+ や Llama や Mixtral など様々な model が利用可能だが、これらの model の機能に一貫してアクセスできるように Azure AI Model Inference API を公開。
  • Azure AI Studio で Serverless API としてデプロイしたすべての model で Azure AI Model Inference API が既に利用可能 (今後セルフホストでデプロイされた方にも利用可能になる)。
  • Python だと LiteLLM を使って実装するよう。
  • Introducing the Azure AI Model Inference API - Microsoft Community Hub

Azure AI の model catalog 関連

Model catalog に新しい model 導入:

HuggingFace とのパートナーシップ強化で、Azure AI の model catalog へより多くの model の導入や AMD GPU の導入、HggingFace と VS Code の integration など。

AI Studio の "Model benchmarks" の機能拡張:

  • embeddings のモデルのベンチマークも取得可能に。
  • パフォーマンスのベンチマーク (スループットやレイテンシーのメトリクスなど) は、近日サポートされるようになるとのこと。

モデルデプロイ時のセキュリティ対策

モデルの評価とモニタリングの新機能

AI Studio でモデルを評価、モニタリングしてみることができる機能の紹介。評価は Prompt Flow でして結果を見れる感じかな。

Phi-3 の更新情報

設計・実装のベストプラクティス

新しいリファレンスアーキテクチャと実装ガイダンスが公開されたので、このベストプラクティスを参考にアーキテクチャを検討するのによい感じですね。

また、Azure ランディング ゾーンの概念に基づいて、Azure ランディング ゾーン Terraform モジュールも。

その他

AI Application Templates

AI application を開発するためのテンプレート機能の紹介。CI/CD やモデルの評価とかの GitHub Actions が含まれている AI Project Starter Templates や、Azure Developer CLI で AI 用の機能の追加、Prompty が含まれるみたいだが、使ってみないとイメージつかんところ。

Azure AI Models as a Service と ClearML、Arize AI、Dataloop と統合

AI Toolkit for Visual Studio Code

VS Code の拡張機能 "AI Tookit" に関する話。

  • Azure AI Studio のモデルカタログの中で、ローカル実行に適したモデルを選んで色々できるようで、今日試したら Phi-3 シリーズと mistral-7b が見れた。
  • このモデルを使ってローカル環境で試したり、Fine-Tuning もできるよう。
  • FIne-Tuning したモデルを Azure の Container Apps や AI Studio にデプロイできる。
  • モデルとプロンプトの評価もできるよう。Prompt Flow の SDK を使ってカスタムな評価もできる。
  • ローカルの NVIDIA の GPU かクラウド上の GPU リソースを使う感じ。