본문 바로가기

분류 전체보기54

만들면서 배우는 생성 AI 13장 - 멀티모달 모델 멀티모달 학습이란 두 종류의 데이터 사이를 변환하도록 생성 모델을 훈련시키는 학습이다. 여기서 두 종류의 데이터란, 이미지/텍스트/비디오 등을 의미한다. Dall-E 2 이 모델은 텍스트 투 이미지 생성용으로 만든 모델이며 2022년 4월에 출시된 버전이다. 구조 : 입력 프롬프트 -> 텍스트 인코더 -> 텍스트 임베딩 -> 프라이어 -> 이미지 임베딩 -> 디코더 -> 이미지 생성 주요하게 볼 부분은 텍스트 인코더, 프라이어, 디코더 세가지이다. 1. 텍스트 인코더 역할 텍스트 프롬프트를 임베딩 벡터로 변환시키는 역할을 하며, 잠재 공간 내에서 텍스트 프롬프트의 개념적 의미를 나타낸다. 이 모델에서는 CLIP이라는 모델을 사용한다. CLIP 모델 자연어 감독으로부터 시각적 개념을 효율적으로 학습하는 신.. 2024. 1. 3.
[파이토치] 7. Hydra with lightning 배경 1. 필요성 컴퓨터 프로그래밍과 동일하게 모델도 역시 코드로 동작한다. 따라서 주로 변경되는 변수들이나 환경설정들을 관리하는 부분에 대한 어려움이 있다. 특히 실험할때마다 바뀌는 파라미터와 하이퍼파라미터는 코드 내부에 직접 작성하기보다는 한번에 변경하면 모델이 변경된 채로 적용되는 것이 가장 바람직하다. 이러한 기능을 지원해주는 것이 Hydra이다. 2. yaml 특징 목적 자체는 파라미터에 해당하는 값을 전달해주기 위함이므로, hydra에서는 key-value 형태로 값을 전달한다. 이를 전달하기 위한 데이터 포맷으로 yaml을 사용하는데 이는 아래와 같은 특성을 가진다. hydra를 사용하려면 우선 config라는 이름의 yaml 파일을 생성해야한다. 1) key-value 구성으로 작성된 파일.. 2024. 1. 3.
[파이토치] 0. 에러 아카이브 파이토치를 다루다보면 다양한 에러에 마주치게 되는데 사실 구글링해도 안나오는 에러들도 있고 나중에 다시 구글링하기에도 시간이 아까워서 이 포스트에 계속 쌓아두려고 한다. 1. device-side assert triggerd CUDA kernel errors RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with TORCH_USE_.. 2024. 1. 2.
[파이토치] 6. TensorBoard와 WandB 서론 스타트업에서는 다양한 가설과 이를 증명할 수 있는 기능을 만들어 실험을 진행하고 분석한 결과를 바탕으로 기능을 개선하는 형태로 제품을 만들어갑니다. 이 때의 실험에 대한 결과 분석이 매우 중요해서 다양한 로그와 지표들을 설정하고 실험 과정에서 이를 트래킹합니다. 딥러닝 모델을 만드는 것 역시도 제품을 개선하는 것과 유사하게 수많은 이터레이션과 그 이터레이션에서 레슨을 얻는 것이 필요한 작업입니다. 어떤 것들을 실험 과정에서 기록해야할까요? 1. Loss & Accuracy가 에폭마다 잘 떨어지는가? 2. weight, bias가 Descent Vanishing으로 학습이 안되지는 않는가? 3. 우리가 해결하려는 문제의 차원들을 모델이 임베딩을 통해서 적절하게 구분하였는가? 4. 실험 중간중간 결과물.. 2024. 1. 2.