송진현
AI · Voice Agent · Backend Engineer
리소스 절약
병목을 찾아 해결할 줄 아는 개발자
STT 처리량 306%↑ · VRAM 약 80%↓ (동일 하드웨어)AICC
기존 ARS와 다르게 인·아웃바운드 자연어 상담이 가능한 AI 상담사 개발자
SIP · VAD · STT · LLM · TTS · MCPLLM 2.2B
RAW 데이터부터 가공해 직접 수렴시킨 개발자
학습 loss 약 2.5 (MA200)Backend
영상, 이미지, 사운드를 모두 다루는 개발자
FFmpeg · OpenCV · WhisperIntroduce
AI학습부터 백엔드 API까지 서비스가 돌아가는 전 구간을 직접 만듭니다.
SIP 전화망 위에서 VAD · STT · LLM · TTS를 잇는 AI 상담사(AICC)를 단독으로 개발했습니다.
예약 백엔드 API와 이를 LLM에 연결하는 Tools는 MCP로 구현했고, 인바운드와 아웃바운드를 모두 지원합니다.
이 서비스에 맞춰 2.2B 한국어 LLM도 RAW 데이터 가공부터 직접 학습했습니다.
- 백엔드를 깊게 압니다Java · Spring Boot · JPA 기반 API 설계부터 Docker · Jenkins · Nginx · AWS/OCI 배포까지, 웬만한 서비스는 혼자서도 만들어 냅니다.
- 병목을 찾아 해결합니다운영 중인 STT 서비스의 GIL·IPC·메모리 누수를 진단해 같은 하드웨어에서 처리량을 높였습니다. 작은 PoC와 실측으로 원인을 좁혀 갑니다.
- 데이터 종류를 가리지 않습니다영상, 이미지, 사운드를 서버에서 처리하는 백엔드를 만들어 왔고, 출발점은 회로와 펌웨어를 만지던 임베디드입니다.
Experience
마음AI · 인턴2024.01 ~ 2024.03 · 농협·Toyota AICC STT 서비스 추론 가속 / 파이프라인 최적화
- Java 개발자로 합류해 Python으로 전환, 은행 납품 STT 서비스의 처리량 개선을 담당
- spawn 기반 멀티프로세싱의 GIL 병목, 과다한 프로세스 생성·IPC 오버헤드, 24시간마다 재부팅이 필요하던 메모리 누수를 진단
- AsyncIO로 다운로드·전처리·추론을 중첩하고, BytesIO로 중간 파일 I/O를 제거
- GPU별 STT gRPC 서버와 릴레이 로드 밸런서를 구축하고 동적 배칭을 적용
- 60개 태스크 75.9초 → 24초 (처리량 약 306%↑), VRAM 약 80% 절감, 메모리 누수 해결, 기술 문서 작성 및 인수인계
- 비교 조건: 기존 서버는 가중치를 N배 복제 + MPS, 개선안은 단일 인스턴스 배칭 (양쪽 모두 KV 캐시 제외)
테크노벨리컴퍼니네트워크 · 가상화 인프라 및 백엔드
- 네트워크 설계, pfSense 방화벽, Xen HA 구성, 백엔드 개발 수행
디자인 아띠랑스 · 프리랜서 외주 개발2021.04 ~ 2021.12
- 박물관·홍보관·기업용 콘텐츠 개발 (정관박물관, 부산박물관, 부산전쟁역사관, 농업기술지원센터, SK브로드밴드 관련 등)
Projects
AICC AI상담사 Ver2 · 병원 예약 (TeleGPT)2024.07 ~ 2026.03 · 개발 · 단독SIP 전화망에서 AI가 병원 예약·변경·취소를 처리하는 실시간 음성 에이전트
- VAD · STT · LLM · TTS · 예약 도구 호출(function calling)을 하나의 실시간 파이프라인으로 연결, 발신번호 기준으로 예약 식별
- 예약 백엔드 API와 이를 LLM에 연결하는 Tools를 MCP로 개발해, 상담 중 조회·예약·변경·취소를 도구 호출로 처리
- 인바운드 응대와 아웃바운드 발신을 모두 구현, SIP로 본인 휴대폰에 직접 연결해 양방향 통화 테스트
- 유효 음성 구간만 STT로 전달하고, 중간 STT 텍스트로 LLM prefill을 미리 실행한 뒤 prefix KV 캐시를 재사용해 응답 지연을 줄임
- KKMA sentences()로 문장 경계를 잡는 점진적 TTS, 오디오 샘플을 바이트 단위로 다뤄 페이드아웃을 적용해 클릭 노이즈·끊김 체감을 완화
- "내일 3시로 바꿔주세요"처럼 취소+신규예약으로 오해될 수 있는 발화의 모호성을 처리
- v2: SIP 미디어 포맷 자동 협상, STT·TTS를 의미 단위 워커 풀로 분산해 멀티 세션 통화 지원
한국어 LLM 자체 제작 (2.2B 사전학습)개발 · 단독RAW 데이터 가공부터 학습·수렴까지 직접 수행한 소형 한국어 LLM
- RAW 데이터 가공 → 학습 → 수렴까지 전 과정을 직접 수행
- Intel NPU 기반으로 자영업자가 매장에서 쓸 수 있는 독립형 AI 응대 장치를 목표로, 컨텍스트 2K 내외의 소형 모델을 설계
- 학습 loss 약 2.5 수렴 (최근 200스텝 이동평균 기준)
- 외부 API는 logits 분포를 제공하지 않아 증류 학습이 어렵다는 한계를 확인하고, 자체 GPU 서버로 티처 모델 서빙 환경을 구성
- AICC 서비스(TeleGPT)의 지연·비용을 줄이기 위한 효율화 과정으로 진행
Orialz · 사용자 맞춤형 동영상 AI 블러2023.09 ~ 2023.10 · 팀장사용자가 원치 않는 영상 구간을 AI가 분석해 맞춤 블러 처리
- 팀장으로서 객체 탐지(YOLOv8 · MMDetection) 기반 블러 파이프라인, Hadoop(HDFS) 분산 처리, CI/CD(Jenkins · GitLab · Docker) 구성을 이끎
- Spring Boot 백엔드, Nginx, AWS / OCI 배포
다른 프로젝트 17개 보기
AgentGuard · AI API 보안 게이트웨이개발 중 · 개발AI 에이전트와 외부 LLM API 사이에서 요청·응답을 검사해 통과·경보·차단하는 프록시
- OpenAI API · Claude API · Ollama 방식과 호환되는 LLM API 프록시를 개발하고, 요청(업스트림)과 응답(다운스트림)을 각각 한 번씩 보류한 뒤 판별 결과에 따라 통과 · 경보 · 차단
- System 1 계열 모델을 유해성 데이터로 파인튜닝한 Oracle 모델을 구성, 독성 프롬프트 벤치마크에서 약 70%의 유해 프롬프트를 탐지
- 내부 자료 지식 그래프를 구성하고, UART 릴레이와 MCU를 둔 CDS 구조로 Oracle을 격리해 통신을 정해진 프로토콜로만 제한 (MCU 펌웨어 임의 업데이트 방지 포함)
N2Cluster · 이기종 노드 분산 서빙 런타임 (EC Expert Cluster)설계 · 구현 중 · 개발Dense FFN 채널과 MoE Expert를 분산 단위로 삼아 이기종 노드에서 모델을 나눠 서빙
- 활성화율과 노드 성능 추정에 따라 Expert 배치를 동적으로 협상 · 재조정하고, 노드가 합류 · 이탈 · 장애일 때 용량을 재할당해 전체 Expert 가용성을 유지
- RAM → SSD → FileServer 3단 계층으로 Expert를 서빙하고, 노드 간 P2P 전송으로 FileServer 부하를 분산 (내부망 약 4Gbps 기준)
Capet · 실내 위치 측위 서비스2023.07 ~ 2023.08 · 팀장애견 카페에서 동물의 심박·위치를 관리자가 통합 관리하는 서비스
- Arduino(C) 센서 노드 → Spring Boot / JPA 서버 → React 대시보드 구성, 팀장 역할
AICC AI상담사 (기초)2024.03 ~ 2026.03 · 개발음성으로 LLM을 사용하기 위한 기반 파이프라인
- Whisper STT와 MeloTTS를 gRPC 서비스로 분리해 음성 → LLM → 음성 흐름의 기초를 구성
분산 LLM 추론 엔진2024.10 · 개발Llama3 70B를 컴퓨터 4대에 나눠 추론
- Exo + OpenCL 기반 이기종 노드 분할 추론 실험
자동 자막 생성개발음성인식 + 형태소 분석으로 문장 경계를 잡아 자막 생성
- Whisper + VAD로 음성 구간을 잡고 형태소 분석으로 문장 경계를 결정
Pasto · Past + Photo (v1, v2)2024.07 ~ 2024.09 · 개발역사적 장면 속 내 사진을 만들어주는 현장 포토 서비스
- v1: rembg 배경 제거·합성·이메일 전송 / v2: mediapipe, 프린터 연동
Agent harness 만들어 보기2026.02 ~ 진행 중 · 개발에이전트 하네스를 직접 구현해보는 프로젝트
부기 · 질의 답변 자동화 (부산박물관)2021.08 ~ 2021.09 · 개발음성인식으로 어린이에게 부산 정보를 안내하는 전시 콘텐츠
- Chrome Kiosk 환경에서 음성 질의를 정규식으로 해석해 답변 연결
정관박물관 · 조우관 쓰고 만난 세계PM · 개발체험형 전시 게임 콘텐츠
- 게임기 조작 장치(Arduino) 개발, 게임 PM, 스캐너 배경 제거(OpenCV)
LDS02RR 2D 라이다 UART 파싱 · 시각화단독중고 라이다를 Arduino로 릴레이해 PC에서 실시간 스캔 시각화
- Neato XV11 호환 UART 프로토콜 파싱, 펌웨어·PyQt UI 개발
- 반복 실측으로 데드스팟 원인을 하드웨어 결함까지 단계적으로 진단
QR 출석 체크2025 · HW 설치 · Python엑셀 대조 출석 확인이 번거로워 만든 도구
- QR 코드를 이메일로 발송하고 현장 스캔으로 출석 기록
CNC Index 장비2021.05 ~ 2021.07 · 개발CNC 장비에 0.5축을 더하는 장치
- Arduino · TMC 드라이버 제어, 각도 계산, LCD UI
야생동물 퇴치 장치2021.09 · 개발멧돼지·고라니 농작물 피해 방지
- Arduino + MP3 Shield 소리 퇴치
드론 제작2011 ~ 2014 · 개발하위 프로젝트를 하나씩 완성해간 드론
- Arduino 기반 UART · I2C 연동
위치추적 장치2008 ~ 2011 · 개발차량 GPS 모듈과 지도 웹 서비스
- BananaPi + NMEA0183 파싱/체크섬, Spring Boot + NaverMap
온프레미스 GPU 서버 구축 (ROCm)구축 · 운영중고 AMD GPU 3장 기반 추론/실험 서버
- gfx906 대응 vLLM 구동, 전원·PCIe·드라이버 안정화, 로그·이슈 추적으로 통합 문제 해결
- vLLM · DeepSpeed 분산 추론, Hadoop · Kubernetes 실험
Skills
| Backend | Java, Spring Boot, JPA, MyBatis, MySQL, REST API, MCP, Python, AsyncIO, gRPC, 로드 밸런싱 |
|---|---|
| Multimedia | 영상: FFmpeg, YOLOv8 / MMDetection · 이미지: OpenCV, rembg, mediapipe · 사운드: VAD, Whisper, MeloTTS, SIP |
| AI | vLLM, LLM 사전학습·증류, function calling, 동적 배칭, PyTorch |
| Frontend | HTML5, CSS, JavaScript, React, Vue |
| Infra | Docker, Jenkins, GitLab, Nginx, AWS / OCI, Hadoop, Kubernetes, ROCm, pfSense, Xen HA |
| Embedded | C, Arduino, UART / I2C, GPS(NMEA0183), 센서·모터 제어 · GY-86(IMU) 센서 활용, 드론 제작, 3D 프린터 제작 |
| Learning | C++ 저수준 개발, 온디바이스 추론 / NPU, GPU P2P · RDMA, SDV 미들웨어 |
Awards & Certificates
| 2023.07 | SSAFY 베스트멤버상 수상 |
|---|---|
| 2013 | 청소년과학탐구대회 전자키트 부문 대상 (2004~2014 10년간 참가) |
| 2011 | KETI SMART 아카데미 캠프 팀 프로젝트 대상 |
| 어학 | OPIc IM1, TOEIC Speaking |
| 교육 | SSAFY Java 과정, 네이버 부스트코스 AI 기초 |
Education
| 대학 | 중앙대학교 컴퓨터공학 (학사) · GPA 3.82 / 4.5 · 전공 4.12 / 4.5 |
|---|---|
| 고교 | 네트워크 특성화고 정보보안 동아리 3년 (회원 2년, 동아리장 1년) · 과학 실험 동아리 동아리장 3년 YTN 서포터즈 · 지역주민 대상 봉사 활동 |