이루오

데이터 엔지니어/사이언티스트


   LinkedIn
   Tech Blog

    <li> <div><i class="fas fa-code"></i>REST API 개발</div> </li> <li> <div><i class="fas fa-database"></i>RDBMS 및 ElasticSearch</div> </li> <li> <div><i class="fas fa-stream"></i>데이터 파이프라인 자동화</div> </li> <li> <div><i class="fas fa-robot"></i>LLMOps, 모델 서빙</div> </li> <li> <div><i class="fas fa-cubes"></i>Kubernetes 개발</div> </li>

자기소개

안녕하세요, <b>데이터 아키텍처 설계와 데이터 파이프라인 자동화, 분산 처리에 전문성</b>을 지닌 이루오입니다. FastAPI, Flask를 활용한 고성능 비동기 RESTful API 개발에 능숙하며, PostgreSQL, MySQL, MongoDB 등 다양한 DB 사용과 ElasticSearch를 통한 검색 엔진 최적화에 경험이 있습니다. 또한, Langchain을 이용한 Rag 개발부터 LangServe나 Ollama를 이용한 모델 서빙, 인공지능 분야의 프롬프트 엔지니어링, 훈련데이터 셋 증강 및 전처리 파이프라인과 같은 LLMOps 업무를 주로 담당하고 있습니다. Airflow를 사용한 데이터 파이프라인 자동화, Kubernetes와 컨테이너 기반 개발에 익숙하며, Git, Helm을 통한 버전 관리와 TeamCity를 활용한 CICD 프로세스 구축에 능합니다. 최근에는 네트워크와 인프라에 대한 깊은 관심을 가지고, 분산처리와 비동기 최적화 등 데이터 엔지니어링 및 AI 분야에서의 전문성을 한층 강화하고 있습니다.

기술스택

*해당 스킬을 탭해서 상세 설명을 확인

OS & Language
Database
Data Engineering
MLOps
Sub Skills

경력

비개발직군
개발직군

프로젝트

모두보기
AI 개발
API 개발
Data 분석

(주)포지큐브 | AI 개발1팀

생성형 AI 챗봇을 기업 시스템과 통합 서비스를 제공하는 인공지능 기반 스타트업

인공지능 개발자

2024-08-05 ~

[AI 소프트웨어 엔지니어링] 동적 라우트 서버, 파이썬 샌드박스 서버

Python Sandbox 서버 개발

2024-12-15 ~ 2025-04-01

"py-runner"는 파이썬 스크립트를 동적으로 라우팅하고 실행할 수 있는 샌드박스 서버 시스템으로, 에이전트 API 서버와 샌드박스 서버(개발/상용)로 구성되어 있습니다.

My R&R

##### 아키텍처 설계 - **동적 API 라우팅 시스템** 설계 및 구현 (FastAPI 기반) - **마이크로서비스 아키텍처** 구성 (에이전트 서버, 샌드박스 개발/상용 서버 분리) - **컨테이너화 및 배포 파이프라인** 구축 (Docker, GitHub Actions CI/CD) ##### 백엔드 개발 - **동적 코드 생성 및 실행** 엔진 개발 (Python 동적 모듈 로딩) - **LLM API 프록시 시스템** 구현 (외부 LLM 서비스 통합) - **객체 스토리지 통합** (MinIO 기반 파일 관리 시스템) - **메모리 및 성능 최적화** (병렬 처리, 캐싱 전략) ##### 데이터 관리 및 인프라 - **Redis 기반 API 스펙 저장소** 설계 및 구현 - **실시간 파일 시스템 모니터링** 구축 (Watchdog 활용) - **분산 추적 및 로깅 시스템** 통합 (OpenTelemetry) - **안전한 샌드박스 환경** 구축 (코드 격리 및 보안) ##### 품질 및 안정성 - **종합적인 예외 처리 시스템** 설계 및 구현 - **자동화된 테스트 프레임워크** 구축 (Pytest, BDD) - **코드 품질 관리** 및 표준화 (PEP 준수, 타입 힌팅) - **실시간 API 헬스 모니터링** 시스템 통합

Project Details

##### 프로젝트 구조 - **이름:** py-runner - **목적:** Robi-G 솔루션을 위한 Python 스크립트 샌드박스 서버 - **구성요소:** - Agent API 서버 (9999 포트) - Sandbox 개발 서버 (5555 포트) - Sandbox 상용 서버 (5678 포트) - Code-Server (8443 포트) ##### 주요 기능 - **동적 API 관리:** Agent ID별 API 등록/수정/삭제 기능 - **Python 코드 실행:** 안전한 샌드박스 환경에서 API 코드 실행 - **실시간 코드 적용:** 파일 변경 감지 및 서비스 중단 없는 API 업데이트 - **LLM API 통합:** 외부 LLM 서비스 통합 및 래핑 기능 - **파일 관리:** MinIO 기반 객체 스토리지를 활용한 파일 업로드/다운로드 - **Streaming 응답:** SSE(Server-Sent Events) 지원을 통한 스트리밍 응답 ##### 기술 스택 - **주요 언어:** Python 3.11.11 - **웹 프레임워크:** FastAPI, Uvicorn - **데이터 저장소:** Redis - **모니터링:** Watchdog, OpenTelemetry - **객체 스토리지:** MinIO - **컨테이너화:** Docker, docker-compose - **CI/CD:** GitHub Actions - **테스트:** Pytest, pytest-bdd ##### 아키텍처 특징 - **마이크로서비스 패턴:** 독립적인 서버 모듈로 분리 - **동적 라우팅:** FastAPI의 서브애플리케이션(mount) 활용 - **상태 관리:** Redis와 파일 시스템의 혼합 사용 - **비동기 처리:** asyncio 기반 비동기 API 호출 - **컨테이너 격리:** Docker를 통한 안전한 실행 환경 ##### 개발 환경 - **로컬 개발:** Poetry 의존성 관리 - **코드 서버:** code-server를 통한 웹 기반 IDE - **디버깅:** ptvsd 원격 디버깅 지원 (포트 5678) - **로깅:** 계층화된 JSON 로깅 시스템 ##### 배포 파이프라인 - **개발(DEV):** develop 브랜치 푸시 시 자동 빌드 및 배포 - **스테이징(STG):** master 브랜치 푸시 시 배포 - **프로덕션(PROD):** 태그 생성 시 배포 - **이미지 저장소:** Docker Hub (posicube 계정) ##### 확장성 및 유지보수 - **모듈화 설계:** 독립적인 모듈 구조로 기능 확장 용이 - **타입 힌팅:** 전체 코드베이스에 Python 타입 힌팅 적용 - **문서화:** 함수 및 클래스 수준 문서화 - **테스트 자동화:** CI 파이프라인에 통합된 자동 테스트

(주)일루넥스 | AI

AI 기반의 산업·기술 분석 서비스와 최적의 기업 추천 서비스를 제작 및 운영하는 스타트업

데이터 엔지니어

2023-11-05 ~ 2024-07-18

[데이터 엔지니어링] 데이터 수집 및 ETL, 모델 서빙, REST API

EM-GPT 챗봇 개발

2023-11-07 ~ 2024-05-02

경제 및 ESG 뉴스와 특허 데이터를 LLM으로 탐색, 분류, 분석하여 사용자에게 제공하는 챗봇 서비스

Linux

Python

Pandas

웹 데이터 수집

FastAPI

Langchain

ElasticSearch

SQL

OpenAi

My R&R

- 뉴스 및 기업 정보 데이터 수집 담당 - 데이터 전처리 및 ElasticSearch 벡터 색인 최적화 담당 - ElasticSearch 쿼리 생성기 개발 담당 - 데이터 파이프라인에 필요한 전체 API 개발 및 배포 관리 담당 - API 인증서버 개발 및 배포 담당 - LLM 모델 통합 서빙 및 인퍼런스 성능 최적화 참여 - API 문서화 및 기술 명세 작성 담당

Project Details

- 데이터 수집시 captcha 이미지로 인해 수집 자동화에 어려움이 있었지만, TrOCR모델을 사내서버에 서빙하고 해당 API를 통해 Captcha이미지를 해독하여 수집 자동화하는데 성공함 - 기존 사내에 서빙된 LLM 모델이 동기 호출만 지원하도록 개발되어, API 호출 시 선요청이 발생하면 이후 요청에 대한 지연이 발생함. 이를 해결하기 위해, 기존 API를 래핑하는 비동기 API를 개발하여 후속 요청에 대한 지연 문제를 해결하고, 멀티쓰레드로 여러개의 모델에 요청함으로써, 응답속도를 대폭 개선함. 예를 들어, 가장 오래걸린 특허 초안생성의 경우, 처리 시간이 평균 3분에서 1분 15초로 단축함.

(주)그레이비랩 | AI Lab.

인공지능 자연어처리분야와 빅데이터 기술 기반 HR 딥테크 기업

ML&AI 엔지니어

2022-05-01 ~ 2023-06-18

[데이터 엔지니어링] 데이터 수집 및 ETL, 모델 서빙, REST API

ML 데이터 파이프라인 개발

2022-05-23 ~ 2022-12-16

기업 정보 데이터를 활용하여 유사 기업을 식별할 수 있는 정량적 유사도 점수 계산 모델 개발 및 서비스 제공

Linux

Python

Pandas

Teamcity

웹 데이터 수집

FastAPI

ScikitLearn

TensorFlow

Kubernetes

AirFlow

ElasticSearch

SQL

RDBMS

My R&R

- 기업 정보, 평가 및 평점 정보를 수집하는 REST API 개발 - Airflow를 사용하여 데이터 수집, 전처리, RDB 적재 및 ElasticSearch 색인 작업을 자동화하는 파이프라인 스케줄링 - 형태소 분석기를 활용해 불용어 제거 및 사용자 사전을 작성하고, 자연어 처리된 데이터에서 중요 특징 추출 - 텍스트 벡터화 기법을 통해 기업 간 유사도 매트릭스를 생성하고, 이를 바탕으로 유사 기업을 클러스터링하는 모델 개발 - Zero-shot 분류 기법으로 기업의 문화적 적합도 점수를 추론하고, FastAPI를 사용한 모델 서빙

Project Details

- 기존 수집기들이 일관되지 않은 개발로 인해 각각 수동으로 수집 및 전처리 작업을 진행해왔으나, 수집기 및 전처리 기능을 REST API로 재개발하고 Airflow를 도입하여 정해진 시간에 자동으로 수행되도록 파이프라인을 구축함. 이를 통해 유지보수와 관리가 효율적으로 개선됨. - 150만 건의 대용량 텍스트 데이터를 일괄적으로 전처리하는 과정에서 많은 시간이 소요되었으나, 이를 해결하기 위해 API를 비동기 방식으로 개발하고, 배치 처리와 멀티스레딩을 도입하여 전처리 작업을 분산함. 결과적으로 작업 수행 시간이 기존 48시간에서 8시간으로 대폭 단축됨.

LLM, 파인튜닝, 데이터 전처리, 모델서빙

자체 LLM 개발 - TOEIC 문제 생성 최적화

2024-05-04 ~ 2024-06-02

도메인 최적화 파인튜닝을 통해 TOEIC 문제를 생성하는 AI 모델 개발. 모델은 https://toeic4all.com 서비스에서 사용.

Linux

Python

Hugging Face

Unsloth

Weights & Biases

PyTorch

Transformers

My R&R

- 데이터 준비: 데이터셋 로드 및 전처리 - 모델 준비: 모델 로드 및 PEFT 모델 설정 - 모델 학습: 학습 설정 및 초기화, Weights & Biases 통합 - 모델 저장 및 푸시: 체크포인트 저장 및 불러오기, Hugging Face Hub에 푸시 - 모델 테스트: 모델 테스트 코드 및 결과 확인

Project Details

- 모델 기반: Llama-3-Open-Ko-8B 모델 기반 개발. PEFT를 활용한 최적화. - 비용 절감: 유료 GPT-4 API 사용 대비 100% 비용 절감. - 품질 개선: 파인튜닝 전 대비 데이터 생성 품질 30% 향상. 데이터 일관성 및 정확도 개선. - 데이터 준비: 데이터셋 일관성 확보 위해 전처리 스크립트 작성. - 모델 준비: 메모리 제한 문제 해결, 모델 최적화 기술 습득. - 모델 학습: 학습률 스케줄링, 배치 크기 조정 통해 최적 학습 조건 확보. Weights & Biases로 실시간 모니터링. - 모델 저장 및 푸시: 정기적 체크포인트 저장 및 검증. Hugging Face Hub 푸시 시 액세스 토큰 관리 학습. - 모델 테스트: 다양한 시나리오 고려한 테스트 케이스 설계, 오류 조기 발견 및 수정.

데이터 생성, 백엔드, 프론트

toeic4all.com AI 서비스 개발

2023-02-14 ~ 2024-04-05

toeic4all.com은 LLM을 활용하여 토익 문제를 생성하고, 이를 웹 API를 통해 사용자에게 제공하는 종단간 토익 관리 서비스입니다. 서비스는 사용자의 결과를 분석하여 점수 관리 기능을 제공합니다.

Linux

Python

JavaScript

CSS

HTML

Teamcity

Langchain

Kubernetes

SQL

Flask

OpenAi

My R&R

- EEVE-Ko-Q8 모델을 사용하여 LLM 서빙 - LangChain을 활용해 TOEIC 문제를 생성, 분류 및 적재하는 파이프라인 개발 - Flask를 사용하여 백엔드 API 기능 개발 - HTML, CSS, JS를 사용하여 프론트엔드 개발 및 UI/UX 디자인 수행 - Kubernetes를 통해 애플리케이션 배포

Project Details

- 개발 초기에는 OpenAI의 Chat-GPT4를 사용하여 JSON 포맷으로 데이터를 생성했음. 하지만 이 방식은 고비용과 15%의 데이터 포맷 오류율을 동반함. - 이 문제를 해결하기 위해 Pydantic 모델로 데이터 포맷을 명확하게 지정하고 LangChain을 통해 안정적인 데이터 파이프라인을 구축함. 결과적으로 데이터 포맷 오류율은 1% 미만으로 감소하고 데이터 생성 비용도 절감함. - 추가로, Ollma를 통해 EEVE-Ko 모델을 자체 서빙했으나, 생성된 데이터의 품질이 기존 Chat-GPT4에 비해 저하됨을 발견함. - 이를 해결하기 위해 Chat-GPT4로 생성된 고품질 데이터를 RAG 방식으로 재활용하여 데이터 품질을 향상시키고 전반적인 비용을 절감함.

RAG, 데이터 수집, 모델 서빙, REST API

GPT-Recruit.com AI 챗봇 개발

2023-02-02 ~ 2024-05-31

gpt-recruit.com은 사용자가 등록된 채용공고에 대한 정보를 AI 챗봇을 통해 조회하고, 자기소개서를 생성할 수 있는 서비스입니다.

Linux

Python

Streamlit

Pandas

Teamcity

웹 데이터 수집

FastAPI

Langchain

Kubernetes

AirFlow

LangServe

모델 서빙

ElasticSearch

MongoDB

My R&R

- 채용 공고 데이터 수집기 개발 - 텍스트 데이터의 벡터 임베딩과 ElasticSearch 색인 파이프라인 자동화 - Ollama를 이용한 BG-EM3 임베딩 모델과 EEVE-Ko-Q8 LLM 모델 서빙 - LangChain과 ElasticSearch를 사용하여 RAG 벡터 검색 파이프라인 개발, LangServe를 활용한 에이전트 개발 - Streamlit을 사용한 챗봇 프론트엔드 개발

Project Details

- 개발 초기에는 RAG 개념이 확립되기 전이었으므로, 데이터 필터링 기술과 프롬프트 엔지니어링을 활용하여 RAG를 직접 구현했습니다. 그러나 LangChain을 도입하면서 자연어로 직접 검색할 수 있는 RAG 구현이 가능해졌습니다. 이에 따라, ElasticSearch를 통해 수집된 데이터에 대한 벡터 검색을 도입하여 보다 정교한 자연어 검색이 가능하게 되었습니다. - 처음에는 비용 문제로 인해 Chat-GPT4를 사용했으나, Ollama와 LangServe를 활용해 EEVE, Llama2, Llama3 등 다양한 모델을 테스트한 끝에 비용 효율적인 EEVE 모델을 최종적으로 서빙하여 사용하게 되었습니다.

교육