연구 분야

연구실의 최근 논문을 문제와 아이디어 두 장의 그림으로 소개합니다. 실험과 결과, 이후의 업데이트는 각 연구의 소식 글에 있습니다.

적은 메모리로 학습하는 옵티마이저 (A*Grad)

문제

① AdamW는 가중치의 2배를 더 저장한다가중치4바이트1차 모멘트 m4바이트2차 모멘트 v4바이트파라미터 하나당 (fp32)BERT-base: 옵티마이저 상태만 835MB② 상태 0인 sign 스텝은 날카로운 곳에평평한 최소점 (SGD)날카로운 최소점sign: 5–10배 더 날카로움 → 일반화 ↓
AdamW는 파라미터마다 상태 두 개(m, v)를 저장해 메모리를 많이 씁니다. 상태를 아예 없앤 sign 스텝은 기울기 크기를 버려 날카로운 최소점에 빠지고 일반화가 나빠집니다.

아이디어

학습률 없는 스텝 = 크기(Polyak, 상한 있음) × 방향스텝 크기(L − L*) 와 기울기로 계산×방향아래 중 하나한 스텝 이동 ≤ ρ·‖w‖발산하지 않음을 증명방향 선택에 따른 옵티마이저 상태 크기AdamW (비교)m, v 두 개RMS: g/√v̂AdamW의 절반 (v 하나)전역 L2: g/‖g‖상태 0sign(g)상태 0학습률·스케줄·warmup·1차 모멘트가 없음 — 조정할 값은 ρ 하나
학습률 없이 손실값으로 스텝 크기를 정하고(Polyak), 한 번에 움직이는 양에 상한을 둡니다. 방향을 무엇으로 쓰느냐에 따라 필요한 상태가 0개 또는 AdamW의 절반이 됩니다.

자세히 보기: 소식 글 →

목표 구조 없이 LLM 줄이기 (ElasticPruner)

문제

① 목표 구조를 미리 정해야 한다레이어 수= ?히든 차원= ?FFN 중간 차원= ?헤드 수= ?보통 같은 크기 참조 모델(예: Pythia)의구조를 빌림 → 원본에 최적이라는 보장 없음② 경사하강법은 로컬 미니멈에 머문다여기에 멈춤더 좋은 구조
구조적 가지치기는 남길 구조를 미리 정해야 하고, 경사하강법만으로는 좋지 않은 구조 조합에 일찍 머물 수 있습니다.

아이디어

제약은 '전체 파라미터 수' 하나 — 나머지 배분은 학습이 찾는다경사하강법(마스크 학습)유전 알고리즘(주기적 탐색)결과가 비슷하면 간격 ×1.5, 많이 다르면 ×0.5GA 영향 세기warm-up에서 최대후반엔 경사하강이 세부 조정적합도 = 원본과의 logit KL ↓
전체 파라미터 수만 제약으로 두고 마스크를 경사하강법으로 학습합니다. 학습 중간중간 유전 알고리즘이 원본과 출력이 가장 비슷한 구조를 찾아 마스크를 밀어 줍니다.

자세히 보기: 소식 글 →

작고 안정적이며 해석 가능한 동역학 모델 (Micro-LNN)

문제

예측을 다시 입력으로 넣으며 길게 굴리면 (예시)실제 동역학 (어트랙터)MLP·KAN: 오차가 쌓여 발산큰 LNN: 고정점으로 무너짐+ 단순한 시스템에도 파라미터 수천 개, 학습 결과를 방정식으로 읽을 수 없음
신경망으로 배운 동역학 모델은 예측을 길게 이어 가면 발산하거나 한 점으로 무너지고, 파라미터가 많으며 방정식으로 읽을 수 없습니다.

아이디어

벡터장 = 감쇠항 + 국소 RBF-KANdy/dt =− y / |τ|+KAN_RBF(y)전체를 붙잡음 (발산 방지)모양을 그림 (국소 함수)격자 위 가우시안 RBF둘 중 하나만으로는 부족• 감쇠항만: 지나치게 수축 → 가짜 고정점• 감쇠항 + 국소 RBF-KAN: 유계성과 모양 모두학습 후 SINDy 희소 회귀로 방정식 복원 →사람이 읽을 수 있는 식
벡터장을 감쇠항(발산 방지)과 국소 RBF-KAN(모양)의 합으로 만듭니다. 학습 뒤에는 희소 회귀(SINDy)로 사람이 읽을 수 있는 방정식을 복원합니다.

자세히 보기: 소식 글 →

의미와 단어를 함께 보는 검색 (AURA)

문제

① 검색 방식마다 잘 보는 것이 다르다단어가 정확히 겹치는가전체 의미가 비슷한가BM25SPLADE (학습형 희소)Dense② 희소성 정규화(FLOPS)는 모든 단어를 똑같이 누른다 (예시)theofproteinkinaseFLOPS: 고루 억제IDF-FLOPS: 흔한 단어만 강하게
학습형 희소 검색(SPLADE)은 단어 일치에는 강하지만 문서 전체의 의미를 담기 어렵고, 희소성 정규화가 정보가 많은 단어와 흔한 단어를 똑같이 누릅니다.

아이디어

SPLADE에 세 가지를 더한다BERT 인코더희소 벡터 (단어 가중치)dense 벡터 ([CLS])점수 = 0.75·희소 + 0.25·dense(α = 0.75)학습 손실• 희소 검색 손실: 처음부터 그대로• dense 손실: 의미 표현을 함께 학습• IDF-FLOPS: 흔한 단어는 더, 드문 단어는 덜 억제보조 손실 가중치 (t/T)²T = 50,000 step이후 1
희소 점수와 dense 점수를 섞어 쓰고, 흔한 단어만 강하게 누르는 IDF-FLOPS 정규화를 더합니다. 보조 손실은 학습 초반에 천천히 키웁니다.

자세히 보기: 소식 글 →

불균형 데이터 학습 (SAB · SABI)

문제

① 클래스별 데이터 수 (long-tail)많은 클래스드문 클래스② 무작위로 뽑은 미니배치8개 중 7개가 많은 클래스→ 드문 클래스는 거의 배우지 못함
클래스마다 데이터 수가 크게 다르면 미니배치가 많은 클래스로 채워져 드문 클래스를 잘 배우지 못합니다(오른쪽은 이해를 돕기 위한 예시).

아이디어

샘플마다: 최근 q번의 예측샘플 A✓✓✓✓✓불확실성 낮음샘플 B✓✗✓✗✗불확실성 높음틀리거나 흔들리는 샘플 → P_SAB ↑클래스마다: 데이터 수의 역수많은 클래스 → 작게드문 클래스 → 크게드문 클래스의 샘플 → P_imb ↑Gini 계수 G로 섞기(1−G)·P_SAB + G·P_imb= P_SABIG는 학습 전에 한 번만 계산G≈0(균형) → SAB와 같음G가 클수록 드문 클래스 보정 ↑
SAB는 최근 예측이 자주 틀리거나 흔들리는 샘플을 더 자주 뽑습니다(위). SABI는 여기에 드문 클래스 보정(아래)을 데이터의 불균형 정도(Gini 계수)만큼 섞습니다.

자세히 보기: SABI 소식 글 → · SAB 소식 글 →