Transformer는 sequence length에 quadratic하게 model size가 결정된다. 즉, self-attention의 memory complexity가 $L^2$라는 얘기이다. (L은 아래 그림 참조)Model size of transformer
Model size of transformer blockTransformer는 NLP task에서 도입돼서 parallelism을 늘렸고, long-range-dependency를 더욱 잘 잡고 뭐 그렇다. 이걸 vision task에서 쓸 수 없을까 ? →ViT, D
현 시점까지 Vision task에서 SOTA는 convolution 기반의 클래식한 아키텍쳐인 ResNet-like model이다. NLP task에선 Transformer가 도입되어 성능을 잘 낼 뿐만 아니라 Pre-train→ Fine-tuning 학습 파이프라인
현재까지의 NLP모델 아키텍쳐인 RNN, LSTM, GRN등은 태어날때부터 sequential하게 태어남. 즉 parallelism을 활용하기 어려워서 sequence length가 길어질수록 메모리 등의 문제로 batching도 제한된다. 이를 해결하기 위한 다양한
Bash (Bourne-Again SHell) is a popular command-line shell used on Linux, macOS, and other Unix-like operating systems. It is the default shell for mos
Commercial Domain Specific Architectures(DSAs) for Deep Neural Networks was required toredeem Sluggish CPU and diminishing Moore’s Law. 위 그림의 왼쪽은 2015
CPI breakdowns 를 통한 분석은 한 애플리케이션 프로세스가 마이크로프로세서에서 어떤 행동을 보이는지 좋은 통찰력을 주는 도구이다. 소프트웨어 엔지니어 또는 컴퓨터 아키텍트는 이러한 분석을 통해 어떻게 SW를 혹은 HW를 설계할지 그 지표로 사용할 수 있다.
지난 20년간의 마이크로프로세서 디자이너들의 노력은 단일 스레드의 성능을 높이기 위해 ILP를 활용하는 것이었으나, memory latency 및 inherently low ILP of application 등의 이유로 그 리턴이 감소해왔다. Niagara proces
어떻게 칩을 효율적으로 사용할 수 있을까 메모리를 늘린다, integration level을 높인다 (graphics accelerator, I/O controller on chip) 등의 노력은 퍼포먼스를 분명 올려 주지만 marginal.결국 computationa
Large and contiguous address space, process protection, execution of process only partially residing in memory 등을 제공하기 위해 VM이라는 테크닉을 사용한다. 그러나 이 방법론의
Cache compression → on-chip cache capacity를 증가시키고, on-chip 및 off-chip bandwidth 사용을 감소시키는 기술이다. 기존의 알고리즘들은 대부분 SW에 의해 컨트롤되는데, HW 복잡도를 증가시키고 compressio