blog details
author


Google LLMファミリーのAIモデルをVertexとPythonでファインチューニング

ファインチューニングは、事前学習済みAIモデルをベースにAIモデルを特化させるための強力なツールです。プロンプト方式と比較して、出力精度をさらに向上させることができ、ゼロから新しいAIモデルを開発するよりもはるかにコストを抑えることができます。

この記事では、Google LLMファミリーのAIモデルをVertexとPythonでファインチューニングする方法を詳しく解説します。

さあ、始めましょう!

目次:Pythonを使ったGoogle AIモデルのファインチューニング



AIモデルのファインチューニングとは

AIモデルのファインチューニングとは、事前学習済みのAIモデルを、独自のデータセットを用いてカスタマイズし、精度を向上させるプロセスです。ファインチューニングの目的は、事前学習済みAIモデルの本来のAI機能を維持しつつ、より特殊なユースケースに適合させることです。既存の高度なモデルをファインチューニングによって強化することで、機械学習開発者は特定のユースケースに適した効果的なモデルをより効率的に作成できるようになります。

このアプローチは、計算リソースが限られている場合や関連データが少ない場合に特に有効です。なぜなら、事前学習済みモデルをゼロから作成する必要がないからです。

例えば、あなたがブロガーであり、ソーシャルメディアのコンテンツクリエイターであるとします。モデルを微調整して、あなたのスタイリッシュなトーンでコメントに返信できるようにしたいとします。さらに、独自のトーンで価値提案を盛り込んだブログ記事を書きたいとします。このような場合、微調整はワークフローに統合することでタスクを展開・自動化するための有効な手段となります。

Google AI モデルチューニングのためのデータ準備

Vertex AI 言語セクションのチューニング機能を使用する場合、開発者は JSON データを input_text と output_text という 2 つのキーを使用してフォーマットする必要があります。

開発者はキー名を他のキー名に変更することはできません。

input_text は、プロンプト、コンテキスト、または AI が生成するコンテンツのサンプルを追加するための場所です。一方、output_text は、input_text がプロンプトと類似している場合に AI がどのような応答を期待するかを AI に伝えるための場所です。例えば、ブロガーやソーシャルコンテンツクリエイターの場合、output_text に記事、投稿、その他のコンテンツ形式のサンプル全体を追加できます。

データセットの準備ができたら、Google Vertext AI 言語チューニングに必要な形式である JSON 行に変換する必要があります。

Pandasデータフレームを使用したサンプルは以下のとおりです。


df2.to_json('filename.jsonl', orient='records', lines=True)
pdRead = pd.read_json('yourfilepath.jsonl', lines=True)

モデル作成のチューニング

すべてのデータセットの準備ができたら、Google Cloud Vertexに移行します。

Google Cloudアカウントを作成し、Vertex Studioにアクセスして言語セクションを選択し、以下の画像のように「チューニングと蒸留」タスクを作成します。

ブログの詳細

次に、メソッド、モデル、リージョンなどを選択する必要があります。

以下に、教師あり学習モデルであるGeminiとus-centralを示します。

blog detail

最後に、準備したJSONラインデータセットをGoogle Cloud Storageにアップロードし、ここで選択する必要があります。

blog detail

チューニング保留中とPythonを使用した呼び出し方法

モデルチューニング中は、パイプラインに移動してステータスを確認したり、言語セクションに戻ってステータスを確認したりできます。所要時間は、事前学習済みモデルのチューニングに使用するデータセットによって大きく異なります。私の場合は、完了までに約5時間かかりました。

チューニングが完了したら、モデルガーデンに移動して、所有データセットを使用してチューニングに使用したモデルをすぐに選択できます。または、Pythonを使用してテストすることもできます。

以下はスクリプトのサンプルです


def tunedModel(self, prompt, characters):
parameters = {
"max_output_tokens": int(characters),
"temperature": 0.9,
"top_p": 1
}
model = TextGenerationModel.from_pretrained("the AI model version")
model222 = model.get_tuned_model("projects/project ID/locations/region name/models/tuned model ID")
response = model222.predict(
prompt,
**parameters
)
return response.text

Google AIモデルチューニングの費用

Vertextのチューニング料金に関する詳細は、Googleで検索し、公式ウェブページで最新情報をご確認ください。

コンテンツ作成を目的としたモデルチューニングにかかる​​費用についてですが、1回あたり平均100米ドルを費やしています。1回あたりの処理文字数は英語で35万文字、所要時間は約5時間です。これらの数値が、Google AIチューニングの費用に関する参考になれば幸いです。

OpenAIやAzure AIと比較すると、費用はほぼ同程度ですが、場合によってはAzure AIの方が安いこともあります。ケースバイケースです。

まとめ

ファインチューニングは、特定のニッチな目的に特化した、低コストで最先端のAIモデルを実現するための強力なツールです。コストを削減でき、ゼロから開発するための投資も不要です。

Share this Article
shape shape

ニュースレターにご参加

独占的なオートスタイルコンテンツのアップデートとオファーを入手




心配しないでください。スパムは送信しません

関連チュートリアル

Google Cloud

Introduction to Convolutions with TensorFlow

Learn how to use convolutions to process images and extract features. This self-paced lab takes place in the Google Cloud console.

Google Cloud

Data Engineering, Big Data, and Machine Learning on GCP

Learn data engineering, big data, and machine learning with Google Cloud. This professional certificate will provide you with the skills you need to advance your career.