파이썬의 Pickle 직렬화

Python의 내장 직렬화 모듈이다.
모든 파이썬 객체를 바이너리 스트림으로 변환하는 프로세스
Python 전용 직렬화 포맷
저장 (직렬화)

- pickle.dump(object, f) 에서는 Python 객체를 바이너리 형태로 파일에 저장한다.
"wb" 모드는 바이너리 쓰기 모드를 의미하여, Pickle 파일 저장 시 필수이다.
로드 (역직렬화)

- pickle.load(f)는 저장된 바이너리 데이터를 다시 Python 객체로 복원한다.
"rb" 모드는 바이너리 읽기 모드로, Pickle 파일을 읽을 때 사용된다.
LangChain에서의 활용

모델 저장

- 학습된 머신러닝 모델을 Pickle 형식으로 저장하면 모델의 가중치와 구조가 보존된다.
바이너리 형식이라 저장 공간이 효율적이고 로딩 속도도 빠르다.
모델의 모든 상태가 그대로 저장되어 나중에 완벽하게 복원 가능하다.
데이터 캐싱

- 처리에 시간이 오래 걸리는 데이터를 중간 결과로 저장할 수 있다.
다음 실행 시 저장된 캐시를 불러와 처리 시간을 단축할 수 있다.
데이터프레임이나 복잡한 데이터 구조도 손실 없이 저장된다.
프로그램 상태 저장

- 프로그램의 현재 상태를 모두 저장하여 나중에 이어서 실행할 수 있다.
변수값, 설정, 진행 상황 등 모든 정보가 보존된다.
프로그램 중단 시에도 데이터 손실을 방지할 수 있다.