FINETUNE ('CREATE') (SNOWFLAKE.CORTEX)¶
微調整ジョブを作成します。調整済みモデルはスキーマのモデルレジストリに保存されます。
構文¶
SNOWFLAKE.CORTEX.FINETUNE( 'CREATE', '<name>', '<base_model>', '<training_data_query>' [ , '<validation_data_query>' [, '<options>' ] ] ) 必須パラメーター¶
'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 クエリ。結果には
promptとcompletion列が含まれている必要があります。
オプションのパラメーター¶
'validation_data_query'検証データを取得する SQL クエリ。結果には
promptとcompletion列が含まれている必要があります。検証データのクエリが指定されていない場合、トレーニングデータは自動的にトレーニングデータと検証データに分割されます。'options'トレーニングハイパーパラメーターに影響する以下のオプションを0個以上含む JSON オブジェクトの文字列表現。例:
'{"max_epochs": 3}'max_epochs: モデルをトレーニングするエポックの数を制御する、1から10までの値。デフォルト: システムによって自動的に決定されます。
戻り値¶
列 | 型 | 説明 |
|---|---|---|
FINETUNE | 調整ジョブが作成されると、生成された一意のジョブ 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' ); 検証データなしの例:
SELECT SNOWFLAKE.CORTEX.FINETUNE( 'CREATE', 'my_tuned_model', 'mistral-7b', 'SELECT prompt, completion FROM train' ); 出力は、次のような微調整ジョブのジョブ ID:
ft_6556e15c-8f12-4d94-8cb0-87e6f2fd2299 制限事項¶
Snowflake Cortex関数は動的テーブルをサポートしていません。