답변 속도와 가속
최종 업데이트
ReplaySSM이란? 네모트론·Qwen 서버의 생성 속도를 높이는 방법
여러 요청의 답변을 만들 때 반복되는 상태 저장을 줄여요.
ReplaySSM은 SSM 계층이 이전 입력을 기억하는 방식을 바꾸는 추론 최적화예요. 기준 상태와 최근 입력을 나눠 보관하고, 매 토큰1마다 큰 상태 전체를 다시 쓰는 일을 줄여요. 여러 요청을 함께 처리하는 하이브리드 모델 서버에서 검토할 기술이에요.
Qwen이나 네모트론 서버에 에이전트 요청이 여러 개 들어오면 각 대화의 상태를 계속 읽고 갱신해요. SSM은 이전 문맥을 고정 크기 상태로 요약하는 계층이에요. ReplaySSM은 이 상태를 반복해서 읽고 쓰는 부담을 줄여, 서버가 답변 토큰을 더 빠르게 생성하도록 도와요.
상태를 매번 쓰는 대신, 최근 입력을 모아둬요
SSM 계층은 새 토큰을 처리하면서 이전 상태에 새 정보를 반영해요. 여러 요청이 동시에 돌면 대화마다 이 상태를 메모리에서 읽고 쓰는 양도 커져요. ReplaySSM은 기준 상태인 체크포인트2를 두고 최근 입력을 작은 버퍼에 모아요. 각 출력은 체크포인트와 버퍼로 계산하고, 버퍼가 찼을 때 입력 묶음을 체크포인트에 반영해요.
네모트론과 Qwen의 하이브리드 모델에는 SSM과 어텐션3 계층이 함께 있어요. ReplaySSM이 줄이는 것은 이 가운데 SSM 상태를 읽고 쓰는 비용이에요. 가중치 파일의 양자화4와 함께 사용할 수 있지만, 파일 크기를 줄이는 설정은 따로 골라야 해요.

MTP 초안을 검증한 뒤 되돌리기도 쉬워져요
MTP5나 별도 초안 모델이 여러 토큰을 제안하면 본 모델은 앞에서부터 받아들일 수 있는 부분을 정해요. 나머지 후보를 버린 뒤에는 대화 상태도 채택된 토큰에 맞춰야 하죠. ReplaySSM은 최근 입력 버퍼의 끝 위치를 조절해 받아들인 부분만 남겨요. 초안 토큰마다 큰 상태 복사본을 저장하는 부담을 줄일 수 있어요.
이 방식은 엔진 안에서 상태를 계산하고 저장하는 최적화예요. LiLiCorr는 받아들여질 만한 초안을 만드는 쪽을 개선해요. 서버를 튜닝할 때는 초안의 승인 길이와 상태 검증 비용을 따로 기록하면 어떤 변경이 도움이 됐는지 찾기 쉬워요.
요청 한 개와 큰 배치에서 결과가 달랐어요
NVIDIA와 Princeton 연구진은 Mamba-2와 GDN을 쓰는 네 모델을 vLLM에서 비교했어요. 다음 표는 초안 가속을 추가하지 않은 일반 디코드6 결과예요. 커널만 빨라진 비율과 토큰 생성 단계 전체가 빨라진 비율을 따로 읽으면 서버에서 기대할 효과를 구체적으로 파악할 수 있어요.
| 조건 | 결과 |
|---|---|
| Batch 1 | 이 실험에서 속도 향상 없음 |
| Batch 256 · SSM 커널 | 1.46~1.80배 |
| Batch 256 · 디코드 단계 전체 | 1.20~1.47배 |
4B는 H100 1개, 120B급은 B300 1개 · tensor parallel7 없음 · FP328 SSM 상태 · window L=16 · tuned vLLM 기준
공개 실험의 일반 디코드에서는 Batch 1의 속도 향상이 없었지만, Batch 256에서는 개선이 나타났어요. 혼자 대화하는 PC라면 요청 하나의 TTFT9와 생성 속도를 먼저 재세요. 팀 서버에서는 실제 동시 요청 수를 재현해 요청별 지연과 전체 처리량10을 함께 비교하면 돼요.

운영 서버에 적용할 때 남길 비교 기록
ReplaySSM은 TensorRT-LLM·vLLM·FlashInfer에 통합돼 있어요. 사용 중인 버전이 해당 모델의 SSM 경로를 지원하는지 확인한 뒤 시험 서버에서 시작하세요. 모델 파일과 입력·출력 길이, 상태 정밀도, 초안 사용 여부를 고정하고 먼저 현재 엔진의 기록을 남겨요. 엔진을 바꾼 뒤에는 같은 요청으로 TTFT, 완료 시간, 최대 메모리, 실패 횟수를 비교하면 돼요.
개인 PC의 속도를 높이는 게 목적이면 현재 모델이 지원하는 MTP·DFlash나 더 효율적인 양자화부터 비교하세요. 여러 에이전트가 함께 쓰는 서버에서는 ReplaySSM을 후보에 더하고, 바쁜 시간대에 요청이 얼마나 빨리 끝나는지까지 확인한 뒤 전환하면 돼요.

용어 각주
토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.
본문으로 돌아가기체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.
본문으로 돌아가기어텐션 — 입력 토큰 사이의 관련도를 계산해 각 위치의 정보를 현재 표현에 반영하는 신경망 연산입니다.
본문으로 돌아가기양자화 — 모델의 가중치나 계산값을 더 적은 비트로 표현해 저장 공간과 메모리 사용량을 줄이는 방법입니다. 표현 단계가 거칠어져 정확도에도 영향을 줄 수 있습니다.
본문으로 돌아가기MTP — 한 번에 여러 미래 토큰을 예측하도록 학습하는 목표 또는 이를 수행하는 모델 구성입니다. 추측 디코딩에서는 이 예측을 후보 토큰으로 제안할 수 있습니다.
본문으로 돌아가기토큰 디코드 — 입력과 앞서 만든 답변을 바탕으로 다음 출력 토큰을 차례로 생성하는 단계입니다.
본문으로 돌아가기텐서 병렬 — 모델 층 안의 행렬과 연산을 여러 장치로 분할해 함께 계산하는 방식입니다. 부분 결과를 모으기 위해 장치 간 통신이 필요합니다.
본문으로 돌아가기FP32 — 32비트 부동소수점 수치 형식입니다. BF16보다 값 하나에 더 많은 메모리를 쓰며 수치를 더 세밀하게 표현할 수 있습니다.
본문으로 돌아가기첫 토큰 지연 — 요청을 보낸 뒤 첫 출력 토큰이 도착하기까지 걸린 시간입니다.
본문으로 돌아가기처리량 — 일정 시간 동안 처리하거나 생성한 작업량입니다. 토큰/초, 요청/초처럼 단위를 함께 확인해야 비교할 수 있습니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- ReplaySSM은 SSM 계층이 이전 입력을 기억하는 방식을 바꾸는 추론 최적화예요. 기준 상태와 최근 입력을 나눠 보관하고, 매 토큰마다 큰 상태 전체를 다시 쓰는 일을 줄여요. 여러 요청을 함께 처리하는 하이브리드 모델 서버에서 검토할 기술이에요.
- 필요한 메모리는 어느 정도인가요?
- ReplaySSM은 TensorRT-LLM·vLLM·FlashInfer에 통합돼 있어요. 사용 중인 버전이 해당 모델의 SSM 경로를 지원하는지 확인한 뒤 시험 서버에서 시작하세요. 모델 파일과 입력·출력 길이, 상태 정밀도, 초안 사용 여부를 고정하고 먼저 현재 엔진의 기록을 남겨요. 엔진을 바꾼 뒤에는 같은 요청으로 TTFT, 완료 시간, 최대 메모리, 실패 횟수를 비교하면 돼요.
