NVIDIAがAI学習用コードを準備
Building a Code Dataset Pipeline from NVIDIA Nemotron-Pretraining-Code-v3 Metadata with Streaming, Pandas, and tiktoken

NVIDIAのAI学習用コードデータセットを効率的に扱う方法が公開され、AI開発者が大規模なコードデータをより簡単に利用できるようになります。
このチュートリアルでは、NVIDIAのNemotron-Pretraining-Code-v3データセットを、コードの事前学習研究のための大規模なメタデータインデックスとして扱います。数ギガバイトに及ぶデータセット全体をダウンロードする代わりに、ストリーミングで読み込み、そのスキーマを検査し、分析のために扱いやすいサンプルを構築します。我々は、言語、ファイル拡張子、リポジトリの頻度、ディレクトリの深さを調査することでデータセットを探求し、インデックスがどのように構成されているかを理解します。その後、メタデータから生のGitHub URLを再構築し、実際のソースファイルの取得を試み、取得したコードのtoken規模を推定します。このワークフローの終わりには、再利用可能なフィルタリングされたサンプルを作成し、さらに実験するための処理済み出力を保存します。NVIDIA Nemotron-Pretraining-Code-v3データセットのストリーミングとスキーマの検査
コードをコピーしました
別のブラウザを使用してください
!pip -q install -U "datasets>=2.19" huggingface_hub tiktoken pyarrow 2>/dev/null
import os, io, time, itertools, collections, textwrap, math
import pandas as pd
import requests
import matplotlib.pyplot as plt
from datasets import load_dataset, get_dataset_config_names
REPO_ID = "nvidia/Nemotron-Pretraining-Code-v3"
pd.set_option("display.max_colwidth", 80)
configs = get_dataset_config_names(REPO_ID)
CONFIG = configs[0]
print(f"Configs available : {configs}")
print(f"Using config : {CONFIG}")
stream = load_dataset(REPO_ID, CONFIG, split="train", streaming=True)
print("\nFeatures / schema:")
print(stream.features)
print("\nFirst raw record:")
print(next(iter(stream)))
必要なライブラリをインストールし、データセットのストリーミング、分析、視覚化に必要なツールをインポートすることで、Colab環境をセットアップします。NVIDIA Nemotron-Pretraining-Code-v3データセットIDを定義し、利用可能なデータセット構成を検出し、トレーニング分割をストリーミングモードでロードします。また、データセットのスキーマを検査し、より詳細な分析を行う前に構造を理解するために最初のレコードを出力します。シャッフルされたサンプルの構築とコードの分析
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。