본문 바로가기

분류 전체보기80

[논문 리뷰] Alpa: Automationg Inter-and Intra-Operator Parallelism for Distrivuted Deep Learning Paper: Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning, Yonghao Zhuang, Zhuohan Li, Hao Zhang et al. , OSDI 2022 1.  Background 딥러닝 모델의 규모는 최근 몇 년간 폭발적으로 증가하여, GPT-3와 같은 모델은 1,750억 개의 파라미터를 가지고 있고 350GB 이상의 GPU메모리가 필요합니다. 이러한 거대 모델들은 단일 디바이스의 메모리에 담을 수 없어, 효율적인 분산 학습 방법이 필수적입니다. 이러한 이유로 다양한 Parallelism방식이 제안되어 왔습니다. 2.  Inference 분산 학습에는 모델 구조를 복제하고 데이터를 배치 단.. 2025. 1. 20.
[Conference] 모두의연구소 MODUCON 2024 후기 얼마전 MODUCON 2024를 다녀왔습니다.쪼꼼..늦은 후기를 공유합니다!keynoteAI Insight - 최신 트랜드와 인사이트Tech & Human - 기술과 사람이 만드는 더 나은 세상AI Frontline - 실무 현장의 생생한 AI 프로젝트Inside MODULABS - 모두의 연구소 랩 연구 도전기Papershop Poster SessionHands-on WorkshopConnect & Learn트랙으로 구성되어있습니다. 각 트랙에 대한 세션이 6개 정도로 구성되어 있었습니다.자세한 건 아래 사진을 참고해주세요. 1. KeyNote : 뇌과학자가 바라보는 AI 시대의 미래장동선 뇌과학 박사  키노트는 장동선 뇌과학 박사님께서 진행해주셨습니다.워낙 유명하신 분이라서 기대가 된 연사였습니다. .. 2024. 12. 29.
분산 학습 1. Data Parallelism, Model Parallelism ML서빙이나 효율적인 학습 시스템 구축을 어떻게 할지 공부하고 있습니다.이번 포스팅에서는 분산 학습 방법에는 어떤게 있는지 알아볼게요. 0. Background Transformer가 나오고 BERT 모델 이후로 모델의 거대화가 급속히 진행되었습니다.최근에 나오는 LLM들을 보면 Paramerter 수가 많아질 수록 모델의 성능이 좋아지고 있죠.또한, 더욱 더 많은 데이터로 학습하며 모델을 성능을 높이는 방식을 적용하고 있습니다. 이런 방식으로 거대한 모델을 학습시키는 것이 본격화 되며하나의 컴퓨팅 시스템 자원에서의 학습이 불가능해지는 문제가 발생합니다. 이런 이유로 여러 자원에 분산해서 모델 학습을 진행하는 "분산 학습"이 필요해졌습니다.  1. Data Parallelism System데이터를 다수의.. 2024. 11. 21.
[Python 이슈] Python multiprocessing 구현 시 ModuleNotFoundError 발생 AI Model Serving을 위한 backend 개발을 공부하고 있습니다.개발 간 이슈가 있어서 삽질한 내용 공유합니다.  1. 이슈 상황 Python의 multiprocessing 라이브러리를 이용해서 Multiprocessing 서비스를 구축하고 있는데요  특정 클래스 내에서 Multiprocessing을 구축하려니import한 module을 못 찾는다는 오류입니다.ModuleNotFoundError: No module named ''   2. 이유  찾아보니 이유는프로세스가 자식 프로세스로 실행될 때 해당 모듈을 찾을 수 없어서 생긴다고 합니다. Windows 환경에서 실행될 때 발생한다고 하네요.Linux나 macOS에서는 부모 프로세스의 메모리를 자식 프로세스가 공유하는fork() 방식이 사.. 2024. 11. 17.
Latent Space에 대해서 Latent Space는 딥러닝에서 자주 보이는 개념입니다.모델이 훈련을 잘 하기 위해서는 고차원의 데이터를 저차원의 데이터로 변환시키는 작업이 필요합니다.이렇게 저차원으로 변환해 추상화된 정보나 특성들로 저장하는 공간을 말합니다. 예를 들어, 동물 사진을 분류하고 싶다면,동물 이미지 데이터를 CNN(Convolutional Neural Network)의 여러 convolution layer를 통과시켜이미지의 중요한 특성들이 추출되고, 점차적으로 저차원의 Representation으로 압축합니다.(*Representation은 표현 방식으로 딥러닝에서는 n차원 벡터로 많이 표현됩니다.) 그렇게 압축된 데이터의 저장 공간을 Latent Space 라고 합니다. 아래의 사진은 동물 이미지를 각각 다르게 특.. 2024. 11. 12.
[Docker-AWS 이슈] MacOS에서 AWS ECR에 이미지 push시 이미지 media-type이슈 문제. > application/vnd.oci.image.index.v1+json 문제는 MacOS에서 발생했습니다.(Docker 버전은 27.3.1.) application/vnd.oci.image.index.v1+jsonAWS ECR에 이미지를 올려 사용하려고 할때,해당 OCI v1 media type 이미지를 사용할 수 없다고 하는 문제에 봉착했습니다. ECR 이미지 스캔을 확인해면 아래와 같습니다.  ECR Push시에 이미지 형태입니다. OCI이미지 포맷이라 index와 레이어구조 파일이 분리된 형태인건지. aws docs에서 확인해보면 https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/image-manifest-formats.html .. 2024. 10. 28.
[Docker] 7. Docker Hub에 이미지 push/ pull 하기 안녕하세요.이번 포스팅에서는 Docker Hub에 이미지를 push/pull을 하는 방법을 공부해볼게요.   1. 레포지토리 만들기 docker Hub에 들어가서 레포지토리를 만들겠습니다.https://hub.docker.com/ Docker Hub Container Image Library | App ContainerizationIncrease your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.hub.docker.com  Docker Hub페이지.. 2024. 10. 15.
[Docker] 6. 컨테이너에 이름 지정하기 & 이미지에 이름, 태그 지정하기 안녕하세요. 이번 포스팅에서는 컨테이너 이름 지정 & 이미지에 이름과 태그를 지정해보겠습니다.   1. 컨테이너 이름 지정  docker run으로 컨테이너를 생성하면 docker가 자체로 name을 설정해주는데요. 직접 설정하려면 name 명령어를 사용하면 됩니다. docker run --name docker run --name aigae 280862e09443 설정된 모습.  이름을 직접 지정해주면 container 중지나 시작을 이름으로 사용할 수 있으므로 유용합니다.   2. 이미지 이름, 태그 이미지에는 이름과 태그가 존재합니다.이름은 대개 이미지의 그룹, 태그는 버전을 나타냅니다.docker Hub 의 python 이미지만 보더라도 https://hub.docker.com/_/python p.. 2024. 10. 15.
[Docker] 5. 이미지 구조 살펴보기 안녕하세요.이번 포스팅에서는 이미지가 어떻게 구성되어있는지 확인해보겠습니다.  1. 생성된 이미지 확인 아래 명령어를 입력하면 이미지 구성을 확인할 수 있습니다.docker inspect 이미지ID  2. 이미지 구조저는 저번 포스팅에서 제가 직접 생성한 python base 이미지를 살펴보겠습니다.[ { "Id": "sha256:280862e09443acfa5ab9ea5c6a021d26c372ed52589fafc45a81996620644c6d", "RepoTags": [], "RepoDigests": [], "Parent": "", "Comment": "buildkit.dockerfile.v0", "Created": "20.. 2024. 10. 15.