요구 사항: 저는 이전에 Ollama와 함께 deepseek-r1:32b 모델을 배포한 적이 있는데, 매우 편리하고 빠르며 개인용 신속 배포에 적합합니다. 엔터프라이즈 프로덕션 환경이라면 어떻게 배포해야 할까요? 일반적으로 vllm과 sglang이 배포에 사용되며, 이 글에서는 DeepSeek-R1 모델을 배포하기 위해 vLLM을 사용합니다.
올라마 vs. vLLM
차이점은 다음과 같습니다:
| 대비 차원 | 올라마 | vLLM | | 코어 위치 | 개별 개발자와 소규모 실험을 위한 경량 현지화 도구 | 고동시성과 낮은 지연을 가진 기업 수준 시나리오에 중점을 둔 프로덕션 레벨 추론 프레임워크 | | 하드웨어 요구사항 | CPU 및 GPU 지원, 낮은 메모리 사용량 (기본적으로 양자화 모델 사용 ) | 메모리 사용량이 많은 NVIDIA GPU에 의존해야 합니다 | | 모델 지원 | 내장 사전 학습 모델 라이브러리(1700+ 모델 지원), 정량적 버전 자동 다운로드(주로 int4) | 원본 모델 파일(예: HuggingFace 형식)을 수동으로 다운로드하면 더 다양한 모델을 지원합니다 | | 배치의 어려움 | 프로그래밍 기반이 필요 없이 한 버튼으로 설치하고 바로 사용할 수 있습니다 | 파이썬 환경과 CUDA 드라이버가 필수이며, 기술 경험도 필요합니다 | | 성능 특성 | 단일 추론 속도는 빠르지만, 동시성 처리 능력은 약합니다 | 높은 처리량, 동적 배치 처리 지원, 수천 개의 동시 요청 | | 자원 관리 | 자원 사용량을 유연하게 조정하고 유휴 시 자동으로 비디오 메모리를 해제할 수 있습니다 | 비디오 메모리 점유율은 고정되어 있으며, 피크 부하를 감당하기 위해 자원을 예약해야 합니다 |
vLLM에 대한 간략한 소개
vLLM은 빠르고 사용하기 쉬운 LLM 추론 및 서비스 라이브러리입니다.
새로운 알고리즘을 적용한 vLLM은 최신 기술 수준을 재정의합니다: . HuggingFace Transformers와 비교했을 때, 모델 아키텍처 변경 없이도 최대 24배 더 높은 처리량을 제공합니다. 해시레이트를 절반으로 줄이고 처리량을 10배로 증가시킨 연구는, vLLM의 처리량을 가장 인기 있는 LLM 라이브러리인 HuggingFace Transformers(HF), 그리고 이전의 HuggingFace 텍스트 생성 추론(TGI)과 SOTA 처리량을 가진 것들과 비교했습니다. 또한 연구는 실험 장비를 두 가지 유형으로 나누었습니다: NVIDIA A10G GPU를 하드웨어로 사용하는 LLaMA-7B; 다른 하나는 하드웨어에 NVIDIA A100 GPU(40GB)를 탑재한 LLaMA-13B입니다. 그들은 ShareGPT 데이터셋에서 입력/출력 길이를 샘플링했습니다. 결과는 vLLM의 처리량이 HF보다 24배, TGI보다 3.5배 높다는 것을 보여주었습니다.
vLLM 문서:하이퍼링크 로그인이 보입니다. 소스 코드 주소:하이퍼링크 로그인이 보입니다. 성능 테스트:하이퍼링크 로그인이 보입니다.
사진을 이해할 필요 없어요, 소는 끝났어요!
환경 준비
텐센트 클라우드 고성능 애플리케이션 서비스를 구매하고 다음과 같이 구성했습니다:
Ubuntu 20.04 환경 구성: Ubuntu 20.04, 드라이버 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 컴퓨팅 파워 유형: 2카드 GPU 기본 타입 - 2*16GB+ | 16+TFlops SP | CPU - 16코어 | RAM - 64GB
콘다 설치
콘다로 파이썬 환경을 만들고 스크립트를 바로 붙여넣으세요:
vLLM을 사용해 DeepSeek-R1을 배포하기
다음 명령어로 콘다(conda)로 파이썬 환경을 만듭니다:
다음 명령어로 vllm과 modelscope를 설치하세요:
다음 명령어로 modelscope를 사용하여 DeepSeek-R1 모델을 다운로드하세요:
참조:하이퍼링크 로그인이 보입니다.
다음 명령어로 VLM을 사용하여 딥시크 모델을 시작합니다:
만약 "Bfloat16은 최소 8.0 이상의 연산 능력이 있는 GPU에서만 지원된다"는 문구를 만났다면, 당신의 테슬라 T4 GPU는 계산 능력이 7.5입니다. CLI에서 명시적으로 'dtype' 플래그를 설정하면 float16을 사용할 수 있습니다. 예를 들어 --dtype=half." 경고, 경고에 따라 매개변수만 추가하세요.
말:
- --텐서 병렬 크기 및 GPU 수 설정
- --GPU 메모리 활용률이 사용된 메모리 비율을 제어합니다
- --served-model-name API에서 사용되는 모델 이름
- --disable-log-requests 로그를 비활성화합니다
vLLM 리눅스 GPU 설치 문서:하이퍼링크 로그인이 보입니다. 엔진 파라미터:하이퍼링크 로그인이 보입니다.
아래 GPU 상태를 확인해 보세요:
우편배달부 테스트 사용
브라우저 열림:http://ip:8000/ 인터페이스 문서:http://ip:8000/docs
다음 이미지에서 볼 수 있는 우체국 전화 소리:
벤치마킹
다음 명령어로 테스트 코드를 다운로드하세요:
명령은 다음과 같이 실행됩니다:
결과: 처리량: 2.45 요청/초, 총 토큰/초 1569.60, 출력 토큰/초 1255.68
(끝) |