2025.02.26 - [인공지능/논문 리뷰 or 진행] - Embedding + Generation Model 사전 논문 조사1 Gecko, COCOM
Embedding + Generation Model 사전 논문 조사1 Gecko, COCOM
2025.02.25 - [인공지능/논문 리뷰 or 진행] - GRIT 생성과 Embedding을 동시에 Generative Representational Instruction Tuning - 논문 리뷰일단 시작은 이 논문이겠습니다.생성과 Embedding을 동시에 하는 모델이 있으면
yoonschallenge.tistory.com
cocom의 다음 논문 입니다!
https://arxiv.org/abs/2501.16075
PISCO: Pretty Simple Compression for Retrieval-Augmented Generation
Retrieval-Augmented Generation (RAG) pipelines enhance Large Language Models (LLMs) by retrieving relevant documents, but they face scalability issues due to high inference costs and limited context size. Document compression is a practical solution, but c
arxiv.org
COCOM과 동일한 문제 상황에서 시작합니다.
RAG는 정답률은 높지만 추론 비용이 높고, Context length 문제도 존재한다
기존 존재하는 COCOM의 방법은 압축률이 높지만 정답률이 많이 떨어진다 -> 새로운 방법으로 정확도 손실을 최소화하여 효율성을 높인다.
압축하는 방법에는 두 가지가 존재한다.
Hard - 문서 토큰을 바꿔가며 압축하는 것으로 내용을 요약하거나, 버리는 등으로 진행합니다. 쉽게 해석할 수 있고, 모든 LLM에 수정 없이 적용할 수 있으나, 압축률이 제한되고, 시간 또한 걸리게 된다.
Soft - 문서를 Vector 표현 즉 Embedding으로 압축하는 것으로 해석 가능성을 줄이면서 효율성을 높인 방식으로 더 높은 정답률을 가지면서 압축률도 높일 수 있다. 지금은 비슷한 방법의 프레임 워크로 진행되고 있으며 압축기를 처음 학습하고, RAG 데이터 셋을 통해 Embedding을 통해 Answer을 생성할 수 있도록 학습하고 있다.

CoCom과 압축률은 동일하게 하고, 정답률은 올린 방식입니다.
Pisco는 16배의 압축률을 달성하면서도, 정확도 손실이 거의 없는 방법으로 추론 속도를 향상하고, 학습도 A100 한장에서 48시간 이내에 달성할 수 있다.

Compressor는 동일한 모델에 Lora adapters를 달아서 학습합니다
l개의 학습 가능한 memory토큰도 넣어서 이 것을 그대로 Compression embedding 으로 사용합니다.
Decoder는 동결할 경우 제대로 정답을 생성하지 못해서 학습을 진행합니다.
여기서 Distill을 사용하여 학습하는데 그 이유는 압축여부와 상관없이 동일한 답변을 제공해야한다는 원리에서 비롯된 것으로 SKD를 제안했습니다.
기존 Logit 분포를 따라가는 것이 아닌 Distillation이 아닌 출력을 그대로 재현하도록 CE Loss를 사용합니다.
문제는 데이터인가 싶은데 왜 하필 틀릴 수도 있는 Teacher model의 정답을 그대로 학습하도록 인지....
그래도 결과는 PISCO Solar모델이 높은 성능을 달성했습니다.
오히려 본 모델보다 높은 점수를 달성한 것을 볼 수 있었습니다 ㄷㄷ..

PISCO는 모든 데이터 셋에서 COCOM보다 높은 성능을 보이고, 백본인 MISTRAL과 비슷한 성능을 보여줍니다.
needle in a haystack task에서도 distillation이 높은 성능을 보여주고, 단순 gold labels를 통한 fine-tuning 은 나쁜 성적을 보여준다.
Teacher 모델의 크기가 성능에 무조건적인 좋은 영향을 주는 것도 아니고, Solar가 가장 높은 성과를 보인다는 것을 보여줬습니다.
문서도 0 ~ 50개까지 늘려본 결과 기본 Solar 모델이 받을 수 있는 20개 정도의 문서 까지는 동일한 경향을 보였고, 문서가 많아질 수록 떨어지는 성능을 보여주는 것도 기존 RAG의 문제와 동일한 경향을 보여준다.
다양한 실험을 통해 문서 수에도 강건하고, 학습하지 않은 다른 도메인, 언어에도 일반화 되었음을 보여준다.
제가 생각하는 문제는 Compressor도 동일한 모델을 사용하니까 embedding 모델을 사용할 때 보다 실행시간이 엄청 길어지고, Retriever도 따로 써야 하는 문제가 있네요
그래도 Cocom에 이어 naver labs에서 연구를 계속 진행하는 것 같아 좋습니다.
| 문제 상황 | RAG는 문서를 더 넣을수록 좋지만 토큰 수에 따른 추론 비용 증가와 컨텍스트 길이 제약으로 확장성이 낮음 → 입력 문서 압축이 실용적 대안. 기존 소프트 압축법은 정확도 하락(>8%)과 대규모 사전학습/라벨 의존이 문제. |
| 방법론(요지) | 문서마다 메모리 토큰 l개를 붙여 LM을 통과시킨 뒤, 이 토큰들의 최종 히든스테이트 l개를 문서 임베딩으로 사용(소프트 압축). l이 곧 압축률을 결정. 컴프레서(LoRA θc)와 디코더(LoRA θd)를 분리해 사용. 디코더 동결은 성능 저하 → 동시 미세조정이 필수. |
| 학습 목표 | 시퀀스 수준 지식증류(SKD): 교사 LLM이 생성한 완전한 답변 시퀀스를 레이블로 사용해, 압축 입력에 조건부로 CE loss를 최적화. 토큰-로짓 KL 기반(라벨 필요) 기존법과 달리 사전 라벨 불필요·간결. |
| 학습 데이터(질문/문서) | 질문 453k(multi_qa), 문서는 Wikipedia-KILT를 128토큰 청크로 전처리하여 DB 구성. 학습 시 k=5 문서 검색 후 교사 생성 답변을 증류 라벨로 사용. 압축률×16 → 문서당 l=8 임베딩. |
| 리트리버/프롬프트/디코딩 | 검색 SPLADE-v3 + DeBERTa-v3 재정렬, 문서 임베딩을 슬롯에 넣는 지시형 프롬프트. 학습/평가 모두 greedy, 최대 128 토큰. 프롬프트 변화에 민감하지 않음(강건). |
| 하이퍼파라미터(핵심) | Batch 128, LR 1e-4, AdamW, 1 epoch, LoRA rank 16 / dropout 0.1 / alpha 32, warmup 5%, 문서 최대 128토큰. 메모리 토큰 임베딩도 함께 학습(추가 파라미터 l×hidden). |
| 실험 백본/설정 | Mistral-7B-Instruct, Llama-3.1-8B-Instruct, SOLAR-10.7B-Instruct 백본으로 동일 레시피. 주요 평가지표는 match(정확도). |
| 주요 결과(Top-5 문서, 평균 정확도) | 무압축: Mistral 0.71 / Llama 0.69 / SOLAR 0.73. PISCO(×16): Mistral 0.68, Llama 0.69, SOLAR 0.74 → 원본 대비 0–3%p 이내, COCOM 대비 평균 +8%p. ×16에서 5.7× 가속, FLOPs 17%. |
| 압축률 스윗스팟 | ×2→×16 구간은 성능 저하 완만, ×16↑부터 급격 악화. |
| 어블레이션(핵심 관찰) | (1) 사전학습 이득 작음—AE는 ROUGE-L≈1.0이 되어도 QA 개선 미미, 대규모 FT 구간에선 무의미. (2) 디코더 동결 시 성능/표현 열화—메모리 임베딩이 토큰 임베딩 분포 밖에 위치, 디코더 적응 필요. (3) 교사 선택 중요—항상 큰 모델이 최선 아님, 설명/근거를 포함한 생성이 유리. |
| 결론 | PISCO는 간단한 SKD 파이프라인만으로 ×16에서 정확도 손실 최소(0–3%) 및 가속 5.7×를 달성, 기존 RAG의 드롭-인 대체 가능. 사전학습 효과 미미·라벨 품질 중요를 실증. |
| 기여 | (1) 사전학습/정답 라벨 없이 SKD로 간단·효율 학습, (2) 인/도메인외/다국어 포함 강력한 실험으로 SOTA 압축법 대비 +8%, (3) 임베딩 구조 분석과 디코더 적응 필요성 규명. |
| 한계 | (1) QA 중심 평가—요약·장대화 등 확장은 향후 과제. (2) 온라인(온더플라이) 압축 부재—오프라인 일괄 압축 전제, 100만 문서≈3h/GPU. (3) 다국어는 추가 학습 필요. |
| 실전 적용 팁 | (A) 먼저 ×16(l=8)로 시작, 필요 시 상/하 조정. (B) 디코더 동결 금지, LoRA로 컴프레서+디코더 동시 FT. (C) 교사 시퀀스 라벨 사전 생성/캐시로 학습 안정·속도↑. (D) 서비스는 오프라인 전체 압축 → 온라인 질의 처리로 지연 절감. |
한 줄 핵심
PISCO는 문서당 몇 개의 메모리 토큰만 남기는 소프트 압축과 시퀀스 수준 지식증류(SKD)로, x16 압축에서 정확도 손실 0–3%(평균)만 감수하며 최대 5.7× 추론 가속을 달성한 RAG 전용 압축 기법입니다. 사전학습이나 정답 라벨 없이도 교사 LLM이 생성한 시퀀스 답변만으로 간단히 파인튜닝합니다.
왜 필요한가? (문제 상황)
- RAG는 더 많은 문서를 넣을수록 도움이 되지만, 토큰 수에 따라 추론 비용이 급증하고 LLM 컨텍스트 길이 제약으로 확장성이 떨어집니다.
- 기존 소프트 압축법은 정확도 하락(>8%)과 대규모 사전학습 + 지도 미세조정을 요구하여 실전 적용이 어렵습니다.
핵심 아이디어 (방법 개요)
1) 압축 표현 생성: 메모리 토큰 기반 소프트 압축
- 각 문서 d에 메모리 토큰 l개(예: l=8 → x16 압축)를 덧붙여 LM에 통과시키고, 해당 토큰의 최종 히든 스테이트를 문서 임베딩으로 취합니다. l이 곧 압축률을 결정합니다. (LoRA로 경량 미세조정)
- 컴프레서(LoRA θc)는 문서 정보를 이 임베딩들에 최대한 담도록 학습됩니다.
2) 질의-조건 디코딩: 디코더도 함께 튜닝
- 디코더(LoRA θd)를 함께 파인튜닝하여, 질의 q와 압축 문서 임베딩을 보고 정답 시퀀스를 생성하게 합니다. 디코더를 얼리면 성능 하락이 커서 동시 미세조정이 필수입니다.
3) 학습 신호: 시퀀스 수준 지식증류(SKD)
- “압축 전/후 입력이라도 출력 답은 동일해야 한다”는 불변성 가정 아래, 교사 LLM이 생성한 완전한 답변 시퀀스를 레이블로 사용하여 CE loss로 학습합니다(토큰-로짓 KL이 아닌 시퀀스 레이블 증류).
- 이는 정답 라벨(지도 데이터) 없이도 가능하며, 토큰 수준 증류보다 효율적임을 강조합니다.
학습·실험 세팅 (step-by-step 레시피)
A. 데이터/리트리버 파이프라인
- 문서 컬렉션: Wikipedia-KILT를 128토큰 청크로 전처리해 DB 구성.
- 학습용 질문 45.3만 개(multi_qa)에서 각 질문마다 k=5 문서 검색(Splade-v3 검색 + DeBERTa-v3 재정렬).
- 교사 LLM(예: Mistral-7B 또는 SOLAR-10B)을 문서+질의에 조건부로 생성시켜 은(銀) 라벨(답변 시퀀스)을 만듭니다.
B. 모델·하이퍼파라미터
- 백본 디코더: Mistral-7B, Llama-3.1-8B, SOLAR-10.7B.
- 압축률: 문서당 메모리 토큰 l 개. 예) x16 → l=8.
- 학습 설정(요약):
| 항목 | 값 |
| Batch | 128 |
| LR / 스케줄러 | 1e-4 / linear |
| Optim / WD | AdamW / 0.1 |
| Epochs | 1 |
| LoRA Rank / Dropout / Alpha | 16 / 0.1 / 32 |
| Warmup / Max Grad Norm | 5% / 1.0 |
| 문서 최대 토큰 | 128 |
| 교사 생성 최대 토큰 / 디코딩 | 128 / greedy |
구현 팁: 메모리 토큰 임베딩 자체도 함께 학습하여, 모델 파라미터에 l × hidden_size 만큼만 추가되는 경량 업데이트입니다.
결과 (요약)
- 주요 RAG-QA(ASQA, HotpotQA, NQ, TriviaQA, POPQA)에서 x16 압축의 PISCO가 COCOM 대비 평균 +8% 향상, 원본 백본 대비 0–3% 내 오차에 수렴. SOLAR 백본에선 원본보다 오히려 상회(디노이징 효과).
- 효율성: Mistral-7B 대비 연산량 17%(≈ 5.7× 빠름). 전체 추론 지연 감소로 직결.
- 상세 수치 예시(5문서, x16):
- PISCO-Mistral 평균 0.68, PISCO-Llama 0.69, PISCO-Solar 0.74 (각각 동급 백본 무압축 0.71/0.69/0.73).
어블레이션 & 해석
- 사전학습의 이득은 작음
- 다양한 사전학습 과제(오토인코딩, 압축표현 조건 생성 등)를 100억 토큰으로 시도했으나, 사전학습 성적 ↔ QA 성능 상관이 매우 약함. 오토인코딩은 ROUGE-L이 거의 1.0에 수렴해도 QA 개선은 미미. → 사전학습 불필요 설계 근거.
- 정답 라벨로 직접 파인튜닝 vs SKD
- 원 라벨로 미세조정하면 Needle-in-a-Haystack에서 성능 저하, SKD가 개선을 보임. 또한 강한 교사일수록 항상 최선은 아니고, Mistral-7B/SOLAR-10B가 일관되게 좋은 교사로 관찰. 교사가 근거를 서술하는 경향이 도움이 된다는 해석.
- 디코더 동결은 좋지 않음
- 디코더를 얼리면 손실 곡선/정확도 모두 열세. 압축 임베딩은 기존 토큰 임베딩 분포 밖에 위치하여, 디코더 적응이 필요.
- 문서 수 증가·일반화·다국어
- 문서 수를 1→50으로 늘려도 SOLAR 대비 유사 추세(20개 이후 완만 하락). k를 학습 시 키우면 추가 개선 여지.
- 도메인 외(Out-of-domain)/다국어(MKQA: FR, KO, RU)에서도 백본에 준하는 성능(일부 하락)으로 압축이 과도한 지식 상실을 유발하지 않음을 시사.
- 임베딩 해석
- 문서당 l개의 임베딩이 서로 다른 위치구간에 특화(Spatial specialization)되는 경향. Logit lens로 보면 문서 핵심 토큰을 광범위하게 회수.
기여(Contributions)
- 간단한 파이프라인: 사전학습·정답 라벨 없이 SKD만으로 압축-생성 엔드투엔드 파인튜닝(하루 내 완주, 7–10B 모델, A100 단일).
- SOTA급 성능: 기존 압축법 대비 +8% 평균 향상, x16에서 원본 근접.
- 해부적 분석: 사전학습의 한계, 교사 품질/증류 중요성, 임베딩 구조 분석 제시.
한계(Limitations)
- QA 설정에 집중: 요약/장대화 등 다른 태스크는 제한적으로만 확인(요약에선 Mistral과 유사).
- 온라인 압축 미지원: 대규모 코퍼스는 사전 오프라인 압축 전제가 유리. 100만 문서 압축에 약 3시간(A100). 쿼리 볼륨이 충분해야 이득.
- 다국어는 추가 학습 필요: 다국어 데이터 보강 시 더 강한 성능 기대.
재현용 체크리스트 (실전 적용 Step-by-Step)
- DB 구성: 위키 KILT를 128-토큰 청크로 전처리.
- 질문 수집: multi_qa의 45.3만 질문 사용(원문/도메인은 필요에 맞게 교체 가능).
- 검색/재정렬: Splade-v3 + DeBERTa-v3로 Top-k=5.
- 교사 생성(SKD 라벨): 교사 LLM(Mistral-7B 또는 SOLAR-10B 권장)으로 문서+질의 조건 생성하여 시퀀스 레이블 확보.
- 압축 학습: 문서마다 메모리 토큰 l개(예: 8) 추가 → 컴프레서/디코더 동시 LoRA 미세조정(표의 HP 권장).
- 프롬프트: 단순 지시형 프롬프트에 슬롯으로 압축 임베딩 삽입(프롬프트 변화에 안정적).
- 오프라인 전체 압축 후 서비스에 투입(대량 질의에서 이득 극대화).
비교 표 (요약)
| 방법 | 압축률(예) | 사전학습 | 라벨/증류 | 디코더 학습 | 특징/비고 |
| AutoCompressor | 6–40× | 필요X | LM 사전학습 | 필요 | LM 기반 재귀 압축 |
| ICAE | 2–8× | 필요 | 필요 | 동결 | 문서 오토인코딩, 디코더 동결 |
| COCOM | 4–128× | 필요 | 필요 | 필요 | QA 미세조정 포함, 여전히 >8% 손실 |
| PISCO | 2–128× | 불필요 | 시퀀스 증류(SKD) | 필요 | 간단/고효율, x16에서 0–3% 손실 |
실험 포인트 요약 (연구자용)
- 압축률 스위트스팟: x2→x16까지는 완만, x16↑부터 급격 악화 → x16 권장.
- 교사 선택: “더 큰 모델=더 좋은 교사”가 아님. 설명적 답변을 내는 교사가 유리.
- 프롬프트 민감도 낮음: 여러 변형 프롬프트에서도 안정.
- 해석 가능성: 메모리 슬롯은 텍스트 구간별로 역할 분화. 디코더 적응이 그 구조를 살림.
결론
PISCO는 “간단한 학습 절차 + SKD”만으로 실용적 압축률(x16)과 원본 근접 성능을 동시에 달성하여, 기존 RAG 시스템의 드롭-인 대체가 가능합니다. 특히 대용량 오프라인 컬렉션을 한 번 압축해 놓고 많은 질의를 처리하는 환경에서 비용/지연을 크게 절감합니다.
1) 관련 연구 흐름 정리 (큰 그림)
- Hard 압축(텍스트 수준 요약/프루닝): 토큰·문장 삭제나 요약으로 입력 길이를 줄임. 해석 용이하나 보통 2–5× 수준에서 압축률 한계.
- Soft 압축(벡터/메모리 토큰): 문서를 메모리 토큰의 히든상태→문서 임베딩으로 바꿔 디코더가 주의(attend)하도록 함. 해석성은 낮지만 압축률↑. 기존 다수 기법은 대규모 사전학습 + 지도 미세조정을 전제로 함.
PISCO는 같은 Soft 압축 계열이나, 사전학습 없이 교사 LLM의 시퀀스 수준 지식증류(SKD)만으로 간단히 학습되는 점이 핵심 차별점입니다.
2) Soft 압축 계열 비교 (PISCO 표1 재구성)
| 방법 | 대표 아이디어 | 압축률(보고) | 사전학습 | 증류/지도 | 디코더 학습 | 비고/한계 |
| AutoCompressor | LM에 압축 토큰 추가→히든 추출, 재귀적 컨텍스트 압축 | 6–40× | 필요X(AE/LM 기반) | LM 사전학습 → FT | 필요(✓) | 문서 압축에 적용 가능 |
| ICAE | In-context 오토인코더, 디코더 동결 | 2–8× | 필요(✓) | 지도 FT(✓) | 동결(✗) | 재귀 제거·단순화, 성능은 제한 |
| xRAG | 극한 압축(1 토큰급), 토큰-KL 증류 | 100–180× | 필요(✓) | 토큰 수준 증류+지도 | 동결(✗) | 고압축이나 레이블·KL 의존 |
| DODO | 과거 컨텍스트를 nugget state로 요약, 교차/자기 주의 분리 | 5–10× | 필요X | LM 기반 | 필요(✓) | 문서QA 전용은 아님 |
| x500 | COCOM 유사, 임베딩을 메모리 토큰의 K/V로 직접 사용 | 6–480× | 필요(✓) | 지도 FT(✓) | 동결/혼합 | 초고압축 보고 |
| CEPE | 쿼리–문서 Cross-Attn 전용 층 도입, 토큰-KL+CE | ~256× | 필요X | 토큰 수준 증류+CE | 필요(✓) | 병렬 인코딩으로 속도이점, 저장비용 이슈 |
| COCOM | 대규모 사전학습(AE/LM) 후 RAG FT, 멀티문서 처리 | 4–128× | 필요(✓) | 지도/증류 | 필요(✓) | x16에서 ~8% 성능하락 보고, 온라인 경량압축 제안 |
| PISCO | 메모리 토큰 기반 소프트 압축 + SKD, 사전학습 無 | 2–128× | 불필요 | 시퀀스 수준 증류(SKD) | 필수(✓) | 단일 A100로 48h 내 E2E FT, x16에서 원본 ±0–3%p |
토큰-수준 증류(xRAG/CEPE)는 정답 라벨 필요+KL 정합이 요구되지만, SKD는 라벨 없이 교사 생성 시퀀스를 그대로 레이블로 사용합니다.
3) 정량 성능 비교 (동일 백본·동일 세팅)
Mistral-7B, Top-5 문서, QA 5종 평균 정확도
| 모델 | 압축률 | ASQA | Hotpot | NQ | TriviaQA | POPQA | 평균 |
| No compression (Mistral-7B) | – | 0.74 | 0.51 | 0.69 | 0.92 | 0.70 | 0.71 |
| xRAG-Mistral | ×128 | 0.34 | 0.27 | 0.32 | 0.77 | 0.33 | 0.40 |
| AutoCompressor | ×4 | 0.57 | 0.31 | 0.35 | 0.70 | 0.24 | 0.43 |
| ICAE | ×4 | 0.47 | 0.29 | 0.42 | 0.78 | 0.43 | 0.48 |
| DODO | ×10 | 0.52 | 0.38 | 0.48 | 0.82 | 0.47 | 0.53 |
| COCOM | ×16 | 0.63 | 0.46 | 0.58 | 0.89 | 0.48 | 0.61 |
| PISCO-Mistral (ours) | ×16 | 0.72 | 0.48 | 0.65 | 0.90 | 0.66 | 0.68 |
- 요약: x16 기준 PISCO가 COCOM 대비 +7~8%p 평균 향상, 원본 대비 0–3%p 이내로 근접(일부 백본은 원본 상회).
- 효율: FLOPs 17% 수준(≈5.7× 가속) → 지연 직접 감소.
4) PISCO의 핵심 차별점 & 강점 (기존 대비 “왜 더 낫나”를 한눈에)
- 학습 간소성: 사전학습 無 + 시퀀스 증류(SKD)만
- 기존 대부분은 (대규모) 사전학습 + 지도 미세조정을 요구. PISCO는 교사 LLM 생성 시퀀스만으로 CE 학습 → 레이블 준비/토큰-KL 정합 불필요.
- 디코더 동시 적응이 필수라는 실증
- 선행 연구 일부는 디코더 동결을 시도했으나, PISCO는 동결 시 성능 저하를 보고하고 LoRA로 디코더 동시 미세조정을 기본 구성으로 채택.
- 성능 유지력: x16에서 원본 ±0–3%p
- 동급 실험에서 COCOM 대비 +8% 평균 향상. 일부는 원본 상회(디노이징 효과).
- 효율/실용성: 단일 A100, <48h, 오프라인 일괄 압축
- 7–10B 모델을 하루~이틀 내 E2E 튜닝 가능, 압축 후 대량 질의에서 비용/지연 이득 극대화.
- 일반화 & 견고성
- 도메인 외/다국어에서도 준수, 문서 수 증가(k↑)에도 추세 안정. 임베딩 구조 분석으로 메모리 슬롯의 공간적 분화와 디코더 적응 필요성을 규명.
- 증류 설계 통찰: “더 큰 교사 ≠ 항상 더 좋음”
- 설명/근거를 함께 생성하는 교사(Mistral-7B, SOLAR-10B)가 더 효과적인 경향을 관찰.
5) PISCO와 기존법의 선택 기준
- PISCO가 적합한 상황
- 오프라인으로 문서 컬렉션을 한 번 압축한 뒤 대량 질의를 처리하는 서비스(검색·QA·에이전트).
- 사전학습 리소스 부족 또는 정답 라벨 준비가 어려운 환경(은라벨 SKD로 대체).
- 성능 손실 최소화가 최우선(x16에서 원본 근접).
- 다른 방법이 유리할 수 있는 상황
- 온라인(온더플라이) 압축이 필요한 경우: COCOM 계열의 경량 컴프레서 접근이 유리. PISCO는 온라인 경량화를 본 논문에선 제공하지 않음.
- 사용자에게 설명 가능한 텍스트 요약이 반드시 필요한 UX: Hard 압축(요약/프루닝)이 해석성 측면에서 적합(단, 압축률 한계).
- 초초고압축(≥×128)만이 목표일 때: xRAG/CEPE/x500 류가 존재하나 정확도/레이블·KL 의존 트레이드오프 감수 필요.
6) 연구자 관점의 핵심 차별성 요약
- 문제 재정의: “압축 전/후에도 정답은 동일”이라는 불변성을 시퀀스 수준 라벨로 직접 최적화(KL-로짓 정합이 아닌 답변 시퀀스 일치) → 라벨 비용/의존성 최소화 + 안정적 학습.
- 모듈 적응: 컴프레서+디코더 동시 LoRA 튜닝으로 새로운 임베딩 영역을 활용(동결 시 성능 급락).
- 실증: x16에서 COCOM 대비 +8%, 원본 대비 0–3%p 이내, 5.7× 가속.
7) (보너스) 실험 설계 팁 — 기존법 대비 PISCO의 차별성 최대화
- 교사 선택: “설명형” 교사(예: SOLAR-10B, Mistral-7B)가 SKD 라벨 품질을 높여 성능 유리. 다양한 교사로 엔삼블 라벨을 만들고 다양성/근거성을 확보.
- 압축률 스위트스팟: ×2→×16 구간은 정확도 감소가 완만, 이후 급격 악화 → 먼저 ×16을 기본선으로 확립.
- HEGA 파이프라인 접목: 인덱스 구축 시 문서당 l=8 메모리(×16)로 압축→ 질의 시 교차어텐션 없이 문서 임베딩을 컨텍스트 슬롯에 삽입해 디코딩(프롬프트 민감도 낮음). 필요 시 세부 프롬프트/LoRA 세팅도 바로 드릴 수 있어요. (근거: PISCO 훈련·추론 개요 도식)
전체 개요 (RAG 맥락에서 PISCO가 하는 일)
- RAG에서 질의 q와 상위 k개 문서 (d_1,…,d_k)를 LLM에 넣어 답변 r을 생성합니다. 소프트 압축은 각 문서 d_i를 짧은 벡터 묶음 c_i(혹은 K/V 캐시)로 변환해, 생성은 r∼F(⋅∣q, c_1, …, c_k)에 조건부로 돌립니다. 이렇게 하면 긴 원문을 직접 넣지 않아도 됩니다.
구성요소
1) 문서 압축기(Compressor) F_θ_c
- 아이디어: 각 문서 뒤에 메모리 토큰 m_1, …, m_l 을 붙여 LM(+LoRA 어댑터 θ_c)에 통과시킨 뒤, 이 메모리 토큰들의 최종 히든상태 l개를 추출하여 그 문서의 압축 임베딩 c_i = (c_^i(s))_{s=1..l} 로 사용합니다. l이 곧 압축률(예: l = 8 ⇒ ×16)을 결정합니다. 메모리 토큰 임베딩 자체도 θ_c와 함께 최적화합니다.
직관: 문서의 핵심 정보를 l개의 ‘압축 슬롯’에 요약해 넣는다고 생각하면 됩니다. 슬롯 수를 늘리면 더 많은 정보를 담지만 비용도 늘어납니다.
2) 디코더(Decoder) F_θ_d
- 동일한 LLM에 별도 LoRA θ_d 를 붙여, q와 (c_1, …, c_k)를 보고 정답을 생성하도록 미세조정합니다. 선행연구처럼 디코더를 동결하면 성능이 떨어졌고(부록 G), 디코더 동시 미세조정이 관건임을 보였습니다. 7–10B 모델도 단일 고급 GPU에서 하루 내외로 E2E 튜닝을 끝냅니다.
학습 목표: 시퀀스 수준 지식증류(SKD)
- 불변성 가정: “입력이 압축되든 아니든, 정답은 같아야 한다.” 이를 위해 교사 LLM으로 문서+질의 조건부에서 완전한 답변 시퀀스 a_1, …, a_r를 생성해 라벨로 사용합니다. 학생은 압축 임베딩에 조건부로 이 시퀀스를 CE loss로 모사합니다:
- c_i=F_θ_c(d_i, m_1, …, m_l),
- L(θ_c, θ_d)=−∑_{i=1}^r log {F_θ_d(a_i∣q, c_1, …, c_k, a<i)}
- 왜 SKD인가? xRAG/CEPE처럼 토큰-로짓 KL에 정답 라벨까지 요구하는 방법과 달리, SKD는 라벨 없이(교사 생성만으로) 시퀀스 전체를 증류하므로 간결·효율적입니다. 또한 토큰-수준 KD보다 시퀀스 KD가 더 효율적임을 인용합니다.
데이터·세팅(재현용 요약)
- 훈련 질의 45.3만개(multi_qa)·문서는 Wikipedia-KILT를 128토큰 청크로 전처리해 DB 구성. 검색은 SPLADE-v3(sparse) + DeBERTa-v3(rerank). 훈련 중 k=5 문서를 사용. ×16 압축은 문서당 l=8 메모리 임베딩을 사용. 생성/평가는 greedy, 128토큰 제한.
- 하이퍼파라미터(핵심): batch 128, LR 1e-4, AdamW, 1 epoch, LoRA rank 16 / dropout 0.1 / alpha 32, warmup 5%, max grad-norm 1.0. 메모리 토큰 임베딩도 함께 학습.
추론 파이프라인(서빙)
- 오프라인 일괄 압축: 훈련이 끝나면 컬렉션 전체를 한 번 압축해 각 문서의 c_i를 저장합니다.
- 온라인 질의 처리: 질의 q → 상위 k 문서 검색 → 저장된 c_i 로 프롬프트 슬롯을 채워 디코딩.
- 효율 이득: ×16에서 약 5.7× 가속, FLOPs 17%만 사용(=지연 직접 감소).
예시로 보는 한 사이클 (그림 2의 질의 재현)
질의: “페루·칠레의 포도주 산지에서 증류한 무색의 술 이름은?”
교사 LLM: “…무색의 술은 Pisco이다.” (정답 시퀀스 생성)
학생(훈련): 압축기 F_θ_c가 각 문서를 l=8 슬롯으로 요약(c_i), 디코더 F_θ_d가 q와 (c_1, …, c_k)에 조건부로 Pisco를 생성하도록 CE 학습.
학생(추론): 같은 질의에 대해 저장된 c_i 만 보고 Pisco를 정확히 출력.
왜 이렇게 설계했나? (디자인 선택 근거)
- 사전학습은 효과 미미: 오토인코딩/LM 등 사전학습 성적과 RAG-QA의 상관이 작음. 소량 데이터일 때만 약간 도움, 45만 샘플 규모에선 의미 없음 → 사전학습 비필수.
- 원라벨 FT는 NIAH(Needle-in-a-haystack) 성능을 망침 → SKD가 회복.
- 교사 선택의 통찰: 항상 거대한 교사가 최선이 아님. Mistral-7B, SOLAR-10B처럼 근거/정당화를 포함해 답하는 교사가 더 좋은 라벨을 제공 → 성능↑.
한 페이지 요약(연구/구현 체크리스트)
- 입력 전처리: 위키 KILT 128-토큰 청크, SPLADE-v3 + DeBERTa-v3로 k=5 문서.
- 압축기: 문서 + l개 메모리 토큰 → 최종 히든 l개 추출 = c_i. l = 8 ⇒ ×16 권장. 메모리 임베딩 공동학습.
- 디코더: 동결 X, LoRA 동시 미세조정 필수.
- 학습목표: SKD(시퀀스 CE) – 교사 시퀀스 라벨을 학생이 압축 입력으로 재현. 라벨 사전 생성/재사용.
- 서빙: 한 번 오프라인 압축 후, 런타임엔 c_i만 사용 → 5.7× 가속, FLOPs 17%.
실험(Experimental Setup)
- 백본(Decoders): Mistral-7B-Instruct, Llama-3.1-8B-Instruct, SOLAR-10.7B-Instruct를 사용해 동일 레시피로 PISCO 변형을 학습.
- 학습 데이터/리트리벌:
- 질의 45.3만 개(multi_qa) 기반, 문서는 Wikipedia-KILT를 128-토큰 청크로 전처리하고 DB 구성. 학습 중 k=5 문서 사용. 각 문서는 메모리 토큰 l개로 압축(x16 ⇒ l=8).
- 검색은 SPLADE-v3 + DeBERTa-v3 재정렬을 사용(교사/학생 생성은 greedy, 128 토큰).
- 학습 방법: 시퀀스 수준 지식증류(SKD)—교사 LLM이 생성한 답변 시퀀스를 레이블로 사용, 압축 임베딩 조건에서 CE loss로 컴프레서(LoRA θc)와 디코더(LoRA θd)를 동시 미세조정. 라벨은 사전 계산·재사용 가능.
- 하이퍼파라미터(핵심): batch 128, LR 1e-4, 1 epoch, AdamW, LoRA rank 16 / dropout 0.1 / alpha 32, warmup 5%, 문서 최대 128 토큰.
- 평가 태스크·지표: NQ, TriviaQA, HotpotQA, ASQA, PopQA(정확도/match).
실험 결과(Main Results)
정량(5개 QA 벤치마크 평균 정확도, Top-5 문서)
| 모델 | 압축률 | 평균 |
| Mistral-7B (무압축) | – | 0.71 |
| PISCO-Mistral | ×16 | 0.68 |
| COCOM (Mistral 백본) | ×16 | 0.61 |
| PISCO-Solar | ×16 | 0.74 |
(데이터셋별 세부치는 Table 2 참조)
- 요약: PISCO는 COCOM 대비 평균 +8%p 향상(Mistral 백본 기준), x16에서 원본 대비 0–3%p 내 성능 유지. 특히 PISCO-Solar는 원본 Solar를 상회(디노이징 효과).
- 효율: FLOPs 17%(Mistral 대비)로 지연 감소, 추론 5.7× 가속 보고.
- 압축률 스윗스팟: x2→x16까지는 완만한 성능 저하, x16 이후 급격히 하락.
- GPT-4o 페어와이즈 평가: PISCO-Mistral > COCOM, Mistral 무압축과 동급 경향.
어블레이션 & 추가 평가(Ablations & Analyses)
- 디코더 동결 vs 동시 미세조정: 디코더를 동결하면 성능이 크게 저하(Table 8), 손실 곡선도 불리. 압축 임베딩이 토큰 분포 밖에 위치→ 디코더 적응 필수.
- 사전학습 효과: 100억 토큰 전처리 과제(AE, 압축-조건 생성 등) 실험 결과, 사전학습 성취 ↔ QA 성능 상관이 매우 약함(AE는 ROUGE-L≈1.0이어도 QA 개선 미미). 소량 파인튜닝 구간에서만 약간 도움.
- 라벨 품질/증류 이점: 원 라벨로 직접 FT하면 Needle-in-a-Haystack 성능 하락, SKD가 개선.
- 교사(Teacher) 선택: 항상 큰 모델이 최선은 아님. Mistral-7B/SOLAR-10B가 좋은 교사로 나타났고, 정답에 근거/정당화가 포함된 레이블이 유리.
- 문서 수 증가(확장성): 1→50개 문서에서도 기본 모델과 유사 추세, 20개 이후는 완만 하락(학습 시 k↑로 보완 가능).
- 도메인 외/다국어: Bio-QA, CovidQA, RobustQA, MKQA(프·한·러)에서 백본과 유사 수준(일부 하락). 요약(CNN/DM)에서도 Mistral≈PISCO-Mistral.
결론(Conclusions)
- 간단한 파이프라인 + SKD로 x16 압축에서 정확도 손실 최소(0–3%), 범용 QA에 견고, 드롭-인 교체로 비용·지연을 크게 절감 가능. 사전학습의 이점은 작고, 교사 라벨 품질이 핵심임을 실증.
한계(Limitations)
- QA 중심 평가: 요약·장대화 등 복잡 태스크 확장은 향후 과제.
- 온라인 압축 부재: 본 논문은 온더플라이 경량 컴프레서를 제안하지 않음 → 오프라인 일괄 압축 + 충분한 질의량이 있을 때 실용적(100만 문서 ≈ 3h/GPU).
- 다국어 성능: 일부 일반화는 보이지만, 강한 다국어 성능을 위해선 다국어 데이터 보강이 필요.
기여(Contributions)
- 실용적 압축률·효율: x16 압축에서 0–3% 손실, 5.7× 가속, 단일 A100 <48h로 7–10B 모델 튜닝 가능.
- 간소화된 학습 레시피: 사전학습·정답 라벨 없이 SKD만으로 E2E 학습.
- 강력한 실험·분석: 인도메인/도메인외/다국어에서 SOTA 압축법 대비 +8%, 사전학습 효과 미미·라벨 품질 중요·임베딩 구조(공간적 특화) 등 심층 분석.
한눈 체크리스트(재현·적용 팁)
- 권장 압축률: 먼저 ×16(l=8)로 고정 → 필요시 상하 조정.
- 디코더: 동결 금지, LoRA로 동시 미세조정.
- 증류 라벨: 교사 시퀀스를 사전 생성/캐시해 학습 안정·속도↑.
- 서비스 운영: 오프라인 전체 압축 후 운영 트래픽에서 이득 극대화.
'인공지능 > 논문 리뷰 or 진행' 카테고리의 다른 글
| SimLM: Pre-training with Representation Bottleneck for Dense Passage Retrieval (3) | 2025.08.26 |
|---|---|
| Text Embeddings by Weakly-Supervised Contrastive Pre-training (6) | 2025.08.26 |
| Language Model (LM) Pruning 논문 1 (4) | 2025.08.08 |
| Layer by Layer: Uncovering Hidden Representations in Language Models (8) | 2025.08.07 |
| Language Model의 Representation 능력 논문 1 (5) | 2025.08.05 |