AI学習データを効率的に作る方法
Building Supervised Fine-Tuning Data from NVIDIA Open-SWE-Traces: Trajectory Parsing, Patch Analysis, Token Budgets, and Tool-Use Metrics

NVIDIAのデータからAIの学習データを効率的に作る方法が公開。AIがソフトウェア開発をより正確に支援できるようになります。
このチュートリアルでは、fine-tuningのためのエージェント的なソフトウェアエンジニアリングの軌跡を研究し準備するための実用的なリソースとして、Open-SWE-Tracesデータセットを探求します。私たちはこのデータセットをHugging Faceから直接ストリーミングするため、すべてをローカルにダウンロードすることなく、Google Colabで大規模なデータセットを効率的に扱うことができます。
個々のレコードを検査し、複数ターンのエージェント会話を正規化し、最終的なコードパッチを解析し、有用なメタデータを抽出し、軌跡の長さ、ツール使用、パッチサイズ、言語分布、解決結果を理解するための分析DataFrameを構築します。そして、これらの洞察を利用して、成功ラベル、トークン制限、言語フィルター、パッチの利用可能性に基づいて、高品質な軌跡のみを保持する厳選されたsupervised fine-tuningサブセットを作成します。
依存関係のインストールと設定
Copy Code Copied Use a different Browser
import subprocess, sys
def _pip(*pkgs):
subprocess.run([sys.executable, "-m", "pip", "install", "-q", *pkgs], check=False)
_pip("-U", "datasets", "huggingface_hub")
_pip("tiktoken", "pandas", "matplotlib")
import json
import re
import textwrap
from itertools import islice
from collections import Counter
import pandas as pd
import matplotlib.pyplot as plt
from datasets import load_dataset
pd.set_option("display.max_columns", 50)
pd.set_option("display.width", 160)
plt.rcParams.update({
"figure.figsize": (9, 4.6),
"figure.dpi": 110,
"axes.grid": True,
"grid.alpha": 0.25,
"axes.spines.top": False,
"axes.spines.right": False,
"font.size": 11,
"axes.titlesize": 13,
"axes.titleweight": "bold",
})
BLUE, ORANGE, GREEN, RED = "#4C72B0", "#DD8452", "#55A868", "#C44E52"
def banner(title):
line = "=" * 78
print(f"\n{line}\n {title}\n{line}")
DATASET = "nvidia/Open-SWE-Traces"
AGENTS = ["openhands", "sweagent"]
MODELS = ["minimax_m25", "qwen35_122b"]
SAMPLE_ALL = True
PER_COMBO = 400
N_SINGLE = 1500
MAX_SFT_TOKENS = 32000
SFT_REQUIRE_RESOLVED = True
SFT_LANGUAGES = None
まず、必要な主要ライブラリをインストールしてインポートすることから始めます。
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。