일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- dp
- 동적프로그래밍
- linux
- BFS
- 브루트포스
- 네트워크
- OS
- 그래프
- 딥러닝
- 백준
- 구글 킥스타트
- PYTHON
- 동적 프로그래밍
- 프로그래머스
- CSS
- 코딩 테스트
- kick start
- 코딩
- AI
- 알고리즘
- nlp
- 코딩테스트
- 순열
- 운영체제
- 리눅스
- 프로그래밍
- 킥스타트
- 파이썬
- google coding competition
- DFS
- Today
- Total
목록AI/AI 개발 (18)
오뚝이개발자
아나콘다 설치 방법은 여러 곳에서 찾아볼 수 있으니 생략하겠다. GPU를 사용하는 머신러닝을 위해서는 환경설정이 중요하다. 아나콘다를 이용해 환경 세팅을 해주어야 하는데 파이썬, 파이토치, 쿠다 버전을 맞추기가 까다롭다. 각 버전별로 호환이 되는 것들이 정해져있어서 다른 버전으로 다운받았다가는 싹 다 엎고 재설치를 해야 한다. 여기서는 python3.9에 pytorch를 설치하여 GPU 환경을 구축하는 방법을 소개한다. 먼저 아래와 같은 커맨드로 python3.9를 사용하는 콘다 가상환경을 생성한다. conda create -n [환경이름] python=3.9 가상환경이 만들어졌으면 아래 커맨드로 해당 가상환경을 활성화시킨다. conda activate [환경이름] 그 후 아래 커맨드로 python3.9..
아나콘다(Anaconda)를 사용하다보면 같은 환경을 다른 머신에서도 사용하고 싶거나, 같은 머신에서 비슷한 환경을 복제한 뒤 이런저런 패키지를 추가, 삭제하여 사용하고 싶은 경우가 있다. 이를 위한 기능이 콘다에 있다. 즉, 일일히 패키지를 설치하지 않아도 된다. Step #1 : Conda env를 yaml 파일로 export 하기 아래와 같이 자신이 복제하고자 하는 콘다 가상환경을 activation 시킨 뒤 conda env export 명령어를 사용해서 해당 콘다 환경을 yaml 파일로 저장해주면 된다. conda activate myconda# 만약 가상환경 이름이 myconda라면 conda env export > myconda.yaml 두번 째 명령어를 실행하면 yaml 파일에 자신의 콘다..
아나콘다(Anaconda)는 AI나 데이터 과학 패키지를 많이 포함하고 있다. 아나콘다를 통해 이들을 일괄적으로 편리하게 설치할 수 있다. 이 글에선 리눅스에 아나콘다를 설치하는 방법을 소개한다. Step #1 : 아나콘다 사이트에 접속해 installer 다운로드 https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위 공식 사이트에 접속해서 자신의 OS에..
아나콘다(Anaconda)는 AI나 데이터 과학 패키지를 많이 포함하고 있다. 아나콘다를 통해 이들을 일괄적으로 편리하게 설치할 수 있다. 이 글에선 리눅스에 아나콘다를 설치하는 방법을 소개한다. Step #1 : 아나콘다 사이트에 접속해 installer 다운로드 https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위 공식 사이트에 접속해서 자신의 OS에..
Error 발생 상황 모델 학습을 돌리다보면 다음과 같은 에러를 종종 만나게 된다. device-side assert triggered Assertion `srcIndex < srcSelectDimSize` failed. RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)` Error의 원인 GPU단에서의 에러 메시지는 이처럼 자세한 이유를 드러나지 않아 디버깅이 쉽지 않다. 위와 같은 에러의 원인은 대게 차원(dimension)이 일치하지 않아 발생하는 문제이다. 즉, input으로 모델에 주입..
GPU를 사용해 모델 학습을 돌리다보면 GPU의 사용률이 저조하게 나오는 경우가 있다. 이런 경우 충분한 자원이 있더라도 학습에 오랜 시간이 걸리게 된다. 이 때 필요한 것이 GPU 사용률을 최적화시키는 것이다. 방법은 많지만 그 중 가장 대표적인 방법을 소개하고자 한다. GPU 사용률이 저조한 이유는 대부분 CPU단에서 데이터 처리가 GPU에서의 처리 속도를 따라가지 못해 발생한다. 즉, GPU에서 처리할 데이터가 CPU에서 아직 프로세싱을 거쳐서 준비가 다 되지 않은 경우이다. num_workers 설정해주기 pytorch와 huggingface의 transformers엔 모두 num_workers라는 파라미터를 설정해줄 수 있다. 이는 학습 도중 CPU의 작업에 몇 개의 코어를 사용할지를 결정하는 ..
모델 학습을 돌리다보면 GPU 상태를 모니터링해야 되는 경우가 종종 있다. 내가 지정한 GPU로 프로그램이 잘 돌아가고 있는지, GPU 메모리가 학습이 진행되는 정도에 따라 얼만큼 점유되고 있는지, GPU 사용률이 충분히 높게 잡히고 있는지 같은 사항들을 확인해야 되는 경우들이 그러하다. 이럴 땐 아래의 커맨드로 확인이 가능하다. 리눅스 커맨드 창에 아래와 같은 명령어를 입력하면 1초 단위로 갱신되는 GPU 상태를 모니터링할 수 있다. watch -n -1 nvidia-smi
허깅페이스를 사용하다보면 이미 만들어진 모델을 불러와서 inference만 하고자 하는 때가 있다. 가령 이미 학습된 NER 모델을 불러와 데이터 처리를 한다거나, Summarization 모델을 불러와서 필요한 문서에 대한 summarization을 수행하려고 하는 경우가 그러하다. 보통 이런 때엔 허깅페이스의 pipeline 기능을 사용한다. 그런데 처리하고자 하는 데이터가 대용량인 경우 시간이 오래 걸리는 경우가 많다. 이런 때 GPU를 사용해 model infernece를 돌리는 방법에 대해 소개한다. 참고로 이 방법은 실험을 하면서 내가 필요했던 기능인데 구글 검색을 통해 찾아봐도 나오지 않아서 ...ㅜㅜ 혼자 공식문서를 읽어서 파악하고 직접 실험을 돌리며 알아낸 것이다....! from tra..