본문 바로가기

LLM3

Prompt Caching (프롬프트 캐싱) 프롬프트 캐싱, 같은 앞부분을 다시 계산하지 않기요약여러 요청이 공통으로 쓰는 앞부분의 KV 캐시를 저장해두고 재사용해, 반복되는 prefill을 건너뛰어 비용과 지연을 줄이는 기법입니다.KV 캐시와 다릅니다. KV 캐시는 한 번의 생성 안에서 재사용하고, 프롬프트 캐싱은 그 KV를 요청과 사용자를 가로질러 재사용합니다. 프롬프트 캐싱은 KV 캐시 위에 세워집니다.핵심 규칙이 하나 있습니다. 앞에서부터 정확히 일치하는 구간까지만 유효합니다. 그래서 불변 부분을 앞에, 변하는 질문을 뒤에 둡니다.입력이 길고 반복되며 출력이 짧은 워크로드에서 절감이 가장 큽니다. RAG나 문서 QA, 에이전트가 여기 해당합니다.prefill만 단축됩니다. 생성 자체는 그대로입니다.무엇을 아끼나챗봇이나 에이전트는 매 요청마다.. 2025. 9. 1.
GQA와 MQA GQA와 MQA, Key와 Value를 얼마나 공유할까요약GQA와 MQA는 어텐션에서 Key와 Value를 헤드끼리 공유해, 자기회귀 생성의 메모리 병목인 KV 캐시를 줄이는 기법입니다. Query 헤드 수는 그대로 두고 K와 V만 공유합니다.세 방식이 있습니다. MHA는 헤드마다 K와 V를 따로 둬서 캐시가 크고, MQA는 전체가 한 벌만 공유해 캐시가 최소이며, GQA는 그룹당 공유하는 절충입니다.핵심 트레이드오프는 명확합니다. K와 V 그룹 수를 줄이면 캐시가 줄고 속도가 오르지만 품질이 떨어질 위험이 있습니다.GQA는 MHA와 MQA 사이를 잇는 일반화입니다. 그룹 수가 헤드 수와 같으면 MHA, 1이면 MQA가 됩니다.품질을 거의 안 깎으면서 캐시를 크게 줄여 Llama 3와 Mistral 같은.. 2024. 10. 7.
LoRA와 QLoRA LoRA와 QLoRA, 전체를 다시 학습하지 않고 모델을 길들이는 법요약PEFT는 모델의 수십억 개 가중치를 전부 갱신하는 대신 소수 파라미터만 학습해 파인튜닝 비용을 낮추는 방법의 총칭이고, 그 대표가 LoRA입니다.LoRA는 파인튜닝으로 생기는 가중치 변화량을 두 작은 행렬의 곱으로 근사하고, 원래 가중치는 동결합니다. 학습하는 건 작은 행렬 두 개뿐입니다.효과가 큽니다. LoRA 논문은 GPT-3 175B 기준 학습 파라미터가 약 10,000배, GPU 메모리가 약 3배 줄었다고 보고합니다. 산출물인 어댑터가 수 MB라 태스크별로 저장하고 교체하기 쉽습니다.QLoRA는 동결된 베이스를 4비트로 양자화한 위에 LoRA를 얹습니다. 논문은 65B 모델을 단일 48GB GPU에서 파인튜닝하면서 16비트 .. 2024. 4. 17.