시작과 메모리
최신 안정판 Text 0.2.1 릴리스 기준
언어 모델, 토크나이저 사전, Aho-Corasick automaton은 초기화 비용을 시작 시점과 요청 시점 사이에서 다르게 배치한다. 수명을 명시하고 실제 배포 환경에서 측정해야 한다.
자원 소유권
섹션 제목: “자원 소유권”| 자원 | 초기화 선택 | 권장 소유자 |
|---|---|---|
| Lingua 감지기 | 지원 언어, preload·lazy, 정확도 mode | 애플리케이션 singleton |
| 한국어 프로세서 사전 | 패키지 데이터와 검증된 런타임 업데이트 | 공유 프로세서 정책 |
| 일본어 금칙어 사전 | 첫 호출 지연 로딩과 런타임 업데이트 | 공유 프로세서 정책 |
사용자 CharArraySet | 리소스 집합과 reload 버전 | 애플리케이션 사전 서비스 |
| Aho-Corasick automaton | 키워드 snapshot과 검색 옵션 | 불변 애플리케이션 snapshot |
Preload를 의도적으로 선택하기
섹션 제목: “Preload를 의도적으로 선택하기”Lingua 모델을 미리 읽으면 이후 호출을 예측하기 쉽지만 시작 시간과 초기 메모리가 늘어난다. 지연 로딩은 초기 비용을 줄이는 대신 특정 언어의 첫 요청으로 비용을 옮긴다. 어느 방식을 고르든 지원 언어 집합을 실제 제품 범위로 줄이는 일이 중요하다.
일본어 금칙어도 첫 접근에 사전을 읽는다. 첫 요청부터 일정한 지연 시간을 약속한다면 readiness 전에 해당 호출을 실행한다.
검색 snapshot을 요청 밖에서 만들기
섹션 제목: “검색 snapshot을 요청 밖에서 만들기”키워드 버전을 읽고 검증한 다음 automaton을 구성해 불변 결과를 공개한다. 업데이트할 때는 새 snapshot을 완성한 뒤 애플리케이션 소유권을 원자적으로 바꾼다. 공유 builder를 바꾸거나 같은 키워드를 요청마다 다시 만들지 않는다.
라이브러리 상한보다 작은 제한
섹션 제목: “라이브러리 상한보다 작은 제한”요청 모델 상한은 100_000자지만 서비스 지연 목표에 따라 더 작게 제한할 수 있다. 짧은 입력, 중앙값, 상한 근처 입력을 나눠 측정한다. 원문 대신 문자 길이, 연산, 언어 route, 경과 시간을 기록한다.
Warmup 체크리스트
섹션 제목: “Warmup 체크리스트”- 설정된 감지기를 구성한다.
- lazy mode라면 서비스에서 사용할 언어 모델을 호출한다.
- 트래픽에 제공할 한국어·일본어 연산을 실행한다.
- 필수 금칙어와 사용자 사전을 읽는다.
- 운영 크기의 automaton을 빌드한다.
- snapshot 준비 뒤 시작 시간과 메모리를 기록한다.
필수 리소스를 읽지 못하면 readiness를 실패시킨다. 트래픽을 받은 뒤 요청마다 같은 초기화 오류를 반복해서는 안 된다.
원문 없이 관측하기
섹션 제목: “원문 없이 관측하기”자원 버전, 지원 언어 수, 사전 항목 수, automaton 키워드 수, 입력 길이 구간, 일치 수, 정제된 오류 분류가 유용하다. metric이나 exception label에 제출 원문을 넣지 않는다.