18 시간 이상의 비디오는 Vaes에서 Pytorch와 Hugging Face와 거의 실시간 안정적인 확산까지 당신을 데려가는 것입니다 ... 딥 러닝을 다시 재미있게 만들기위한 많은 실습 예제가 있습니다!
이 저장소에는 코드, 슬라이드 및 프로그래밍 생성 AI 비디오 코스의 예제가 포함되어 있습니다.
Progrence Generative AI는 텍스트와 이미지를 모두 이해할 수있는 대형 멀티 모달 모델로 작업하기 위해 Pytorch에 간단한 피드 포워드 신경망을 구축하는 데있어 깊은 생성 모델링의 실습 투어입니다. 그 과정에서, 당신은 처음부터 자신의 생성 모델을 처음부터 훈련시키기 위해 이미지의 무한대를 만들고, LLMS (Lange Models)와 같은 대형 언어 모델 (LLM)과 비슷한 텍스트를 생성하고, 자신의 텍스트-이미지 파이프 라인을 작성하여 프롬프트 기반 생성 모델이 실제로 작동하는지 이해하고 안정적인 사전 확산과 같은 대규모 선입 된 모델을 개인화하여 독특한 시각적 주제 (다른 기타)에서 새로운 주제를 생성하는 방법을 배우게됩니다.
이 저장소의 코드, 슬라이드 및 연습은 자유롭게 사용할 수 있습니다. 해당 비디오는 다음에서 구입할 수 있습니다.
시작하는 가장 쉬운 방법 (비디오 여부)은 Google Colab (또는 Kaggle, Paperspace 등)과 같은 클라우드 노트북 환경/플랫폼을 사용하는 것입니다. 편의를 위해 로컬 개발을위한 Raw Jupyter 노트북, NBViewer 링크, REPO를 복제하지 않고 코드를 탐색하려는 경우 (또는 내장 GitHub 뷰어를 사용할 수 있음) NBViewer 링크 및 로컬 개발 환경을 설정하지 않고 코드를 대화식으로 실행하려는 경우 (Cuda Libraries와의 싸움) COLAB 링크를 찾으려면 NBViewer 링크를 제공했습니다.
| 공책 | 슬라이드 | nbviewer (정적) | Google Colab (대화식) |
|---|---|---|---|
| 레슨 1 : 생성 AI의 무엇, 왜, 어떻게, 어떻게 | |||
| 레슨 2 : 참을성이없는 Pytorch | |||
| 레슨 3 : 잠재적 인 공간은 내 주변의 모든 것을 지배합니다 | |||
| 레슨 4 : 확산을 시연합니다 | |||
| 레슨 5 : 변압기로 텍스트를 생성하고 인코딩합니다 | |||
| 레슨 6 : 텍스트와 이미지 연결 | |||
| 제 7 조 : 확산 모델에 대한 훈련 후 절차 |
코드 또는 자료에 오류가 발생하면 github 문제 또는 이메일 [email protected]을 열어주십시오.
git clone https://github.com/jonathandinu/programming-generative-ai.git
cd programming-generative-aiPython 3.10.12 로 구현 및 테스트 된 코드 (기타 버전> = 3.8은 잘 작동하지만 구매자는 조심해야합니다 ...). 로컬 가상 환경에서 노트북에 사용 된 모든 패키지를 설치하려면 :
# pyenv install 3.10.12
python --version
# => Python 3.10.12
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt pyenv 사용하여 Python 버전을 관리하는 경우 pyenv 이 디렉토리로 변경할 때 .python-version 에 나열된 버전을 자동으로 사용해야합니다.
또한 노트북은 사용 가능한 내용에 따라 적절한 장치 (GPU)를 자동으로 선택할 수 있도록 셀과 함께 설정됩니다. Windows 또는 Linux 시스템에서 NVIDIA 및 AMD GPU가 모두 작동해야합니다 (NVIDIA로만 테스트되었습니다). Apple Silicon Mac에서 금속 성능 셰이더가 사용됩니다.
import torch
# default device boilerplate
device = (
"cuda" # Device for NVIDIA or AMD GPUs
if torch . cuda . is_available ()
else "mps" # Device for Apple Silicon (Metal Performance Shaders)
if torch . backends . mps . is_available ()
else "cpu"
)
print ( f"Using { device } device" )호환 장치를 찾을 수없는 경우 코드는 CPU 백엔드로 기본값을받습니다. 이는 수업 1과 2에서는 괜찮을 것입니다. 그러나 GPU를 사용하지 않는 이미지 생성 예제 (레슨 2 이후의 거의 모든 것)의 경우 불편하게 느리게 될 것입니다. 그 경우 위의 표에서 Google Colab 링크를 사용하는 것이 좋습니다.
중간에서 고급
제 1과는 깊은 생성 모델링의 세부 사항으로 이동하기 전에 최소한이 과정과 관련이있는 생성 AI가 실제로 무엇인지 소개로 시작합니다. 가능한 다중 모드 모델 (입력 및 출력 양식 측면에서)과 알고리즘이 실제로 얇은 공기에서 풍부한 미디어를 생성 할 수있는 방법을 다룹니다. 이 교훈은 깊은 생성 모델의 약간의 공식화와 이론과 다양한 유형의 생성 모델링 아키텍처 간의 트레이드 오프로 마무리됩니다.
레슨 2는 일반적으로 Pytorch 및 딥 러닝 프레임 워크에 대한 소개로 시작합니다. GPU의 자동 차별화와 투명 계산의 조합이 현재 딥 러닝 연구 및 응용 프로그램의 현재 폭발을 가능하게하는 방법을 보여줍니다. 다음으로, Pytorch를 사용하여 훨씬 더 복잡한 신경망을 구축하는 데 도움이되는 선형 회귀 모델을 구현하고 배우는 방법을 보여줍니다. 마지막으로, Pytorch가 제공하는 모든 구성 요소를 간단한 피드 포워드 멀티 레이어 Perceptron을 구축하기 위해 제공하는 모든 구성 요소를 결합하여 레슨이 마무리됩니다.
레슨 3은 컴퓨터 프로그램이 실제로 이미지를 숫자의 텐서로 표현하는 방법에 대한 입문서로 시작합니다. 나는 컨볼 루션 신경 네트워크의 세부 사항과 컴퓨터가“볼 수있는”구체적인 건축 기능을 다룹니다. 다음으로, 당신은 입력 이미지의 압축 된 표현을 배우기 위해 간단한 자동 인코더를 구축하고 훈련시켜 잠재 변수 모델의 첫 맛을 얻습니다. 수업이 끝나면 확률 샘플링을 Autoencoder 아키텍처에 추가하여 VAE (Variational Autoencoder)에 도달하여 미래의 생성 모델의 핵심 구성 요소입니다.
레슨 4는 확산 모델에 대한 개념적 소개로 시작합니다.이 최신 상태의 핵심 요소는 안정적인 확산과 같은 예술 텍스트-이미지 시스템의 주요 구성 요소로 시작됩니다. 제 4과는 오픈 소스 라이브러리의 Hugging Face 생태계에 대한 첫 번째 소개입니다. 여기서 Diffusers 라이브러리를 사용하여 임의의 노이즈에서 이미지를 생성하는 방법을 볼 수 있습니다. 그런 다음 수업은 라이브러리의 레이어를 천천히 껍질을 벗기고 확산 과정을 해체하고 확산 파이프 라인이 실제로 작동하는 방식에 대한 세부 사항을 보여줍니다. 마지막으로, 당신은 확산 모델의 반복 거부 프로세스의 고유 한 여유를 활용하여 이미지 사이를 보간하고 이미지-이미지 변환을 수행하며 이미지를 복원하고 향상시키는 방법을 배웁니다.
레슨 4가 이미지에 관한 모든 것과 마찬가지로, 5 장은 텍스트에 관한 것입니다. 자연어 처리 파이프 라인에 대한 개념적 소개와 확률 론적 언어 모델 소개로 시작합니다. 그런 다음 텍스트를 생성 모델로보다 쉽게 이해할 수있는 표현으로 변환하는 방법을 배우고 단어를 벡터로 표현하는 더 넓은 유용성을 탐색합니다. 수업은 변압기 아키텍처의 처리로 끝납니다. 여기서 Hugging Face Transformers 라이브러리를 사용하여 미리 훈련 된 대형 언어 모델 (LLM)과의 추론을 수행하여 처음부터 텍스트를 생성하는 방법을 볼 수 있습니다.
레슨 6은 멀티 모달 모델과 필요한 구성 요소에 대한 개념적 소개로 시작합니다. 대조적 인 언어 이미지 사전 훈련이 공유 된 이미지와 텍스트의 공유 모델을 배우고 공유 잠재 공간을 사용하여 시맨틱 이미지 검색 엔진을 구축하는 방법을 배우는 방법을 알 수 있습니다. 수업은 잠재 확산 모델에 대한 개념적 개요로 끝납니다. 안정적인 확산 파이프 라인을 해체하여 텍스트-이미지 시스템이 사용자에게 제공되지 않은 프롬프트를 전혀 보지 않는 이미지로 바꿀 수있는 방법을 정확하게 확인합니다.
레슨 7은 기존 미리 훈련 된 다중 모드 모델을 적용하고 보강하는 것입니다. 매개 변수 효율적인 미세 튜닝을위한 방법과 기술로 이동하기 전에 생성 모델을 평가하는 더 평범하지만 매우 중요한 작업으로 시작합니다. 그런 다음 새로운 스타일, 주제 및 컨디셔닝에 대한 안정적인 확산과 같은 미리 훈련 된 텍스트-이미지 모델을 가르치는 방법을 배웁니다. 수업은 실시간 이미지 생성 근처에 접근하기 위해 확산을 훨씬 더 효율적으로 만드는 기술로 마무리됩니다.
© ️ 2024 Jonathan Dinu. 모든 권리 보유. 본문, 이미지 및/또는 코드의 일부 또는 전체 에서이 저작권 통지 또는 재생산을 제거하는 것은 명시 적으로 금지됩니다.
자신의 프레젠테이션 (블로그 게시물, 강의, 비디오, 코스 등)에서 컨텐츠를 사용할 수있는 권한은 [email protected]으로 문의하십시오.