글쓴이 보관물: iamchan

2026.06.03 Paper

🏛️ Part 1: 논문

순번논문저자/연도의의표시
1Learning both Weights and Connections for Efficient Neural NetworksHan et al., NeurIPS 2015Pruning의 시초, iterative magnitude pruning🎯
2Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman CodingHan et al., ICLR 2016Pruning+Quantization+Huffman 통합 파이프라인🎯
3Distilling the Knowledge in a Neural NetworkHinton et al., NIPS 2014 WorkshopKnowledge Distillation 개념 정립🎯
4Quantizing deep convolutional networks for efficient inference: A whitepaperKrishnamoorthi, 2018 (Facebook)PTQ/QAT 실전 가이드, quantization 기초 총정리🎯

✂️ Part 2: Pruning

순번논문의의표시
5Pruning Filters for Efficient ConvNets (Li et al., ICLR 2017)Structured pruning의 대표작🎯
6The Lottery Ticket Hypothesis (Frankle & Carlin, ICLR 2019)“Winning ticket” 개념, 필수는 아니지만 영향력 큼📘
7To Prune, or Not to Prune: Exploring the Efficacy of Pruning for Model Compression (Li et al., 2017)Pruning 한계 논의📙
8Channel Pruning for Accelerating Very Deep Neural Networks (He et al., ICCV 2017)채널 단위 pruning📘
9Rethinking the Value of Network Pruning (Liu et al., ICLR 2019)“Pruning은 architecture를 찾는 것” 통찰📘

📌 읽는 순서 추천: 1 → 5 → 6 → 9

🔢 Part 3: Quantization

3-1. 양자화 기초/고전

순번논문의의표시
10Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference (Jacob et al., CVPR 2018)INT8 inference의 표준, TFLite/MobileNet 기반🎯
11A White Paper on Neural Network Quantization (Krishnamoorthi, 2018)위와 거의 동일, 튜토리얼형🎯
12Effective and Fast: A Novel Sequential Single-Path Search for Mixed-Precision Quantization — 대신 더 명시적인 다음 논문들

3-2. Mixed-Precision / HAQ 계열

순번논문의의표시
13HAQ: Hardware-Aware Automated Quantization with Mixed Precision (Wang et al., CVPR 2019)하드웨어-인식 mixed-precision 자동 탐색🎯
14HAWQ: Hessian AWare Quantization of Neural Networks with Mixed-Precision (Dong et al., ICCV 2019)Hessian 기반 2차 정당화📘
15HAWQ-V2: Hessian Aware trace-Weighted Quantization of Neural Networks (Dong et al., NeurIPS 2020)trace-weighted, 더 발전된 mixed-precision📘
16HAWQ-V3: Dyadic Neural Network Quantization (Yvinec et al., ICML 2021)dyadic scaling, hardware-friendly📙

3-3. PTQ (Post-Training Quantization) — 최근 핵심

순번논문의의표시
17Up or Down? Adaptive Rounding for Post-Training Quantization (Li et al., ICML 2020)AdaRound, PTQ 표준 기법🎯
18Data-Free Quantization Through Weight Equalization and Bias Correction (Nagel et al., ICCV 2019)Equalization + Bias Correction, 데이터 없는 PTQ🎯
19Improving Post Training Quantization Accuracy by Balancing Folds (Nagel et al., ICLR 2020)activation distribution 보정📘
20BRECQ: Pushing the Limit of Post-Training Quantization by Block Reconstruction (Li et al., ICLR 2021)Block-wise 재구성, sharp vs flat minimizer 분석🎯
21QDrop: Randomly Dropping Quantization for Extremely Low-bit Post-Training Quantization (Wei et al., NeurIPS 2022)QAT 시뮬레이션 random drop, 2-bit PTQ📘
22GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers (Frantar et al., ICLR 2023)LLM 4-bit PTQ의 표준, OBQ 일반화🎯

📌 읽는 순서 추천: 10 → 17 → 18 → 20 → 22


🍵 Part 4: Knowledge Distillation (지식 증류)

순번논문의의표시
23Distilling the Knowledge in a Neural Network (Hinton et al., 2014)KD 원조🎯
24FitNets: Hints for Thin Deep Nets (Romero et al., ICLR 2015)Hint-based, intermediate feature 매칭📘
25Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer (Zagoruyko & Komodakis, ICLR 2017)Attention Transfer📘
26Born-Again Networks (Furlanello et al., ICML 2018)동일 크기 teacher→student📙
27Knowledge Distillation: A Survey (Gou et al., IJCV 2021)Survey, 전반 조감📘

🤖 Part 5: LLM 시대의 압축/양자화 (2023~)

순번논문의의표시
28LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale (Dettmers et al., NeurIPS 2022)Outlier 분리, mixed-precision🎯
29SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models (Xiao et al., ICML 2023)W8A8, activation smoothing🎯
30AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration (Lin et al., MLSys 2024)W4A16, activation-aware🎯
31GPTQ (위 22번, 중복)
32SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compression (Dettmers et al., ICLR 2024)희소+양자화 결합📘
33QLoRA: Efficient Finetuning of Quantized LLMs (Dettmers et al., NeurIPS 2023)NF4 + LoRA, 65B finetune on 1 GPU📘
34QuIP: 2-Bit Quantization of Large Language Models with Guarantees (Chee et al., NeurIPS 2023)incoherence processing📘
35A Survey on Model Compression for Large Language Models (및 2024~ 다수 survey)LLM 압축 survey📘

📌 읽는 순서 추천: 28 → 29 → 22 → 30 → 32 → 33


⚙️ Part 6: 실전/시스템 관점

순번논문/자료의의표시
36Efficient Processing of Deep Neural Networks: A Tutorial and Survey (Sze et al., IEEE 2017)하드웨어-알고리즘 공동설계📘
37MLPerf Inference Benchmark표준 벤치마크📙
38ONNX Runtime Quantization docs실전 배포📙

📅

주차주제논문 번호
1-2주분야 조감 + KD 원조3, 4, 23, 36
3-4주Pruning 고전1, 2, 5, 6, 9
5-6주Quantization 기초10, 11, 17, 18
7-8주Quantization 심화13, 14, 20, 22
9-10주LLM 압축28, 29, 30, 32, 33
11-12주Survey + 본 방향 결정27, 35, 직접 탐색

Data Argumentation (작성중인 파일)

A Survey on Image Data Augmentation for Deep Learning.

A survey on Image Data Augmentation for Deep Learning | Journal of Big Data | Springer Nature Link

PDF 다운로드 : https://link.springer.com/content/pdf/10.1186/s40537-019-0197-0.pdf

[Abstract]

Deep Convolution Neural Network 는 컴퓨터 비전 과제에서 매우 놀라울 정도의 우수한 성과를 보였다. 하지만 이러한 네트워크는 과적합을 피하기 위해 빅데이터에 크게 의존하고 있다.
과적합은 네트워크가 학습 데이터를 완벽하게 모델링하는 매우 높은 분산을 가진 함수를 학습하는 현상이다.
데이터 증강은 학습 데이터 셋의 크기와 품질을 향상시키는 일련의 기법을 포함하여 이를 통해 더 나은 딥러닝 모델을 구축할 수 있도록 한다.(번역기 돌린 것 같은 문장이네..)

>>>>> 그러니까 이 연구에서 데이터 증강이란게 왜 필요하냐면,
제한된 데이터 환경에서 학습하게 되면, 분명히 과적합 문제가 발생할 확률이 높기 때문에
데이터 증강 방법을 통해서 데이터 수를 늘려서 학습하면 과적합 문제를 회피할 수 있을 것이다. 라는 말이다.

Data Argumentation은 데이터의 양을 늘리기 위해 원본 이미지에서 여러 변환 방법을 적용하여 그 이미지 개수를 늘린다. 증강시킨다.

컴퓨터 비전에서 CNN을 적용하여 현재 기준을 개선하려는 많은 연구 분야가 있는데, 이러한 모델의 일반화 능력을 향상시키는 것이 가장 어려운 과제 중 하나이다.
일반화 능력은 모델이 이전에 본 데이터(Training)와 전혀 본 적 없는 데이터(Test)를 평가할 때 그 성능의 차이를 의미한다.
일반화 능력이 좋지 않으면 훈련데이터에 과적합(Over Fitting)이 된 것으로 볼 수 있다. 과적합을 발견하는 방법은 훈련 중에 각 epoch 에서 훈련 정확도와 검증(validation) 정확도를 그래프로 그리는 것이다.
위 Fig1. 그래프 처럼 말이다.

torch.serialization.add_safe_globals([argparse.Namespace]) Error

위와 같이 학습 명령을 내리자마자, 오류가 발생했는데..

PyTorch 2.6 버전부터 torch.load() 기본 옵션이 weights_only=True 로 바뀌었다고 한다.

기존 .pt 파일은 모델 가중치(state_dict)와 함께 argspace.Namespace 도 같이 저장된다.

그런데 Namepsace는 pickle로 저장된 Python 객체이다. 즉, weights_only=True 옵션일 때는

객체를 로드할 수 없다고 에러가 발생할 수 밖에 없다.

(Problem)
check_point = torch.load(model)

(solve)
check_point = torch.load(model, weights_only=False)

이렇게 옵션 처리하고 실행하면 학습이 진행된다.

하지만 꼭 주의해야할 사항은, weights_only 옵션을 False로 하게 되면 weight 외의 다른 내용도 포함된다는 것이기 때문에 weight 파일이 같은 머신에서 학습된 파일이면 괜찮겠지만, 다운로드받은 인터넷 파일이면
보안 이슈가 발생할 우려가 되어, 이 옵션을 변경하지 말라고 한다.

LightWeight model을 안드로이드 스마트폰에서 실행해보자

2026.02.16.

기록.

모델 경량화. 근데 Teacher Model에서 Student Model로 Knowledge Distillation 해서 평가해봤더니 이렇더라 저렇더라 한 결과가 실제 스마트폰에서 성능이 어떻게 되는지 궁금하다.

그럼, 해봐야지?

일단 모바일 디바이스에서 실행하는 방법을 좀 알아보고 시도해볼게.

오늘은 아래와 같이 해볼 계획이야.

  1. KD Model을 저사양장치(Zotac)
  2. Pytorch Demo Android 실행(PC to Fold5)

일단 여기까지는 해볼 계획임.