기존 DNN training에서는 weight pruning, grouping 등의 기법을 사용하여 weight sparsity를 활용하였다. 그러나 weight pruning은 training 초기에는 weight의 중요도를 파악하기 어렵기 때문에 sparsity가 낮고, weight grouping은 sparsity는 높지만 accuracy degradation이 발생하는 문제가 있었다.
GST는 training 초반에는 "group-sparse mode"로 동작하며 weight grouping과 group 단위의 pruning을 적용한다. Sparsity가 충분히 높아지면 GST는 "sparse-only mode"로 동작하며, grouped weight를 다시 복원하여 pruning을 적용한다.
실험결과, GST는 weight pruning이 초반에 sparsity가 낮다는 문제점과 weight grouping의 accuracy degradation을 해결하였다. 그러나, standard training method에 비해 training performance degradation이 발생할 여지는 존재한다.
그러나 reward drop 없이 높은 compression ratio을 얻기 위해, GST는 weight가 많은 large layer에만 적용되었다.
Internal memory access를 줄이기 위해서는 compressed weight의 direct calculation이 필요하다.
Weight prefecher가 non-zero grouped weight를 찾아 weight register에 저장한다. Weight router는 PE들로 weight를 뿌려줄 뿐만 아니라, 다음 cycle에서 weight가 reuse될 경우, PE로의 routing만 변경하여 weight를 reuse한다.
NN의 weight들은 특정 exponent 값을 다른 값들 보다 많이 가지게 된다. EMDE는 exponent의 mean값을 기준으로 +- 3 이내의 값은 3b index로 표현하며, 이외의 값들은 3b index와 8b exponent로 표현한다(bfloat16의 exponent는 8b 이므로).
GSTC내의 CNI(Compressing Network Interface)는 weight transportation과 동시에 EMDE를 수행한다. CNI가 weight를 받으면, mean value를 tracking하며 송신할 때는 EMDE를 적용한 format으로 송신한다.
기존 DRL accelerator는 weight를 decoding한 후, exponent를 SRAM에 저장하여 memory access와 power comsumption이 컸다. EMDE의 경우 compressed exponent가 SRAM에 직접 저장되며 weight fetch 이후에 decode되기 때문에 효율적이다.
Training 과정에서 back-propagation을 수행하기 위해서는 transposed weight가 필요하다. Weight가 그대로 존재한다면, column과 row를 바꾸기만 하면 되지만 weight pruning과 grouping을 하여 weight가 irregular pattern을 갖을 경우에는 문제가 복잡해진다.
SWT는 2단계에 걸쳐 weight를 tranpose한다. 첫번때로 sparse weight를 square-block-wise로 나누며, 다음으로 block 단위로 tranpose를 수행한다.
Block 단위의 tranpose는 8x8 크기의 TRA(Tranpose register array)를 통해 수행된다.
Block들 간의 tranpose는 T-TLB(Transpose Translation lockaside buffer)를 통해 virtual하게 수행된다. T-TLB는 각 block의 non-zero weight의 수를 이용해, 각 block의 starting address를 저장한다.
T-TLB는 non-zero weight의 갯수를 통해 각 block의 starting address를 저장하므로, back-propagation 단계에서 online update를 통해 starting address를 update할 수 있다. Online update를 통해 필요한 T-TLB의 크기는 2 KB에서 0.06 KB로 약 97% 감소하였다.
빨간색에 해당되는 layer에만 GST가 적용되었다.