본문 바로가기

Dev Notes13

NAS vs NFS NAS (Network Attached Storage) • 네트워크에 연결된 파일 저장 장치 • 독립적인 운영체제를 갖춘 전용 스토리지 서버 • 여러 사용자가 네트워크를 통해 중앙에서 데이터 저장·공유 가능 • 파일 단위 관리, 기업·가정에서 파일 서버, 백업 서버, 미디어 서버로 활용 • 기본적으로 웹 기반 관리 인터페이스 제공 → 설정 및 관리가 쉬움 • 다양한 프로토콜 지원: NFS (Linux/Unix), SMB (Windows), FTP 등 • 대표 브랜드: Synology, QNAP, WD My Cloud 등  NFS (Network File System) • 네트워크에서 파일을 액세스하는 프로토콜 • NAS 같은 스토리지 장치뿐만 아니라, 기존 서버에서도 파일 공유 가능 • 분산 파일 시스템.. 2025. 2. 26.
[debug] tokenizer special token 추가 시 임베딩 사이즈 조절 하기 tokenizer = AutoTokenizer.from_pretrained(base_model)    tokenizer.add_special_tokens({'additional_special_tokens': special_tokens})    padding_value = tokenizer.pad_token_id    print("Trying to load model with transformers...")    query_enc = QueryEncoder(base_model=base_model)    passage_enc = PassageEncoder(base_model=base_model)    #### special token을 추가하면 resize_token_embeddings를 해줘야 함    q.. 2024. 7. 30.
Deepspeed 배치 사이즈 관련 파라미터 정리 Deepspeed를 활용하여 multi-gpu로 분산 훈련을 진행할 때 배치 사이즈의 개념과 파라미터로 들어가는 값들에 대해서 정리해보았다. https://www.deepspeed.ai/docs/config-json/#batch-size-related-parameters DeepSpeed Configuration JSON DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective. www.deepspeed.ai train_batch_size = (train_micro_batch_size_per_gpu) * (gradient_accumulation) * (numbe.. 2023. 8. 20.
머신러닝 프로덕션 코드를 구성하는 방법 본 포스트에서는 머신러닝 프로젝트에서 사용되는 프로덕션 코드가 어떻게 구성되어야하고 어떤 것들에 주의하는지를 소개하고자 한다. 프로덕션 코드는 실험을 위한 연구용 코드와 달리 사용자에게의 배포를 위한 코드를 일컫는다. 프로덕션 코드는 테스트, 유지보수, 확장성, 성능, 재생산성을 고려하여 작성되어야 한다. 프로덕션 코드와 연구용 코드의 큰 파이프라인은 비슷하다: 라이브러리와 데이터를 불러오고, 데이터를 훈련/테스트 데이터로 나누고, 데이터 정제를 하고, 모델 훈련을 하고, 모델 평가를 하고, 훈련한 모델을 저장하고, 테스트 데이터에 대해 예측을 한다. 프로덕션 코드를 어떻게 구조화를 하는가? 1. Convention 선택하기 버전 관리(versioning): 버전 관리 시스템을 사용하여 코드 변경 사항 .. 2023. 6. 25.
C++에서 ONNX runtime 사용하기 C++에서 ONNX runtime을 사용 방법에 대한 설명을 듣고 정리해보았습니다. ONNX runtime를 사용하는 이유? Open Neural Network Exchange (ONNX) → 프레임워크 상호운용성 및 하드웨어 최적화 접근성을 위한 라이브러리 ML 모델의 공통 표준 포맷 Tensorflow, Keras, Pytorch 모델 → onnx export 가능 ML 모델의 제품화, 라이브러리화, API화 ML 모델 암호화 (*onnx로 포맷 변환은 메모리 누수 등의 문제와는 관련없음, *.pt, *.pth등의 파일을 표준 포맷을 변환하는 것) C++로 ONNX runtime 사용하기 export된 onnx 모델 경로에 위치(encoder.onnx 등의 *.onnx 포맷의 변환된 형태) Onnx .. 2023. 6. 11.
[Database] Docker로 RDBMS 사용하기 (ft. postgres, mysql) 기존에는 자체 서버에 mysql이 깔려있어서 여기에 접속하여 사용했는데, postgresql로 DB를 이전하게 되었는데 사용하는 서버에는 이게 깔려있지 않았다. 또한 mysql이 버전 문제가 많고, 매번 관리자에게 요청 보내기 보다는 항상 docker 사용을 권장해서.. 도커로 postgresql, mysql을 연결하였고, 파이썬 orm sqlalchemy로 이 주소를 연결하여 사용해보았다. 1. 도커 이미지 받아오기 https://hub.docker.com/_/postgres/tags docker pull postgres:15 버전 충돌 이슈가 있을까봐 버전을 지정하여 다운받았다. 2. 도커 컨테이너 생성하기 docker run -p 5432:5432 --name tmp-postgres -e POSTG.. 2023. 6. 4.