열세번째 수업 | 스테이블 디퓨전 실습 & 워드프레스 복습

Faithful Dev·2024년 9월 26일
0

박온순 강사님

Stable Diffusion 실습

Azure에서 Stable Diffusion Web UI 설치하기

Stable Diffusion Web UI는 AI 이미지 생성 도구로, Azure에서 우리는 Azure Machine Learning을 사용해서 설치했다.

필수 사양

  • CPU: 최신 Intel/AMD CPU
  • RAM: 최소 16GB
  • 저장소: SSD 256GB 이상
  • GPU: 최소 8GB의 GeForce RTX

Azure Machine Learning Compute Instance 사용

일반적인 가상 머신 대신 Azure Machine Learning의 Compute Instance를 사용하여 미리 구성된 환경에서 모델을 쉽게 실행할 수 있었다. AI 모델 학습 및 실행에 필요한 도구들이 미리 설치되어 있어 시간을 절약할 수 있었으나, 실행? 배포? 하는데 오래 걸렸던 것으로 기억. (이것은 어제의 기억)

SSH로 Compute Instace에 접속

Azure Machine Learning Studio에서 Compute Instance를 생성한 후, SSH로 접속.

ssh -i <프라이빗키>.pem azureuser@<IP주소> -p 50000

Stable Diffusion 설치 명령어

Git Repository 클론

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui/models/stable-diffusion

Git Repository를 클론해서 Stable Diffusion Web UI를 설치했다. 최근에 Git을 공부하고 있었는데 이렇게 만나니까 괜히 반갑.

모델 다운로드

curl -H "Authorization: Bearer <허깅페이스 토큰>" https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt --location --output v1-5-pruned-emaonly.ckpt

Hugging Face에서 Stable Diffusion 모델을 다운로드 한다.

Conda 가상 환경 만들기

conda create -n a1111-sdwebui python=3.10 -y
conda activate a1111-sdwebui

Compute Instance에서 가상 환경을 설정하고 필요한 라이브러리를 설치한다.

필수 라이브러리 설치

pip install -r requirements_versions.txt
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

모델 실행에 필요한 PyTorch 및 기타 라이브러리를 설치한다.

Stable Diffusion 실행

accelerate launch --mixed_precision=bf16 --num_cpu_threads_per_process=6 launch.py --share --enable-insecure-extension-access --xformers --no-half-vae --gradio-auth <아이디:비밀번호>

WEb UI를 실행하고 Gradio로 브라우저에서 사용할 수 있다.

💡 Gradio!
사용자가 브라우저에서 직접 AI 모델과 상호작용할 수 있도록 해주는 도구. Stable Diffusion Web UI는 이 Gradio 인터페이스를 통해 모델을 쉽게 실행하고 이미지를 생성하는 웹 기반 인터페이스를 제공한다. 이를 통해 사용자들은 복잡한 코딩 없이도 간단한 텍스트 입력만으로 이미지 생성이 가능해진다. (출처: ChatGPT)

Compute Instance 관리

Azure Machine Learning Studio에서 Compute Instance를 관리하면서 필요에 따라 시작 및 중지할 수 있다. 특히 GPU 사용 시 비용이 발생하므로, 작업이 끝난 후에는 자동 종료 설정을 해두는 것이 좋다.

Personal Insight

MS AI School의 장점, 이 프로그램을 통해서 느끼고 있는 값진 경험이라면, Azure 머신 러닝과 같은 고가의 클라우드 리소스를 지원해 주는 덕분에, 내 생애 경험하지 못할 대규모 AI 인프라를 마음껏 활용해 볼 수 있다는 점이다. GPU를 사용하는 작업에 드는 비용을 보니 어마어마하던데.. 이렇게 비용 지원을 받으면서, (심지어 출석만 잘해도 용돈(?)까지 받으면서), 고성능의 리소스를 경험할 수 있다는 건 MS AI School이 가진 정말 큰 장점이라고 느낀다. 혼자 공부하면서 AWS 등을 이용했을 때는 과금에 대한 부담 때문에 해보고 싶은 것들에 상당 부분 접근해보지 못했기 때문에, (혹은 사비를 들였기 때문에) 어디서도 얻기 힘든 기회라고 분명히 말할 수 있다. 로컬에서는 시도 못할 작업들도 MS Azure를 통해 시도해보면서, 클라우드의 위력도 동시에 느끼고 있다.

오늘은 세번째 워드프레스 복습이었다. 처음에 알 수 없는 이유로 Key 생성이 안돼서 애먹었지만, 영역을 바꿔서 진행하니 금방 해결이 되었다. 진행 과정 중에 작은 에러가 발생했는데, 사실 바로 질문을 해서 해결할 수도 있었겠지만, 왠지 스스로 해결해보고픈 오기가 생겼다. 한 시간 동안 그 문제를 해결하려고 아주 끙끙 앓았다.

원인은 아주 사소한 거였는데, 내가 설정한 데이터 베이스 이름과 내가 권한을 부여한 사용자의 이름이 달랐던 것. 이 때문에 코드를 다 작성하고도 워드프레스가 계속 데이터 베이스에 접근할 수 없다는 오류를 띄웠다. 여러 시도들을 해보다 wp-config.php 파일을 열어봤는데 여기서 오류를 발견한 것.

수정하자마자 모든 게 정상적으로 돌아갔을 때의 희열감은 말로 표현할 수 없다. 간단한 문제였는데도 발견하지 못한 한시간이 아쉬울 수 있겠지만, 한시간이라는 시간을 들여 스스로 찾아서 해결했다는 사실이 더 기뻤다. 덕분에 오류가 주는 스트레스보다 그 해결 과정에서 오는 성취감이 얼마나 큰지 다시 한 번 느끼게 됐고, 나 이 길 꽤나 잘 선택했다는 섣부른 만족감도 슬쩍 얻었다.

어린 아이가 수십 번, 수백 번, 수만 번을 넘어야 걸을 수 있게 되는 것처럼, 기술은 결국 문제를 해결하는 과정에서 성장한다. ChatGPT가 일상에 스며들면서 어느 순간 내가 사고하기보다는 GPT에 물어보는 게 사실 많이 편해졌는데, 나 스스로 오류의 원인을 찾고 해결하는 과정에서 얻는 성취감을 오랜만에 느껴본 것 같아서, 기술의 발전이 나에게 주고 있는 영향에 대해서 다시 한번 생각하게 되었다.

하루하루가 참 값지다. 내가 값지다고 생각하는 만큼 하루는 가치있어진다. 매일매일 더 가치있는 하루를 살아가기를. 😊

profile
Turning Vision into Reality.

2개의 댓글

comment-user-thumbnail
2024년 9월 29일

와 전부 기록하고 계시네요. 우리 5기 화이팅!

1개의 답글