JSONL ファイルとは?
JSONL — JSON Lines
どんな形式か
JSONLとNDJSONは全く同じものを指す。1行につき1つのJSONオブジェクトという形式である。名称は2つ、コミュニティも2つあるが、フォーマットは1つしかない――両者の違いを探して時間を無駄にする前に、知っておく価値のある事実である。
とはいえ、実際の使われ方には傾向がある。機械学習の分野ではJSONLと呼ばれることが多く、アプリケーションログやデータストリームの世界ではNDJSONと呼ばれることが多い。
歴史と由来
拡張子「.jsonl」は、人工知能向けデータセットの急増とともに広まった。各行が1つの学習サンプルを表す形式である。
現在では、モデルのファインチューニングを行う大半のツールが標準的に要求する形式となっている。1行が1サンプルという構成である。
便利な理由
数ギガバイトに及ぶデータセットであっても、全体をメモリに読み込むことなく処理できる。
データの追加はファイル末尾に行を加えるだけで済み、既存部分を書き換える必要がない。
限界と欠点
標準的なJSONを前提とするツールでは読み込めない。
全体を包む構造が存在しないため、ファイル全体を対象とした検証を行うことができない。
使い方のヒント
学習用データセットやストリーム処理には、JSONLを使うのが適している。
表計算ソフトで内容を確認したい場合はCSVに、単一の配列を要求するツールを使う場合はJSONに変換するとよい。ただし、ファイルサイズが大きい場合はメモリ使用量に注意が必要である。
フランスにある安全なサーバーで、JSONL を数秒で変換できます。
JSONL を変換する