콘텐츠로 이동

9.8. 오프라인 전용 설정

기밀 네트워크, 산업 제어실, 의료 시설 등 설계상 인터넷 접속이 차단된 환경이 있습니다. Backend.AI GO는 필요한 모델과 엔진이 준비되면 완전히 오프라인으로 실행할 수 있습니다.

이 가이드에서는 인터넷이 연결된 머신에서 모델 패키지를 준비하고, 에어갭 대상 머신으로 전송한 후, 가져오기를 수행하고, Backend.AI GO를 완전한 오프라인 운영에 맞게 설정하는 전체 워크플로를 안내합니다.

개요

graph LR
    A[온라인 머신] -->|.baimodel 내보내기| B[USB / 내부 네트워크]
    B -->|전송| C[에어갭 머신]
    C -->|.baimodel 가져오기| D[Backend.AI GO<br/>오프라인]

워크플로는 세 단계로 구성됩니다:

  1. 준비 — 인터넷이 연결된 머신에서 모델과 엔진을 다운로드한 후, 모델을 .baimodel 패키지로 내보냅니다.
  2. 전송.baimodel 파일과 엔진 바이너리를 USB 드라이브, 내부 파일 서버 또는 승인된 전송 방법으로 에어갭 머신에 옮깁니다.
  3. 가져오기 및 설정 — 에어갭 머신에서 패키지를 가져오고 온라인 기능을 비활성화합니다.

사전 준비

  • 온라인 및 오프라인 머신 모두에 Backend.AI GO가 설치되어 있어야 합니다
  • 모델 파일을 담을 수 있는 충분한 용량의 전송 매체 (USB 드라이브, 내부 네트워크 공유 등, 일반적으로 모델당 2~20 GB)
  • 엔진 설치 및 파일 관리를 위한 양쪽 머신의 관리자 권한

1단계: 온라인 머신에서 준비

모델 다운로드

  1. 인터넷이 연결된 머신에서 Backend.AI GO를 엽니다.

  2. 사이드바의 검색 페이지 (Hugging Face 아이콘)로 이동합니다.

  3. 필요한 모델을 찾아 다운로드합니다. 오프라인 사용에 적합한 모델:

    • 일반 대화: Llama 3.2 3B Instruct, Qwen 2.5 7B Instruct
    • 번역: TranslateGemma 4B Instruct
    • 코딩: Qwen 2.5 Coder 7B Instruct
    • 이미지 생성: Stable Diffusion 모델 (GGUF 형식)
  4. 각 다운로드가 완료될 때까지 기다립니다. 플로팅 다운로드 대기열 패널에서 진행 상황을 확인할 수 있습니다.

적절한 크기 선택

작은 모델 (1~4B 파라미터)은 RAM과 디스크 공간을 적게 사용하므로, 리소스가 제한된 오프라인 환경에 적합합니다. 큰 모델 (7~14B)은 더 좋은 결과를 생성하지만 더 많은 리소스가 필요합니다.

엔진 설치

엔진은 모델을 실행하는 추론 백엔드입니다. 먼저 온라인 머신에서 설치한 후, 모델 패키지와 함께 전송해야 합니다.

  1. 사이드바의 엔진 페이지로 이동합니다.

  2. 오프라인 머신의 하드웨어와 일치하는 엔진 변형을 다운로드합니다:

    오프라인 머신 하드웨어 엔진 변형
    NVIDIA GPU llama.cpp CUDA
    AMD GPU llama.cpp ROCm/HIP
    Apple Silicon llama.cpp Metal, MLX 또는 MLXcel
    CPU 전용 llama.cpp CPU
  3. 나중에 참조할 수 있도록 엔진 버전과 변형을 기록해 둡니다.

엔진 호환성

오프라인 머신에 설치하는 엔진은 해당 하드웨어와 정확히 일치해야 합니다. CUDA용으로 빌드된 엔진은 NVIDIA GPU가 없는 머신에서는 작동하지 않습니다.

모델을 .baimodel 패키지로 내보내기

.baimodel 형식은 모델 파일, 메타데이터, 무결성 체크섬을 포함하는 이동 가능한 ZIP 아카이브입니다. 대상 머신에서 인터넷 접속 없이 모델을 배포할 수 있게 해줍니다.

  1. 모델 페이지 (로컬 모델 목록)로 이동합니다.

  2. 내보낼 모델을 찾아 점 세 개 메뉴 (또는 오른쪽 클릭)를 클릭합니다.

  3. 모델 내보내기를 선택합니다.

  4. 내보내기 대화상자에서:

    • 모델 이름, 형식, 크기를 확인합니다.
    • 모델에 비전 프로젝터 (mmproj)가 있는 경우 포함 여부를 선택합니다.
    • 총 패키지 크기를 확인합니다 — 전송 매체에 최소 이 정도의 여유 공간이 필요합니다.
  5. 내보내기를 클릭하고 저장 위치를 선택합니다 (예: USB 드라이브 또는 네트워크 공유).

  6. 내보내기가 완료될 때까지 기다립니다. 진행률 막대에 해싱, 패키징, 검증 단계가 표시됩니다.

  7. 전송할 각 모델에 대해 반복합니다.

.baimodel 패키지 내부 구성

.baimodel 파일은 ZIP 아카이브 (속도를 위해 STORE 압축 사용)로, 다음을 포함합니다:

  • manifest.json — 패키지 메타데이터: 모델 이름, 형식, 체크섬, 생성 정보
  • metadata.json — Backend.AI GO 모델 메타데이터 (선택 사항)
  • model/ — 모델 파일 (GGUF, mmproj 등)

SHA256 체크섬은 내보내기 시 계산되고 가져오기 시 검증되어 파일 무결성을 보장합니다.

2단계: 에어갭 머신으로 전송

전송을 위해 다음 파일을 준비합니다:

항목 위치 용도
.baimodel 패키지 이전 단계에서 내보낸 파일 메타데이터가 포함된 모델 파일
Backend.AI GO 설치 프로그램 공식 다운로드 사이트 애플리케이션 설치 (미설치 시)

전송 방법

  • USB 드라이브 — USB 드라이브에 파일을 복사하고, 조직의 정책에 따라 악성코드 검사를 수행한 후, 에어갭 머신에 연결합니다.
  • 내부 파일 서버 — 에어갭 네트워크 세그먼트에서 접근 가능한 승인된 내부 네트워크 공유에 업로드합니다.
  • 광학 매체 — 한 번 쓰기 방식의 변조 방지 전송을 위해 DVD/Blu-ray에 기록합니다.

파일 무결성 확인

전송 후 파일 크기가 원본과 일치하는지 확인합니다. .baimodel 가져오기 프로세스에는 SHA256 체크섬 검증이 포함되어 있으므로, 손상된 파일은 가져오기 과정에서 자동으로 감지됩니다.

3단계: 오프라인 머신에서 가져오기 및 설정

Backend.AI GO 설치

에어갭 머신에 Backend.AI GO가 아직 설치되지 않은 경우, 전송된 설치 프로그램 패키지를 사용하여 설치합니다. 플랫폼별 안내는 설치하기 가이드를 참조하세요.

엔진 설치

모델을 가져오기 전에, 올바른 추론 엔진이 오프라인 머신에 있는지 확인합니다. 오프라인 머신이 인터넷 접속이 가능한 상태에서 설정된 경우, 엔진이 이미 설치되어 있을 수 있습니다. 엔진 페이지에서 확인합니다.

엔진이 설치되어 있지 않다면, 온라인 머신에서 수동으로 전송하여 설치해야 합니다. 엔진 파일은 온라인 머신의 Backend.AI GO 애플리케이션 데이터 디렉토리에 위치합니다.

.baimodel 패키지 가져오기

  1. 에어갭 머신에서 Backend.AI GO를 엽니다.

  2. 모델 페이지로 이동합니다.

  3. 가져오기 버튼을 클릭합니다 (또는 메뉴를 사용합니다).

  4. 가져오기 대화상자에서 파일 선택을 클릭하고 .baimodel 파일로 이동합니다.

  5. 대화상자가 패키지를 검증하고 미리보기를 표시합니다:

    • 모델 이름, 형식, 양자화
    • 퍼블리셔 및 리포지토리 정보
    • 파일 수 및 총 크기
    • 검증 경고 (있는 경우)
  6. 이 머신에 모델이 이미 존재하는 경우, 모델이 이미 존재하면 대체를 토글하여 덮어씁니다.

  7. 가져오기를 클릭하여 추출을 시작합니다.

  8. 진행률 막대에 추출 및 검증 단계가 표시됩니다. SHA256 체크섬이 자동으로 검증됩니다.

  9. 완료되면 모델이 로컬 모델 목록에 나타나며, 로드할 준비가 됩니다.

  10. .baimodel 패키지에 대해 반복합니다.

드래그 앤 드롭

.baimodel 파일을 모델 페이지에 직접 드래그하여 가져오기 프로세스를 시작할 수도 있습니다.

오프라인 운영을 위한 설정

인터넷 연결이 없으므로, 외부 서비스에 의존하는 특정 기능을 비활성화하여 불필요한 연결 시도와 오류 메시지를 방지해야 합니다.

업데이트 확인 비활성화

  1. 설정 > 고급으로 이동합니다.

  2. 외부 업데이트 서버에 접속하지 않도록 업데이트 채널을 설정하거나, 나타나는 업데이트 알림을 무시합니다.

머신에 인터넷 접속이 없으므로 업데이트 확인은 자동으로 시간 초과되지만, 비활성화하면 불필요한 네트워크 요청을 피할 수 있습니다.

온라인 의존 기능 참고

다음 기능은 인터넷 연결이 필요하며 에어갭 머신에서는 작동하지 않습니다:

기능 위치 오프라인 시 동작
Hugging Face 검색 검색 페이지 검색 결과가 로드되지 않음
모델 다운로드 검색 페이지 다운로드 실패
엔진 레지스트리 엔진 페이지 > 사용 가능한 엔진 사용 가능한 엔진 목록이 로드되지 않음
클라우드 제공자 클라우드 통합 클라우드 모델 요청 실패
앱 업데이트 자동 업데이트 확인 시간 초과

이러한 기능은 정상적으로 저하됩니다 — 로컬에서 사용 가능한 모델과 엔진으로 애플리케이션은 정상적으로 계속 작동합니다.

로컬 모델만 사용

  1. 모델 페이지에서 로드 버튼을 클릭하여 모델을 로드합니다.

  2. 로드되면 모든 핵심 기능이 오프라인으로 작동합니다:

    • 채팅: 로드된 모델로 전체 대화 기능
    • 번역: 텍스트 및 파일 번역 (번역 가능 모델 사용 시)
    • 이미지 생성: 이미지 생성 (Stable Diffusion 모델 사용 시)
    • API 서버: 로컬 애플리케이션에서 접근 가능한 OpenAI 호환 API
    • Cowork: 도구 호출 및 에이전트 워크플로 (로컬 도구만 사용)

예시: 보안 번역 워크스테이션 설정

에어갭 번역 워크스테이션 설정의 전체 예시입니다:

온라인 머신에서:

  1. 검색 페이지에서 TranslateGemma 4B Instruct를 다운로드합니다.
  2. 오프라인 머신 하드웨어에 맞는 llama.cpp 엔진을 다운로드합니다.
  3. 모델을 TranslateGemma-4B-Instruct.baimodel로 내보냅니다.
  4. .baimodel 파일을 USB 드라이브에 복사합니다.

에어갭 머신에서:

  1. Backend.AI GO를 설치합니다 (필요 시).
  2. 엔진 페이지에서 llama.cpp 엔진이 설치되어 있는지 확인합니다.
  3. USB 드라이브에서 TranslateGemma-4B-Instruct.baimodel을 가져옵니다.
  4. 모델 페이지에서 모델을 로드합니다.
  5. 번역 페이지를 열고 문서 번역을 시작합니다.

모든 번역은 로컬에서 이루어지며, 어떤 데이터도 머신을 벗어나지 않습니다.

오프라인 머신 업데이트 유지

에어갭 머신의 모델이나 애플리케이션을 업데이트하려면:

  1. 새 모델: 온라인 머신에서 새 .baimodel 패키지를 내보내고 가져오기 프로세스를 반복합니다.
  2. 애플리케이션 업데이트: 온라인 머신에서 새 설치 프로그램을 다운로드하여 전송 후 에어갭 머신에 설치합니다.
  3. 엔진 업데이트: 온라인 머신에서 업데이트된 엔진 패키지를 다운로드하여 전송 후 설치합니다.

버전 관리

각 에어갭 머신에 설치된 모델 버전과 엔진 버전을 기록해 두세요. .baimodel 매니페스트에는 참조할 수 있는 버전 정보가 포함되어 있습니다.

문제 해결

문제 해결 방법
가져오기 실패 "validation failed" .baimodel 파일이 전송 중 손상되었을 수 있습니다. 온라인 머신에서 다시 내보내고 전송합니다.
가져오기 실패 "checksum verification failed" 전송 중 파일 무결성이 손상되었습니다. 파일 크기가 원본과 일치하는지 확인하고 재전송합니다.
모델이 로드되지만 추론이 느림 머신 하드웨어에 맞는 올바른 엔진 변형이 설치되어 있는지 확인합니다 (예: NVIDIA GPU용 CUDA). CPU 전용 추론은 상당히 느립니다.
"모델이 이미 존재합니다" 오류 가져오기 대화상자에서 모델이 이미 존재하면 대체 토글을 활성화합니다.
엔진을 사용할 수 없음 모델을 가져오기 전에 엔진을 설치해야 합니다. 엔진 페이지를 확인하고 하드웨어에 적합한 엔진을 설치합니다.
기능이 로딩 중이거나 오류 표시 온라인 의존 기능 (검색, 클라우드 통합, 사용 가능한 엔진)은 인터넷 접속이 필요하며 에어갭 머신에서는 작동하지 않습니다. 로컬 모델과 설치된 엔진만 사용하세요.

관련 페이지