DeepSeek가 자사 모델이 답을 생성하도록 실행하는 소프트웨어를 오픈소스로 공개했다. 모델을 서비스에 적용하려는 개발자는 핵심 실행 기능을 내려받아 시험하고, 서비스 인프라와 나눠 도입 범위를 판단할 수 있게 됐다.
1. 지원 모델과 하드웨어
DeepInfer는 DeepSeek의 대규모 운영 서비스를 구동하는 추론 프레임워크다. 이번 공개는 예제 스크립트로 모델을 실행하는 오프라인 추론을 제공한다.
지원 모델은 DeepSeek-V4.1-Flash이며, 라이선스는 Apache 2.0이다.
지원 하드웨어는 NVIDIA SM100 GPU와 Huawei Ascend 950 NPU다. 도입 검토는 이 모델과 장치 조합에 맞춰 시작하는 편이 타당하다.
2. 처리 효율과 결과 재현성
비동기 스케줄링은 CPU가 다음 요청 묶음을 준비하는 동안 가속기가 현재 작업을 실행하도록 겹치는 방식이며 기본으로 켜져 있다.
답의 후보 조각을 먼저 만든 뒤 신뢰도에 따라 검증 시점을 정하는 디코딩 가속 기능도 포함한다.
요청을 어떤 묶음으로 처리하더라도 모델 결과를 같게 유지하는 기능과, 같은 입력·샘플링 설정에서 같은 출력을 내는 결정적 샘플링도 제공한다. 둘 다 NVIDIA 전용이며, 결정적 샘플링에는 별도 기능 설정과 고정 시드가 필요하다. 시드는 무작위 선택을 재현하기 위한 기준값이다.
구조화된 출력은 생성 결과를 정해진 문법에 맞추는 기능이다. 정규식이나 JSON 스키마, EBNF 문법으로 출력 형식을 제한할 수 있다.
3. 빌드와 모델 준비
Linux에서 소스를 빌드하며, 컴파일러는 GCC 13.0 이상이 필요하다.
빌드 전에 빈 Python 3.12 환경을 만들고 활성화한다. 다음은 저장소에 실린 빌드 명령이다.
# Use `ascend` instead for the Ascend platform
# Keep it exported in the environment where you run DeepInfer
export DEEPINFER_ACCELERATOR=nvidia
./build.sh가속기별 개발 환경도 필요하다. NVIDIA용은 CUDA 13, 다른 지원 가속기용은 CANN 9.2를 요구한다.
오프라인 추론 예제는 첫 실행 때 기본 모델 파일을 Hugging Face 캐시에 내려받는다. 이미 받은 모델 사본이 있다면 환경 변수로 경로를 지정해 사용할 수 있다.
4. 처리량이 늘 때 함께 늘어나는 지연
프리필은 답을 생성하기 전에 입력을 읽어 처리하는 단계다. DeepSeek의 공개 그래프는 캐시되지 않은 입력을 대상으로, 처리량과 이 단계의 지연시간을 함께 보여준다.
지원 모델을 SM100 GPU 4장으로 하나의 스케일업 도메인, 즉 긴밀하게 연결된 장치 묶음 안에서 측정했다. 병렬 구성은 EP4DP4, 계산을 나눠 맡는 전문가 모듈 구성은 384+32, 문맥 길이는 131,072이며 디코더 재실행 범위는 140토큰이다.
데이터 병렬 처리 단위별 배치가 4,096토큰인 지점은 그래프상 약 70밀리초에 GPU당 초당 약 6만 토큰을 처리한다. 65,536토큰 지점에서는 약 730밀리초에 약 9만 토큰이다. 처리량은 높아지지만 입력 처리 한 단계의 소요 시간도 길어져, 처리량만으로 운영 설정을 고르기는 어렵다.
출력을 생성하는 디코드 그래프는 GPU 64장으로 측정했으므로 위 결과와 직접 비교할 수 없다. 저장소는 벤치마크 재현용 실행 스크립트도 안내한다.
5. 실행 기반과 서비스 인프라의 경계
공개 코드로 실행 흐름과 최적화 기능을 검토할 수 있다는 점은 이익이다. 반면 이전 계산을 재사용하는 KV 캐시 시스템, 입력 처리와 출력 생성 등을 분리하는 구성, 여러 모델 복제본에 요청을 나누는 부하 분산은 빠져 있어 운영 인프라를 별도로 마련해야 한다. 분리에 필요한 엔진 기능은 대부분 구현돼 있다는 것이 저장소 설명이므로, 이미 제공되는 실행 기능과 추가로 맡을 구축 작업을 구분해야 한다.
DeepInfer의 도입 가치는 공개된 추론 기능이 각 서비스의 실행 요구와 구축 여건에 얼마나 맞는지로 판단해야 한다.
