Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコスト...

OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み

More Decks by PharmaX(旧YOJO Technologies)開発チーム

Other Decks in Technology

Transcript

  1. (C)PharmaX Inc. 2024 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者

    好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust X:@ueeeeniki
  2. (C)PharmaX Inc. 2024 All Rights Reserve 5 医療アドバイザーに体調 のことをいつでも気軽に相 談できる

    相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「 YOJO」
  3. (C)PharmaX Inc. 2024 All Rights Reserve 6 • リアルタイムAPI ◦

    音声入力と音声出力をリアルタイムで処理する API • Vision Fine-tuning(画像のファインチューニング) ◦ GPT-4oを画像とテキストの両方でファインチューニングすることを可能にする機能 • Prompt Caching(プロンプトのキャッシュ化) ◦ 一度使用したプロンプトをキャッシュすることで、 API呼び出しのコストとレイテンシを削減する 機能 • Model Distillation(モデルの蒸留) ◦ 大規模なモデルの出力を使用して、より小型で効率的なモデルをファインチューニングする 機能 2024年10月のOpenAI DevDayでの発表 OpenAI DevDayでは下記の機能が発表されて大きな話題を呼んだ
  4. (C)PharmaX Inc. 2024 All Rights Reserve 7 • 性能のいい安価なモデルに乗り換える ◦

    ベンチマーク上の性能がよかったとしても再度プロンプトチューニングは必要になることも 多い • LLMの入出力結果をキャッシュして再利用する ◦ OpenAIやAnthropicが提供するPrompt Cachingを利用する • 高価なモデルの出力を使って安価なモデルをファインチューニング(蒸留)する ◦ OpenAIの利用規約では、同社のサービスから得られる出力を使用して、競合するモデル を開発することを禁止されてる → 公式にOpenAIがOpenAI同士のモデルであれば蒸留を認めた(推奨した) LLMのコスト削減の主要な方法 LLM使用のコストを下げる方法はいくつか存在する
  5. (C)PharmaX Inc. 2024 All Rights Reserve 8 モデルへのベンダーロックインは発生する • PharmaXの実験では、他社も含め新しいモデルが出るたびに複数のプロンプトで実験するが、

    GPTシリーズのスコアを”何故か”超えてこない ◦ プロンプトは変えていないので、我々の改善しているプロンプトが GPTシリーズに最適化さ れているからだと想定している ◦ 体感的には、ベンチマークで出ているスコアと自社のユースケースに当てはめたときのス コアは”あまり相関がない”ように感じる 実務的にはモデルへのロックインは想定しているよりも発生してしまうものだと感じている
  6. (C)PharmaX Inc. 2024 All Rights Reserve 10 モデルへのベンダーロックインは発生する • 長いプロンプトではレイテンシを最大

    80%、コストを50% ◦ 1,024トークンから、128トークンずつ適用 • OpenAIの主要モデルでは、自動的に適用 ◦ Anthropicは明示的に指示が必要かつ、キャッシュ書き込みがコストが 1.25倍のかわりに キャッシュ読み込みではコストが 1/10 • 通常5~10 分間操作が行われないとクリアされ、閑散期には最後に使用されてから 1時間以内 に削除される 実務的にはモデルへのロックインは想定しているよりも発生してしまうものだと感じている
  7. (C)PharmaX Inc. 2024 All Rights Reserve 11 ファインチューニングしたモデルのコスト削減効果 gpt-4o-2024-08-06 


    $2.50 / 1M input tokens 
 $10.00 / 1M output tokens 
 gpt-4o-2024-05-13 
 $5.00 / 1M input tokens 
 $15.00 / 1M output tokens 
 gpt-4o-mini 
 $0.150 / 1M input tokens 
 $0.600 / 1M output tokens 
 fine-tuned gpt-4o-mini 
 $0.30 / 1M input tokens 
 $1.20 / 1M output token 
 ファインチューニングすることで劇的にコストを下げることができる 約1/10
  8. (C)PharmaX Inc. 2024 All Rights Reserve 12 OpenAIの蒸留機能 DevDayで発表された蒸留機能を使えば、上位モデル出力で GPT-4miniなどの安価なモデルを蒸留できる

    xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx outputは 修正できない
  9. (C)PharmaX Inc. 2024 All Rights Reserve 14 • OpenAIのダッシュボード上に簡単にデータを溜めて、そのデータを使って安価なモデルをファイ ンチューニング=蒸留することができる

    ◦ 現時点では、データを貯めることそのものには値段がかからない (※ 最新の公式ドキュメントをご確認ください) • 一方で、蓄積したデータのoutputを修正する機能は付いていないので、精度は元データを生成 した上位のモデルを超えることはない ◦ 上位モデルよりも精度も向上させたければ、 LangSmithのようにアノテーション機能を備 えたツールを使って出力を修正する必要がある ◦ データ数さえ確保できれば元データを生成した上位のモデル弱の精度にはなるので、すで に運用中のアプリケーションがあり、精度がミッションクリティカルでなければ、蒸留して安 価なモデルに置き換えて損はないのではないか 蒸留の運用まとめ OpenAIのネイティブの蒸留機能では、現時点では outputの修正は出来ないことに注意