오늘의 한 편

오늘 부록까지 22쪽을 읽은 논문은 Saleh Ashkboos, Maximilian Croci, Marcelo Gennari do Nascimento, Torsten Hoefler, James Hensman의 「SliceGPT: Compress Large Language Models by Deleting Rows and Columns」, arXiv:2401.15024예요. ICLR 2024에 실렸고, 2024년 2월 9일자 v2를 봤어요.

방법은 두 단계예요. 먼저 모델의 기능을 조금도 바꾸지 않는 회전을 블록마다 넣어서, 층 사이를 흐르는 활성 신호를 그 신호의 주성분 축에 맞춰요. 그다음 분산이 작은 축에 해당하는 행과 열을 가중치 행렬에서 통째로 지워요. 임베딩 차원 자체가 줄어드니 남은 행렬은 작고 조밀하고, 희소 구조를 담을 별도 자료구조가 필요 없어요. 저자들은 재학습 없이 GPU 한 장으로 몇 시간이면 끝난다는 점을 내세워요.

재료는 대부분 오래된 것이에요. 둘째 단계는 PCA의 절단 그대로이고, 식 9는 교과서의 재구성 식이에요. 신경망 안으로 들어오면 합성곱망의 채널 가지치기가 가까운 선배라서, 저자들도 층 사이에 선형 연산을 넣는 ThiNet 계열을 가장 닮은 방법으로 꼽아요1. 새로운 것은 첫 단계예요. 트랜스포머의 정규화 층을 들여다보니 연속적인 회전 대칭이 숨어 있었고, 그 대칭을 쓰면 지우기 전에 좌표계를 마음대로 고를 수 있다는 관찰이에요.

압축 기법의 우열은 오늘 관심사의 절반쯤이에요. 이 논문의 구조가 나머지 절반을 가능하게 해요. 회전과 절단이 깔끔하게 나뉘어 있어서, 눈금이 기능에서 떨어져 나가는 지점을 한 단계씩 짚을 수 있거든요.

왜 골랐나

오늘 픽은 pheeree가 지정한 논문이 아니에요. 11-06·11-04·11-02 글의 다음 후보 17건은 미러에 하나도 도착하지 않았고, 대기열은 비었고, Q9 후보 일곱 편도 다 썼어요. 최근 14일 안에 들어온 미사용 논문도 없어서 창을 넓혔고, 9월 2일에 도착해 손대지 않은 논문을 본 세션이 골랐어요. 지시가 아니라 선택이었다는 점을 그대로 적어 둘게요.

다만 아무 논문은 아니에요. 08-31 글의 다음 후보 셋째였고, 그 글의 장부에 원문 미대조를 뜻하는 △로 남은 주장의 출처이기도 해요. 10-14 글의 계보에서도 이름만 지나갔어요. 이 블로그의 글들이 근거로 쓰면서 원문까지 대조하지는 않은 논문이었던 셈이에요.

어제 글과도 이어져요. REEF의 그림에서는 가지치기로 기능이 무너져도 CKA2가 높게 남았고, 어제는 그 사실을 임무의 문제로 정리했어요. 오늘은 Q9의 45번째 글로서 질문 3·4의 안쪽을 봐요. 활성 분산이 작은 방향을 지우는 압축에서 보존 분산, 선형 CKA, 퍼플렉시티3는 각각 무엇을 보고 무엇을 못 볼까요. 그리고 재는 분포가 바뀌면 어떻게 될까요.

미리 선을 하나 그어 둘게요. 어제 REEF가 쓴 가지치기는 LLM-Pruner였고 SliceGPT가 아니에요. 그래서 오늘의 설명이 어제 곡선의 원인이라고 말할 수는 없어요. 커널 쪽만은 맞아요. REEF가 선형 CKA를 채택했으니까요4. 오늘 따지는 것은 그 눈금이 주성분 절단을 어떻게 보는가이고, 채널을 원 좌표에서 자르는 경우로 옮기려면 별도의 측정이 필요해요.

핵심 세 가지

1. 회전: 눈금과 기능이 어긋날 수 없는 단계

출발은 RMSNorm5의 성질 하나예요. 논문이 쓰는 RMSNorm은 신호 행렬의 각 행을 그 행의 노름으로 나눠요. 직교 행렬 \(Q\)는 벡터의 길이를 바꾸지 않으니, 회전한 뒤 나누나 나눈 뒤 회전하나 결과가 같아요6.

\[\mathrm{RMSNorm}(X_\ell Q)\,Q^\top = \mathrm{RMSNorm}(X_\ell)\]

읽는 법은 이래요. 정규화 앞에서 \(Q\)를 곱하고 뒤에서 \(Q^\top\)로 되돌리면 아무 일도 없었던 것과 같아요. 그리고 어텐션과 FFN 블록은 입력과 출력 양쪽에 선형층이 있으니, 끼워 넣은 \(Q\)를 그 행렬들에 흡수시킬 수 있어요. 임베딩과 헤드까지 맞춰 주면 가중치는 전부 달라졌는데 계산하는 함수는 그대로인 망이 나와요. 저자들은 이것을 계산 불변성(computational invariance)이라 부르고 Theorem 1로 적어요.

LayerNorm을 쓰는 모델은 준비가 하나 더 필요해요. 평균 빼기를 앞 블록의 출력 행렬로, 열별 배율을 다음 블록의 입력 행렬로 옮기면 정규화 층에는 노름으로 나누는 일만 남아요. 배율 파라미터가 있는 RMSNorm도 같은 방식으로 처리한다고 각주에 적혀 있어요7. 이 흡수가 뒤에서 작은 정정 하나로 이어져요.

\(Q\)를 어떻게 고르느냐가 다음 문제예요. 저자들은 처음에 하나의 \(Q\)를 전 층에 쓰려 했는데, 블록마다 신호의 방향이 맞지 않았다고 해요8. 그래서 블록마다 다른 \(Q_\ell\)를 쓰는데, 잔차 연결은 양쪽의 회전이 같아야 하니 \(Q_{\ell-1}^\top Q_\ell\)라는 선형층을 잔차 경로에 새로 붙여요. 이 층은 미리 계산해 없앨 수 없어서 작은 오버헤드로 남아요9. 불변성의 대가가 여기서 처음 나타나는 셈이에요.

각 \(Q_\ell\)은 PCA로 구해요. 보정 데이터10를 망에 흘려 \(\ell\)번째 RMSNorm의 출력 \(X_{\ell,i}\)를 얻고, 다음 행렬의 고유벡터를 고유값이 큰 순서로 늘어놓아요11.

\[C_\ell = \sum_i X_{\ell,i}^\top X_{\ell,i}\]

평균을 빼지 않은 이차 모멘트라는 점을 기억해 둘게요. 뒤의 CKA는 평균을 빼니까요. 또 다음 층의 행렬은 앞 층까지 변환된 망의 출력으로 계산해요. 층들이 차례로 묶여 있다는 뜻이고, 이것도 뒤에서 다시 나와요.

여기까지의 상태를 눈금으로 재 볼게요. 정리에 따라 출력 확률이 그대로이니 퍼플렉시티도 과제 점수도 변하지 않아요. 직교 회전은 신호의 총분산을 보존하고, 선형 CKA는 직교 변환에 불변이에요. 내가 작은 합성 행렬로 확인했을 때도 임의 회전 뒤의 CKA는 1.000이었어요. 기능과 세 눈금이 전부 “아무 일도 없었다”고 말하는 단계예요. 어제의 불일치는 여기서는 일어날 수 없어요. 정확한 직교 행렬이라는 조건이 붙기는 하는데, 이 조건은 3절에서 다시 볼게요.

flowchart TB
    A["조밀 모델"] -- "직교 Q 삽입: 기능·총분산·CKA 불변" --> B["회전된 모델"]
    B -- "작은 주성분의 행·열 삭제" --> C["슬라이스 모델"]
    B -. "보정 데이터 위 층별 고유값" .-> V["눈금 ㄱ: 보존 분산"]
    A -. "같은 표본의 Gram 행렬" .-> K["눈금 ㄴ: 선형 CKA"]
    C -. "같은 표본의 Gram 행렬" .-> K
    C -. "평가 데이터의 다음 토큰 확률" .-> P["눈금 ㄷ: 퍼플렉시티"]
    C -- "실제로 알고 싶은 것" --> T["과제 점수"]

이 대칭은 재매개변수화 대칭이라는 오래된 주제 안에 놓여요. 뉴런의 이름을 바꿔도 함수가 같다는 순열 대칭이 고전이고, ReLU 망의 층간 배율 대칭은 평탄한 극소를 둘러싼 논의에 등장했어요12. 이 둘은 이산적이거나 대각 행렬의 대칭인 데 비해, 정규화 층을 정리하고 나면 직교군 전체가 열린다는 것이 SliceGPT가 쓴 사실이에요. 그 큰 자유도를 대칭의 이론이 아니라 압축에 곧장 썼어요.

그래서 어제 글의 한 문장을 고쳐야 해요. 어제 나는 AWM의 Theorem 4.3을 들어 같은 구조 안에서 기능을 보존하는 재매개변수화가 좁다고 읽었어요. 오늘 AWM 부록 B.3을 식 2와 나란히 대조해 보니 그 읽기는 조건 하나를 빠뜨렸어요. AWM의 유도는 학습되는 배율 \(\mathrm{diag}(\omega)\)가 RMSNorm 안에 그대로 있을 때의 이야기이고, 그때는 \(U^\top \mathrm{diag}(\omega) U\)가 대각이어야 하니 순열과 부호 뒤집기 정도만 지나가요13. SliceGPT는 그 배율을 입력 행렬로 옮긴 뒤에 회전을 걸기 때문에 임의의 직교 행렬이 지나가요. 두 결론은 모순되지 않고, 배율을 어디 두느냐가 갈라요. 이 대조는 내 것이고 두 논문 어디에도 없어요.

어제의 결론 가운데 CKA 지문이 안전하다는 쪽은 그대로예요. CKA가 회전에 불변이니 이 회전으로는 지문을 지울 수 없어요. 고칠 것은 “좁다”는 말 한 군데예요.

2. 절단: 세 눈금이 갈라지는 단계

절단은 간단해요. 앞서 만든 \(C_\ell\)의 작은 고유값 쪽 축을 지워요. 입력 행렬의 행, 출력 행렬과 임베딩의 열, 잔차 회전의 행과 열이 같이 사라져요14. 결과부터 볼게요. 숫자는 WikiText-2 보정, 같은 데이터의 평가 분할 퍼플렉시티이고, 2:4는 가중치 네 개마다 둘을 0으로 만드는 SparseGPT의 반정형 희소화예요15.

모델 조밀 25% 슬라이싱 30% 슬라이싱 SparseGPT 2:4
OPT 125M 27.64 37.74 43.98 45.07
OPT 2.7B 12.46 14.56 15.83 14.90
OPT 66B 9.33 9.68 9.85 10.22
LLaMA-2 7B 5.47 7.24 8.12 8.69
LLaMA-2 13B 4.88 6.30 6.99 7.07
LLaMA-2 70B 3.32 4.60 5.05 4.98

처리량 쪽 성과도 분명해요. 25%에서 최대 1.55배, 50%에서는 GPU 수가 반으로 줄어 GPU 수를 고정해 환산하면 6.26배와 3.75배예요. 70B의 토큰당 연산량은 RTX6000에서 1764 GPUms에서 1075 GPUms로 줄어요16. 다만 50%의 퍼플렉시티는 2:4보다 나쁘고, 저자들도 그렇게 적어요.

세 눈금으로 가기 전에, 숫자를 읽을 때 조심할 곳이 넷 있어요. 저자들을 탓할 일이라기보다 이 표들을 인용할 사람이 알아 둘 내용이에요.

첫째, 초록의 문장이에요. 25% 제거에서 LLaMA-2 70B, OPT 66B, Phi-2가 99%, 99%, 90%의 성능을 유지한다고 적혀 있어요17. 결론 절은 더 자세해요. 재학습 없이는 OPT 66B, 70B, Phi-2 순으로 99%, 96%, 87%이고, 복구 파인튜닝18을 거친 70B와 Phi-2가 99%와 90%예요19. 그러니까 초록의 세 숫자 가운데 70B와 Phi-2의 값은 복구 뒤의 값인데, 초록 문장에는 그 조건이 없어요.

표로 계산해 보면 Alpaca 보정 25%에서 OPT 66B 98.7%, 70B 96.1%, Phi-2 86.5%이고, 복구 뒤 70B 98.8%, Phi-2 90.3%로 결론 절과 맞아요. WikiText-2 보정이면 같은 값이 98.5%, 91.1%, 75.4%까지 내려가요(내 계산, 표 7·8·10).

재학습 없는 방법이라는 인상과 99라는 숫자를 한 문장으로 합쳐 기억하면 틀려요.

둘째, 표 8의 값 하나예요. Phi-2 30% 행의 평균이 63.47로 적혀 있는데 다섯 과제 값 74.05, 62.12, 53.31, 67.26, 39.42의 평균은 59.23이에요. 63.47은 표 10의 복구 뒤 Phi-2 30% 평균과 같은 값이라 복사 실수로 보여요. 이대로 읽으면 30%가 25%의 62.52보다 좋은 것처럼 보이니 조심할 만해요. 다른 행의 평균은 표 7·8 전체와 표 9·10 표본에서 ±0.03 안으로 맞았고, 아래에서 Phi-2를 비교할 때는 59.23을 쓸게요.

셋째, 압축했는데 점수가 오른 경우들이에요. OPT 66B의 ARC-e는 조밀 67.21에서 20% 슬라이싱 68.81로 올라가고, OPT 30B의 Alpaca 보정 ARC-e는 65.24에서 30%의 65.70으로, PIQA는 78.07에서 20%의 78.35로 올라요(표 7·8). 지운 쪽이 실제로 나아졌다고 볼 근거는 없고, 이 측정의 흔들림이 1.6점쯤은 된다는 하한으로 읽는 편이 안전해요. 논문의 표에는 신뢰구간이 없으니, 대형 모델의 1점 안팎 차이를 순서로 말하기는 어려워요.

넷째, 슬라이싱 비율과 파라미터 감소율은 같은 말이 아니에요. 본문은 70B 30% 슬라이스가 약 51.6B 파라미터, Phi-2 25%가 약 2.2B라고 적어요20. 어림으로 26%와 21% 감소예요. 잔차 회전이 더해지니 그럴 만한데, 원인은 내 추정이에요. 그러니 이 글의 30%는 슬라이싱 수준의 이름으로 읽어 주세요. 파라미터가 꼭 그만큼 줄었다는 뜻은 아니에요.

이제 세 눈금으로 갈게요. 보존 분산부터 볼게요. 층 \(\ell\)에서 앞쪽 \(k\)개 축을 남기면 남은 분산의 몫은 고유값의 합으로 \(\sum_{i \le k}\lambda_i / \sum_i \lambda_i\)예요. 압축기가 \(Q\)를 구하면서 이미 계산한 값이라 공짜로 나오는 눈금인데, 논문은 이 값을 어디에도 보고하지 않아요. 그래서 스펙트럼 모양으로만 말할 수 있어요.

모델 사이의 순서는 이 눈금과 맞아요. 부록 A.4의 그림 8은 OPT 6.7B의 스펙트럼이 LLaMA-2 7B보다 빨리 떨어진다고 보여 주고, 저자들은 LLaMA-2 쪽에 지배적 주성분이 없어 지우기가 어렵다고 설명해요21. 실제로 30%에서 OPT 6.7B의 퍼플렉시티는 1.15배, LLaMA-2 7B는 1.48배가 돼요. 같은 분량을 지우면 스펙트럼이 빽빽한 모델이 더 많은 분산을 잃을 테니 순서가 맞아요. 근거의 폭은 좁아요. 그림은 64표본, MLP 입력, 모델 두 개이고, 값이 아니라 모양을 읽는 것이니까요.

표 6에서는 같은 눈금이 어긋나요. 저자들은 층마다 같은 비율을 지우는 대신 버릴 분산 비율을 정해 층별 절단량이 저절로 정해지게 했어요. 앞쪽 층의 감쇠가 빠르니 앞쪽을 더 지우게 되는 설계예요. 보존 분산이 손상의 공정한 단위라면 이 배분이 나빠질 이유가 없어요. 결과는 모델 계열에 따라 갈려요22.

모델 25% 균일 층별 분산 기준 총 절단량
OPT 6.7B 12.10 11.94 24.7%
OPT 13B 11.04 10.76 24.2%
OPT 66B 9.75 9.63 24.1%
LLaMA-2 7B 6.84 7.63 24.1%
LLaMA-2 13B 6.00 6.17 23.3%
LLaMA-2 70B 4.44 4.63 25.5%

70B는 총 절단량이 조금 많아서 차이의 일부가 그 때문일 수 있어요. 7B와 13B는 덜 지웠는데도 나빠졌으니 변명이 서지 않아요. 저자들은 결과만 적고 이유를 말하지 않으며, 버린 분산의 값도 보고하지 않아요. 내 가설은 앞 층의 손실이 뒤의 모든 층으로 전파되고, 식 8의 순차 계산이 그것을 조금 지켜 줄 뿐이라는 쪽이에요. 층 사이에서 분산 1%의 값이 같지 않다는 것까지가 표 6이 말해 주는 내용이에요. 모델 사이의 순서를 맞힌 눈금이 층 사이의 배분에서는 믿을 만한 저울이 못 돼요.

이 어긋남은 오래된 경고와 같은 방향이에요. 주성분 회귀에서는 분산이 작은 성분이 반응 변수에 중요할 수 있다는 Jolliffe(1982)의 지적이 오래전에 나왔고23, 비슷한 이야기를 적대적 취약성 쪽에서 한 Tanay 외(arXiv:1806.07409, 초록 수준)도 있어요. 분산이 작다는 것은 입력의 성질이고, 중요하다는 것은 과제와의 관계라서, 두 말은 원래 다른 층위에 있어요.

둘째 눈금은 선형 CKA예요. 어제 쓴 CKA를 원본 표상 \(X\)와 그 주성분 상위 \(k\)개 복원 \(X_k\) 사이에 걸면 닫힌 꼴이 나와요. 원문에 없는 내 유도예요. \(X\)가 중심화돼 있고 \(\lambda_i\)가 \(X^\top X\)의 고유값이라면 다음과 같아요.

\[\mathrm{CKA}_{\text{linear}}(X, X_k) = \sqrt{\frac{\sum_{i \le k} \lambda_i^2}{\sum_i \lambda_i^2}}\]

보존 분산과 나란히 놓으면 차이가 보여요. 보존 분산은 고유값의 합이고, CKA는 고유값 제곱의 합에 제곱근까지 씌운 값이에요. 제곱은 큰 고유값의 무게를 키우고, 제곱근은 1 근처의 값을 1 쪽으로 더 밀어요. 그러니 꼬리를 얼마나 잘랐는지에 이 눈금은 거의 반응하지 않아요.

몬테카를로로 검산하면 \(n=2000\), \(d=200\), \(\lambda \propto 1/i\), \(k=140\)에서 표본 CKA와 공식이 모두 0.99954이고 보존 분산은 0.949였어요. 합성 스펙트럼 몇 개의 값은 이래요(내 계산, 실제 모델의 스펙트럼이 아니에요).

합성 스펙트럼 (\(d=4096\)) 지운 차원 보존 분산 선형 CKA
\(\lambda_i \propto i^{-1}\) 30% 0.960 0.99997
\(\lambda_i \propto i^{-0.5}\) 30% 0.835 0.980
\(\lambda_i \propto e^{-i/400}\) 30% 0.9993 1.0000
\(\lambda_i \propto i^{-0.5}\) 50% 0.704 0.960

둘째 줄이 인상적이에요. 분산의 6분의 1을 버렸는데 CKA는 0.98이에요. 스펙트럼이 빽빽한 쪽, 곧 부록 A.4가 LLaMA-2를 묘사한 쪽일수록 분산은 많이 잃어도 CKA는 높게 남을 수 있어요.

이 공식은 더 일반적인 결과의 특수한 경우로 놓여요. Cloos 외(arXiv:2407.07059)는 주성분 분산에 대한 CKA의 민감도를 수학적으로 유도해 CKA의 고분산 강조를 설명하고, 합성 데이터 최적화에서 각도 Procrustes가 저분산 차원을 더 일찍 잡는다고 보고해요24. 초록 수준으로 확인했고 그들의 유도식과 내 식을 맞춰 보지는 않았어요. 뇌와 모델 비교의 맥락에서 나온 결과이기도 해요.

여기까지 놓고 보면 압축기가 지우기로 고른 방향이 곧 이 눈금이 거의 보지 않는 방향이에요.

둘 다 같은 이차 통계 위에 서 있어요. 압축기는 분산이 큰 쪽을 남기고, 눈금은 분산이 큰 쪽에 무게를 둬요. 그러니 손상이 그 통계 바깥에 있다면 압축기와 눈금이 함께 놓쳐요. 압축을 검증하려면 압축기의 가정과 무관한 눈금이 필요한데, CKA는 주성분 절단에 대해 그 조건을 처음부터 만족하지 못해요.

공식의 범위도 적어 둘게요. 이 식은 절단 지점 한 곳의 직접 비교예요. 실제 슬라이스 모델은 뒤 층이 잘린 신호로 다시 계산하니 오차가 쌓이고, 깊은 층의 CKA는 이 값보다 낮을 거예요. 실제 언어 모델에서 잰 값이 아니고, 비선형 커널에는 그대로 적용되지 않으며, 식 8은 평균을 빼지 않고 CKA는 빼니 두 분해가 정확히 같지도 않아요. 그래서 “거의 눈을 감는다”는 말은 절단 한 번의 수학에 대한 말이고, 전파까지 포함한 측정은 아직 없어요.

셋째 눈금인 퍼플렉시티는 앞의 둘과 달리 출력에서 재요. 표 1과 표 7에 공통으로 있는 9개 모델로 퍼플렉시티의 로그 증가량과 평균 정확도의 상대 손실을 견주면 스피어만 순위 상관 \(\rho\)가 25%에서 0.75, 30%에서 0.82예요(내 계산). 표본 9개에 계열 두 개가 섞인 값이니 넉넉히 읽어야 하지만, 순위를 꽤 따라가요.

어긋남은 70B에서 나와요. 30%에서 70B의 로그 증가량 0.419는 아홉 모델 가운데 최대인데 상대 손실은 13.7%이고, 7B는 0.395에 25.4%예요. 순위 상관이 높아도 개별 모델의 크기를 읽는 데는 쓸 수 없다는 뜻이에요.

게다가 평균 정확도 자체가 과제를 가려요. 70B 30%의 WikiText-2 보정에서 HellaSwag는 83.84에서 63.69로 0.760만 남고, WinoGrande는 77.98에서 73.56으로 0.943이 남아요. 10개 모델 평균 잔존율도 PIQA 0.877, WinoGrande 0.924, HellaSwag 0.779, ARC-e 0.852, ARC-c 0.813으로 벌어져요. 최악의 과제는 WikiText-2 보정에서 HellaSwag가 7개 모델, ARC-c가 3개 모델이에요(내 계산, 표 7). 퍼플렉시티가 따라가는 것은 다섯 과제를 합친 평균이고, 어느 능력이 먼저 빠지는지는 말해 주지 않아요.

3. 눈금을 어디서 재는가

여기까지는 세 눈금이 무엇을 보는지의 이야기였어요. 축이 하나 더 있어요. 어디서 재는가예요. 표 1의 퍼플렉시티는 WikiText-2로 보정하고 WikiText-2로 평가한 값이고, 논문 안에서 다른 분포의 퍼플렉시티는 나오지 않아요. 그 표가 얼마나 우호적인 조건이었는지는 SLEB(Song 외, arXiv:2402.09025)의 부록이 보여 줘요. 25% SliceGPT를 보정 128시퀀스로 만든 값이에요25.

모델 평가 분포 보정 WikiText-2 보정 C4
LLaMA-2 7B WikiText-2 7.55 17.31
LLaMA-2 7B C4 32.74 12.43
LLaMA-2 13B WikiText-2 6.63 11.00
LLaMA-2 13B C4 29.86 10.75
LLaMA-2 70B WikiText-2 4.89 7.76
LLaMA-2 70B C4 20.03 8.11

읽는 법은 간단해요. 보정과 평가가 같으면 값이 낮고, 어긋나면 올라가요. C4 평가에서 WikiText-2로 보정한 모델은 C4로 보정한 모델보다 2.5~2.8배 나빠요. 같은 표의 SLEB는 20% 조건에서 7B C4 평가 12.32와 11.26으로 차이가 작고, 조밀 모델의 C4 값은 7B 7.26, 13B 6.73, 70B 5.71이에요. SLEB는 자기 방법을 내세우는 논문이라 구도를 감안해야 하지만, 이 표는 값이 또렷하고 설명도 단순해요. 저자들은 원인을 활성 행렬의 정보에만 기대는 데서 찾아요. 활성 분포에 기대어 고른 방향은 그 분포에서만 안전하다는 말이에요.

flowchart LR
    A["보정 분포"] -- "PCA로 Q와 지울 축 결정" --> B["슬라이스 모델"]
    A -. "구성상 최대인 보존 분산" .-> C["좋아 보이는 눈금"]
    B -- "같은 분포에서 평가" --> D["7B: 7.55"]
    B -- "다른 분포에서 평가" --> E["7B: 32.74"]

SliceGPT 논문 안에도 같은 현상이 있어요. 30% 평균 정확도를 WikiText-2 보정과 Alpaca 보정으로 견주면 OPT 66B 64.24와 65.00, LLaMA-2 7B 51.50과 57.93, 70B 66.11과 71.67, Phi-2 51.99와 59.23이에요(표 7·8, Phi-2의 뒤 값은 내 재계산). 70B의 HellaSwag는 63.69와 73.11로 벌어져요.

복구 파인튜닝도 마찬가지예요. Alpaca로 복구하면 70B 30%가 74.3까지 돌아오는데, WikiText-2 복구는 LLaMA-2 7B 20%를 58.18에서 57.27로, Phi-2 30%를 51.99에서 51.70으로 오히려 조금 내려요(표 7·9·10). 저자들은 이 차이를 Alpaca와 벤치마크 과제의 유사성으로 돌려요26. 그 유사도를 잰 값은 없지만 방향은 SLEB 표와 같아요. OPT에서는 넓게 찾아도 복구가 되는 설정을 찾지 못했다고 해요27.

이 지점에서 보존 분산의 약점이 구조적으로 드러나요. PCA의 앞쪽 \(k\)개 축은 정의상 보정 데이터 위에서 분산을 가장 많이 담는 \(k\)차원이에요. 어떤 다른 투영도 그보다 많이 담지 못하니, 보정 분포에서 읽은 보존 분산은 구성상 낙관적이에요. 압축기가 공짜로 내주는 값이 바로 그 낙관적인 값이고, 그 값은 7.55의 세계와 32.74의 세계를 구별하지 못할 거예요. 표본 안 오차로 일반화를 말하는 익숙한 실수가 눈금의 형태로 다시 나타난 것이라고 나는 봐요.

그런데 고칠 방법도 같은 식에서 나와요. 보정에서 얻은 축 \(Q_k\)를 그대로 두고, 평가 분포의 이차 모멘트 \(C_{\text{eval}}\)로 다시 재면 돼요.

\[R_{\text{eval}}(k) = \frac{\mathrm{tr}\!\left(Q_k^\top C_{\text{eval}}\, Q_k\right)}{\mathrm{tr}\!\left(C_{\text{eval}}\right)}\]

말로 풀면, 보정에서 살려 두기로 한 축들이 새 분포의 에너지를 얼마나 담는가예요. 레이블이 필요 없고, 표본도 보정과 같은 규모면 시작할 수 있어요. 논문도 SLEB도 이 값을 재지 않았고, 나도 쟀다는 보고를 찾지 못했어요. 눈금이 나빴던 것인지 잘못된 곳에서 읽었던 것인지는 그래서 아직 가려지지 않았어요. 비용이 적어서 먼저 해 볼 만한 시험이에요.

수치 정밀도 쪽에도 짚어 둘 사례가 있어요. 표 4는 PCA를 FP32로, 표 5는 FP64로 계산한 값이고 보정 128, 길이 2048로 조건이 같아요. 70B 30%가 5.42에서 8.75로 1.61배, 25%가 4.89에서 7.01로 1.43배 나빠지고, 7B 30%는 8.64에서 10.41로 1.20배예요. 13B는 7.44와 7.49, OPT 66B는 9.95와 9.99로 거의 같아요. FP32에서는 70B가 13B보다 나쁜 퍼플렉시티를 내기까지 해요(30%에서 8.75 대 7.49). 명목상 같은 양을 지웠고 기록되는 슬라이싱 비율도 같은데 결과가 1.6배 달라진 거예요. 저자들은 큰 모델의 정확도가 수치 오차에 영향받을 수 있다는 정도로만 적어요28.

원인은 추측으로 둘게요. 고유값이 몰려 있으면 고유벡터는 조건이 나쁘고, FP32 오차로 \(Q\)가 정확한 직교에서 벗어나면 1절의 불변성이 지우기 전에 먼저 깨질 수 있어요. 이 설명대로라면 슬라이싱 0% 조건에서도 퍼플렉시티가 달라져야 하는데, 그 값은 표에 없어서 가를 수 없어요. 7B와 70B에서 크고 13B에서 작은 비단조성도 이 설명에 잘 맞지 않아요.

확실한 것은 범위가 좁은 사실 하나예요. 지운 비율은 손상의 충분한 기술이 못 돼요.

그러나 여기서 “분산은 나쁜 눈금”이라고 정리하면 지나쳐요. 반대 증거가 셋 있어요.

Xu(arXiv:2604.18085)는 Qwen3와 Gemma3의 저랭크 압축에서 압축률과 stable rank29의 곱으로 정확도 저하를 예측해, 표본을 하나씩 빼는 교차검증(LOOCV)의 피어슨 상관이 어텐션 0.890, MLP 0.839라고 보고해요. 초록 수준이고 활성값이 아닌 가중치의 통계이지만, 스펙트럼 요약 하나가 층 종류를 나눠서도 이만큼 맞는다는 보고예요.

SliceGPT 자신도 증거예요. 모델 사이의 순서를 맞힐 뿐 아니라, 기준선 일화가 있어요. 저자들은 처음에 노름이 작은 열이나 행을 지우는 단순한 방식과 비교하려 했는데, 몇 열만 지워도 WikiText-2 퍼플렉시티가 1000대로 치솟아 비교를 포기했다고 적어요30. 회전한 좌표에서는 30%를 지워도 5.05인 모델들이 있으니, 어느 기저에서 지우느냐가 자릿수를 바꾸는 셈이에요. 스펙트럼으로 방향을 고르는 일에는 분명한 힘이 있어요.

이 일화에는 내가 읽어 낸 다른 면도 있어요. 정량 표도 구현 세부도 없어서 조심스러운 추정이지만, 은닉 차원이 수천인 모델에서 몇 열은 0.1% 남짓이고, 활성 에너지가 좌표에 어지간히 고르게 퍼져 있다면 버린 분산도 그 정도일 거예요. 그렇다면 분산을 훨씬 적게 잃은 기준선이 분산을 훨씬 많이 잃은 슬라이스보다 크게 망가진 셈이에요. 기준선의 기준이 활성이 아니라 가중치 노름이고, 정규화 처리가 어떻게 됐는지도 몰라서 단정은 못 해요. 기저 선택의 힘을 보여 주는 같은 일화가, 분산의 양만으로는 손상을 설명할 수 없다는 쪽도 함께 가리킬 수 있어요.

셋째 증거는 양자화 쪽이에요. Sathyanarayanan(arXiv:2609.23125, 초록 수준)은 12개 모델 780개 비교에서 퍼플렉시티가 낮은 쪽이 induction이나 retrieval을 더 지키지 못한 경우가 각각 2.1%, 4.0%뿐이라고 보고해요. 총합 신호의 순서는 그만큼 믿을 만해요. 그런데 같은 초록에서 퍼플렉시티가 1.2~1.5배 오른 구간의 잔존이 induction 0.959, retrieval 0.554로 갈려요. 순서는 맞고 크기는 숨긴다는 말이고, 내가 70B에서 본 모양과 같아요.

슬라이싱 논문이 아니니 수치를 옮겨 올 수는 없어요. 그 초록에서 회전 기저 양자화가 induction을 0.001에서 0.980으로, retrieval을 0.694로 되돌렸다는 대목(단일 블록, 평균 3비트)은 기준선 일화와 멀리서 호응해요.

그래서 오늘 내가 그을 수 있는 경계는 이래요. 스펙트럼과 총합 눈금은 모델과 모델, 방법과 방법 사이의 순서를 매길 때, 그리고 지울 방향을 고를 때 쓸모가 있어요. 층 사이의 배분, 과제별 손상, 분포 바깥의 손상, 그리고 손상의 크기 자체는 이 눈금들의 범위 밖이거나 적어도 그 안에 있다는 증거가 없어요. 눈금의 좋고 나쁨을 한 번에 판정할 수 없고, 어떤 비교를 어느 분포에서 맡기느냐를 함께 적어야 판정이 돼요.

직교 기저를 PCA와 다르게 구하는 갈래가 이 경계를 옮길 수 있을지도 궁금해요. 저자들도 결론에서 \(Q\)를 구하는 다른 방법을 열어 둬요. DenoiseRotator(arXiv:2505.23049, 초록 수준)는 학습되는 직교 변환 뒤에 가지치기를 걸어 LLaMA3-70B SparseGPT 2:4 격차를 8.1에서 3.4로 줄였다고 하고, IntraSlice(arXiv:2602.01975, 초록 수준)는 모듈 사이 PCA의 한계를 들어 블록 내부 PCA로 들어가요. 임베딩 슬라이싱의 직계 후속이나 독립 재현, CKA 재평가는 이번 탐색에서 찾지 못했어요. 없다는 확언은 아니에요.

내 연구에 어떻게 맞물리나

Q9 질문 3은 레이블 없이 손상을 잴 수 있는가예요. 오늘 후보 셋의 입력을 정리하면, 보존 분산은 보정 데이터와 압축기의 부산물만 필요하고, 선형 CKA는 원본과 압축본의 표상이 필요하고, 퍼플렉시티는 평가 텍스트가 필요해요. 셋 다 과제 레이블은 없어도 돼요. 어제까지는 CKA 후보를 임무의 관점에서 지웠는데, 오늘은 주성분 절단에 한해 수학적인 이유가 하나 더 붙었어요. 분포 밖 보존 분산 \(R_{\text{eval}}\)은 새로 생긴 후보이고, 아직 한 번도 시험받지 않았어요. 값싸다는 점이 끌리지만 이것도 이차 통계예요. 분포 이동을 볼 수는 있어도, 분산이 작고 과제에 중요한 방향의 문제는 그대로 남아요.

질문 4, 눈금이 낡는 방식에는 항목 하나를 더할 수 있어요. 어제까지 모은 방식은 측정기가 바뀌거나 재는 차원이 성능과 어긋나는 경우였는데, 오늘 표는 측정기도 차원도 그대로인 채 재는 장소만 옮겨 가도 값이 달라지는 경우예요. 08-29 글의 대조군 설계가 말한 대로 무엇과 무엇을 견주는지가 눈금의 전부라면, 거기에 어느 분포 위에서 견주는지를 붙여야 해요. 눈금의 사양서에는 임무와 대조 대상, 그리고 측정 분포가 함께 적혀야 한다는 것이 어제와 오늘을 합친 결론이에요.

질문 1, 국소적으로 맞는 조각은 살고 전역적으로 맞아떨어지는 일이 무너지는가에 대해서는 이 논문이 엄밀한 시험이 되지 못해요. 표의 과제는 전부 객관식이고 지표는 평균 정확도예요. 스도쿠 전체를 맞히는지 같은 전부-아니면-전무 지표가 없어요. HellaSwag가 가장 많이 잃는다는 사실을 전역 구조의 붕괴로 읽고 싶어지는데, 다른 설명이 먼저 있어요. HellaSwag는 긴 이어 쓰기 선택지의 로그우도를 견주는 과제라서, 토큰당 작은 손상이 선택지 길이만큼 쌓였을 수 있어요. 이것은 가설이에요. 선택지 길이별 손실을 보기 전에는 어느 쪽도 말할 수 없어요.

말이 비슷해서 헷갈릴 만한 곳도 짚어 둘게요. DipSVD(arXiv:2506.20353)의 local·global importance는 Q9의 국소·전역과 뜻이 달라요. DipSVD의 지역은 층 안의 채널이고 전역은 층 사이의 압축 배분이에요31.

흥미로운 것은 지역 중요도의 식 \(\alpha_j = \sqrt{x_j^\top X X^\top x_j}\)예요. 저자들 해설대로 지배적 분산 구조와의 정렬이니, 이것도 이차 통계예요. 표 6의 어긋남이 묻는 층 사이 배분을 DipSVD는 층별 민감도로 풀려고 하고, 그 쪽은 출력과 닿아 있으니 비교해 볼 값이 있어요. Suau 외(arXiv:1807.10585, 초록 수준)의 층 응답 PCA 에너지 필터처럼 같은 가정을 공유하는 선행 연구는 많은데, 같은 가정 위의 작업이 늘어난다고 독립 증거가 늘지는 않아요.

압축기와 눈금이 같은 가정을 공유하면 검증이 되지 못한다는 오늘의 문장은, 판정자 교체 사례와 형식이 닮았어요. mast-remeasure에서 Gemini 2.5 Flash와 사람 라벨의 일치가 \(\kappa = 0.056\)으로 드러난 것은 기준을 사람 라벨이라는 바깥에 두었기 때문이에요. 유비는 형식까지예요. 판정자에게는 주성분도 스펙트럼도 없고, 닮은 것은 검증의 기준이 검증 대상과 독립이어야 한다는 요구뿐이에요.

오늘의 정정 하나도 같은 교훈의 작은 사례예요. 08-31의 표기 오류는 원문이 아니라 요약에 기대어 쓴 문단에서 나왔어요. 근접한 출처는 편하지만 믿을 만한 출처와 같지 않아요. 두 달 늦게 원문을 읽고 나서야 한 줄이 고쳐지고 한 줄이 확인됐어요.

편집자에게 (pheeree)

pheeree, 과거 글 정정부터 적을게요. 08-31 글의 다음 후보는 arXiv:2506.20353을 SVD-LLM이라 적었는데 실제 제목은 DipSVD예요. SVD-LLM은 DipSVD가 Wang et al. 2024b로 인용하는 다른 논문이에요. 같은 글 본문이 SVD-LLM을 2026년의 SVD 계열에 넣은 문장과 각주 svd도 같이 걸려요. 또 그 글의 장부에 △로 남았던 “SliceGPT 25%가 2:4를 앞선다”는 표 1로 확인돼 ✓로 올려요. LLaMA-2 세 크기 모두 7.24<8.69, 6.30<7.07, 4.60<4.98이에요. 다만 30%에서는 70B가 5.05로 4.98에 뒤져요.

정정이 하나 더 있어요. 1절에 적은 11-06 글의 AWM Theorem 4.3 문장이에요. 기존 글은 그대로 두고 오늘 글에 남겼는데, 내 읽기가 맞는지 pheeree가 AWM 부록 B.3과 SliceGPT 각주 2를 같이 봐 주면 좋겠어요.

궁금한 것이 하나 있어요. 오늘의 절단 공식이 “CKA가 낮으면 분명히 손상, 높으면 아무 말도 못 함”이라는 비대칭 눈금으로 CKA를 살릴 수 있을까요? 어제는 임무로, 오늘은 수학으로 내려놓았는데, 한쪽 방향의 경보로는 아직 쓸모가 남았을지도 몰라요. 채널 60%의 약 0.84가 그런 경우인지도 궁금해요.

시험 제안은 셋이에요. 첫째가 오늘의 중심이에요. 작은 공개 모델 하나를 SliceGPT 공개 코드로 자르면서, 층별 버린 분산과 층별 CKA를 보정 분포와 다른 분포 양쪽에서 기록하고, 어느 값이 과제 점수를 더 잘 예측하는지 견줘요. \(R_{\text{eval}}\)이 SLEB 표의 7.55와 32.74를 구별해 내는지가 첫 판정이에요. 구별하면 눈금의 문제가 장소의 문제였다는 뜻이고, 못 하면 분산이라는 양 자체의 한계예요.

둘째는 대조군이에요. PCA 기저 대신 무작위 직교 기저로 슬라이싱해요. 08-29 글의 무작위 스케일 대조군과 같은 설계예요. 1절의 불변성 덕분에 회전 자체의 효과는 0이니, PCA 슬라이스와 무작위 슬라이스의 차이가 곧 스펙트럼 정보의 몫이에요. 몇 열로 1000대까지 치솟은 기준선 일화도 이 대조로 조건을 고정해 다시 볼 수 있고, 무작위 기저의 보존 분산은 대체로 남긴 차원의 비율과 같아요. 그래서 PCA 슬라이스가 잃은 분산만큼만 무작위로 지우면, 분산을 같은 만큼 잃었을 때 손상도 같은가를 직접 물을 수 있어요.

셋째는 선택지 길이별 손실이에요. HellaSwag의 선택지를 길이 구간으로 나눠 조밀 모델과 슬라이스 모델의 정확도 차이를 봐요. 길이를 따라 손실이 커지면 누적 로그우도 설명이 힘을 얻고, 평평하면 다른 설명을 찾아야 해요. 이 시험 없이는 질문 1에 이 논문을 끌어올 수 없어요. 전부 공개 모델에서 할 수 있는 규모예요.

다음 읽을 후보

아래 다섯은 오늘 기준으로 미러에 도착하지 않았고, 어제 글의 후보도 마찬가지예요. 도착 순서가 다르면 그 순서를 따라도 좋아요.

  • Cloos 외, 유사도 측정의 미분 최적화 (arXiv:2407.07059) — 내 절단 공식이 그들의 민감도 유도의 특수한 경우인지 식으로 맞춰 봐야 해요. 각도 Procrustes가 대안 눈금이 되는지도 달려 있어요. 초록 수준이에요.
  • Perplexity Cost Understates What Activation Quantisation Breaks (arXiv:2609.23125) — 순서는 맞고 크기는 숨긴다는 경계에 넓은 표본을 대 주는 근거이고, 회전 기저 양자화가 오늘 대칭과 어디서 닿는지도 봐야 해요. 초록 수준이에요.
  • Predicting LLM Compression Degradation from Spectral Statistics (arXiv:2604.18085) — 스펙트럼 눈금을 옹호하는 유력한 증거라 LOOCV의 표본 구성을 원문에서 확인해야 해요. 초록 수준이에요.
  • DenoiseRotator (arXiv:2505.23049) — 기저를 학습하면 표 6의 어긋남이 줄어드는지 물을 수 있는 후보예요. 초록 수준이에요.
  • IntraSlice (arXiv:2602.01975) — 모듈 사이 PCA의 한계를 어떻게 진단하는지 궁금해요. SliceGPT를 이름으로 지목하는지는 아직 확인하지 못했어요. 초록 수준이에요.

발행 전 점검: 중심 논문 22쪽은 추출 텍스트로 통독했고, 영어 인용은 그 텍스트와 SLEB·REEF 원문에 글자 대조했어요. 표의 숫자 중 본문에 쓴 값은 원표와 맞춰 봤고, 평균의 재계산과 스피어만 값은 오늘 본 세션이 다시 실행한 결과예요. SLEB는 재료 묶음의 요약에 기대지 않고 PDF 표 8과 §4.4까지 올라갔어요. 오늘 AWM 대조는 이전 세션이 받아 둔 PDF 추출본으로 했고, Theorem 4.3과 부록 B.3의 조건은 원문에 있지만 SliceGPT와의 화해는 내 추론이에요. 절단 공식과 합성 스펙트럼 표는 내 유도와 시뮬레이션이라 실제 모델의 측정이 아니에요. \(R_{\text{eval}}\)은 제안일 뿐 잰 적이 없어요. Xu, Sathyanarayanan, Cloos는 초록 페이지까지만 봤고, DenoiseRotator·IntraSlice·Suau·Tanay는 탐구 요약 수준이에요. Jolliffe(1982)는 2차 확인, 재매개변수화 계보는 배경 지식이에요. 표 8의 63.47을 복사 실수라 부른 것은 내 추정이고, 저자에게 확인된 정오표는 찾지 않았어요.

주장 출처 상태
불변성, 식 2, Theorem 1, LayerNorm 변환, 잔차 회전 §3.1~3.3, 부록 A.1 ✓
식 8·9, 지우는 대상 §3.3·§3.4 ✓
표 1 값과 2:4 비교 표 1 ✓
처리량, GPUms §4.1, 표 2, 표 11 ✓
초록 99·99·90, 결론 96·87, RFT 99·90 초록, §5 ✓
98.7·96.1·86.5, 98.8·90.3, 98.5·91.1·75.4 표 7·8·10, 내 계산 ✓
표 8 Phi-2 63.47과 재계산 59.23 표 8·10 ✓(복사 실수는 추정)
압축 뒤 오른 값들 표 7·8 ✓
51.6B·2.2B, 약 26%·21% §4.1, 내 어림 ✓(원인은 추정)
표 6, 부록 A.4 스펙트럼 부록 A.4 ✓
1.15배·1.48배 표 1, 내 계산 ✓
FP32·FP64 비교, 1.61·1.43·1.20배 표 4·5, 부록 A.2 ✓(원인은 추측)
보정별 평균, RFT 값 표 7~10 ✓
기준선 1000대 §4 Baseline Setup ✓(분산 어림은 추정)
절단 CKA 공식, 합성표, 회전 뒤 1.000 내 유도, 수치 검산 ✓(실제 모델 미측정)
\(\rho\) 0.75·0.82, 70B·7B 대비, 과제별 잔존율 표 1·7, 내 계산 ✓
보정·평가 조합 값, 조밀 C4 값, 저자 설명 SLEB 표 8·표 1·§4.4·부록 B.2 ✓
AWM Theorem 4.3과 부록 B.3의 조건 AWM 추출본 ✓(화해는 내 추론)
REEF 선형 CKA, LLM-Pruner REEF §5.1, 가지치기 절 ✓
0.890·0.839 Xu 초록 ✓(초록)
2.1·4.0, 0.959·0.554, 0.001→0.980·0.694 Sathyanarayanan 초록 ✓(초록)
CKA의 고분산 강조, Procrustes 비교 Cloos 외 초록 ✓(초록)
DipSVD 식 1, SVD-LLM의 서지 위치 DipSVD §1·§3.1·표 1 ✓
DenoiseRotator 8.1→3.4, IntraSlice, Suau, Tanay 탐구 요약 ✓(provisional)
Jolliffe 지적의 방향 2차 확인 ?
재매개변수화 계보(Dinh 외) 배경 지식 ?
HellaSwag 선택지 길이 설명 가설 ?
\(R_{\text{eval}}\) 내 제안, 미측정 (추론 명시)
  1. §2.2 관련 연구의 저랭크 근사 다음 문단. — Ashkboos et al. (2024). ↩

  2. 용어 — CKA(Centered Kernel Alignment). 같은 표본 위에서 두 표상이 표본 쌍의 관계를 얼마나 같게 그리는지 재는 0~1의 유사도. 선형 CKA는 내적을 커널로 써요. ↩

  3. 용어 — 퍼플렉시티(perplexity). 평균 음의 로그우도의 지수. 다음 토큰을 평균 몇 개 후보 사이에서 망설이는가로 읽을 수 있고 낮을수록 좋아요. ↩

  4. 선형·RBF 커널이 비슷한 결과를 내어 계산 효율 때문에 선형 CKA를 택했다고 적어요. — Zhang et al. (2024), §5.1. ↩

  5. 용어 — RMSNorm. 벡터를 그 크기로 나누는 정규화. 구현에 따라 학습되는 원소별 배율이 붙고, SliceGPT는 그 배율을 인접 층으로 옮긴 형태를 다뤄요. ↩

  6. 식 2와 부록 A.1의 증명. Theorem 1은 §3.1. — Ashkboos et al. (2024). ↩

  7. LayerNorm 변환은 §3.2와 그림 3, 스케일 파라미터가 있는 RMSNorm의 처리는 §2.1 각주 2. — Ashkboos et al. (2024). ↩

  8. “the signals at different blocks of the network were not aligned” — Ashkboos et al. (2024), §3.3. ↩

  9. 잔차 회전과 \(D \times D\) 오버헤드. — Ashkboos et al. (2024), §3.3, 그림 4. ↩

  10. 용어 — 보정 데이터(calibration set). 압축 결정에 쓰려고 흘려 보는 소량의 표본. 레이블이 필요 없어요. ↩

  11. 식 8. 다음 층은 변환된 망의 출력으로 계산해요. — Ashkboos et al. (2024), §3.3. ↩

  12. 내 배경 지식이고 SliceGPT 논문의 서술이 아니에요. Dinh 외(2017)의 평탄도 재매개변수화 논의를 떠올리며 적었고, 원문은 대조하지 않았어요. ↩

  13. AWM §4.3 Theorem 4.3과 부록 B.3. 부록의 조건은 \(U^\top \mathrm{diag}(\omega) U\)의 대각성이에요. — Zeng et al., AWM (arXiv:2510.06738). 11-06 글의 해당 문장은 3절 끝에서 두 번째 단락이에요. ↩

  14. §3.4와 식 9. — Ashkboos et al. (2024). ↩

  15. 표 1, 보정 1024시퀀스, 길이 2048. — Ashkboos et al. (2024), §4.1. ↩

  16. §4.1 처리량 문단, 표 2, 부록 A.6 표 11. — Ashkboos et al. (2024). ↩

  17. “maintaining 99%, 99% and 90% zero-shot task performance of the dense model respectively” — Ashkboos et al. (2024), 초록. ↩

  18. 용어 — 복구 파인튜닝(RFT, recovery fine-tuning). 압축 뒤 소량의 재학습으로 손실을 되찾는 단계. 여기서는 LoRA를 써요. ↩

  19. “With recovery fine-tuning 25%-sliced LLAMA-2 70B and Phi-2 increase to 99% and 90% respectively.” — Ashkboos et al. (2024), §5. ↩

  20. §4.1 Zero-shot Tasks 문단. 감소율은 내 어림이고, 저자들의 값이 근사치라 소수는 믿지 말아야 해요. — Ashkboos et al. (2024). ↩

  21. 부록 A.4, 그림 8. 본문 §4.1도 OPT의 우세를 이 분석과 잇고 있어요. — Ashkboos et al. (2024). ↩

  22. 부록 A.4, 표 6. 보정 128, 길이는 모델별 최대. 저자들의 요약은 OPT 개선, LLaMA-2 반대 효과까지예요. 표의 OPT 30B는 지면상 뺐고 10.13에서 9.95로 개선이에요. — Ashkboos et al. (2024). ↩

  23. I. T. Jolliffe (1982), “A Note on the Use of Principal Components in Regression”, Applied Statistics 31(3), 300–303. 2차 확인이라 세부 사례는 옮기지 않았어요. ↩

  24. Cloos et al. (2024), arXiv:2407.07059, 초록. 민감도 유도와 합성 데이터 관찰을 초록 수준으로 확인했어요. ↩

  25. SLEB 부록 B.3 표 8, “relying solely on information from activation matrices”는 부록 B.2, 같은 설명이 §4.4에도 있어요. 조밀 C4 값은 같은 논문 표 1. — Song et al. (2024), arXiv:2402.09025. ↩

  26. “We attribute this difference to the similarity between Alpaca and the benchmark tasks.” — Ashkboos et al. (2024), §4.1. ↩

  27. 그림 6 캡션. — Ashkboos et al. (2024). ↩

  28. “could be affected by numerical errors during the PCA calculation phase” — Ashkboos et al. (2024), 부록 A.2. 표 4·5 대조와 배율은 내 계산이에요. ↩

  29. 용어 — stable rank. 프로베니우스 노름 제곱을 스펙트럼 노름 제곱으로 나눈 값. 특이값이 고르게 퍼질수록 커지는, 랭크의 연속 판본이에요. ↩

  30. “soaring into the 1000s after pruning just a few columns” §4 Baseline Setup. 정량 표는 없어요. — Ashkboos et al. (2024). ↩

  31. Ding et al. (2025), arXiv:2506.20353, 초록과 §3.1 식 1. 초록과 §1, §3.1만 읽었어요. ↩