Blog›Guides

55,000件の実世界AIプロンプトでのファインチューニング

Wikipromptの公開データセットは、55,000以上の実際の人間が書いたプロンプトと、それに対応する出力および品質シグナルを提供しており、合成コーパスとは異なる種類のトレーニングデータです。

55,000件の実世界AIプロンプトでのファインチューニング

55,000件の実世界AIプロンプトでのファインチューニング

ファインチューニングや評価に使われるプロンプトデータセットの大半は合成データです。別のモデルが生成し、さらに別のモデルがフィルタリングし、4つ目のモデルがスコアリングするという流れです。このパイプラインは安価でスケールしますが、データが人間の意図に触れたことがないという意味もあります。誰も実際にその出力を必要としていなかったのです。誰も実際の仕事を成し遂げようとしていなかったのです。

Wikipromptのデータセットは、その逆の種類の成果物です。これは、実際の人間が書き、公開し、共有する価値があると判断した結果を生み出すために使った、55,000件以上のプロンプトです。ポートレート、マーケティングの見出し、コード、授業計画などです。「モデルを訓練するために書かれた」ものと「何かを成し遂げるために書かれた」ものの間にあるこのギャップこそが、LLMを構築または評価している場合に、このデータが再検討に値する理由のすべてです。

なぜ実プロンプトは合成プロンプトとは異なるシグナルを持つのか

合成プロンプトコーパスは、生成モデルがもっともらしい指示と考えるものの周辺に集まります。文法的にきれいで、トピックが均等に分布している。誰かが分類法を設計し、モデルにそれを埋めるよう依頼したからです。実プロンプトはもっと乱雑で、その乱雑さが情報なのです。人々は仕様を過小に指定したり、過剰に指定したり、制約を奇妙な順序で連鎖させたり、説明ではなく固有名詞でスタイルを参照したりします。ベンチマークで単に振る舞いが良いモデルではなく、真に役立つモデルを訓練しているなら、実際のリクエストの分布は、モデルが本番で実際に直面するものに近いのです。

また、ここにはあなたに有利に働く選択効果もあります。このデータセットのすべてのレコードは、誰かが公開する価値があるほど十分に機能したために公開したプロンプトです。これは「人々が入力するプロンプト」のランダムなサンプルと同じではありませんが、ファインチューニングや少数ショット検索のためには、おそらくより良いサンプルです。良いものを生み出したという証拠とペアになったプロンプトなのです。

ダンプに実際に含まれているもの

/dataset/promptsを取得すると、各レコードには以下が含まれます:

  • content:実際のプロンプトテキスト。トレーニング例に入れるものです。
  • model:プロンプトが対象とする、または実行されたAIモデル(GPT Image、Midjourney、Claude、Nano Banana、Klingなど)。1つに仮定するのではなく、対象モデルでスライスできます。
  • categoryとtags:トピック条件付きサンプリングや層化分割のための粗いラベルと細かいラベル。
  • metadata:media_type、aspect_ratio、style、および人間の編集者が出力をスコアリングした場合には、創造性、有用性、技術的実行などの品質評価を含む構造化フィールド。
  • media:プロンプトに結びついた実際の出力(画像または動画URL)。これは研究室の外で得られる最もグラウンドトゥルースに近いものです。
  • authorとoriginal_source:元の投稿までの来歴。
  • 最後のグループ、メディアとメタデータと品質評価の組み合わせは、合成データセットには構造的に存在し得ないものです。生成されたプロンプトコーパスは、プロンプトが何を言っているかを教えてくれます。しかし、独立した人間の判断から、それが生み出したものが実際に良かったかどうかを教えてくれるわけではありません。Wikipromptの編集レイヤーは、レコードの意味のある部分にまさにその判断が付属していることを意味し、報酬モデルやLLM-as-judgeキャリブレーションセットの弱ラベルとして使用可能にします。単なる指示チューニング入力としてではなく。

    この記念碑的なレンガ建築ショットのようなプロンプトを考えてみてください。価値はテキストだけではなく、テキストとそれが実際に生成した画像が隣り合っていることです。これにより、候補モデルが同じ指示から同様のものを生成する可能性があるかどうかを確認できます。この武侠の剣姫タンカ構図やこの唐時代の肖像画プロンプトのような様式化された作品も同様です。それぞれが、具体的で意見の強い指示と具体的な視覚的結果をペアにしており、これは他の方法で大規模に入手するのが難しい種類の(指示、出力)ペアです。

    実際の使用のためのフィルタリングと構造化

    生のダンプは意図的にフィルタリングされていません(Wikiprompt自身のモデレーションを除く。アクティブでクリーンなプロンプトのみがエクスポートされます)。そのため、ファインチューニングを実行する前に、何を最適化しているかを決定し、それに応じてフィルタリングしてください:

  • 対象モデル別:modelフィールドを使用。モデル固有のアダプターを構築していて、例えばMidjourneyスタイルの構文をClaudeプロンプトセットに漏らしたくない場合。
  • カテゴリ別:カタログ全体ではなく、ドメイン固有のスライス(creative、coding、marketing、research、および他5つ)が必要な場合。UIでクリエイティブプロンプトを閲覧すると、フィルタリングを決定する前にカテゴリの実際の内容を素早く確認できます。
  • 品質評価別:目標が生のカバレッジではなく報酬シグナルである場合、メタデータスコアが低いレコードを削除または重み付けを下げる。
  • 新しさ別(`created_at`/`updated_at`):古い世代のツールのパターンではなく、現在のモデル能力を反映したプロンプトに関心がある場合。
  • 機械的には、ページネーションはキーセットベースです。各レスポンスにはnext URLが含まれ、nextがnullになるまでそれを追跡します。1ページあたり最大500レコード:

    curl "https://www.wikiprompt.org/dataset/prompts?limit=500"

    Pythonでの最小限の全取得ループは次のようになります:

    import requests

    url = "https://www.wikiprompt.org/dataset/prompts?limit=500"

    records = []

    while url:

    resp = requests.get(url).json()

    records.extend(resp["records"])

    url = resp.get("next")

    print(len(records), "records")

    APIキーは不要で、CORSが有効で、エッジキャッシュされているため、カタログの完全なクロールは高速で、誰かのオリジンサーバーに負荷をかけません。一括取得ではなくインタラクティブなアクセスが必要な場合は、同じカタログが検索APIでクエリ可能で、トレーニングパイプラインではなくエージェントに組み込む場合はMCPサーバーもあります。

    帰属はオプションではなく、ライセンスでもない

    このデータが何であるかを正確に理解してください。Wikipromptは公開投稿を集約しています。基礎となるコンテンツに対する正式なライセンスを保持または付与しておらず、このダンプも同様です。すべてのプロンプトには、それが由来する投稿を指すoriginal_sourceと、それを書いた人物を指名するauthorフィールドがあります。このデータでファインチューニングする場合、Wikipromptをアグリゲーターとしてクレジットし、再配布または直接引用するものについて元の著者への帰属を保持するモデルカードを出荷してください。これは低いハードルであり、正しいハードルです。このデータセットは、何千人もの人々が自分の作品を公開的に共有することを選んだために存在し、それを自由に浮遊するトレーニング排気物として扱うことは、この種のデータを生み出すエコシステムが存在しなくなる方法です。

    実際だが乱雑なものが、合成だがきれいなものよりもあなたのユースケースに適しているかどうかを判断する場合、正直な答えは、何のために訓練しているかによります。モデルが人々が求めるものの実際の分布を、結果が良かったかどうかの独立した判断とともに処理する必要があるなら、これは同じレコードで両方を得られる数少ない公開コーパスの1つです。

    Tags
    open-data·dataset·fine-tuning·machine-learning·ai-prompts·training-data·api