심재형 교수님의 인공지능융합기반시스템개론 을 정리한다. 인공지능 (특히 딥러닝) 에서 필수적으로 알아야 할 부분은 파이썬으로 짜인 코드 뿐 아니다.거대한 모델을 돌리기 위한 하드웨어 최적화도 매우 중요하다.본 수업에서는 이 하드웨어와 하드웨어를 최적화하기 위한 소트프웨어에 대해 더 자세히 다루도록 한다.즉 이를 AI computing system 이라고 한다. 아래 내용을 수업에서 배울 것이다. AI computing 시스템 : AI 모델을 처리하기 위한 HW + SWFrameworkPytorch, Tensorflow보통 딥러닝 프레임워크에서 → 머신 코드로 번역하는 compile 과정을 거치지않고 이미 pre-compile 된 (런타임)라이브러리를 통해 함수를 호출하여 gpu 에게 넘겨준다.Runtim..
머신러닝 이모저모
Bit Quantization 을 할때 알아야 할 precision 개념을 알아보자.일단 Bit Quantization 이란 computation 과 메모리 cost를 줄이기 위해 모델의 weight 와 activation 를 표현하는 bit 수를 low-precision 으로 표현하는 방법이다.bit 를 이용해 수를 2진수로 표현한다. Float32일반적으로 모델 학습에 사용되는 부동 소수점 default precision 은 32 이다. 그리고 inference 에서는 속도를 높이기 위해서 사용된다고 한다. Float16fp 는 floating point 라는 뜻이고 bf 는 bfloat 이다.bf16은 주로 인공지능 분야에서 사용하는 단위로 모델 학습시 fp32 와 비교했을때 약 50% 정도 메모리..
Tmux란? VScode 를 사용할 때 불편한 점은 VScode 창이 꺼지면 돌려놨던 애들이 다 꺼져버린다는 것이다…. (어제밤에는 너무 가슴이 아파버렸다) (일반 python finetune.py 으로 돌렸을 때) 이를 방지하기위해 백그라운드로 돌리는 프로그램이다. (screen 과 비슷한 시스템이라고 한다. 사실 screen 이 뭔지도 잘 모른다.) 간단한 tmux 명령어 tmux new -s [seesion 이름] 이렇게 tmux 안에 들어가면 기본적으로 bash terminal 과 똑같기 때문에 “conda activate” 로 conda도 할 수 있다. tmux 를 사용하면 터미널 닫아도 새로 터미널 열어서 돌리던 프로세스를 확인할 수 있다. tmux attach -t [session 이름] t..
UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at /opt/conda/conda-bld/pytorch_1603729096996/work/c10/cuda/CUDAFunctions.cpp:108.) 나의 경우는 device = torch.device("cuda" if torch...