ファインチューニング
ふぁいんちゅーにんぐ
一言で言うと
既存のAIモデルを、特定の用途に合わせて追加学習させること。汎用AIを「専門家」に育てる手法。
もう少し詳しく
一言で言うと
既存のAIモデルを、特定の用途に合わせて追加学習させること。汎用AIを「専門家」に育てる手法。
もう少し詳しく
ファインチューニングは、すでに学習済みのAIモデルに対して、特定の分野や業務に合ったデータで追加学習を行うことです。
医学部の例えで考えてみましょう。医学生は6年間で医学全般を学びます(これが事前学習)。その後、外科や内科などの専門分野で研修を受けて専門医になります(これがファインチューニング)。ゼロから専門知識を学ぶよりも、基礎があるうえで専門化する方がはるかに効率的です。
AIでも同様に、GPTやLlamaなどの汎用モデルに対して、自社の文書やFAQデータで追加学習させることで、その分野に特化したAIモデルを作れます。
実務でどう使うか
コードで見てみよう
# ファインチューニングの概念的な流れ# 1. 学習データを用意する(入力と理想的な出力のペア)
training_data = [
{"messages": [{"role": "user", "content": "返品したい"}, {"role": "assistant", "content": "返品は購入後30日以内です。マイページの注文履歴から手続きできます。"}]},
{"messages": [{"role": "user", "content": "送料は?"}, {"role": "assistant", "content": "5,000円以上のご注文で送料無料です。それ未満の場合は一律500円です。"}]},
# ... 数百〜数千件のデータ
]
# 2. 学習データをファイルとしてアップロードする
training_file = openai.files.create(
file=open("data.jsonl", "rb"),
purpose="fine-tune"
)
# 3. 既存のモデルに追加学習させる
fine_tuned_job = openai.fine_tuning.jobs.create(
model="gpt-4o-mini",
training_file=training_file.id
)
# 4. 専門化されたモデルが完成!
# → 自社のカスタマーサポートに特化したAIになる