← 기술 백서 목록으로 돌아가기

공교육 시험지 문항과 군사 기밀 번역의 클라우드 유출 0초 차단: ZeliTranslate의 온디바이스 NMT/LLM 하이브리드 번역 및 8대 국문 다국어 파이프라인 아키텍처

"초·중·고교 내신 및 수능 모의고사 출제 기간, 혹은 국방 첨단 무기체계 연구실에서 외신 기사나 해외 기술 규격을 번역할 때 가장 빈번하게 발생하는 보안 사고는 상용 웹 번역기(Google, DeepL, Papago)에 미공개 시험 지문이나 작전 문서를 복사해 붙여넣는 일입니다. 외부 클라우드로 전송된 텍스트는 즉시 해외 서버 로그에 남고 AI 모델 재학습 데이터로 흡수됩니다. ZeliTranslate는 단 1바이트의 외부 네트워크 통신 없이 로컬 GPU/CPU에서 직접 구동되는 온디바이스 NMT/LLM 하이브리드 엔진을 통해 공교육과 국방망의 문서 프라이버시를 완벽하게 수호합니다."

1. 공교육과 국방 전산망의 번역 보안 위기: 클라우드 유출과 Air-Gap의 딜레마

글로벌 학술 자료, 외국어 교과 교안, 해외 첨단 방산 기술 규격서를 신속하게 번역하는 작업은 교육과 국방 분야 모두에서 필수적인 일상 업무입니다. 그러나 상용 클라우드 번역 서비스에 무심코 문서를 입력하는 순간 다음과 같은 심각한 보안 및 운영 리스크가 발생합니다:

비교 항목 상용 클라우드 웹 번역기 (G*, D*, P*) 유료 기업용 SaaS 번역 API ZeliDesk ZeliTranslate 온디바이스 엔진
데이터 전송 경로 해외/외부 상용 서버로 평문 전송 클라우드 엔드포인트 전송 (로깅 정책 의존) 외부 통신 0바이트 (PC 내부 RAM/VRAM 완전 격리)
Air-Gap 폐쇄망 구동 불가능 (인터넷 필수) 불가능 100% 오프라인 구동 (랜선 분리 상태에서도 완벽 번역)
추론 레이턴시 네트워크 RTT + 서버 대기 (1~3초) API 호출 오버헤드 상주 llama-cli 세션 유지로 수백 ms 수준 초고속 응답
다국어 지원 범위 광범위하나 도메인 커스텀 불가 제한적 8대 국문 다국어 + 오픈 GGUF 모델 레지스트리 자유 확장
작업 기록 관리 클라우드 계정에 자동 동기화 API 로그 보존 온디바이스 로컬 영속화 (SQLite/JSON 파일 완전 격리)

2. 핵심 아키텍처 1: 모델 레지스트리(`model_registry.json`)와 다중 경로 자동 탐색

ZeliTranslate는 다양한 하드웨어 스펙(RTX 외장 GPU 탑재 PC부터 Intel 내장 그래픽 노트북까지)을 지닌 교육 현장의 특성을 고려하여, 선언적 JSON 레지스트리 기반의 경량 NMT 모델 관리 체계를 갖추고 있습니다.

JSON — model_registry.json: 번역 특화 오픈 모델 레지스트리
[
  {
    "key": "qwen25-3b",
    "displayName": "Qwen 2.5 3B Instruct (한국어 번역 우수 ⭐)",
    "url": "https://huggingface.co/Qwen/Qwen2.5-3B-Instruct-GGUF/resolve/main/qwen2.5-3b-instruct-q4_k_m.gguf",
    "fileName": "qwen2.5-3b-instruct-q4_k_m.gguf",
    "sizeBytes": 2100000000
  },
  {
    "key": "gemma2-2b",
    "displayName": "Gemma 2 2B IT (고속 다국어)",
    "url": "https://huggingface.co/bartowski/gemma-2-2b-it-GGUF/resolve/main/gemma-2-2b-it-Q4_K_M.gguf",
    "fileName": "gemma-2-2b-it-Q4_K_M.gguf",
    "sizeBytes": 1500000000
  },
  {
    "key": "llama32-3b",
    "displayName": "Llama 3.2 3B Instruct",
    "url": "https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q4_K_M.gguf",
    "fileName": "Llama-3.2-3B-Instruct-Q4_K_M.gguf",
    "sizeBytes": 2000000000
  },
  {
    "key": "tinyllama",
    "displayName": "TinyLlama 1.1B Chat (초경량)",
    "url": "https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf",
    "fileName": "tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf",
    "sizeBytes": 700000000
  }
]

또한 FindAllLocalModels() 메서드는 ZeliDesk 자체 저장소(%LOCALAPPDATA%\ZeliDesk\sLM)뿐만 아니라 사용자가 기존에 다운로드해 둔 타 도구(LM Studio, Ollama 등)의 캐시 폴더까지 순회하여 시스템에 이미 존재하는 .gguf 파일을 0초 만에 감지하고 즉시 로컬 추론 드롭다운에 연결합니다.

3. 핵심 아키텍처 2: 상주 `-cnv` 세션과 멀티라인 `stdin` 파이프라인

단순 CLI 방식으로 번역을 수행하면 번역할 문장이 들어올 때마다 수 GB의 모델 가중치를 디스크에서 읽어오는 수 초의 지연이 발생합니다. ZeliTranslate는 llama-cli를 대화형 상주 세션(-cnv) 모드로 실행하여 가중치를 메모리에 상시 상주시킵니다.

C# — ZeliTranslateWindow.xaml.cs: 세션 재활용 및 멀티라인 stdin 안전 전송
// 기존 세션이 동일한 모델을 물고 있으면 재활용 (가중치 재로딩 0초)
if (_sessionActive && _inferenceProcess != null && !_inferenceProcess.HasExited && _sessionModelPath == modelPath)
{
    AppendLog("[세션 재사용] 기존 추론 세션으로 즉시 번역 전송\n");
    await SendPromptAndWaitAsync(prompt);
    return;
}

// 윈도우 인자 길이 한계 및 특수문자 왜곡을 방지하기 위해 StandardInput(UTF-8)으로 전달
// llama-cli 대화 모드는 멀티라인 입력 시 줄 끝에 ' \' 이스케이프가 필수
string safePrompt = prompt.Replace("\r\n", "\n").Replace("\n", " \\\n") + " ";

var proc = _inferenceProcess;
if (proc != null && !proc.HasExited)
{
    await proc.StandardInput.WriteLineAsync(safePrompt);
    await proc.StandardInput.FlushAsync();
}
🛡️ 프로세스 인자(CLI Arguments) vs 표준입력(stdin)의 보안 격차

많은 개발자가 번역할 문장을 프로세스 실행 인자(-p "번역할 본문")로 넘기는 실수를 범합니다.
이 경우 Windows 작업 관리자나 프로세스 모니터(Process Explorer)의 명령줄(Command Line) 열에 기밀 시험 지문이나 작전 문서가 평문으로 노출되며, 긴 문장의 경우 OS 명령줄 길이 한계(8,191자)를 초과해 프로세스가 비정상 종료됩니다.
ZeliTranslate는 모든 프롬프트를 UTF-8 표준입력(stdin) 스트림 파이프로 격리 전송하여 OS 명령줄 노출을 원천 방어하고 무제한 길이의 장문을 안전하게 처리합니다.

4. 핵심 아키텍처 3: 실시간 토큰 스트리밍 및 정규식 출력 정제기 (`CleanStreamOutput`)

상주 대화 모드(-cnv)로 구동되는 LLM 런타임의 출력 스트림에는 모델의 답변뿐만 아니라 사용자 프롬프트의 에코(Echo), 프롬프트 표시자(> ), 그리고 추론 속도 통계 라인이 섞여 나옵니다. ZeliTranslate는 정밀한 상태 머신과 정규식 필터링을 결합한 CleanStreamOutput 엔진을 통해 순수한 번역 결과만을 UI에 렌더링합니다.

C# — ZeliTranslateWindow.xaml.cs: CleanStreamOutput 정규식 및 통계 필터링
private static string CleanStreamOutput(string output)
{
    if (string.IsNullOrEmpty(output)) return "";

    var lines = output.Split('\n');
    var resultLines = new List<string>();
    bool capturing = false;

    foreach (var line in lines)
    {
        string trimmed = line.Trim();

        // 1. llama-cli 추론 성능 통계 라인 제외
        if (trimmed.Contains("t/s ]") || (trimmed.Contains("Prompt:") && trimmed.Contains("Generation:")))
            continue;

        // 2. 프롬프트 표시자(> ) 이후부터 실제 응답으로 캡처
        if (trimmed.StartsWith("> ") || trimmed == ">")
        {
            capturing = true;
            continue;
        }

        // 3. 입력 프롬프트 에코 부분 건너뛰기
        if (!capturing && (trimmed.StartsWith("Translate") || trimmed.StartsWith("Output ONLY")))
            continue;

        if (capturing || !trimmed.StartsWith("Translate"))
        {
            capturing = true;
            resultLines.Add(line);
        }
    }

    string result = string.Join("\n", resultLines).Trim();

    // 4. 특수 토큰 제거 ([end of text], <|...|>)
    result = Regex.Replace(result, @"\[end of text\]", "", RegexOptions.IgnoreCase);
    result = Regex.Replace(result, @"<\|.*?\|>", "");
    return result.Trim();
}

5. 핵심 아키텍처 4: 8대 국문 언어 매트릭스 및 실시간 언어 자동 감지

ZeliTranslate는 공교육과 군사 작전에서 가장 수요가 높은 8대 주요 언어 매트릭스를 기본 지원합니다:

특히 소스 언어를 auto(자동 감지)로 설정할 경우, 유니코드 블록 판별 휴리스틱(한글 음절, 히라가나/가타카나, CJK 한자, 라틴 알파벳 분포)을 거쳐 0.1ms 만에 소스 언어를 즉시 식별하여 최적의 타깃 언어로 자동 전환합니다.

6. 프로세스 생명주기 및 하드웨어 거버넌스

ZeliTranslate는 6대 버그 방어 표준을 엄격히 준수합니다:

  1. 좀비 프로세스 트리 킬: 창을 닫는 순간(Closed 이벤트) StopInference()가 호출되어 백그라운드 llama-cli 및 하위 프로세스를 Kill(entireProcessTree: true)로 즉각 소멸시킵니다.
  2. TOCTOU(Time-of-Check to Time-of-Use) 경쟁 상태 방어: 비동기 취소 루프와 번역 루프가 동시에 동작할 때 발생할 수 있는 널 참조(NullReferenceException)를 방지하기 위해 로컬 변수 복사 스냅샷 패턴을 적용했습니다.
  3. 로컬 히스토리 감사 보존: 번역된 모든 내역은 클라우드가 아닌 로컬 JSON에만 영속화(HistoryService.SaveTranslateHistory)되며, 교사나 연구원이 언제든 과거 번역 내역을 안전하게 열람하고 복사할 수 있습니다.

7. 결론: "단 1바이트의 유출도 허용하지 않는 공교육·국방 번역 표준"

시험지 출제 보안과 국방 작전 문서의 기밀 유지는 국가적 신뢰와 안보의 초석입니다.

ZeliDesk의 ZeliTranslate는 외부 SaaS 번역기가 야기하는 정보 유출의 공포를 완전히 제거했습니다. 100% 오프라인 폐쇄망 구동, 실시간 스트리밍 NMT, 그리고 엄격한 프로세스 거버넌스를 통해 대한민국 교실과 군부대에 가장 안전하고 강력한 번역 파이프라인을 제공합니다.

← 이전 기술 백서 #909 초·중·고 컴퓨터실 40대 PC의 파이썬·주피터 환경 0초 배포: nLM의 경량 CPU 런타임 격리 및 학생 과제물 자동 백업 프로비저닝 아키텍처 다음 기술 백서 → #907 노션(Notion) 서버 장애와 교안 유출 없는 안전한 온디바이스 저작: ZeliMD의 Markdig 확장 파이프라인 및 WebView2 격리 렌더링 아키텍처
⚡ ZeliDesk ZeliTranslate 온디바이스 번역 엔진 체험하기

외부 클라우드 유출 없는 완전 격리 오프라인 번역, 상주 llama-cli 세션 기반 초고속 스트리밍 추론을 직접 확인하세요.

ZeliDesk Suite 무료 다운로드