JSONL ファイルとは?

JSONL — JSON Lines

どんな形式か

JSONLとNDJSONは全く同じものを指す。1行につき1つのJSONオブジェクトという形式である。名称は2つ、コミュニティも2つあるが、フォーマットは1つしかない――両者の違いを探して時間を無駄にする前に、知っておく価値のある事実である。

とはいえ、実際の使われ方には傾向がある。機械学習の分野ではJSONLと呼ばれることが多く、アプリケーションログやデータストリームの世界ではNDJSONと呼ばれることが多い。

歴史と由来

拡張子「.jsonl」は、人工知能向けデータセットの急増とともに広まった。各行が1つの学習サンプルを表す形式である。

現在では、モデルのファインチューニングを行う大半のツールが標準的に要求する形式となっている。1行が1サンプルという構成である。

便利な理由

数ギガバイトに及ぶデータセットであっても、全体をメモリに読み込むことなく処理できる。

データの追加はファイル末尾に行を加えるだけで済み、既存部分を書き換える必要がない。

限界と欠点

標準的なJSONを前提とするツールでは読み込めない。

全体を包む構造が存在しないため、ファイル全体を対象とした検証を行うことができない。

使い方のヒント

学習用データセットやストリーム処理には、JSONLを使うのが適している。

表計算ソフトで内容を確認したい場合はCSVに、単一の配列を要求するツールを使う場合はJSONに変換するとよい。ただし、ファイルサイズが大きい場合はメモリ使用量に注意が必要である。

フランスにある安全なサーバーで、JSONL を数秒で変換できます。

JSONL を変換する