본문 바로가기
반응형

전체 글86

[논문 읽기] GPT2 - Language Models are Unsupervised Multitask Learners 논문읽기 - 생각의 흐름대로 논문을 따라 읽고 제 나름대로 정리하는 글입니다.정제된 글을 원하셨다면 그러지 못한점 양해부탁드립니다. 본격적으로 LLM에 대해서 논문을 읽고 공부해 나가려고 합니다.Transformer, BERT, GPT1에 이어서 GPT2 - Language Models are Unsupervised Multitask Learners(OpenAI, 2019)https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf 논문을 읽고 공부해보겠습니다.Language Model에서의 Zero shot setting이 핵심이 되는 주제입니다. 1. Abstract Natura.. 2025. 6. 16.
[알고리즘] Greedy(탐욕법) 그리디 알고리즘(탐욕법, Greedy Algorithm)이란? 그리디 알고리즘이란 최적화 문제를 해결하기 위한 알고리즘입니다.Greedy는 영어로 탐욕이라는 의미를 가지고 있습니다.당장의 눈앞의 이익만 추구하는 '탐욕적인' 행동을 하면서현재 상황에서 가장 좋은 선택을 진행합니다. 1. 기본 원리 1-1. 탐욕적 선택 속성(Greedy Choice Property) 각 단계에서 지역적으로 최적의 선택이 전체 문제의 최적의 해로 이어진다는 속성입니다.=> 현재 상태에서의 최적의 선택을 정의 1-2. 최적 부분 구조(Optimal Substructure) 전체 문제의 최적해가 부분 문제의 최적의 해를 포함하는 구조를 말합니다.=> 전체 문제와 부분 문제 간의 관계를 정의 2. 문제 해결 절차 1. 선택.. 2025. 5. 21.
언어 모델(Language Model)이란? 언어 모델(LM)에 대해서 공부해보겠습니다. 1. 언어모델(LM,Language Model) 사람의 언어(자연어)를 이해하고 생성할 수 있도록 컴퓨터에 학습시킨 모델입니다.문장의 생성은 확률로서 구현할 수 있습니다.(문장의 출현 확률 예측이나 이전 단어들을 참고해서 다음 단어를 예측하는 등..) 예를들어 "나는 오늘 학교에 OO"란 문장이 있을때,OO에 들어갈 단어는 무엇일까요?1. 갔다2. 먹는다3. 신난다 우리는 자연스럽게 1번을 고를 수 있습니다. 인간의 두뇌에 문맥이 학습되어 있기 때문입니다. 이같은 인간의 두뇌를 모방해서많은 문장을 수립해서 단어와 단어 사이의 출현 빈도를 세어 확률을 계산하는 것이 언어모델입니다. 즉, 인간이 경험을 통해 언어를 습득하는 원리와 매우 유사하며,언어 모델은 이 .. 2025. 5. 19.
Likelihood와 MLE(Maximum Likelihood Estimation) 확률분포가 특정 데이터를 얼마나 잘 나타내는지에 대해서 공부해보려고 합니다. 1. LikelihoodLikelihood(우도)란 확률모형에서 parameter(모수)를 변수로 보고,고정된 데이터를 얼마나 잘 설명하는지를 나타내는 함수입니다.Probabliity(확률)과 Likelihood(우도)를 비교하면서 이해해보겠습니다. Probability란, 모수가 고정되어 있을 때, 어떤 데이터가 관측될 확률을 나타내는 값입니다.중요한 점은 모수가 고정되고, 데이터가 변한다는 점입니다. 반면에 Likelihood란, 실제로 관측된 데이터를 기준으로어떤 모수가 이 데이터를 가장 잘 설명하는지를 평가하는 함수입니다.Likehood는 Probability와 반대로 데이터가 고정되고, 모수가 변합니다. 분포와 데이.. 2025. 5. 18.
Infomation, Entropy, Cross-Entropy, KL-Divergence 에 대해서 분포의 차이를 측정하는 방식 대해서 공부해보겠습니다. 1. Information 먼저 정보(Infomation)라는 개념입니다.Computer science에서 정보는 Data를 가공했다는 개념인데,,, 인공지능에서는 통계적인 측면이 강하고,통계적인 측면에서 정보의 의미는 불확실성(Uncentainty)을 나타냅니다.확률이 높으면, 불확실성이 낮아지기 때문에확률값에 반비례하는 값이 정보입니다.개인적으로 Info를 정보의 가치라고 생각하면 더 와닿더라구요."정보는 시건의 확률의 역수에 비례"를 수식으로 표현하면 아래와 같습니다. 2. Entropy 불확실성(Uncentainty)을 나타냅니다. 다만 정보와 다른점은"전체 평균 정보량"을 나타낸다는 거에요.일반적인 동전던지기는 앞,뒤를 예측할 수 없습니다.. 2025. 5. 15.
[논문 읽기] TabNet: Attentive Interpretable Tabular Learning 논문읽기의 목적 - 내가 직접 읽으면서 생각하고 정리하는 연습 읽어 볼 딥러닝 모델은 2020년 Google Cloud AI팀에서 발표한 TabNet입니다논문: https://arxiv.org/pdf/1908.07442제 방식대로 막히는 부분은 찾아보며, 의식의 흐름대로 공부를 목적으로 작성하니전체적으로 정리된 글을 원하셨다면이 글이 조금은 불친절할 수 있음을 양해 부탁드리겠습니다. 해당 논문을 선택한 이유?? 1. 회사에서 Tabular 데이터를 많이 다룸.2. 보통 Kaggle이나 데이콘에서 예측이나 분류 모델에딥러닝 모델보다는 트리기반 앙상블 ML 모델인 Xgboost, LGBM, Catboost을 많이 사용함.Image, Text, Audio 모두 딥러닝 모델이 좋은 성능을 내고 있지만 Tab.. 2025. 5. 10.
[논문 리뷰] 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.
[Docker] 4. 컨테이너 시작, 재시작, 중지, 제거하기 / 이미지 제거하기 안녕하세요.이전 포스팅에서 생성한 컨테이너를 확인하는 것까지 살펴봤는데요이번에는 생성된 컨테이너를 시작, 재시작, 중지하는 명령어를간략히 살펴보겠습니다.  1. 컨테이너 시작docker start 컨테이너ID혹은이름   2. 컨테이너 재시작docker restart 컨테이너ID혹은이름 3. 컨테이너 중지docker stop 컨테이너ID혹은이름  4. 컨테이너 제거docker rm 컨테이너ID혹은이름  +) 추가로 컨테이너 생성 시 컨테이너가 중지되면 제거하는 명령어도 있습니다.docker --rm run 이미지ID   5. 이미지 제거  docker rmi 이미지ID 모든 이미지 제거docker image prune -a  컨테이너가 참조하고 있으면 제거가 되지 않습니다.이 경우에는, -f 혹은 --fo.. 2024. 10. 14.
[Docker] 3. 이미지 사용해서 컨테이너 생성해서 코드 실행하기 안녕하세요.이번 포스팅에서는 도커 이미지를 사용해서 컨테이너를 생성하고코드를 실행해보겠습니다.  1. 실행할 코드 확인 저는 아래의 프로젝트 코드를 실행하고 싶은데요.해당 코드는 2개의 min, max number를 받아서만약 min number가 max number보다 크다면 "Invalid input - shutting down..." 이라는 문구를 출력하고그렇지 않다면 min, max number 사이의 랜덤 넘버를 출력하는 코드입니다.from random import randintmin_number = int(input('Please enter the min number: '))max_number = int(input('Please enter the max number: '))if (max_num.. 2024. 10. 14.
[Docker] 2. Docker 환경 설정 안녕하세요.이번 포스팅에서는 Docker 사용을 위한 환경 설정을 해볼게요.저는 일단 macOS로 진행합니다.나머지 환경은 추후에 추가해볼게요.  1. Docker 설치 아래의 링크에서 OS에 맞는 Docker를 설치해주세요.회원가입도 진행해주시고, 로그인도 해주세요.https://docs.docker.com/get-started/get-docker/ Get DockerDownload and install Docker on the platform of your choice, including Mac, Linux, or Windows.docs.docker.com 2. Visual Studio Code 저는 Visual Studio Code를 설치했습니다.다른 IDE나 툴이 편하시다면 그걸로 설치하셔도 됩.. 2024. 10. 12.
반응형