머신러닝 이모저모

** 본 강의의 software stack 은 NVIDIA GPU 기준으로 설명된다. 왜냐하면 엔비디아는 software stack(gpu 를 원할하게 사용할 수 있는 환경 구축)이 잘되어있기 때문이다.deep learning 라이브러리와 hardware 사이의 software stack 이 잘되어있는 것이 중요하다. General Deep Learning software stack 아래에 있는 모든 hierarchy 를 software stack 이라고 부른다.   위에서 High-level api 부터 아주 간단하게 보면,Keras 는 (파이토치에는 해당되지 않지만) Tensorflow 딥러닝 라이브러리보다는 상위레벨이다. Distributed DL 프레임워크는 Horovod 가 있다. (멀티 gpu..
심재형 교수님의 인공지능융합기반시스템개론 을 정리한다. 인공지능 (특히 딥러닝) 에서 필수적으로 알아야 할 부분은 파이썬으로 짜인 코드 뿐 아니다.거대한 모델을 돌리기 위한 하드웨어 최적화도 매우 중요하다.본 수업에서는 이 하드웨어와 하드웨어를 최적화하기 위한 소트프웨어에 대해 더 자세히 다루도록 한다.즉 이를 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..