木村の Google Cloud Next Tokyo '23 1 日目: 生成 AI 向け MLOps について考える

こんにちは!GIMLE チームの木村です。

11/15 から 2 日間、東京ビッグサイトにて「Google Cloud Next Tokyo '23」が開催されています。私も 2 日間現地参加しており、Google Cloud の知見を増やす機会としています。 去年度から引き続き AI に関する領域を担当しているため、今回も機械学習や生成系 AI に関するセッションをメインに参加してきました。

本日は、「生成 AI 時代の MLOps 実現方法とは」というセッションの内容を受けて、今後どのような点に注力して MLOps を実現できるインフラデザインを作ればよいかという点について紹介します。

従来の MLOps と生成 AI の MLOps

生成 AI が登場する前、MLOps といえば、精度の高い学習モデル作成、システムへの組み込み、品質維持など、機械学習が含まれるシステムの品質を保つためにサイクルを作って運用するといった考え方でした。 フェンリルでも MLOps サービスのメニューを準備し、学習モデルが組み込まれたシステムの構築提案を実施する中で、データ加工、学習モデル作成、評価、デプロイを自動化するインフラデザインなどを考えてきました。

しかし生成 AI の MLOps を考えた場合、従来の MLOps の考え方だけでは対応できない部分がでてきます。例えば、プロンプトへの入力内容が自然言語であるため、文言のニュアンス次第で出力結果が変わります。この場合、評価はどのようにすればよいでしょうか。

今回のセッションでは、生成 AI のチューニングやデータ追加において MLOps を適用するにあたり、注目するポイントや利用するサービスについて解説が行われました。

生成 AI のモデルチューニングと評価

生成 AI をチューニングするにあたり、プロンプトエンジニアリング、ファインチューニング、RLHF(人間のフィードバックからの強化学習) などの手法があります。では、どのようにチューニングを進めていけばよいのでしょうか。

まずはモデルの選択とプロンプトエンジニアリングです。Vertex Model Garden にて公開されているものを選択することができ、それをベースにチューニングを進めます。最初のチューニングとしてはプロンプトエンジニアリングにより、プロンプトの入力内容を調整して、出力の精度向上を狙います。

次に、ファインチューニングや RLHF による強化学習を実施していきます。必要なデータを学習させて精度向上につなげたり、好みの出力になるように RLHF による強化学習を進めます。

作った学習モデルの評価では、安全性のスコアなどからスコアを確認して評価する仕組みを考えます。また、作ったモデルが既存のコピーではないかという点も、著作権の観点から確認する必要があります。

どれも、回帰や分類を行う学習モデルを作成するときにはなかった考え方ですが、生成 AI を扱う上では重要なタスクとなります。

評価の重要性

生成 AI において、評価が特に重要な役割を担っています。評価が正しく機能していなければ、システム全体の品質にも影響が及ぶこととなるためです。評価は常に正しく行われて運用されている必要があります。 ただ、生成 AI タスクの評価については、まだまだ発展途上段階の内容です。

そんな中、Google Cloud では、Automatic Metrics や Auto SxS (Side by Side)、Safety Bias などのサービスが発表され、生成 AI の評価にて利用できるようになっています。これらのサービスを組み合わせて、精度の高い生成 AI を作っていく必要があります。

生成 AI 向け MLOps によりシステムの安定稼働を目指す

今回紹介された生成 AI 向け MLOps は、今までの MLOps 環境と比べて新しい観点が追加された形で紹介されました。 MLOps のプロセスにあわせてサービスが増えてきており、今後も目が離せない領域になりそうです。