채용공고 올리기

강우원님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
강우원
직업
머신러닝/딥러닝 엔지니어
간단 소개

머신러닝/딥러닝 개발 역량을 가진 책임감 있는 인재입니다.

기술 스택

기술 스택

ADsP, backend, CUDA, Docker, EDA, Flask, Linux, LLM, LangChain, NLP, Python, PyTorch, Tensorflow, 딥러닝, 머신러닝

경력

회사명

주식회사에이아이더뉴트리진

직급 | 부서 | 근무 유형

Manager | AI사업부

근무 기간

2022.11. ~ 2024.07. (1년 9개월)

담당 업무
  • 음성 인식 모델(STT 모델)을 개발하였고, 성능 향상을 위해 언어 모델(LM)을 추가로 개발하여 결합한 결과, U사 상담 음성 데이터를 기준으로 기존 모델의 정확도를 83.68%에서 94.35%로 10.67% 향상시켰습니다.

  • 텍스트 분석(TA) : 키워드 추출 모델, 텍스트 요약 모델 및 분류 모델을 개발했습니다. 데이터 EDA 및 전처리 과정, 모델 튜닝 및 구조 개선을 통해 BERT 기반 분류 모델의 정확도를 0.8076%까지 향상시켰습니다.

  • GPT LLM을 사용한 챗봇을 개발하고, Flask로 GPT API 백엔드 서버를 개발 및 배포했습니다.

  • Chroma로 GPT 서버 내 로컬 DB를 구축하고, GPT 챗봇 솔루션 운영 서버를 유지 보수하였습니다.

  • STT-TA 결과 데이터를 솔루션에 적용하기 위해 모델 결과 DB로 전송하였고, 모델 산출물 관리를 위해 모델 결과 DB 서버와 데이터 백업 서버를 관리 및 유지 보수했습니다.

  • 개발 모델 및 코드는 GitLab을 이용한 형상 관리를 통해 체계적으로 관리했습니다.

  • STT-TA 솔루션의 batch 작업 cron 스케줄러를 개발 및 운영 서버를 유지 보수했습니다.

  • 음성 인식 모델 엔지니어로서, 음성 인식(STT Engine) 기술 이전 및 인수인계 교육을 진행했습니다.

  • GPT 챗봇 프로젝트 기술자 미팅에 참여하여 제안용 데모를 개발하고 테스트 서버를 배포하였으며, 다양한 프로젝트 미팅에서 필요한 옵션 및 요청 사항을 반영한 STT/TA 데모를 제공 및 시연했습니다.

머신러닝/딥러닝 엔지니어로서 STT Engine 개발, 다양한 NLP 관련 알고리즘 사용 및 텍스트 분석(TA) 모델 개발, LLM을 활용한 시스템 설계와 서버 개발 등의 기술 역량을 쌓았습니다.

기술 역량뿐만 아니라, 다분야 프로젝트에 참여하여 다양한 이해관계자들과 미팅하고 의견 조율 및 문제 해결 능력을 향상시켰습니다. 여러 미팅에서 제약 사항 등을 고려한 솔루션 도입 방안 및 기타 기술/개발 중심의 주제를 논의하였으며, 고객사와의 협업을 통해 추가적인 프로젝트 수주 및 STT 솔루션 계약 성과를 달성했습니다.

회사명

주식회사 넷아이디

직급 | 부서 | 근무 유형

인턴 | 개발팀

근무 기간

2021.07. ~ 2021.08. (2개월)

담당 업무

인턴 기간 동안 자연어처리와 머신 러닝 학습모델의 연구 및 개발(R&D)을 맡았습니다. 임베딩 및 분류에 특화된 자연어처리 라이브러리인 Fasttext를 사용해서, 연관 검색어 추천 모델을 구현했습니다. 또한, Konlpy 모듈별 추출 결과물의 특성들을 분석하여 어떤 모듈의 학습 시간과 성능이 좋은 지에 대한 결과를 도출했습니다. 그 외에도 자모음 분리 전처리 등 모델의 경량화 방법을 연구해서 AI 시스템의 추천 속도를 개선하였습니다.

프로젝트

프로젝트명

SK쉴더스 고객센터 디지털고도화 POC

소속/기관명

SK쉴더스

프로젝트 기간

2024.04. ~ 2024.07.

프로젝트 내용
  • 상담 음성 텍스트(STT) 데이터를 기반으로 상담이력 요약, 고객 피드백(VOC)유형 추천 테스트

    • VDI 및 Ubuntu 개발 서버 Conda 환경 구축

    • 서버 환경 내 호환되는 패키지 및 드라이버 설치, 각 기능 모듈 별 실행에 필요한 가상 환경 생성

    • 데이터로 받은 STT 텍스트에 개인정보 관련 텍스트 마스킹(1차 정규표현식 마스킹, 2차 NER 마스킹) 적용

    • GPT API를 활용하여 상담이력 요약 시스템 개발

    • 요약 유형 별로 필수기재정보 및 핵심내용포함을 반영하여 GPT 프롬프트 생성

    • 데이터 전처리 후 학습용/검증용 데이터로 분리, 학습한 BERT 모델을 활용하여 VOC 유형 추천 모델 개발

    • 학습 시 손실함수에 VOC 유형 별 가중치를 부여하여 전달 및 계산하는 아키텍처로 재구성

  • KMS 학습 자료를 기반으로 GPT챗봇, GPT 지식 관리 시스템(KMS) 테스트

    • GPT LLM API와 Langchain 모듈을 활용하여 입력 받은 질문 쿼리에 대한 답변을 반환하는 챗봇과 KMS 시스템 개발

    • Chroma로 KMS 학습 자료를 임베딩, 저장한 로컬 벡터 데이터베이스 구축

    • 답변을 생성하기 위한 GPT LLM 프롬프트 엔지니어링, 제작한 tool 기반의 Langchain agent 개발

    • GPT 애플리케이션을 테스트 할 수 있는 백엔드 및 프론트엔드 웹 서버 환경 개발 및 배포

    • 테스트 웹 페이지는 SSL-VPN을 통해서만 접근하도록 환경 구성

    • 생성형 답변 정합성 검증 및 보완사항 협의

  • Trouble Shooting

    • 상담요약 및 VOC유형추천 데이터에 매핑되는 STT 데이터 수가 부족하여, 부족한 건수의 텍스트 데이터 추출 및 추가 요청하여 해결

    • 학습되지 않는 VOC 유형이 존재하는 이슈가 발생하여 데이터 분석(EDA) 후, 빈도수 5 이하의 데이터를 제거하여 사용

    • GPT API 사용 시 비용 계산을 위해 상담요약 유형별로 token 당 사용 비용 추출 및 전달

    • 제공된 데이터 외에 내용으로 답변하는 이슈를 처리하기 위해, 실행 제어를 위한 Agent 지시 프롬프트 수정 및 개선

프로젝트명

MetaM STT Engine 기술이전 Project

소속/기관명

MetaM

프로젝트 기간

2023.10. ~ 2024.04.

프로젝트 내용
  • STT Engine의 Conformer-CTC Model 구조 및 Model에 대한 이해를 바탕으로 필요 기술 인수인계 진행

    • STT 모델 생성을 위해 NVIDIA의 딥러닝 모델 개발 프레임워크 Nemo toolkit 개발 환경 구성

    • Conformer-CTC 모델 아키텍처 설명

    • 모델 학습에 사용할 데이터 수집 및 데이터 로더 설정

    • 모델 학습의 최적화를 위해 옵티마이저 및 스케줄러 설정, 토크나이저를 사용하여 토큰 데이터 생성

    • STT 모델 성능 지표(WER,CER) 추출 및 검증

    • 학습에 사용할 오디오 데이터의 채널 분리, 인코딩 샘플링 등 전처리 과정 수행

    • 오디오 데이터에서 여러 화자의 음성을 구분하기 위해 구간을 식별하는 Speaker Diarization(SD) 방식의 화자 분리 수행

프로젝트명

Kolon FNC 차세대컨택사업 AICC 프로젝트 및 GPT 챗봇 구축

소속/기관명

Kolon FNC

프로젝트 기간

2023.12. ~ 2024.04.

프로젝트 내용

Kolon FnC 상담시스템에 대한 성능 개선 및 운영 안정화, 상담 시스템 편의성 및 안정성, 장애 조치의 신속성 제공, AICC 기술 적용을 통한 고객 만족도 및 생산성 향상

  • GPT LLM 챗봇

    • Chroma로 컨택센터 자료를 임베딩, 저장한 로컬 벡터 데이터베이스 구축

    • Streamlit 라이브러리를 사용하여 웹 기반의 사용자 인터페이스를 개발

    • GPT API를 활용하여 사용자의 질문 쿼리에 대한 적절한 답변을 생성하는 Flask 백엔드 서버 개발 및 배포

    • Langchain 모듈 활용하여 사용자의 질문을 이해하고 답변을 생성하기 위한 다양한 tool 및 메서드 개발, RAG 방식의 GPT 챗봇 Agent 개발

    • 서버 내 안정적인 운영을 위해 screen 터미널 세션에 배포

  • Trouble Shooting

    • 챗봇이 적절한 답변을 생성하지 못하는 이슈 발생하여, 챗봇 Agent를 runtime을 반복하는 구조로 재구성

    • 컨택센터 자료 중 PDF 파일의 표 데이터를 로드하지 못하는 이슈를 처리하기 위해, pdfplumber 라이브러리를 활용하여 PDF 내 텍스트 및 표 데이터를 따로 추출하고, 이를 Document 객체로 변환하여 임베딩 수행

    • RAG 방식으로 백터 데이터베이스에서 문서를 검색하는 과정에서 검색 정확도 이슈가 있었습니다. 이를 해결하기 위해 데이터베이스 내 탐색 되는 후보의 수, 인덱스 및 search 그래프의 밀도 등을 높여 검색 시간과 메모리 사용량은 늘었지만, 더 많은 후보를 평가함으로써 검색 결과의 정확도를 높일 수 있었습니다.

프로젝트명

MetaM 유니세프 AICC Project

소속/기관명

Unicef

프로젝트 기간

2023.07. ~ 2023.09.

프로젝트 내용

본 프로젝트는 Unicef Customized STT Engine을 개발하고 이를 활용해 고객 통화 내용을 텍스트로 변환, 변환된 텍스트 데이터를 자연어처리(NLP) 모델을 활용해 "통화 상담 내역 요약" 및 상담 이력의 "긍정/부정 분류"를 진행함.

  • 유니세프 통화 상담 내역 요약 모델과 상담 이력의 긍정/부정 분류 모델을 개발

    • 유니세프 STT-TA 시스템은 각 서비스가 docker-compose에서 실행되는 Microservice Architecture를 기반으로 개발

    • 데이터 서버와 운영 서버를 클라이언트-서버 구조로 구축하고, 운영 서버에서 microservice를 실행하여 음성 인식 및 텍스트 분석(STT-TA) 결과를 결과 DB에 전송 및 저장하였으며, 전체적인 과정을 batch 작업 cron 프로세스로 자동화

    • 한국어 형태소 분석기 Konlpy 패키지를 활용하여 트랜스포머 모델 기반의 키워드 추출 모델을 개발했고, 다양한 키워드를 추출하기 위해 Cosine Similarity 기반 키워드, Maximum Sum Similarity 기반 키워드, Maximal Marginal Relevance 기반 키워드, 키워드 사전 기반 키워드를 추출함

    • BERT 모델 기반의 통화 상담 이력 긍정/부정 분류 모델을 개발

    • 모델이 데이터에 과적합되는 것을 방지하기 위해 전체 데이터셋을 학습용, 검증용, 개발용 데이터 7:2:1 비율로 분리하여 사용

    • GPT API를 활용하여 통화 상담 이력 요약 시스템 개발

  • Unicef Customized STT Engine을 개발하고 이를 사용하여 고객 통화 내용을 텍스트 데이터로 변환

    • 상담 음성 오디오 파일의 화자 분리 및 오디오 데이터 전처리

    • 상담 음성 오디오 STT 데이터 라벨링 작업

    • 라벨링 된 오디오 데이터로 STT Engine에 Fine-Tuning 수행

    • 음성 모델에 추가로 한국어에 특화된 언어 모델(Language Model)을 개발 및 적용하여 STT Engine 성능 향상

    • 음성 인식 성능 지표인 WER,CER 추출하여 STT Engine 테스트 후 최종 모델 배포

  • Trouble Shooting

    • 운영 서버에 기존 배포되어 있던 스케줄러와 겹치는 이슈가 있어 매 시각 25분, 55분마다 작동하는 새로운 cron을 생성 및 실행

    • DB 서버 내 특정 기간 결과 데이터의 손실이 발생하여, 데이터 백업 서버에 있는 복구할 특정 기간의 데이터를 추출 후 운영 서버로 sftp, microservice를 호출하였고 데이터베이스 복원 작업 수행

프로젝트명

MetaM 와이즐리 AICC Project

소속/기관명

와이즐리

프로젝트 기간

2023.05. ~ 2023.08.

프로젝트 내용

본 프로젝트는 Wisley Customized STT Engine을 개발하고 고객 통화 내용을 STT Engine을 활용해 텍스트로 변환, 변환된 텍스트 데이터와 채팅 상담 데이터를 자연어처리(NLP) 모델을 활용해 “통화 주제 분류” 및 텍스트 내의 “키워드 추출”을 진행하였고, 온라인 상담 문의 처리 자동화를 위한 GPT 기반 챗봇을 개발

  • 와이즐리 통화 주제 분류 모델과 통화 상담 내용의 키워드 추출 모델을 개발

    • 와이즐리 STT-TA 시스템은 각 서비스가 docker-compose에서 실행되는 Microservice Architecture를 기반으로 개발

    • 데이터 서버와 운영 서버를 클라이언트-서버 구조로 구축하고, 운영 서버에서 microservice를 실행하여 음성 인식 및 텍스트 분석(STT-TA) 결과를 결과 DB에 전송 및 저장하였으며, 전체적인 과정을 배치 작업 cron 프로세스로 자동화하였습니다.

    • 한국어 형태소 분석기 Konlpy 패키지를 활용하여 트랜스포머 모델 기반의 키워드 추출 모델을 개발했고, 다양한 키워드를 추출하기 위해 Cosine Similarity 기반 키워드, Maximum Sum Similarity 기반 키워드, Maximal Marginal Relevance 기반 키워드, 키워드 사전 기반 키워드를 추출함

    • BERT 모델 기반의 통화 주제 분류 모델을 개발

    • 모델이 데이터에 과적합되는 것을 방지하기 위해 전체 데이터셋을 학습용, 검증용, 개발용 데이터 7:2:1 비율로 분리하여 사용

  • Wisely Customized STT Engine을 개발하고 이를 사용하여 고객 통화 내용을 텍스트 데이터로 변환

    • 상담 음성 오디오 파일의 화자 분리 및 오디오 데이터 전처리

    • 상담 음성 오디오 STT 데이터 라벨링 작업

    • 라벨링 된 오디오 데이터로 STT Engine에 Fine-Tuning 수행

    • 음성 모델에 추가로 한국어에 특화된 언어 모델(Language Model)을 개발 및 적용하여 STT Engine 성능 향상

    • 음성 인식 성능 지표인 WER,CER 추출하여 STT Engine 테스트 후 최종 모델 배포

  • GPT 기반 MetaHUB 챗봇 서비스 개발

    • 와이즐리 도메인 데이터 사용 및 Langchain으로 프롬프트 엔지니어링을 통한 대화 흐름 제어

    • 다양한 데이터 형태(pdf/excel/doc 등)를 사용하기 위해 데이터를 수치 표현으로 벡터화하여 저장하는 벡터 데이터베이스 개발 및 구축

    • LLM을 사용한 애플리케이션을 개발하기 위한 라이브러리인 Langchain과 호환되어 효율적인 데이터 관리가 가능한 Chromadb 벡터 데이터베이스를 사용하여 개발

  • Trouble Shooting

    • 운영 서버에 새로 배포할 스케줄러와 겹치는 이슈가 있어 매 시각 11분, 41분마다 작동하는 새로운 cron을 생성 및 실행

    • DB 서버 내 특정 기간 결과 데이터의 손실이 발생하여, 데이터 백업 서버에 있는 복구할 특정 기간의 데이터를 추출 후 운영 서버로 sftp, microservice를 호출하였고 데이터베이스 복원 작업 수행

프로젝트명

음성파일(상담 녹취파일) 내용을 텍스트로 변환해 주는 솔루션(STT) 개발

소속/기관명

주식회사에이아이더뉴트리진

프로젝트 기간

2022.11. ~ 2024.01.

프로젝트 내용

STT(Speech to Text) Engine에 사용되는 AI Model을 ASR(Automatic Speech Recognition)이라고 하며, 다양한 절차를 통해 음성을 텍스트로 변환하는 작업을 진행

  • NVIDIA의 딥러닝 모델 개발 프레임워크인 Nemo toolkit을 사용하여 대화형 AI(STT 모델)를 위한 복잡한 Neural 네트워크 아키텍처를 구성

  • Conformer model을 사용하고 있고, CTC 인코더를 사용하여 지역 정보(주파수 패턴, 음향, 강도 등)와 전역 정보(문장이나 문단 전체 맥락)를 계산하고, 예측을 향상 시키기 위해 한국어 언어 모델(LM)을 결합하여 높은 가능성의 후보 텍스트(단어 순서,발음 등)를 선택하였음

  • 방대한 데이터셋(영어,방언,숫자,복지 분야 콜센터,다양한 기관 상담 데이터 등)을 기반으로 학습시킨 모델로 범용성이 높은 모델을 개발

  • 트랜스듀서 기반 모델과 비교하여, CTC를 통해 output의 정교함을 높이고 효율적인 토큰 선택과 추가 데이터 학습으로 정확도를 높여 개선한 convolution-augmented transformer를 사용

  • 동사 어미에서 발생하는 deletion 문제, 영어 발음, 연음 법칙 등 다양한 발음 규칙, 잘못된 발음 문제를 해결

  • 반복되는 어미 출력 문제 해결

  • 언어, 지역별 특성을 고려하여 word-rate, char rate를 높이거나 낮춰서 처리 및 조정

포트폴리오

URL

link

https://chemical-minibus-1b0.notion.site/PORTFOLIO-ade01f6bd3964de5a29289ce1f316d0c?pvs=4

노션

교육

소속/기관명

동국대학교

종류 | 전공

대학교(학사) | 컴퓨터공학전공

재학 기간 | 재학 상태

2015.03. ~ 2022.08. | 졸업

대외활동

활동명

NLP 분석 기반의 마케팅 분석 프로젝트

소속/기관명

주식회사 닥터송

연도

내용

- 주요 역할 : 프로젝트팀장, 백엔드 개발, 아이디어 기획, 발표자료 제작
- 활동 성과 : 팀장으로서 매주 팀미팅을 주관하며 팀원들과 의견을 주고받았고, 상의하여 각자 파트를 맡아 개발을 진행했습니다. 팀원들 간 진행 사항을 확인하기 위해 워크스페이스 툴인 Notion을 사용해서 자료를 체계적으로 통합하고 관리하며 팀장의 책임을 다하기 위해 노력했습니다. 프로젝트에서 온라인 커뮤니티를 Crawling 하여 데이터를 수집했고, 이를 전처리한 후 Word2vec, FastText와 같은 자연어 처리(NLP) 라이브러리를 활용하여 텍스트를 분석하고 유의미한 정보를 추출했습니다. 이러한 분석 결과를 토대로 감성 분석을 수행하여 단어의 긍부정 극성 값 분석을 구현했습니다.

활동명

빅데이터 학습동아리 활동

소속/기관명

동국대학교

연도

내용

- 주요 역할 : 학습동아리 팀원, 교육자료 제작
- 활동 성과 : 데이터를 전처리하기 위한 파이썬 라이브러리 pandas, 검정 통계와 같은 통계 이론을 공부하고 팀원들 간 의견을 공유하면서 학습했습니다.

자격증

자격증명

TOEIC

점수 | 발급기관

730 | 한국TOEIC위원회

취득연월

2021.02.

자격증명

정보처리기사

점수 | 발급기관

최종합격 | 한국산업인력공단

취득연월

2020.12.

자격증명

데이터분석준전문가(ADsP)

점수 | 발급기관

최종합격 | 한국데이터베이스진흥원

취득연월

2020.12.

외국어

외국어명

영어

점수

비즈니스 회화 가능

자기소개

자기소개

안녕하세요, 머신러닝/딥러닝 엔지니어 강우원입니다.

  • 책임감을 가지고 업무에 임합니다.

학창 시절부터 팀장 역할을 자주 맡아왔으며, 책임감을 중요시하는 제 가치관을 바탕으로 팀장의 책임을 다하기 위해 노력해왔습니다. 업무에 있어서도 이러한 책임감을 바탕으로 사내 프로젝트를 성공적으로 이끌기 위해 최선을 다했습니다.

  • 목표를 위해 성실하게 임하는 자세

고등학교 졸업 후, 재수를 결심하고 매일 밥 먹고 자는 시간을 제외한 모든 시간을 공부에 집중했습니다. 그 결과, 원하는 대학에 입학할 수 있었습니다. 이 기간의 경험은 성실함을 바탕으로 하면 어떤 목표든 이룰 수 있다는 것을 배우게 해줬습니다.

  • 지식을 습득하고 성장하는 것을 좋아합니다.

내게 필요한 역량을 습득하고 부족한 지식을 배우는 것을 좋아합니다. 배울 것이 많은 시니어의 경험을 적극적으로 수용할 뿐만 아니라 각종 강의와 학습 기회를 통해 지속적으로 성장하고 있습니다.

댓글