JEV 프롬프트 튜닝하기
수천 행의 학습 라벨에서 문제 행을 찾으려고 저비용 판정 모델 JEV의 프롬프트를 튜닝했다. 프롬프트를 분류기처럼 다루면 된다는 것, 그때 꼭 지켜야 하는 규칙 몇 가지, 그리고 안 지키면 생기는 일을 정리한다.
LLM 입문: 트랜스포머부터 멀티모달까지
RNN 시절의 한계에서 출발해 트랜스포머가 어떻게 동작하는지, 이후 어떤 개선이 붙었는지, 크게 키운 LLM이 무엇을 할 수 있게 되었는지, 그리고 이미지를 보는 LLM이 어떻게 만들어지는지를 정리합니다.
경량화 시리즈 #6, 지식 증류: 큰 모델의 지식을 작은 모델로
TypeSafe Jev의 등장과 며칠 만에 쏟아진 오픈 판정 모델들, 그리고 요즘 넓게 쓰이는 ‘증류’라는 말에서 출발해 지식 증류(KD)를 정리합니다. 작은 모델이 왜 잘 안 배우는지(NetAug 논문의 underfit 진단), temperature와 dark knowledge, 출력·표현·관계 중 무엇을 따라 하게 할지, LLM 시대의 KD, 그리고 캐릭터 채팅 서비스에 어디에 쓰면 되는지까지 다룹니다.
정부가 공짜로 주는 국산 NPU, 진짜 쓸 수 있나?: 미지원 모델 이식 실험기
프로덕션에서 GPU로 서빙하던 페르소나 이탈 판정 모델(mmBERT 기반 분류기)을 국산 NPU(리벨리온 ATOM+)로 옮기기까지: 문제 인식부터 어댑터 작성, 실기 컴파일, 벤치마크까지의 여정.
뉴럴넷 컴파일, 쉽게 이해하기: 파이토치 모델이 하드웨어 언어가 되기까지
‘모델을 컴파일한다’는 게 정확히 무슨 뜻일까? eager 실행과의 차이부터 그래프 캡처·연산 융합·커널 lowering·정적 shape·메모리 계획까지, 그림과 인터랙티브 데모로 차근차근 풀어봅니다.
경량화 시리즈 #5, QAT: 학습으로 양자화 오차를 되돌리기
PTQ는 큰 모델엔 통하지만 작은 모델·저비트에서 무너집니다(2비트에서 13.6%로 붕괴). 해법은 학습 자체에 양자화를 넣는 QAT입니다. forward에 fake quantization을 끼우고, round의 gradient가 0인 문제를 STE(Straight-Through Estimator)로 뚫습니다. round는 미분이 0인데 어떻게 학습이 될까? MNIST MLP로 직접 측정한 plot과 함께.
경량화 시리즈 #4, 저비트 양자화: 아웃라이어와의 싸움
FP4는 표현값이 15개뿐인데 최신 GPU는 어떻게 4비트로 추론할까요? 저비트 양자화를 무너뜨리는 범인은 아웃라이어입니다. outlier 하나가 층을 통째로 지우는 실험부터, 그룹 양자화(MXFP4)·KL clipping·AdaRound·Hadamard 회전이라는 네 가지 처방까지, 2비트에서 53%로 무너진 정확도가 97%로 돌아오는 실험과 함께 코드로 하나씩 검증합니다.
경량화 시리즈 #3: 뉴럴넷 프루닝
1989년 LeCun의 Optimal Brain Damage에서 시작해, 가중치를 잘라내(pruning) 모델을 줄이는 이야기. 무엇을·어떻게·얼마나 자르나, 재학습으로 95%까지 잘라도 버티는 압축의 놀라움, 그리고 하드웨어(NVIDIA 2:4)가 받쳐줘야 실이득이라는 것까지, MNIST MLP로 직접 측정한 plot과 함께.
경량화 시리즈 #2: 뉴럴넷 양자화
학습된 32비트 신경망 가중치를 K-Means(비균등)와 Linear(균등, 정수 연산) 두 방식으로 2~8비트까지 줄여봅니다. 아핀 매핑 r=S(q−Z)부터 압축비·정확도 트레이드오프까지, MNIST MLP로 직접 코드를 돌려 측정한 plot과 함께.
경량화 시리즈 #1: 딥러닝 데이터타입
INT8, FP16, BF16, FP8(E4M3/E5M2), FP4: 딥러닝 모델 카드에 쏟아지는 데이터타입들이 실제로 무슨 뜻인지, 비트가 어떻게 숫자로 해석되는지 하나씩 뜯어봅니다. 비트를 직접 클릭하면 계산식과 값이 실시간으로 바뀌는 위젯과 함께.