콘텐츠로 이동

응답이 느릴 때

응답이 느릴 때 점검할 5가지 (GPU·실행 프로바이더·입력 길이)

분석·교정 응답이 느린가요? 원인은 실행 프로바이더, 입력 길이, LLM 사용 여부 등 몇 군데로 좁혀집니다. 차례로 점검해봐요.

증상

  • 형태소 분석 또는 맞춤법 교정 응답 시간이 깁니다.
  • 어떤 요청은 빠른데 특정 입력만 느립니다.
  • GPU를 설정했는데도 기대만큼 빠르지 않습니다.

원인

바른의 처리 속도에 영향을 주는 요소를 정리하면 이래요.

요소 설명
실행 프로바이더 executionProvider(cpu/gpu)와 폴백 여부
입력 길이 분절은 80자 단위로 처리, 긴 문장은 분할
문장 수 한 요청에 담긴 문장·어절 수
LLM 사용(맞춤법 검사 빌드) 교정에서 LLM 폴백·띄어쓰기 판별 호출

해결 — 점검할 5가지

  1. 실행 프로바이더를 확인하세요. GPU 환경이면 executionProvidergpu인지, 그리고 실제로 GPU로 도는지 보세요. CPU로 폴백됐다면 가속을 못 받습니다(GPU 폴백 참고).

  2. 입력 길이를 점검하세요. 분절(Segmenter)은 한 번에 80자를 처리하고, 더 긴 문장은 나누어 처리합니다. 지나치게 긴 입력은 분할 처리량이 늘어 느려질 수 있어요. 적정 길이로 잘라 보내면 응답이 빨라집니다.

  3. 한 요청의 문장 수를 조절하세요. 한꺼번에 너무 많은 문장을 보내면 처리 시간이 누적됩니다. 대량 처리라면 적당한 단위로 나누어 보내세요.

  4. 교정의 LLM 사용을 확인하세요(맞춤법 검사 빌드). 맞춤법 검사는 어려운 어절을 LLM으로 폴백합니다. 외부 API 지연이 응답에 직접 반영되니, 느리다면 LLM rate-limit/타임아웃 문서의 동시 요청 수·타임아웃·캐시 설정을 점검하세요.

  5. 반복 입력은 캐시를 활용하세요(맞춤법 검사 빌드). 같은 어절·띄어쓰기 판별은 캐시되어 재호출을 줄입니다. 반복이 많은 워크로드일수록 효과가 큽니다.

빠른 진단 순서

GPU 폴백 여부 → 입력 길이 → 문장 수 → (교정이면) LLM 설정 순으로 보면 원인을 빠르게 좁힐 수 있어요.

예방·팁

  • 형태소 분석은 모델·사전을 기동 시 미리 올려두므로, 첫 요청보다 이후 요청이 안정적으로 빠릅니다.
  • 입력을 80자 안팎의 자연스러운 문장 단위로 보내면 분할 오버헤드를 줄일 수 있습니다.

자주 묻는 질문

Q. 응답이 느릴 때 가장 먼저 무엇을 보나요?

실행 프로바이더입니다. GPU로 설정했는데 CPU로 폴백됐는지 확인하세요. 그 다음 입력 길이(분절은 80자 단위 처리)와 한 요청의 문장 수, 교정이라면 LLM 사용 여부를 점검합니다.

Q. 입력이 길면 왜 느려지나요?

분절은 한 번에 80자를 처리하고 더 긴 문장은 나누어 처리하기 때문입니다. 입력이 매우 길면 분할 처리량이 늘어 시간이 더 걸립니다. 적정 길이로 잘라 보내면 빨라집니다.

Q. 맞춤법 검사가 형태소 분석보다 느린 이유는?

교정은 규칙 처리 뒤 어려운 어절을 LLM으로 폴백하는데, 외부 API 응답 지연이 그대로 반영됩니다. 동시 요청 수·타임아웃 설정과 캐시 활용으로 개선할 수 있습니다.

Q. GPU를 설정했는데도 빠르지 않아요.

GPU로 설정했어도 실행 프로바이더 초기화에 실패하면 CPU로 폴백돼 가속을 못 받습니다. 기동 로그에 폴백 경고가 없는지, GPU 사용률이 올라가는지 확인하세요. 자세한 진단은 GPU 폴백 문서를 보면 됩니다.

Q. 첫 요청만 느리고 이후가 빨라요. 정상인가요?

정상입니다. 형태소 분석은 모델·사전을 기동 시 미리 메모리에 올려두므로, 첫 요청보다 이후 요청이 안정적으로 빠릅니다. 맞춤법 검사 기능이 포함된 빌드에서는 어절·띄어쓰기 판별 캐시 덕분에 반복 입력일수록 더 빨라집니다.

도움이 되었나요?