Loading views...

London Experience Questions

HDGen이라는 3D 어플리케이션 ai 모델과 프로토콜 정의를 통해 ai 모델을 어플리케이션으로 통합하도록 하는 구조 설계
Chaikin's smooth Algorithm 을 다차원공간으로 일반화해서 github에 Typescript 구현으로 npm에 배포
AI에 Web기술 통합을 langchain js와 서빙을 위한 optimization에 gptq runtime을 위해 transformer.js 를 통합하여 onnx wasm 으로 완전히 client에서 작동하는 웹 ai 구현
Electron과 AHK컴파일러를 통합하여 Background app 으로 돌아가는 생산성 어플리케이션 통합하여 windows 공식 패키지 저장소인 winget 에 배포
git tag를 이용한 docker cicd 이미지 자동 생성 버전따라 test 나 real server에 배포. deployment, namespace에 대한 이해를 기반으로 어플리케이션 구조 설계, Kubernetes job으로 배치 작업 관리
 
 
 
 
Kakao Mobility Inc.에서 Web 3D App 프로젝트인 HDGen에서 벡터 생성 자동화를 위한 ai 모델 서버간의 프로토콜 정의했다. 다시말해 AI 모델을 어플리케이션으로 통합하도록 하는 구조 설계했고 Web으로 이루어지는 이들간의 HTTP 통신의 구현에 익숙하다. 회사 내부 npm에 모듈을 배포해서 공유하거나, Chaikin's smooth Algorithm 을 다차원공간으로 일반화해서 github에 Typescript 구현으로 npm에 배포하는 등 웹 생태계에 익숙하다. Kubernetes를 이용한 웹 배포관리 뿐 아니라 VSCode Extension을 배포하거나, Electron으로 만든 데스크탑 앱을 Windows공식 저장소인 winget 에 배포하거나 python 패키지를 pip로 배포해본 경험이 있는 등 개발 생태계를 다양하게 경험하여 프로덕트 생산에 능숙하다. 단순히 사용해본 것 뿐 아니라 회사에서 git tag를 이용한 docker cicd 이미지 자동화 경험이 있기 때문에 deployment, namespace에 대한 이해를 기반으로 어플리케이션 구조 설계, Kubernetes job으로 배치 작업 관리를 최적화했다.
Question Answering AI를 구현하기 위해 Knowledge Base 파일에서 Vector Database로 Embedding 시켰다. Inference time을 최적화하기 위해서 추론이전 Input query와 similarity로 가까운 document만 context로 제공하는 아이디어를 사용했다.
  • AI summarization에서 Abstractive summarization 과 Extractive summarization을 결합하여 Semantic triple 레이어에서 중요도를 판변하는 모델을 개발했다. ROUGE metric을 이용해서 sentence 중요도와 triple중요도 하이퍼파라미터 튜닝을 통해 모델을 최적화했다. AI summarization을 여러 단계로 분리하고 중간산출물이 이용 가능한 형태의 모델을 설계했다.
개인화되고 로컬에서 실행되는 LLM 서비스를 만들기 위해 Langchain과 벡터 데이터베이스를 활용하여 AI Chatbot을 CLI와 Web 프로덕트로 구현했다
다양한 자동화 로직이 추후에 들어오는 것을 대비하여 여러 데이터 포맷의 input output을 지원하는 구조로 설계했다. In other words, designed a structure to integrate AI models into Web applications over HTTP communication. 또한 빠른 벡터도화를 위해 2D intensity 기반 비전 알고리즘을 3D 포인트클라우드 차선 추출 알고리즘으로 구현했다. 요약하자면 빠른 배움 능력으로 Web 기술과 AI에서 개발부터 배포까지 진행한 경험뿐 아니라 다방면에서 개발 경험이 있다.
항상 프로덕트 관점으로 개발할 줄 아는 개발자이고
  • 모르는 분야에서도 빠르게 성장하고 직장에서 인정받는 수준으로 기여할 수 있었다
  • 팀원의 실수로 테스트가 아니라 배포 namespace가 날아갔을 때 업무시간중이 아님에도 설정해둔 notification과 복구 가능한 시스템 설계 덕분에 책임감을 가지고 빠르게 대처했다.
 
 
 

Describe your outstanding previous achievements

To start off, I am a quick learner and developer who focuses on tangible production and user experience.
  • To implement the Question Answering AI, I embedded the Knowledge Base files into the Vector Database. For the optimization of inference time, I came up with an idea of providing context documents that are similar to the input query using LangChain. As a result, I completed the personalized and locally executed LLM Chatbot product supporting CLI and Web UI.
  • In AI summarization, I developed a model that combines abstractive summarization and extractive summarization by extracting semantic triples and reassembling them into a summary. I split AI summarization into multiple steps with usable intermediate outputs. I optimized the model by tuning hyperparameters which represent sentence and triple importance using the ROUGE metric.
  • In my previous job, Kakao Mobility, I designed a protocol between 3D Web App and AI model servers. This supports input and output of multiple data formats in case various automatic 3D vector generation logic comes in later. I also converted a 2D intensity-based vision algorithm into a 3D point cloud lane extraction algorithm for fast vectorization. I adapted quickly to an unfamiliar GIS field and was recognized for my problem-solving ability.
  • I managed automated docker build CI/CD with GitOps in addition to web deployments using Kubernetes. I refactored the application structure to provide both test and production server based on Kubernetes Deployment and Namespace manipulation. Also I managed batches of data processing jobs by Kubernetes Jobs. When a team member accidentally blew up a deployment namespace, I was able to recover the service promptly with my early insertions of off-hours notifications and recover-friendly designed system.
 
 
 
 
 
 
 
 
 

 

Recommendations