Skip to content
leeryongPublic

About

NGX — 다중 사용자 GPU 자원 중개 플랫폼 · 모델을 필요할 때 올리고 끝나면 내려 GPU를 여럿이 나눠 쓴다. LLM/VLM 서빙, 문서 파싱·임베딩 API, 미세조정(SFT), 사용량 계측을 하나로. A multi-user GPU resource broker for serving, parsing, embedding and fine-tuning.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NGX — NTIS GPU eXchange

한국어 | English

다중 사용자 GPU 자원 중개 및 모델 운영 플랫폼

단일 또는 다중 GPU 노드 위에서 모델의 적재·해제, 추론 서빙, 문서 파싱, 임베딩, 미세조정(SFT), 사용량 계측을 단일 웹 인터페이스와 REST API 로 통합 운영한다.

NGX

🌐 이제 TAW에서 에이전트로 만나요!

NGX — 이제 The Agents Web (TAW) 플랫폼에서 에이전트로 만날 수 있습니다! 설치 없이 TAW Browser 하나로 PC·모바일 어디서나(Windows · macOS · Linux · iOS · Android), 대화로도 웹앱으로도 바로 쓰세요.

기관 내부망에 있는 GPU 노드를 밖에서 그대로 조작합니다 — 모델을 올리고 내리고, 대화하고, 사용 현황을 확인하는 일이 자리를 옮기지 않아도 됩니다.

➡️ The Agents Web (TAW) · 🌌 KISTI · BLUESKY


1. 배경

GPU 노드의 가용 메모리는 유한한 반면, 운영 대상 모델의 총 요구 메모리는 이를 상회한다. 통상적인 두 운용 방식은 각각 다음의 한계를 갖는다.

방식 한계
사용자별 GPU 정적 할당 개별 할당량을 초과하는 대형 모델을 어느 사용자도 적재할 수 없다
선점 방식의 공동 사용 적재 상태가 가시화되지 않아 자원 반환이 지연되고 대기가 누적된다

NGX 는 GPU 를 요구 시점에 할당하고 사용 종료 시 반환하는 자원으로 취급하며, 적재 상태·점유 주체·잔여 용량을 실시간으로 가시화한다.


2. 기능

2.1 모델 수명주기 관리

적재 요청 처리 모델 적재 요청 시 대상 모델의 요구 메모리와 GPU 별 잔여 용량을 대조하여 배치 가능 여부를 사전 판정한다. 다중 GPU 를 요구하는 모델은 필요한 카드 수를 확보할 수 있을 때만 적재를 개시하며, 불가한 경우 부족량과 함께 사유를 반환한다.

적재 상태 추적 적재된 모델은 서빙 엔드포인트의 준비 상태(readiness)를 주기적으로 확인하여 상태를 갱신한다. 프로세스가 기동되었으나 가중치 적재가 완료되지 않은 구간을 별도 상태로 구분하며, 비정상 종료된 인스턴스는 상태 갱신 시 회수한다.

다중 인스턴스 동일 모델을 복수로 적재하여 동시 처리량을 확장할 수 있다. 서빙 엔진이 슬롯 단위 병렬 처리를 지원하는 경우 슬롯 수 조정으로, 그렇지 않은 경우 인스턴스 증설로 대응한다. 적재된 인스턴스는 개별 또는 일괄 해제가 가능하다.

메모리 가시화 GPU 별 점유를 할당량과 실사용량으로 구분하여 표기한다. 서빙 엔진이 선점한 메모리와 실제 활성 사용량이 다르므로, 두 값을 함께 제시해야 잔여 용량을 정확히 판단할 수 있다. 프로세스 단위 점유는 해당 프로세스가 수행 중인 작업명으로 해석하여 표시한다.

2.2 추론 서빙

엔드포인트 적재된 모델은 OpenAI 호환 REST 인터페이스로 노출된다. 채팅 완성(chat completions)과 임베딩(embeddings) 규격을 따르므로, 기존 클라이언트·SDK 를 엔드포인트 주소 변경만으로 연결할 수 있다.

스트리밍 토큰 단위 스트리밍 응답을 지원한다. 추론 과정을 별도로 출력하는 모델의 경우 사고 과정과 최종 응답을 구분하여 전달한다.

멀티모달 이미지를 입력으로 받는 모델(VLM)은 첨부 파일을 함께 전달하여 질의할 수 있다.

컨텍스트 관리 모델별 최대 컨텍스트 길이와 권장 출력 토큰 수를 등록 정보로 관리하며, 요청이 한계를 초과하지 않도록 사전 검증한다.

2.3 문서 파싱

구조 보존 추출 PDF 문서에서 레이아웃을 분석하여 본문·표·수식·도표를 구분하고, 표는 행렬 구조를, 수식은 표기를 유지한 형태로 추출한다. 텍스트 레이어가 없는 문서는 광학 문자 인식(OCR) 경로로 처리한다.

처리 특성 문서 단위로 비동기 처리되며, 진행 상태와 페이지별 결과를 조회할 수 있다. 파싱 결과는 임베딩·색인 등 후속 처리에 직접 연계된다.

2.4 임베딩

벡터 생성 문장 임베딩 모델을 적재하여 벡터 생성 API 를 제공한다. 다국어·한국어 특화·멀티모달 임베딩 모델을 용도에 따라 선택하여 운용한다.

배치 및 유사도 복수 문장의 일괄 처리를 지원하며, 생성된 벡터 간 유사도를 화면에서 즉시 확인할 수 있다. 차원 수와 정규화 여부는 모델 등록 정보에 따른다.

2.5 미세조정 (SFT)

작업 실행 데이터셋과 학습 조건을 입력하면 학습 작업이 큐에 등록되어 비동기로 실행된다. 학습에 필요한 GPU 는 작업 개시 시 확보하며, 다른 서빙 작업과의 자원 경합을 조정한다.

진행 관측 학습 단계·손실 추이·경과 시간을 실시간으로 조회할 수 있다. 작업은 중도 취소할 수 있으며, 취소 시 점유 자원을 반환한다.

결과 활용 학습이 완료된 모델은 등록 절차를 거쳐 즉시 적재·검증할 수 있다.

2.6 사용량 계측 및 이력 관리

자원 시계열 GPU 사용률과 메모리 점유를 주기적으로 표본화하여 보존하고, 시간·일·주·월 단위로 집계하여 조회한다. 구간별 평균과 최고치를 함께 제시하여 순간 부하와 지속 부하를 구분할 수 있게 한다.

모델별 집계 모델 단위로 요청 수, 입력 토큰, 출력 토큰을 누적한다. 어떤 모델이 실제 부하를 유발하는지, 상시 적재가 타당한지 판단하는 근거가 된다.

사용자별 집계 사용자 단위로 접속 이력, 사용 모델, 요청량을 집계한다.

2.7 접근 제어

인증 웹 세션과 API 키의 두 경로를 지원한다. API 키는 사용자별로 발급·폐기하며, 발급된 키는 웹 인터페이스와 동일한 권한 범위를 따른다.

권한 분리 모델을 범주(대화·임베딩·문서·학습 등)로 구분하고, 사용자별로 접근 가능한 범주를 지정한다. 모델 적재·해제와 시스템 설정은 운영자 권한으로 분리한다.


3. 특성

항목 내용
하드웨어 독립성 특정 GPU 모델·수량에 종속되지 않는다
자원 효율 미사용 모델의 해제로 유휴 점유를 억제한다
운영 가시성 적재 상태·점유 주체·잔여 용량이 실시간으로 노출된다
상호운용성 OpenAI 호환 규격으로 기존 클라이언트를 그대로 사용한다
기능 통합 서빙·파싱·임베딩·학습을 단일 플랫폼에서 처리한다
추적성 모델별·사용자별 사용 이력이 보존된다

4. 적용 대상

  • 연구 조직 단위에서 GPU 노드를 공동 활용하는 환경
  • 대형 모델을 간헐적으로 적재·활용해야 하는 환경
  • 문서 자산의 텍스트화 및 벡터화 파이프라인이 필요한 환경
  • 공개 모델을 자체 데이터로 미세조정하여 운용하는 환경

5. 정보

운영 기관 한국과학기술정보연구원(KISTI) · NTIS-BLUESKY
버전 v0.8
접속 기관 내부망 · 접속 정보는 운영자에게 문의
라이선스 독점 · 소스 비공개 (LICENSE)

저장소 안내 본 저장소는 NGX 의 소개를 목적으로 한다. 소스 코드, 설치 절차, 내부 구성은 공개하지 않는다. 실행 형태의 배포는 장래에 별도 이용 약관과 함께 이루어질 수 있다.


👨‍💻 개발자 그룹

KISTI-NTIS BLUESKY 팀 — Harmonizing Human and AI Collaboration github.com/leeryong/KISTI_BLUESKY

📞 문의

About

NGX — 다중 사용자 GPU 자원 중개 플랫폼 · 모델을 필요할 때 올리고 끝나면 내려 GPU를 여럿이 나눠 쓴다. LLM/VLM 서빙, 문서 파싱·임베딩 API, 미세조정(SFT), 사용량 계측을 하나로. A multi-user GPU resource broker for serving, parsing, embedding and fine-tuning.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors