https://github.com/cmpark0126/llm-vlm-cpp-onnx-inference
LLM/VLM ONNX 모델의 C++ 텍스트 생성 애플리케이션 개발, Static Graph 추출 및 TTFT/TPOT 성능 측정
https://github.com/cmpark0126/llm-vlm-cpp-onnx-inference
Last synced: 10 months ago
JSON representation
LLM/VLM ONNX 모델의 C++ 텍스트 생성 애플리케이션 개발, Static Graph 추출 및 TTFT/TPOT 성능 측정
- Host: GitHub
- URL: https://github.com/cmpark0126/llm-vlm-cpp-onnx-inference
- Owner: cmpark0126
- Created: 2025-09-22T11:50:26.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-29T08:06:28.000Z (10 months ago)
- Last Synced: 2025-09-29T10:08:19.497Z (10 months ago)
- Language: C++
- Size: 217 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LLM/VLM C++ ONNX Inference
- 모든 동작은 AWS의 `Ubuntu Server 24.04 LTS (HVM),EBS General Purpose (SSD) Volume Type.` Amazon Machine Image, `t2.2xlarge` Instance Type, 60GiB Storage 환경을 기준으로 합니다.
- Docker가 설치되어 있고, 16GiB 메모리, 60GiB Storage가 확보되는 경우에는 MAC이나 다른 환경에서도 동작 가능할 것으로 예상되나, 제대로 테스트되지는 않았습니다.
## AWS EC2 기준 Docker Container 환경 준비
```bash
sudo apt-get update
sudo apt-get install docker.io
git clone https://github.com/cmpark0126/llm-vlm-cpp-onnx-inference.git
cd llm-vlm-cpp-onnx-inference
sudo docker build -t llm-vlm-dev .
sudo docker run --name llm-vlm-dev -v $(pwd):/workspace --memory="16g" --shm-size="8g" -it llm-vlm-dev
$ ... # 컨테이너 내부 자동 진입, 호스트 파일 변경 실시간 반영
```
## 사전 작업 및 과제 실행
Docker 컨테이너 내에서:
```bash
# 예제 허깅페이스 레포 다운로드 (문제1, 3)
./setup.sh
# Hugging Face 토큰 설정 (문제 2)
# 사전에 gemma-3-1b-it 활용 허가를 받은 token이어야 함
export HF_TOKEN=your_huggingface_token_here
# 각 문제는 ./run.sh 를 실행하면 (1) python baseline 코드를 실행하고, (2) 이후 C++ 구현을 실행하도록 구성되어 있다.
# 문제 1: LLM 텍스트 생성
cd problem1-llm
./run.sh
cd ..
# 문제 2: Static graph export & 텍스트 생성
cd problem2-static
./run.sh
cd ..
# 문제 3: VLM 텍스트 생성
cd problem3-vlm
./run.sh
cd ..
```
## 결과 리포트
- [REPORT.md](./REPORT.md)
## 컨테이너 종료 및 제거
```bash
sudo docker stop llm-vlm-dev && sudo docker rm llm-vlm-dev
```