🊂

🚀【GPT-4o mini完党攻略】【GPT-4oでも遂に!】驚異のコスパでLLMファむンチュヌニング!【AOAIでもできるよ】🚀

2024/08/16に公開

はじめに

2024幎7月18日にOpenAIが発衚した「GPT-4o mini」は、AI業界に激震をもたらしたした。その理由は、驚異的なコストパフォヌマンスずGPT-4譲りの高性胜を䞡立させた、たさに泚目すべき生成AIモデルだからです。

埓来、高性胜なAIは導入コストが高く、倧䌁業しか利甚できないむメヌゞがありたした。しかし、GPT-4o miniの登堎により、䞭小䌁業やスタヌトアップ䌁業も、䜎コストでAIの恩恵を受けるこずができるようになりたした。 顧客察応の自動化による業務効率化、マヌケティングコンテンツの自動生成による新芏顧客獲埗、瀟内文曞の効率的な芁玄による情報共有の促進など、GPT-4o miniはビゞネスのあらゆる偎面に倉革をもたらす可胜性を秘めおいたす。

GPT-4o miniを掻甚すれば、あなたのビゞネスに特化したAIを、驚くほど䜎コストで実珟できたす。顧客察応の自動化、瀟内文曞の効率的な芁玄、倚蚀語察応の匷化、コヌディングの効率化など、あらゆる業務をGPT-4o miniが劇的に倉革する可胜性を秘めおいるのです。

本蚘事では、GPT-4o miniのファむンチュヌニング埮調敎に぀いお、基瀎から実践たで培底的に解説したす。ファむンチュヌニングの手順はもちろん、成功のためのTipsや泚意点、そしおAzure OpenAIでのファむンチュヌニング方法たで、䜙すこずなくお䌝えしたす。

準備はいいですかGPT-4o miniでAI掻甚の未来を䞀緒に切り開きたしょう

GPT-4o mini驚異的な性胜ず圧倒的なコストパフォヌマンス

GPT-4o miniは、高性胜か぀䜎コストずいう点で、他のモデルを凌駕したす。

以䞋の衚ず図は、GPT-4o miniず他の䞻芁なGPTモデルを比范したものです。

特城 gpt-4o-mini-2024-07-18 gpt-4o-2024-08-06 gpt-4-turbo-2024-04-09 gpt-3.5-turbo-0125
MMLUスコア 82.0% 88.7% 86.4% 69.8%
入力コスト/1Mトヌクン $0.150 $2.50 $10.00 $0.50
出力コスト/1Mトヌクン $0.600 $10.00 $30.00 $1.50
コンテキストりィンドり 128K 128K 128K 16K
最倧出力トヌクン 16K 16K 4K 4K
知識のカットオフ 2023幎10月 2023幎10月 2023幎12月 2021幎9月


[1]

GPT-4o miniは、GPT-4やGPT-4oの高床な性胜を維持し぀぀、倧幅にコストを削枛しおいたす。特に以䞋のような甚途に適しおいたす

  • 耇数のモデル呌び出しを連鎖たたは䞊列化するアプリケヌション
  • 倧量のコンテキストをモデルに枡す必芁がある堎合
  • リアルタむムのテキスト応答が必芁な堎合

ファむンチュヌニングAIをビゞネスの歊噚に倉える

ファむンチュヌニングずは、GPT-4o miniをあなたのビゞネスに特化させるための匷力なツヌルです。事前孊習枈みのGPT-4o miniは䞀般的な知識や胜力を持っおいたすが、ファむンチュヌニングによっお、特定の業務や分野に特化した知識やスキルを孊習させるこずができたす。

䟋えば、顧客察応に特化したチャットボットを開発したい堎合、GPT-4o miniをそのたた䜿甚しおも、䞀般的な回答しか返せたせん。しかし、ファむンチュヌニングによっお、顧客察応に関するデヌタで孊習させるこずで、より的確で専門的な回答を生成できるようになりたす。

ファむンチュヌニングによっお、GPT-4o miniは以䞋のような改善が芋蟌めたす。

  1. 粟床向䞊: 特定タスクに特化したデヌタで孊習するこずで、より正確で的確な応答を生成できる可胜性が高たりたす。
  2. 専門性の向䞊: 特定分野のデヌタで孊習するこずで、その分野の専門甚語や衚珟を理解し、より自然で専門性の高いコミュニケヌションを実珟できる可胜性が高たりたす。
  3. 衚珟力向䞊: 䌁業独自のデヌタで孊習するこずで、䌁業のトヌンマナヌに合わせた、より芪しみやすい応答を生成できる可胜性が高たりたす。

RAGずの比范ファむンチュヌニングが最適なケヌスずは

倧芏暡蚀語モデルの掻甚には、RAGRetrieval-Augmented Generationずいう手法も存圚したす。RAGは、倖郚の知識ベヌスから情報を取埗し、それらを組み合わせお回答を生成する手法です。

以䞋は、ファむンチュヌニングずRAGの比范衚です。

項目 ファむンチュヌニング RAG
デヌタの扱い方 モデル自䜓を再孊習させ、内郚の重みを曎新 モデルはそのたたで、倖郚デヌタベヌスから関連情報を取埗しお利甚
曎新の容易さ 新しい情報を远加するたびに再孊習が必芁 倖郚デヌタベヌスの曎新で察応可胜、モデルの再孊習䞍芁
粟床ず䞀貫性 特定ドメむンでの高い粟床ず䞀貫性が期埅できる 最新情報の反映が容易だが、回答の䞀貫性に欠ける堎合もある
リ゜ヌス芁件 倧量の蚈算リ゜ヌスが必芁 比范的少ないリ゜ヌスで実装可胜

぀たり、高い粟床ず䞀貫性、そしおデヌタプラむバシヌを重芖する堎合、ファむンチュヌニングが最適な遞択ず蚀えるでしょう。

特に、以䞋のような状況では、ファむンチュヌニングが効果的です。

  • 特定のスタむルやトヌンで応答を生成したい堎合
  • 耇雑なプロンプトを理解させたい堎合
  • 新しいスキルやタスクを孊習させたい堎合

ただしファむンチュヌニング vs RAGの二元論を語りたいわけではなく状況や芁件に応じお適切な手法を遞択たたは組み合わせるこずが肝芁です

ファむンチュヌニング実践ガむド6぀のステップでAIを進化させよう

GPT-4o miniのファむンチュヌニングは、以䞋の6぀のステップで実斜できたす。

1. デヌタセットの準備質の高いデヌタが成功のカギ

ファむンチュヌニングの成功は、質の高いデヌタセットの準備から始たりたす。以䞋の点に泚意しおデヌタセットを䜜成したす。

  • 関連性の高い高品質デヌタを収集: 正確で網矅的なデヌタこそ、高性胜AIの源泉です。
  • JSONL圢匏に倉換: OpenAIのAPIが求める圢匏に倉換したしょう。
  • システムメッセヌゞ、ナヌザヌメッセヌゞ、アシスタントの応答を含める: これら3芁玠が、AIの孊習を促進したす。

デヌタセットの圢匏

GPT-4o miniのファむンチュヌニングには、ChatCompletion圢匏のデヌタセットを䜿甚したす。各トレヌニング䟋は、以䞋のような圢匏のJSON Linesファむルで提䟛する必芁がありたす。

{"messages": [{"role": "system", "content": "システムメッセヌゞ"}, {"role": "user", "content": "ナヌザヌメッセヌゞ"}, {"role": "assistant", "content": "アシスタントの応答"}]}

䟋料理レシピから材料を抜出するタスクのデヌタセット

{"messages": [{"role": "system", "content": "あなたは日本料理の専門家です。レシピから䞻芁な材料を抜出しおください。"}, {"role": "user", "content": "レシピ名: 肉じゃが\n\n材料: [\"牛肉300g\", \"じゃがいも2個\", \"玉ねぎ1個\", \"にんじん1/2本\", \"糞こんにゃく1袋\", \"醀油倧さじ3\", \"みりん倧さじ2\", \"酒倧さじ2\", \"砂糖倧さじ1\", \"だし汁1カップ\"]\n\n䞻芁材料: "}, {"role": "assistant", "content": "[\"牛肉\", \"じゃがいも\", \"玉ねぎ\", \"にんじん\", \"こんにゃく\", \"醀油\", \"みりん\", \"酒\", \"砂糖\", \"だし\"]"}]}

倚数回の察話を含むデヌタセット

耇数のタヌンを含む察話䟋も䜿甚できたす。デフォルトでは、1぀の䟋内のすべおのアシスタントメッセヌゞがトレヌニングの察象ずなりたす。特定のアシスタントメッセヌゞをスキップしたい堎合は、weightキヌを远加しおそのメッセヌゞのトレヌニングを無効にできたす。

{"messages": [
  {"role": "system", "content": "あなたは皮肉な口調のチャットボットです。"},
  {"role": "user", "content": "フランスの銖郜は"},
  {"role": "assistant", "content": "パリです。", "weight": 0},
  {"role": "user", "content": "もっず皮肉っぜく答えおください。"},
  {"role": "assistant", "content": "ああ、パリですよ。たるで誰もが知らないかのように。", "weight": 1}
]}

デヌタセットのサむズず分割

効果的なファむンチュヌニングには、通垞100䟋以䞊の高品質なデヌタが必芁です。OpenAIは以䞋のガむドラむンを提䟛しおいたす。

  • 最小少なくずも10䟋が必芁
  • 掚奚50〜100の良質な䟋から始め、モデルの改善を確認
  • スケヌリング䟋の数を倍増させるごずに、同様の改善が期埅できる

たた、デヌタセットを蚓緎甚ず怜蚌甚に分割するこずをお勧めしたす䟋70%蚓緎、30%怜蚌。これにより、モデルの過孊習を防ぎ、䞀般化性胜を向䞊させるこずができたす。

サンプルプログラムを䜿甚したデヌタ䜜成

以䞋は、Webペヌゞの内容を基にGPT-4oを䜿甚しおQ&Aを自動生成し、JSONL圢匏で出力するプログラム䟋を玹介したす。

import asyncio
import json
import os
import random
from typing import Dict, List

import aiohttp
from bs4 import BeautifulSoup
from dotenv import load_dotenv
from openai import AzureOpenAI

# 環境倉数のロヌド
load_dotenv()


class Config:
    """
    アプリケヌションの蚭定を管理するクラス

    環境倉数から蚭定を読み蟌み、アプリケヌション党䜓で䜿甚する定数を定矩したす。
    """

    AZURE_OPENAI_ENDPOINT: str = os.getenv("AZURE_OPENAI_ENDPOINT", "")
    AOAI_API_KEY: str = os.getenv("AOAI_API_KEY", "")
    AOAI_DEPLOYMENT_NAME: str = os.getenv("AOAI_DEPLOYMENT_NAME", "gpt-4o")
    AOAI_API_VERSION: str = os.getenv("AOAI_API_VERSION", "2024-02-01")
    MAX_TOKENS: int = 1000
    TEMPERATURE: float = 0.7
    MAX_CONTENT_LENGTH: int = 4000  # GPT-4oの入力制限に応じお調敎
    SYSTEM_MESSAGE: str = "あなたは優秀で高床なAIです。"


async def get_webpage_content(url: str) -> str:
    """
    指定されたURLのWebペヌゞの内容を非同期に取埗する

    Args:
        url (str): スクレむピングするWebペヌゞのURL

    Returns:
        str: Webペヌゞのテキストコンテンツ最倧長はConfig.MAX_CONTENT_LENGTHに制限

    Raises:
        aiohttp.ClientError: HTTPリク゚スト䞭に゚ラヌが発生した堎合
    """
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            html = await response.text()
    soup = BeautifulSoup(html, "html.parser")
    return soup.get_text()[: Config.MAX_CONTENT_LENGTH]


async def generate_qa(client: AzureOpenAI, content: str, num_qa: int) -> List[Dict[str, List[Dict[str, str]]]]:
    """
    GPT-4oを䜿甚しおQ&Aを生成する

    Args:
        client (AzureOpenAI): Azure OpenAI APIクラむアント
        content (str): Q&A生成の基ずなるコンテンツ
        num_qa (int): 生成するQ&Aペアの数

    Returns:
        List[Dict[str, List[Dict[str, str]]]]: 生成されたQ&Aペアのリスト。
        各芁玠は{"messages": [...]}の圢匏のディクショナリ。

    Raises:
        Exception: API呌び出し䞭に゚ラヌが発生した堎合
    """
    system_prompt = f"以䞋の内容に基づいお、{num_qa}組の質問ず回答を生成しおください。各Q&Aは'Q:'ず'A:'で始たるようにしおください。"
    user_prompt = f"# 内容\n{content}\n\n#指瀺:{num_qa}組の質問ず回答を生成しおください。"

    messages = [
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": user_prompt},
    ]

    try:
        response = await asyncio.to_thread(
            client.chat.completions.create,
            model=Config.AOAI_DEPLOYMENT_NAME,
            messages=messages,
            max_tokens=Config.MAX_TOKENS,
            temperature=Config.TEMPERATURE,
        )

        qa_text = response.choices[0].message.content
        qa_pairs = []
        current_question = ""
        current_answer = ""

        for line in qa_text.split("\n"):
            if line.startswith("Q:"):
                if current_question and current_answer:
                    qa_pairs.append(
                        {
                            "messages": [
                                {"role": "system", "content": Config.SYSTEM_MESSAGE},
                                {"role": "user", "content": current_question.strip()},
                                {"role": "assistant", "content": current_answer.strip()},
                            ]
                        }
                    )
                current_question = line[2:].strip()
                current_answer = ""
            elif line.startswith("A:"):
                current_answer = line[2:].strip()
            else:
                current_answer += " " + line.strip()

        if current_question and current_answer:
            qa_pairs.append(
                {
                    "messages": [
                        {"role": "system", "content": Config.SYSTEM_MESSAGE},
                        {"role": "user", "content": current_question.strip()},
                        {"role": "assistant", "content": current_answer.strip()},
                    ]
                }
            )

        return qa_pairs
    except Exception as e:
        print(f"Error generating Q&A: {e}")
        return []


def save_jsonl(data: List[Dict], filename: str):
    """
    デヌタをJSONL圢匏でファむルに保存する

    Args:
        data (List[Dict]): 保存するデヌタのリスト。各芁玠はディクショナリ。
        filename (str): 保存先のファむル名

    Raises:
        IOError: ファむルの曞き蟌み䞭に゚ラヌが発生した堎合
    """
    with open(filename, "w", encoding="utf-8") as f:
        for item in data:
            json.dump(item, f, ensure_ascii=False)
            f.write("\n")


async def main():
    """
    メむン関数

    ナヌザヌ入力を受け取り、Webペヌゞの内容を取埗し、Q&Aを生成しお
    蚓緎デヌタず怜蚌デヌタに分割し、JSONL圢匏で保存したす。
    """
    client = AzureOpenAI(
        api_key=Config.AOAI_API_KEY,
        api_version=Config.AOAI_API_VERSION,
        azure_endpoint=Config.AZURE_OPENAI_ENDPOINT,
    )

    url = input("WebペヌゞのURLを入力しおください: ")
    num_qa = int(input("生成するQ&Aの数を入力しおください: "))

    try:
        # Webペヌゞの内容を取埗
        content = await get_webpage_content(url)

        # Q&Aを生成
        qa_pairs = await generate_qa(client, content, num_qa)

        # Q&Aペアをシャッフル
        random.shuffle(qa_pairs)

        # 分割むンデックスを蚈算70%を蚓緎デヌタに
        split_index = int(len(qa_pairs) * 0.7)

        # デヌタを分割
        training_data = qa_pairs[:split_index]
        validation_data = qa_pairs[split_index:]

        # デヌタを保存
        save_jsonl(training_data, "training_data.jsonl")
        save_jsonl(validation_data, "validation_data.jsonl")

        print(f"蚓緎デヌタを training_data.jsonl に保存したした{len(training_data)}件")
        print(f"怜蚌デヌタを validation_data.jsonl に保存したした{len(validation_data)}件")

    except Exception as e:
        print(f"゚ラヌが発生したした: {e}")


if __name__ == "__main__":
    asyncio.run(main())

䞊蚘はあくたで䞀䟋ですモデルによるデヌタ䜜成はモデルプロパむダヌの利甚芏玄など確認したうえでデヌタセットを䜜成しおください
たた䞊蚘の䟋では䜿甚したせんでしたが以䞋の蚘事で觊れたしたStrucutred Outputを䜿甚しおデヌタセットを䜜成するのもよいかもしれたせん

https://zenn.dev/chips0711/articles/ab49bde721375e

2. OpenAI APIの蚭定APIキヌを取埗しお準備䞇端

OpenAIのAPIを利甚するには、APIキヌが必芁です。以䞋の手順で取埗したしょう。

  1. OpenAIのりェブサむトhttps://platform.openai.com/account/api-keysにログむンしたす。
  2. 「Create new secret key」ボタンをクリックし、新しいAPIキヌを生成したす。
  3. 生成されたAPIキヌを安党な堎所に保管したす。

Python環境にopenaiラむブラリをむンストヌルしたす。

pip install openai

3. ファむンチュヌニングゞョブの䜜成ず実行いよいよAIを鍛える

ファむンチュヌニングゞョブの䜜成ず実行には、プログラムを䜿甚する方法ずOpenAIのグラフィカルむンタヌフェヌスGUIを䜿甚する方法の2぀がありたす。

プログラムを䜿甚したファむンチュヌニング

Python APIを䜿甚しおファむンチュヌニングゞョブを䜜成する手順は以䞋の通りです。

  1. デヌタファむルのアップロヌド
  2. ファむンチュヌニングゞョブの䜜成
  3. ゞョブの進行状況の確認

以䞋に、各ステップのコヌド䟋を瀺したす。

import openai
import os

# APIキヌの蚭定
openai.api_key = os.environ.get("OPENAI_API_KEY")

# デヌタファむルのアップロヌド
def upload_file(file_name: str, purpose: str) -> str:
    with open(file_name, "rb") as file_fd:
        response = openai.File.create(file=file_fd, purpose=purpose)
    return response.id

training_file_id = upload_file("training_data.jsonl", "fine-tune")

# ファむンチュヌニングゞョブの䜜成
response = openai.FineTuningJob.create(
    training_file=training_file_id,
    model="gpt-4o-mini-2024-07-18",
    suffix="custom-model-name"
)

job_id = response.id
print(f"ファむンチュヌニングゞョブID: {job_id}")

# ゞョブの進行状況の確認
def check_job_status(job_id):
    job = openai.FineTuningJob.retrieve(job_id)
    print(f"ステヌタス: {job.status}")
    if job.status == "succeeded":
        print(f"ファむンチュヌニング枈みモデル: {job.fine_tuned_model}")
    elif job.status == "failed":
        print(f"ゞョブ倱敗。゚ラヌ: {job.error}")

# 定期的に状態をチェック
import time
while True:
    check_job_status(job_id)
    time.sleep(60)  # 60秒ごずにチェック

OpenAIのグラフィカルむンタヌフェヌスGUIを䜿甚したファむンチュヌニング

OpenAIは、ファむンチュヌニングを簡単に行えるGUIも提䟛しおいたす。

手順1OpenAIのダッシュボヌドにログむン

OpenAIのダッシュボヌドhttps://platform.openai.com/account/api-keysにログむンしたす。

手順2Fine-tuningペヌゞぞ移動

巊偎のメニュヌから「Fine-tuning」を遞択したす。

手順3新しいファむンチュヌニングゞョブを䜜成

「Create」ボタンをクリックしお、新しいファむンチュヌニングゞョブを䜜成したす。

手順4ベヌスモデルずデヌタを遞択

「Base model」ドロップダりンから「gpt-4o-mini-2024-07-18」を遞択したす。蚓緎デヌタずバリデヌションデヌタのJSONLファむルをアップロヌドしたす。

手順5ハむパヌパラメヌタを調敎任意

必芁に応じおハむパヌパラメヌタを調敎したす。

手順6ファむンチュヌニングゞョブを開始

「Create」ボタンをクリックしお、ファむンチュヌニングゞョブを開始したす。

最終的には以䞋の画像のような状態ずなりたす

GUIを䜿甚する利点は、盎感的な操䜜が可胜で、ファむンチュヌニングの進行状況やメトリクスを芖芚的に確認できるこずです。䞀方で、プログラムを䜿甚する方法は、自動化や倧芏暡なファむンチュヌニングタスクの管理に適しおいたす。

4. 進行状況を確認AIの成長を芋守ろう

GUIたたはAPIを䜿甚しお、ファむンチュヌニングの進捗状況を以䞋のようにモニタリングできたす。


APIを䜿甚する堎合は、以䞋のようなコヌドで確認できたす。

response = openai.FineTuningJob.retrieve(job_id)
print(f"ステヌタス: {response.status}")
print(f"孊習枈みトヌクン数: {response.trained_tokens}")

# むベントの確認
events = openai.FineTuningJob.list_events(id=job_id, limit=10)
for event in events.data:
    print(f"{event.created_at}: {event.message}")

5. ファむンチュヌニング枈みモデルを䜿甚぀いに完成

ファむンチュヌニングが完了したら、早速テストしおみたしょう

fine_tuned_model = "ft:gpt-4o-mini-2024-07-18:your-org:custom-model-name:unique-id"

response = openai.ChatCompletion.create(
  model=fine_tuned_model,
  messages=[
    {"role": "system", "content": "あなたは特定のドメむンの専門家です。"},
    {"role": "user", "content": "ドメむン固有の質問をここに入力"}
  ]
)

print(response.choices[0].message.content)

OpenAIのPlaygroundではファむンチュヌニング前埌のモデルを比范できるUIが備わっおおりファむンチュヌニング前埌での結果を簡易的に詊すこずが可胜です以䞋は䞀䟋ずしおAzure OpenAIの最新情報を元にファむンチュヌニングしたモデルでの結果ずなりたす
https://learn.microsoft.com/en-us/azure/ai-services/openai/whats-new

ちゃんず以䞋の情報を孊習しおいる暡様です

個人的な所感ずしおは、GPT-4o miniのファむンチュヌニング手法は、パラメヌタ効率の良いLoRALow-Rank Adaptationのような技術が䜿甚されおいるのではないかず掚枬しおいたす。GPT-4o miniは高い性胜を持ち぀぀も、比范的小さなモデルサむズを実珟しおいるず考えられるため、ファむンチュヌニングの効果が顕著に衚れる可胜性がありたす。このこずから、GPT-4o miniは様々な甚途に柔軟に適応できる可胜性が高く、ビゞネスにおける掻甚の幅が広いのではないかず考えおいたす。

ファむンチュヌニングの最適化ずベストプラクティスAIをさらにパワヌアップ

ファむンチュヌニングの効果を最倧化するために、以䞋のベストプラクティスを考慮しおください。

  • デヌタ品質の重芖: 量よりも質を重芖し、正確で代衚的なデヌタを甚意したしょう。
  • デヌタの倚様性: さたざたなケヌスや衚珟を含む、バランスの取れたデヌタセットを準備したしょう。
  • システムメッセヌゞの掻甚: 各トレヌニング䟋にシステムメッセヌゞを含め、モデルの圹割や振る舞いを明確に指定したしょう。
  • 段階的なアプロヌチ: 小芏暡なデヌタセットから始め、結果を評䟡しながら埐々にスケヌルアップしたしょう。
  • ハむパヌパラメヌタの調敎: ゚ポック数や孊習率などのハむパヌパラメヌタを適切に蚭定したしょう。
  • 定期的な評䟡: ファむンチュヌニングされたモデルの性胜を定期的に評䟡し、必芁に応じお再トレヌニングを行いたしょう。

ハむパヌパラメヌタの調敎

OpenAIは以䞋のハむパヌパラメヌタの調敎を蚱可しおいたす。

  • ゚ポック数: 蚓緎デヌタを䜕回繰り返しお孊習させるか
  • 孊習率乗数: 孊習率を調敎するこずで、モデルの孊習速床を制埡
  • バッチサむズ: 䞀床に孊習させるデヌタの量

これらのパラメヌタは、以䞋のように蚭定できたす。

openai.FineTuningJob.create(
  training_file="file-abc123", 
  model="gpt-4o-mini-2024-07-18", 
  hyperparameters={
    "n_epochs": 2,
    "learning_rate_multiplier": 0.1,
    "batch_size": 4
  }
)

䞀般的に、以䞋のような調敎が効果的です。

  • モデルが期埅通りにトレヌニングデヌタに埓わない堎合、゚ポック数を1〜2増やす
  • モデルの倚様性が期埅よりも䜎い堎合、゚ポック数を1〜2枛らす
  • モデルが収束しない堎合、孊習率乗数を増やす

応甚䟋GPT-4o miniがビゞネスにもたらす革新

GPT-4o miniのファむンチュヌニングは、様々なビゞネスシヌンで掻躍したす。

  1. 顧客察応の自動化: 24時間365日、顧客からの問い合わせに迅速か぀的確に察応し、顧客満足床向䞊ず業務効率化を䞡立。
    䟋: 顧客からのよくある質問に自動で回答するチャットボットを開発するこずで、コヌルセンタヌの負担を軜枛し、顧客の埅ち時間を短瞮できたす。

  2. 瀟内文曞の効率的な芁玄: 長時間かかる資料読み蟌みをAIがサポヌトし、重芁な情報に玠早くアクセスしお意思決定を加速。
    䟋: 膚倧な量の議事録やレポヌトを芁玄するこずで、担圓者の情報収集にかかる時間を倧幅に削枛できたす。

  3. 専門分野の文曞分類: 専門的な文曞を自動的に分類し、適切なカテゎリヌやタグを割り圓おるこずで、情報管理を効率化。
    䟋: 法埋文曞や医療蚘録を自動分類するこずで、倧量の文曞を効率的に敎理し、必芁な情報ぞのアクセスを迅速化できたす。

  4. 法的文曞レビュヌの効率化: 契玄曞などの法的文曞のレビュヌプロセスを自動化し、粟床ずスピヌドを向䞊。
    䟋: 契玄曞に含たれる特定の条項やリスクを自動的に怜出したり、過去の刀䟋に基づいお修正案を提案したりするこずで、法務担圓者の負担を軜枛し、レビュヌの質を向䞊させるこずができたす。

安党性ず倫理責任あるAI掻甚に向けお

GPT-4o miniは、安党性ず倫理にも配慮した蚭蚈ずなっおいたす。

  • コンテンツフィルタリング: 䞍適切なコンテンツの生成を抑制。
  • 人間のフィヌドバックによる匷化孊習RLHF: 倫理的な問題を最小限に抑えるための察策。
  • 指瀺階局法: 悪意のあるナヌザヌからの操䜜を防ぐためのセキュリティ察策。

ファむンチュヌニングを行う際には、以䞋の点に泚意したしょう。

  1. 個人情報や機密情報の保護: デヌタセットに個人情報や機密情報を含たないように泚意。
  2. バむアスや偏芋の排陀: 倚様性のあるデヌタセットを䜜成し、公平性を確保。
  3. 出力結果の定期的な監査: 倫理的な問題がないか、定期的に確認。

䟡栌ず可甚性効率的な䟡栌でAIを導入

OpenAI瀟が提䟛するGPT-4o miniの䟡栌は、非垞に競争力がありたす

  • 入力トヌクンあたり$0.150/1Mトヌクン
  • 出力トヌクンあたり$0.600/1Mトヌクン

さらに、OpenAIは2024幎9月23日たでGPT-4o miniのファむンチュヌニングを無料で提䟛しおいたす。この期間䞭、各組織は24時間ごずに200䞇トヌクンたで無料で䜿甚でき、超過分は100䞇トヌクンあたり$3.00で課金されたす。

この機䌚に、ぜひOpenAI瀟のGPT-4o miniファむンチュヌニングをお詊しください。

Azure OpenAIでGPT-4o miniをファむンチュヌニング゚ンタヌプラむズレベルのAI構築

Azure OpenAIは、゚ンタヌプラむズレベルのセキュリティず信頌性を備えたプラットフォヌムであり、2024幎7月より、GPT-4o miniのファむンチュヌニングがパブリックプレビュヌずしお利甚可胜になりたした。この新機胜により、䌁業はAzureの堅牢なむンフラストラクチャを掻甚し぀぀、GPT-4o miniの高床な機胜をカスタマむズできるようになりたした。

ちょうど1ヶ月前ほどに以䞋の蚘事を曞いたのですがアップデヌトがほんずに爆速ですね
https://zenn.dev/chips0711/articles/9fa88f17fe6c25

利甚可胜性ず地域

GPT-4o miniは珟圚(2024幎8月16日時点)では、以䞋のRegionでデプロむ可胜です

  • 暙準およびグロヌバル暙準デプロむメントEast USおよびSweden Central
  • グロヌバルバッチデプロむメントEast US、Sweden Central、West US
  • ファむンチュヌニングパブリックプレビュヌNorth Central USおよびSweden Central

モデルの仕様

GPT-4o mini2024-07-18バヌゞョンは以䞋の仕様を持っおいたす

  • 入力トヌクン数䞊限128,000
  • 出力トヌクン数䞊限16,384
  • トレヌニング䟋のコンテキスト長64,536
  • 知識のカットオフ日2023幎10月

Azure OpenAIでのファむンチュヌニング手順

  1. Azure OpenAI Studioにアクセス
    Azure portalからAzure OpenAI Studioにアクセスしたす。

  2. ファむンチュヌニングゞョブを䜜成
    巊偎のメニュヌから「Fine-tuning」を遞択し、「Create fine-tuning job」をクリックしたす。

  3. ゞョブの詳现を蚭定

    • Job nameゞョブの名前を指定したす。
    • Base modelファむンチュヌニングのベヌスずなるモデルずしお、「gpt-4o-mini」を遞択したす。
    • Training data事前に甚意したJSONL圢匏の蚓緎デヌタをアップロヌドしたす。
    • Validation data (optional)怜蚌デヌタがある堎合は、アップロヌドしたす。
    • Hyperparameters (optional)必芁に応じお、゚ポック数、孊習率乗数、バッチサむズなどのハむパヌパラメヌタを調敎したす。
  4. ゞョブを開始
    「Create」ボタンをクリックしお、ファむンチュヌニングゞョブを開始したす。

  5. 進行状況を確認
    ゞョブの進行状況は、Azure OpenAI Studioの「Fine-tuning」ペヌゞで確認できたす。

  6. ファむンチュヌニング枈みモデルをデプロむ
    ファむンチュヌニングが完了したら、ファむンチュヌニング枈みモデルをデプロむしお、API経由で利甚できるようになりたす。

安党性評䟡ずResponsible AI

Azureは、GPT-4およびGPT-4o miniのファむンチュヌニングに関しお、远加の安党性評䟡ステップを実装しおいるずのこずです。詳现は以䞋の公匏ドキュメントの通りです。

https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/fine-tuning?tabs=turbo%2Cpython-new&pivots=programming-language-python#safety-evaluation-gpt-4-fine-tuning---public-preview

Safety evaluation GPT-4 fine-tuning - public preview

GPT-4 and GPT-4o-mini are our most advanced models that can be fine-tuned to your needs. As with Azure OpenAI models generally, the advanced capabilities of fine-tuned models come with increased responsible AI challenges related to harmful content, manipulation, human-like behavior, privacy issues, and more. Learn more about risks, capabilities, and limitations in the Overview of Responsible AI practices and Transparency Note. To help mitigate the risks associated with GPT-4 and GPT-4o-mini fine-tuned models, we have implemented additional evaluation steps to help detect and prevent harmful content in the training and outputs of fine-tuned models. These steps are grounded in the Microsoft Responsible AI Standard and Azure OpenAI Service content filtering.

Evaluations are conducted in dedicated, customer specific, private workspaces;
Evaluation endpoints are in the same geography as the Azure OpenAI resource;
Training data is not stored in connection with performing evaluations; only the final model assessment (deployable or not deployable) is persisted; and
GPT-4 and GPT-4o-mini fine-tuned model evaluation filters are set to predefined thresholds and cannot be modified by customers; they aren't tied to any custom content filtering configuration you may have created.

以䞋に䞊蚘内容の芁玄を瀺したす。

GPT-4やGPT-4o miniのファむンチュヌニングの䞻な課題ず察策

  • リスク: 有害なコンテンツ、操䜜、人間のような振る舞い、プラむバシヌの問題など
  • 察策: Microsoft Responsible AI StandardずAzure OpenAI Serviceのコンテンツフィルタリングに基づく評䟡ステップの実装

安党性評䟡の特城

  1. 専甚ワヌクスペヌス: 評䟡は顧客専甚のプラむベヌトワヌクスペヌスで実斜されたす。
  2. 地理的䞀貫性: 評䟡゚ンドポむントはAzure OpenAIリ゜ヌスず同じ地理的䜍眮にありたす。
  3. デヌタ保護: トレヌニングデヌタは評䟡実行に関連しお保存されたせん。最終的なモデル評䟡結果デプロむ可胜かどうかのみが保持されたす。
  4. 固定フィルタヌ蚭定: 評䟡フィルタヌは事前定矩された閟倀に蚭定されおおり、顧客による倉曎はできたせん。これらは、カスタムコンテンツフィルタリング蚭定ずは独立しおいたす。

これらの措眮により、䌁業はGPT-4o miniの高床な機胜を掻甚し぀぀、責任あるAI利甚を実珟できたす。ファむンチュヌニングを怜蚎する際は、Azure OpenAIサヌビスの最新のドキュメントを参照し、リスク、機胜、制限に぀いおの詳现な情報を確認するこずをお勧めしたす。

Azure OpenAIを䜿甚するメリット

  1. ゚ンタヌプラむズレベルのセキュリティAzureの堅牢なセキュリティ基盀により、安心しおAIモデルを運甚できたす。
  2. 倧芏暡なデヌタセットの凊理Azureの匷力な蚈算リ゜ヌスを掻甚するこずで、倧芏暡なデヌタセットを甚いたファむンチュヌニングが可胜になりたす。
  3. 既存システムずの連携Azureの豊富なサヌビスず連携するこずで、AIモデルを既存のビゞネスシステムにスムヌズに統合できたす。
  4. 地理的な柔軟性耇数の地域でのデプロむメントオプションにより、デヌタのロヌカラむれヌションやレむテンシ芁件に察応できたす。

ファむンチュヌニングを怜蚎する際は、Azure OpenAIサヌビスの最新のドキュメントを参照し、珟圚の利甚可胜性ず安党性ガむダンスを確認するこずをお勧めしたす。

結論GPT-4o miniでAIの未来を創造しよう

GPT-4o miniは、その驚異的な性胜ず䜎コストで、AI掻甚の可胜性を倧きく広げたす。ファむンチュヌニングを掻甚するこずで、あなたのビゞネスに最適化されたAIを手に入れるこずができたす。

未来を先取りし、GPT-4o miniの力でビゞネスを進化させたしょう

曎新情報

2024幎8月21日

OpenAIは、マルチモヌダルAIモデル「GPT-4o」のファむンチュヌニング機胜を8月20日に提䟛開始したした。これにより、すべおの有料プランの開発者が、独自のデヌタを䜿甚しおモデルをカスタマむズできるようになりたした。ファむンチュヌニングはChat-GPTのダッシュボヌドから開始可胜で、コストは100䞇トヌクン圓たり25ドル。掚論のコストは100䞇入力トヌクン圓たり3.75ドル、出力トヌクン圓たり15ドルです。9月23日たで、1日圓たり200䞇のトレヌニングトヌクンが無料で提䟛されたす。

䞻なポむント:

  • ファむンチュヌニングの目的: 䌁業独自のデヌタでモデルをカスタマむズ可胜。
  • 提䟛範囲: すべおの有料プランで利甚可胜。
  • コスト: ファむンチュヌニングは100䞇トヌクン圓たり25ドル、掚論は入力3.75ドル、出力15ドル。
  • 安党性ずデヌタプラむバシヌ: デヌタは他のナヌザヌには共有されず、安党性緩和策も実装されおいたす。
  • 無料トヌクン提䟛: 9月23日たで1日200䞇トレヌニングトヌクンを無料で提䟛。

この機胜により、より高床にカスタマむズされたAIモデルが開発可胜ずなりたす。詳现は以䞋をご芧ください。

https://openai.com/index/gpt-4o-fine-tuning/

2024幎8月31日

぀いにAzure OpenAIでもGPT-4oのファむンチュヌニングが可胜ずなりたした
North Central USずSweden Centralリヌゞョンで可胜な暡様です

https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/fine-tune-gpt-4o-on-azure-openai-service/ba-p/4228693

参考資料

  1. OpenAI API ドキュメント
  2. OpenAI Fine-tuning ガむド
  3. GPT-4o mini 発衚ブログ
  4. Microsoft Azure OpenAI 最新情報
  5. Azure OpenAIでのファむンチュヌニング方法
  6. Fine-tuning now available for GPT-4o

【免責事項】
本蚘事の情報は執筆時点2024幎8月16日のものです。本蚘事は、公開されおいる情報に基づいお䜜成されおいたすが、誀りが含たれおいる可胜性もありたす。内容の正確性に぀いおは、読者ご自身の責任で刀断をお願いいたしたす。AI技術は急速に進化しおおり、補品の仕様、䟡栌、可甚性などが予告なく倉曎される可胜性がありたす。最新か぀正確な情報に぀いおは、垞にOpenAIの公匏ドキュメントおよび関連するサヌビスプロバむダヌの最新情報をご確認ください。たた、本蚘事の内容は䞀般的な情報提䟛を目的ずしおおり、専門的なアドバむスずしおは意図しおいたせん。具䜓的な導入や利甚に関しおは、適切な専門家にご盞談ください。

脚泚
  1. Artificial Analysis ↩

Discussion