본문으로 건너뛰기
실습하기

파인튜닝을 위한 먹이, JSONL이란?

JSON Lines을 뜻하는 JSONL은 JSON 형식을 줄 단위로 기록한 파일 형식입니다.

특히, OpenAI 플랫폼에서 기존 AI 모델을 파인튜닝할 때 JSONL 형식을 활용합니다.

thumbnail-600

JSONL은 AI를 학습시킬 때 뿐만 아니라, 시스템 로그(Log, 기록)을 저장하거나 대용량의 데이터를 처리할 때도 유용하게 사용됩니다.


JSONL 파일 예시

JSONL은 아래와 같이 각 줄에 하나의 데이터가 들어 있습니다.

JSONL 파일 예시
{"이름": "John", "나이": 30, "도시": "New York"}
{"이름": "홍길동", "나이": 25, "도시": "Seoul"}
{"이름": "Chloe", "나이": 35, "도시": "Paris"}

AI 학습에 JSON이 아닌 JSONL을 사용하는 이유

파인튜닝에 JSON이 아닌 JSONL(JSON Lines)을 사용하는 이유는 여러 가지가 있습니다:

  1. 줄 단위 처리 용이성: JSONL 파일은 각 줄(Line)이 하나의 JSON 객체로 구성되어 있기 때문에, 줄 단위로 데이터를 쉽게 읽고 쓸 수 있어 대용량 데이터 처리 시 유용합니다.

  2. 메모리 효율성: JSONL 형식은 데이터 처리를 위한 메모리 사용을 최소화할 수 있습니다. 전체 파일을 한 번에 메모리에 로드하지 않고, 라인 단위로 데이터를 처리할 수 있기 때문입니다.

  3. 로그 파일과 유사한 형식: JSONL은 로그 파일과 유사한 형식을 가지므로, 로그 데이터나 스트리밍 데이터의 저장 및 처리를 위한 형식으로 적합합니다. 각 이벤트나 데이터 항목을 개별 라인에 기록할 수 있습니다.

  4. 병렬 처리 용이성: JSONL 파일은 컴퓨팅 자원(프로세스, 스레드 등)을 병렬적으로 처리하기에 적합합니다.

  5. 확장성: 데이터가 계속 추가될 경우 JSONL 형식은 파일 끝에 새로운 JSON 객체를 쉽게 추가할 수 있습니다. 반면, 단일 JSON 객체를 사용하는 파일의 경우, 파일 전체를 수정해야 할 수 있습니다.


JSON 특징

  • 각 줄이 독립적인 데이터로 되어 있어서 이해하기 쉽습니다.

  • 여러 JSON 객체를 하나의 파일에 저장할 수 있습니다.

  • 일반적으로 .jsonl 또는 .ndjson 확장자를 사용합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!