---
id: DATA-JIT-001
category: "10_Wiki/💡 Topics/AI"
confidence_score: 1.0
tags: [data-engineering, jit-loading, lazy-loading, [[Optimization|Optimization]], [[Deep-Learning|Deep-Learning]], performance]
last_reinforced: 2026-04-26
---

# Just-in-time Data Loading (적시 데이터 로딩)

## 📌 한 줄 통찰 (The Karpathy Summary)
> "메모리의 한계에 굴복하지 말고, 필요한 정보만을 가장 필요한 순간에 흐르듯 공급하라" — 전체 데이터를 메모리에 미리 적재하는 대신, 연산 직전에 필요한 부분만을 디스크나 네트워크로부터 비동기적으로 읽어와 처리하는 효율적인 데이터 공급 전략.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** "Lazy Fetch and Prefetch" — 실제 사용 시점까지 로딩을 지연(Lazy Loading)시키되, 연산의 병목을 막기 위해 다음 데이터를 미리 예측하여 백그라운드에서 로딩(Prefetching)하는 이중화된 최적화 패턴.
- **주요 기술 및 라이브러리:**
    - **PyTorch DataLoader:** 멀티 프로세싱을 활용하여 GPU가 학습하는 동안 CPU가 다음 배치를 준비.
    - **Streaming Datasets:** 테라바이트급 데이터를 다운로드 없이 클라우드에서 실시간으로 스트리밍하며 학습.
    - **[[memory|memory]] Mapping (mmap):** 파일을 메모리 주소 공간에 매핑하여 필요할 때만 OS가 데이터를 읽어오게 함.
- **의의:** 하드웨어 자원의 한계를 극복하고 대규모 데이터셋(LLM 학습 등)을 안정적으로 처리할 수 있게 함.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 고가의 대용량 메모리 증설로 해결하던 문제를, 이제는 똑똑한 소프트웨어 스케줄링과 비동기 I/O 설계를 통해 비용 효율적으로 해결하는 방향으로 진화.
- **정책 변화:** Antigravity 프로젝트는 1,174개의 지식 베이스를 전수 조사할 때, 전체를 메모리에 올리지 않고 JIT 로딩 방식을 적용하여 시스템 리소스 점유율을 10% 미만으로 유지함.

## 🔗 지식 연결 (Graph)
- [[Inference-Optimization|Inference-Optimization]],[[_system|system]]-Design-for-AI-Scale, Deep-Learning-Foundations, Cloud-Computing-Foundations
- **Raw Source:** 10_Wiki/Topics/AI/Just-in-time-Data-Loading.md
