FINETUNE ('CREATE') (SNOWFLAKE.CORTEX)

微調整ジョブを作成します。調整済みモデルはスキーマのモデルレジストリに保存されます。

構文

SNOWFLAKE.CORTEX.FINETUNE(
  'CREATE',
  '<name>',
  '<base_model>',
  '<training_data_query>'
  [
    , '<validation_data_query>'
    [, '<options>' ]
  ]
)
Copy

必須パラメーター

'CREATE'

微調整ジョブを作成することを指定します。

'name'

モデルレジストリに保存される微調整済みモデルの識別子。これは、保存先のモデルレジストリで一意にする必要があります。複数のモデルが同じ名前を使用して保存しようとした場合、後者のモデルの名前にサフィックスが付加され、一意の名前になります。

識別子にはアルファベット、アンダースコア、10進数(0~9)が使用できます。

また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

'base_model'

微調整するベースモデルを指定する文字列。これは次のいずれかの値である必要があります。

  • 'llama3-8b'

  • 'llama3-70b'

  • 'llama3.1-8b'

  • 'llama3.1-70b'

  • 'mistral-7b'

  • 'mixtral-8x7b'

'training_data_query'

トレーニングデータを取得する SQL クエリ。結果には promptcompletion 列が含まれている必要があります。

オプションのパラメーター

'validation_data_query'

検証データを取得する SQL クエリ。結果には promptcompletion 列が含まれている必要があります。検証データのクエリが指定されていない場合、トレーニングデータは自動的にトレーニングデータと検証データに分割されます。

'options'

トレーニングハイパーパラメーターに影響する以下のオプションを0個以上含む JSON オブジェクトの文字列表現。例: '{"max_epochs": 3}'

  • max_epochs: モデルをトレーニングするエポックの数を制御する、1から10までの値。

    デフォルト: システムによって自動的に決定されます。

戻り値

説明

FINETUNE

STRING

調整ジョブが作成されると、生成された一意のジョブ ID が返されます。

アクセス制御の要件

権限

オブジェクト

メモ

USAGE

DATABASE

トレーニング (および検証) データがクエリされるデータベース。

CREATE MODEL または OWNERSHIP

SCHEMA

モデルが保存されるスキーマ。

検証データによる例:

SELECT SNOWFLAKE.CORTEX.FINETUNE(
  'CREATE',
  'my_tuned_model',
  'mistral-7b',
  'SELECT prompt, completion FROM train',
  'SELECT prompt, completion FROM validation'
);
Copy

検証データなしの例:

SELECT SNOWFLAKE.CORTEX.FINETUNE(
  'CREATE',
  'my_tuned_model',
  'mistral-7b',
  'SELECT prompt, completion FROM train'
);
Copy

出力は、次のような微調整ジョブのジョブ ID:

ft_6556e15c-8f12-4d94-8cb0-87e6f2fd2299