見出し画像

【OpenAI 12日連続発表会 Day9】o1モデルAPI正式版公開、Realtime API強化、Preference Fine-Tuning導入、Go/Java SDKベータ版発表

本日12月18日、OpenAIは開発者向け機能に関する4つのアップデートを発表しました。

4つの主要なアップデートは以下の通りです。

  1. OpenAI o1のAPI正式版提供

  2. Realtime APIの改善

  3. Preference Fine-Tuning

  4. GoおよびJava向け公式SDKのベータ版提供

それぞれのアップデートについて、詳しく解説していきます。

また、記事最後には今回の発表後にOpenAI開発者フォーラムで行われたAMA(Ask Me Anything)の中から、特に注目を集めた質問と回答をまとめました。興味がある方はぜひそちらもご覧ください。


1. OpenAI o1のAPI正式版公開

OpenAIは、o1モデルをAPIで正式公開しました。現時点での対象はusageがusage tier 5に到達しているユーザーで、同モデルは高度な推論能力と幅広い機能を備えています。

主な特徴:

  • Function calling:外部APIやデータへのシームレスな接続

  • Structured Outputs:指定したJSON Schemaに準拠した安定的な出力生成

  • Developer messages:トーンやスタイル、追加コンテキスト指示の付与

  • Vision対応:画像解析機能

  • 低遅延化:推論に用いるトークン数削減による応答速度向上

  • reasoning_effortパラメータ:モデルが応答前に行う推論の深度を制御可能

動画では、OpenAIのプレイグラウンド上で、税務書類を画像ファイルとして送信し、書類の誤りをo1モデルが検出し、Structured Outputsを用いてJSON形式で訂正箇所を出力するデモが紹介されました。

画像入力からフォーム誤り検出
ユーザーがアップロードした手書きフォーム画像から、自動的に誤った計算箇所を抽出。

Function callingの例
税額計算関数をモデルが自動的に呼び出して正確なタックスデータを取得。

Structured Outputsの例:
Structured Outputsを用いてJSON形式で訂正箇所を出力

性能向上:

最新スナップショット「o1-2024-12-17」は、前身であるo1-previewから多くのベンチマークで精度を上げ、特に数学やコード生成、一般知識タスク、ビジョン(画像処理)領域で性能向上を示しています。

価格と利用可能性
o1およびo1-2024-12-17では1M入力トークンあたり15ドル、出力トークン60ドルが基本となり、キャッシュ済みトークンは割安価格で提供されます。
今後はtier 5ユーザー以外へも段階的に拡大予定です。

2. Realtime APIの改善

次にリアルタイム音声・テキスト対話を可能にするRealtime APIが強化されました。

主な改善点:

  • WebRTC対応:ブラウザやモバイル、IoT機器などでのリアルタイム音声通信を簡易化

  • コスト削減:GPT-4o音声入力トークン価格が約60%低下。GPT-4o-miniは従来比1/10のオーディオ料金で提供

  • 制御強化:並行的な外部回答処理、カスタム入力コンテキスト、レスポンスのタイミング制御など、開発者の裁量幅拡大

  • セッション延長:最大30分のセッション持続時間を実現

デモとして、ミニマイコン搭載の「トナカイの人形」への組み込み例が動画内で披露されました。

この超小型デバイスはRealtime APIとの連携で音声対話が可能になり、IoT領域での新たなユースケース(音声アシスタント、翻訳機能搭載ガジェット、スマートホームなど)が示されています。

https://youtu.be/14leJ1fg4Pw?si=iQrN9V9_qbMhOICu&t=812

価格:

GPT-4o音声は1M入力トークンあたり40ドル、出力は80ドルへ引き下げ

GPT-4o-miniは、オーディオ入力1Mトークンあたり10ドル、出力20ドルなど、低コストでの運用が可能になっています。

これらの改善により、より低遅延でコスト効率の良いリアルタイム対話体験が実現します。

3. Preference Fine-Tuning

OpenAIは、従来の教師ありファインチューニング(Supervised Fine-Tuning:SFT)とは異なる新たなモデルカスタマイズ手法として「Preference Fine-Tuning」を導入しました。

これは、Direct Preference Optimization (DPO) を用いることで、モデルが「望ましい応答」と「望ましくない応答」を比較し、好ましい出力への傾向を学習する手法です。

特徴:

  • 主観的タスクへの適性
    従来のSFTは明確な正解を持つタスクで有効でしたが、Preference Fine-Tuningはトーン、スタイル、創造性など明確な正誤基準がない分野で効果的です。
    ユーザーや開発者の好みをモデルに反映しやすくなり、より自然かつ目的適合的な応答が可能となります。

  • 学習手法の違い
    SFTは既定の正解出力を再現するようモデルを訓練しますが、Preference Fine-Tuningでは、ある2つの応答間でどちらが「好ましい」かをモデルに判断させ、その選好傾向を強化します。
    これによりモデルは、単なる模倣ではなく、複数の選択肢から望ましい方向へ出力を導く応用的な判断力を獲得します。

  • 実用例と効果
    金融分析向けのAIアシスタントを開発するRogo AIは、Preference Fine-Tuningにより、従来のSFTでは対応が難しかった未知の指標(ARRなど)の取得や要望に柔軟に対応するモデルを実現。
    これによりモデルの精度とユーザー満足度の向上が確認されています。

利用可能時期:

Preference Fine-Tuningは、2024年12月18日の発表時点でgpt-4o-2024-08-06モデル向けに利用可能となっています。また、gpt-4o-mini-2024-07-18モデルへの対応も近く開始される予定です。

価格と対応モデル:

SFT(Supervised Fine-Tuning)と同一の料金体系で提供されます。初期対応モデルはgpt-4o-2024-08-06で、後日gpt-4o-mini-2024-07-18もサポート予定。

動画では、OpenAIプラットフォーム上で比較データをアップロードし、Preference Fine-Tuningを行うデモが紹介されました。

この新手法によって、開発者はモデルの「質的」な調整を行い、ユーザーが求める微妙なニュアンスやスタイルを的確に反映した応答を実現できるようになりました。

4. GoおよびJava向け公式SDKのベータ版提供

OpenAIはGoとJava向けの公式SDKをベータリリースしました。Python、Node.js、.NETに加えて、GoやJavaでも公式サポートが整い、言語選択の幅が広がります。

主なポイント:

  • Go対応:並行処理やスケーラブルなバックエンド構築に向いたGo言語で、APIへのアクセスが容易になります。

コード例(Go):

client := openai.NewClient()
ctx := context.Background()
prompt := "Write me a haiku about Golang."

completion, err := client.Chat.Completions.New(
  ctx, 
  openai.ChatCompletionNewParams{
    Messages: openai.F(
      []openai.ChatCompletionMessageParamUnion{
        openai.UserMessage(prompt),
      },
    ),
    Model: openai.F(openai.ChatModelGPT4o),
  },
)
  • Java対応:エンタープライズ開発で一般的なJavaでも、型安全なリクエストやレスポンス処理が可能になり、大規模システムや既存アプリケーションへの組み込みがスムーズです。

コード例(Java):

OpenAIClient client = OpenAIOkHttpClient.fromEnv();

ChatCompletionCreateParams params = ChatCompletionCreateParams
    .builder()
    .message(List.of(
        ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
            ChatCompletionUserMessageParam
            .builder()
            .role(ChatCompletionUserMessageParam.Role.USER)
            .content(
                ChatCompletionUserMessageParam.Content.ofTextContent(
                    "What is the origin of Java's Duke mascot?"
                )
            )
            .build()
        )
    ))
    .model(ChatModel.O1_PREVIEW)
    .build();

ChatCompletion chatCompletion = client.chat().completions().create(params);

このような公式SDKの拡充により、開発者は自分たちの慣れた言語で、より迅速かつ柔軟にOpenAIの機能をアプリケーションに統合できるようになります。

参考


告知

今後12日間連続でリリースがあり、知るべきことが多くなるため、23日夜にOpenAI勉強会やります👇

AMA 質疑応答まとめ

ここからは、Day9の配信終了後に開催されたOpenAIのAMA(Ask Me Anything)で、OpenAI社員がユーザーからの質問に直接回答した内容から、特に注目の質疑応答をピックアップしてまとめました。

ぜひご覧ください!

ここから先は

4,239字
この記事のみ ¥ 500
PayPay
PayPayで支払うと抽選でお得 〜1/7まで
ポイント
抽選でnoteポイント最大100%還元 〜1/9まで

この記事が参加している募集