hat-chefUnsloth Data Recipes

Unsloth StudioのData Recipesを使ってデータセットを作成、構築、編集する方法を学びましょう。

Unsloth Studio の Data Recipes では、PDF や CSV ファイルのような文書をアップロードし、それらを使える/合成データセットへ変換できます。グラフノードのワークフローを使って、データセットを視覚的に作成・編集します。このガイドでは、Unsloth Data Recipes に入る前に基本を学べるようにします。

Data Recipes の仕組み

Data Recipes は同じ基本的な流れに従います。レシピページを開き、レシピを作成または選択し、エディタでワークフローを構築し、検証してプレビューを実行し、出力が適切であればフルデータセットを実行します。シードデータと生成ブロックを追加し、ワークフローを検証し、サンプル出力をプレビューしてから、フルデータセットのビルドを実行します。Unsloth Data Recipes は NVIDIA Nemo Data Designerarrow-up-right.

データセットの生成とモデルのファインチューニングの例

全体を見ると、通常のワークフローは次のようになります:

  1. レシピページを開きます。

  2. 新しいレシピを作成するか、既存のものを開きます。

  3. ブロックを追加して、データセットのワークフローを定義します。

  4. をクリックします 検証 して、設定の問題を早期に見つけます。

  5. プレビューを実行して、サンプル行をすばやく確認します。

  6. レシピの準備ができたら、フルデータセットのビルドを実行します。

  7. 進捗と出力をグラフ上、または 実行 ビューでリアルタイムに確認し、詳細を見ます。

  8. 結果のデータセットを Studio で選択し、モデルをファインチューニングします。

始める

レシピページが主な入口です。レシピはブラウザ内にローカル保存されるため、保存した作業に後で戻れます。ここから、空のレシピを作成するか、ガイド付きの学習用レシピを開けます。

circle-info

レシピはエクスポートとインポートができるので、他の Unsloth ユーザーとワークフローを簡単に共有できます 🎉。特定のデータセットパターンを作りたい場合は、Unsloth Discord で質問してください。すでに共有できるレシピを持っている人がいるかもしれません。

レシピのランディングページ

ワークフローの概念に慣れていないなら、学習用レシピが、シードデータ、プロンプト、式、バリデーターが 1 つの動く例でどう組み合わさるかを最速で理解できます。すでに欲しいデータセットの形が分かっているなら、最初から空で始める方が通常は早いです。

開始方法を選ぶ

もし次のことをしたいなら:
開始は:

カスタムワークフローをすばやく構築する

空から開始

例を通して製品を学ぶ

学習用レシピから開始

前回の作業を続ける

保存済みレシピを開く

エディタで作るもの

エディタはレシピが形になる場所です。ブロックシートからブロックを追加し、ダイアログで設定し、キャンバス上で接続してから、ワークフローを検証または実行します。

商品説明ワークフローを構築する例

エディタにはいくつかの主要部分があります:

  • レシピヘッダー。ここでレシピ名を変更し、 エディタ実行

  • キャンバス。レシピのグラフが表示されます

  • ブロックシート。新しいブロックを追加します

  • 設定ダイアログ。プロンプト、参照、モデルエイリアス、バリデーター、シード設定を定義します。

  • フローティング 実行検証 コントロール

  • ここにさらに追加する必要があります

レシピで最も一般的なブロックは次のとおりです:

  • シード Hugging Face の入力データ、ローカルの構造化ファイル、または行に分割される非構造化文書用。

  • LLM + モデル プロバイダー、モデル設定、LLM 生成ブロック、共有ツールプロファイル用。

  • LLM 呼び出しを必要としない、Jinja2 ベースの変換用。

  • バリデーター Python、SQL、JavaScript/TypeScript 用の組み込みリンターで、生成された不正なコードをフィルタリングするため。

  • サンプラー カテゴリやサブカテゴリのような決定的な列用。

参照の仕組み

データを生成するほとんどのブロックは(いくつかの例外を除き)後続ブロックの参照になります。これが Data Recipes の中心的な考え方の 1 つです。値を一度作成し、それをプロンプト、式、構造化出力、検証ステップで再利用します。

circle-info

Jinja の式を使うと、すでにレシピ内に存在する値を扱えます。のようなネストしたフィールドを参照できます {{customer.first_name}} 、のように値を結合できます {{customer.first_name}} {{customer.last_name}} さらに、次のようなパターンで条件分岐ロジックを追加できます {% if condition %}...{% endif %}

エディタに表示された参照の例

たとえば:

  • というカテゴリブロック domain は次のように参照できます {{ domain }}

  • シード列は LLM プロンプトに直接使えます。シードデータ内の列(例: HF データセット列、csv)

  • 構造化された LLM 出力は、後続のプロンプト用のフィールドを公開できます

  • 式ブロックは、別のモデル呼び出しなしで前段の値を組み合わせられます

その後は?

プレビュー実行は、素早く反復するためのものです。サンプル行と分析結果をエディタに返すので、完全な実行に進む前に生成データを確認できます。

フル実行は、永続化されたローカルデータセットの成果物を作成します。その出力は後で Studio のローカルデータセットピッカーに表示され、再確認やファインチューニングに使えます。必要に応じて、データセットを Hugging Face リポジトリに公開することもできます。

基本構成要素

基本構成要素
モデルと LLM ブロック

モデル設定は 2 つの使いやすい層に分かれています:

  • モデルプロバイダー エンドポイントと認証を定義します

  • モデル設定 モデル名と推論設定を定義します

この構成は、ホスト型プロバイダー、セルフホストのエンドポイント、 vLLM , llama.cpp 、または Studio の外で実行する OpenAI 互換 API ならどれでも使えます。

circle-info

レシピは 1 つのモデルに限定されません。複数の モデルプロバイダーモデル設定 ブロックを追加し、コーディング用と一般テキスト用のように、異なるステップで異なるモデルを使えます。

モデル設定の後は、4 種類の LLM ブロックを使えます:

ブロック
出力
最適用途

LLM テキスト

自由形式テキスト

指示、説明、会話、記述

LLM 構造化

JSON

固定フィールドと予測可能な構造が必要な出力

LLM コード

コード

Python、SQL、TypeScript、その他のコード生成タスク

LLM ジャッジ

スコア付き評価

1 つ以上のユーザー定義スコアで出力を採点する

ツールプロファイル

ツールプロファイルブロックは、1 つ以上の LLM ブロック向けに共有される MCP ベースのツールアクセスを定義します。たとえば、 Context7.

左の画像は、Tool Profile ブロックのダイアログで Context7 MCP が追加・設定されている様子を示しています:

バリデーター

バリデーターブロックは、生成されたコード出力をリンターと構文検証に通すことで、主に LLM コードブロックを対象にします。これにより、無効または不正なコード行を最終データセットから除外できるため、品質を保てます。組み込みオプションは Python、SQL、JavaScript/TypeScript の検証をカバーします。

検証、プレビュー、実行

レシピのワークフローが整ったら、次は実行です。推奨パターンは、まず検証し、次に素早いフィードバックのためにプレビューし、実行ビューで生成データを確認し、その後、出力が計画に合っていると感じたらフルデータセットを実行することです。

実行コントロールは次の順序で使います:

1

検証

をクリックします 検証 設定の問題を見つけるために。

2

プレビュー

サンプル行と分析を確認するためにプレビューを実行します

3

改善

プロンプト、参照、シード設定、またはバリデーターを改善します。

生成されたデータに満足できるまで反復します

4

フルデータセットのビルドを実行します

最終更新

役に立ちましたか?