AI & DL 23

[Pytorch Lightning] 튜토리얼 3 - GPU를 사용해서 훈련해보자

오늘은 GPU를 이용해서 모델을 훈려시키는 방법에 대해 소개해보려고 한다. 본론으로 들어가서 GPU를 사용한 것과 사용하지 않았을 때 시간이 차이나는 것을 확인해보자 GPU를 사용했을 때 대략적으로 2배 정도 빠른 것을 볼 수 있다. 그래서 인공지능을 위해서는 GPU가 필수적이면, 시간을 아껴준다. 그렇다면 gpu는 어떻게 사용하는 것일까? 그에 대해 알아보자 GPU 사용해보기GPU를 사용하는 방법은 크게 2가지로 나뉜다. 자동으로 할당하게 하는 경우와 우리가 직접 할당하도록 하는 방법이 있다. 일단 자동으로 할당하기trainer = pl.Trainer(accelerator="gpu", devices="auto")accelerator  : 가속기를 의미하며 , gpu, tqu, hpu가 있는데 일반적으로..

[Pytorch Lightning] 튜토리얼 2 - 모델을 저장하고 불러오자

이번에는 훈련한 모델을 저장하는 방법과 불러오는 방법에 대해 알아보려고 한다. 1편에서 사용한 코드를 거의 그대로 사용하며, Trainer선언 부분만 바뀌는 정도이며, 전체 코드는 깃허브에 있으니 참고하기 바란다.요약모델을 특정경로에 체크포인트 저장하기모델의 하이퍼파라미터 저장하기체크포인트로 모델을 불러오기 모델을 특정경로에 체크포인트 저장하기모델을 저장하는 것은 각 epoch마다 자동으로 저장된다. Jupyter 기준으로 설명하면, Jupyter 파일의 같은 디렉터리 내에 lightning_logs폴더에 각 validation_step마다 저장되는 것을 알 수 있다. 하지만, 나는 여기서 특정 경로에 저장하는 방법에 대해 소개하려고 한다.# 이전 코드trainer = pl.Trainer(max_epoc..

[Pytorch Lightning] 튜토리얼 1 - 모델을 만들고 훈련시키기

오늘은 파이토치 라이트닝과 관련해 기본적인 자료가 부족해서 직접 작성해보기로 했다. 공식 홈페이지를 기반으로 했으니, 많이 도움이 될 것이라고 생각한다. 코드는 여기를 참고하면 된다.대략적인 구조는 다음과 같다. 데이터를 모아서 DataLoader를 이용해 train, valid, test로 분할한다.Model을 선언한다.훈련때마다 사용하는 방법을 선언한다. (e.g., train_step에서는 어떻게 진행하고 ...)Model과 훈련 방법을 Pytorch Lightning Module에 선언한다.Hyper Parameter + Lighitning Module을 Trainer에 추가한다.Trainer를 통해 훈련된 모델(Trained Model)을 사용한다. 요약라이브러리 설치데이터셋 선언모델 구조 만들..

[Pytorch Lightning] BART를 이용해 Text를 요약해보자 - 4 (완)

1편 : 프로젝트 요약 및 LightningModule 설계2편 : Dataset 구축 및 DataLoader 구축3편 : logger 작성, wandb 연동 및 확인4편 : 모델 로딩 및 실행결과(wandb) 확인이번에는 작성한 코드를 이용해서 모델 로딩 및 실행결과(wandb) 확인을 해보겠습니다.환경설정 및 초기화사용할 모델 및 토크나이저 선택1편을 보시면 알겠지만, 저는 한국어로 입력했을 때, 영어로 출력하도록 Task를 만들었습니다. 그래서 저는 한국어-영어 쌍으로 훈련된 모델을 허깅페이스에서 가져와서 사용했습니다. 궁금하신분은 링크를 클릭해보시면 됩니다. 간단히 말하면 한국어를 입력했을 때, 영어로 출력하는 KoBART 모델입니다.model_id = 'chunwoolee0/circulus-ko..

[Pytorch Lightning] BART를 훈련해 Text를 요약해보자 - 3

1편 : 프로젝트 요약 및 LightningModule 설계2편 : Dataset 구축 및 DataLoader 구축3편 : logger 작성, wandb 연동 및 확인4편 : 모델 로딩 및 실행결과(wandb) 확인이번에는 훈련이 잘되고 있는지 확인하기 위해 필요한 것들에 대해 알아보려고 합니다. 모델 인수들이 잘 입력되었는지 log에 확인하기 위한 logger 작성과 훈련 loss들이 잘 훈련되고 있는지에 대해 알려주는 wandb, tensorboard에 대해 알아보려고합니다.(tensorboard는 추후에 작성하도록 하겠습니다.) logger 작성import loggingimport sysdef get_logger(name: str) -> logging.Logger: """Return logge..

[wandb] wandb에 대해 알아보고 사용해보자

머신러닝 및 딥러닝 프로젝트에서 모델의 추적을 위해 강력한 도구인 wandb(Weights and Biases)를 사용하여 모델의 성능을 극대화하는 방법을 소개하려 한다. wandb는 무엇이고 왜 사용하는가wandb(Weights and Biases)는 머신러닝 및 딥러닝 프로젝트에서 모델의 파라미터에 대한 도구로, 실험 결과를 시각화하고, 하이퍼파라미터를 조정하며, 모델의 성능을 모니터링하는 도구이다.   특히, 하이퍼파라미터 최적화를 통해 최적의 모델 설정을 찾는 데 큰 도움이 된다. wandb 가입 및 로그인wandb를 사용하기 위해서는 wandb 공식 웹사이트에서 회원가입과 로그인을 해야 합니다. 이메일 주소와 비밀번호를 입력하거나, 구글 계정이나 GitHub 계정으로 손쉽게 가입하고 로그인할 수..

AI & DL 2024.07.14

[Pytorch Lightning] BART를 훈련해 Text를 요약해보자 - 2

1편 : 프로젝트 요약 및 LightningModule 설계2편 : Dataset 구축 및 DataLoader 구축3편 : logger 작성, wandb 연동 및 확인4편 : 모델 로딩 및 실행결과(wandb) 확인 이번에는 Dataset 구축 및 DataLoader 구축에 대해 설명하려고 한다. 근데 생각을 해보았을 땐, 이 글을 보는 사람들은 데이터셋 구축은 관심이 없을 것이고 아무래도 어떻게 코드를 짜는지 궁금할 것이라 생각하기 때문에 데이터셋 구축에 대해서는 설명하지 않고 데이터셋이 어떻게 구성되어 있는지만 말하려고 한다.   Dataset 구축# Text : Encoder # function : Decoder# 예시# 음료 개수, 메뉴 개수, 메뉴 개수 -> drink(quantity=1); m..

[Pytorch Lightning] BART를 훈련해 Text를 요약해보자 - 1

1편 : 프로젝트 요약 및 LightningModule 설계2편 : Dataset 구축 및 DataLoader 구축3편 : logger 작성, wandb 연동 및 확인4편 : 모델 로딩 및 실행결과(wandb) 확인  오늘은 이전에 캡스톤디자인에서 BART를 이용해서 Text를 요약하는 Task를 진행했었는데, 이것에 대해 설명하면서 코드를 어떻게 작성했는지 설명하려고 한다. 간단하게 요약하면 다음과 같다. 카페 메뉴에 대한 Text가 입력이 되면, BART를 이용해서 영어로 번역한 뒤 필요한 내용만 출력하는 것이다. 아이스 아메리카노 하나, 카페라떼 하나를 영어로 요약하는 것이다. 다음과 같은 Task를 위해 BART를 훈련시키는 코드에 대해 설명하겠다. 필요한 라이브러리 설치pip install da..

[Hugging Face] 내가 만든 Dataset을 Hugging Face에 올려보기

오늘은 허깅페이스에 내가 만든 Dataset을 올리는 방법에 대해 소개해드리려고 합니다. 이를 통해 다른 사람들이 업로드한 데이터셋을 사용할 수 있습니다. Dataset을 업로드하려면 허깅페이스 토큰이 필요합니다. 토큰을 발급받지 않은 분들은 여기를 클릭해서 토큰을 발급해주세요데이터셋 저장할 Repo 만들기데이터 만들기데이터 허깅페이스에 업로드하기 코드는 여기에 있습니다. 데이터셋 저장할 Repo 만들기 허깅페이스 홈페이지에 들어갑니다.위의 이미지와 같이 프로필을 누르고 New Dataset 버튼을 누릅니다. 다음과 같이 저장할 Repo 이름을 작성합니다.작성을 하고 Create dataset 버튼을 누릅니다.그러면 다음과 같이 giliit/upload_dataset 이라는 Repo가 생성됩니다. 데이터..

[Hugging Face] 모델 가져오기(Read), 모델 및 데이터 업로드(Write)를 위한 Token 발급 받는 방법

안녕하세요, 오늘은 허깅페이스에서 특정 모델을 읽거나, 데이터나 모델을 업로드하기 위해 필요한 Token을 발급받는 방법에 대해 알려드리려고 합니다. 글의 목차는 다음과 같습니다.허깅페이스 가입하기토큰 발급받기토큰 삭제하기 허깅페이스 가입하기일단 허깅페이스에 가입하기 위해 허깅페이스 홈페이지를 들어갑니다.https://huggingface.co/ Hugging Face – The AI community building the future.The Home of Machine Learning Create, discover and collaborate on ML better. We provide paid Compute and Enterprise solutions. We are building the found..