학교 지원 자기 소개
- 자기소개
[다양한 경험을 가진 연구 개발자]
저는 다양한 경험을 통해 연구 개발자로써의 역량을 키워왔습니다. KAIST 몰입캠프에서는 프론트/백엔드 개발을 익히며 여러 프로젝트를 수행하였고, Git을 통한 협업 또한 배워 보았습니다. 이러한 경험들은 개발 능력, 그리고 팀원들과 소통하고 협력하는 능력을 길러주었습니다.
또한, 컴퓨터 비전 연구실 인턴십에서는 Video Instance Segmentation 성능 향상을 목표로 RNN 모듈을 활용한 모델 개선 연구를 진행했습니다. 이 과정에서 직접 논문들을 찾아보고, 새로운 아이디어를 제안하였으며, 이를 바탕으로 실험을 진행하여, 기존 backbone 모델보다 일부 메트릭에서 향상된 결과를 얻었습니다. 이러한 경험은 연구자로써 문제를 정의하고 해결하는 능력을 키우는 데 도움을 주었습니다.
이외에도 PEFT 연구, HCI 연구 등 다양한 프로젝트를 진행하며 여러 경험들을 쌓았습니다. 저의 경험은 기업에 분명 도움이 될 거라 확신합니다.
- 본 프로그램으로 배우고자하는 부분
[배운 것들을 바탕으로 한 적용]
지금까지 학부 강의, 연구실 인턴십, 그리고 개인 프로젝트를 통해 많은 지식을 쌓아왔습니다. 하지만 이를 실무 환경에서 어떻게 적용할지에 대한 경험은 여전히 부족하다고 느끼고 있습니다. 이번 프로그램을 통해, 이론적 지식을 실제 문제 해결에 적용하는 능력을 키우고, 연구 개발자로서의 역량을 한 단계 더 성장시키고 싶습니다.
[대규모 데이터를 사용한 모델 학습]
그동안 GPU 자원의 제약으로 인해 최대 2,883개의 고해상도 비디오 수준의 제한된 데이터셋으로만 모델 학습을 진행할 수 있었습니다. 이번 프로그램에서는 오픈소스 LMM 학습, 대규모 데이터셋을 활용한 학습 등 학교에서 경험하기 힘든 기술들을 경험하고자 합니다. 이 외에도 모델이 실제 환경에서 어떻게 사용되고, 실질적인 문제를 해결하는 데에는 어떤 기술이 필요한지 알아가고 싶습니다.
- 지원동기 및 포부
[지원동기]
개발자, 연구자는 끊임없이 자신의 부족한 점을 찾아 발전해 나아가야 한다고 생각합니다. 이번 방학에는 실무를 경험하고 있는 개발자, 연구자분들 가까이서, 더 많은 것을 배우고 싶다는 생각으로 지원하게 되었습니다. 또한 학교에서 경험해 보지 못했고, 경험할 수 없는 다양한 기술들을 배워보고, 활용해 보고 싶어 지원하게 되었습니다.
[기여하는 사람]
지금까지의 배움을 바탕으로, 저는 단순히 배우는 사람이 아닌, 한 명의 연구 개발자로서 회사에 기여할 것입니다. 특히, 이번 인턴십에서는 제가 작성한 코드가 실제 모델의 성능을 개선하고, 기업이 활용하는 시스템의 일부로 자리 잡는 것을 최종 목표로 삼고 있습니다. 이를 통해 이론적 지식을 활용하는 경험을 쌓고, 더 나아가 기업의 가치를 함께 높여 나가고자 합니다.
사이트 자기 소개
- 자기소개
[성장과정]
- 중요한 건 꺾이지 않는 마음
저는 어릴 때부터 꾸준함의 가치를 믿으며 성장해 왔습니다. 비록 남들보다 빠르진 않더라도, 제 속도로 한 걸음씩 나아가는 것이 중요하다고 생각했습니다. 하지 만 대학교에 입학하면서 처음으로 이 마음가짐이 흔들렸습니다. 처음 접한 대학교 수업은 저에게 정말 낯설었고, 똑똑한 친구들 사이에서 저는 한없이 작아 보였 습니다. 그러던 중, 월드컵이 개막했습니다. 대표팀은 두 번의 패배에도 불구하고 끝까지 포기하지 않았고, 결국 16강에 진출했습니다. 이는 그들의 꾸준한 노력과 '꺾이지 않는 마음'이 있었기에 가능했습니다. 당시 유행어에 불과했던 "중요한 건 꺾이지 않는 마음" 이라는 문장은 제게 큰 울림을 주었고, 이후 힘든 순간마다 저 를 지탱해 주는 원동력이 되었습니다. 그 결과, 저는 꾸준함을 잃지 않을 수 있었고, 이를 바탕으로 성장할 수 있었습니다. 꺾이지 않는 꾸준함을 바탕으로 3학년 때 는 전 과목 A를 받을 수 있었고, 객체지향 프로그래밍 과목의 Teaching Assistant이자 프로그래밍 스터디 동아리의 회장으로 활동하며 후배들을 도울 수도 있었 습니다. 앞으로도 저는 '꺾이지 않는 마음'으로 도전하며 성장해 나갈 것입니다.
- 새로운 것에 대해 두려워 말라
3학년 여름방학에 저는 KAIST 몰입 캠프에 참가했습니다. 이 캠프는 4주 동안 프론트엔드와 백엔드 개발을 하며 총 4개의 프로젝트를 완성하는 프로그램입니다. 저는 매일 13시간씩 팀원들과 협업하며 프로젝트를 진행했고, 4개의 프로젝트를 성공적으로 완성할 수 있었습니다. 이 경험을 통해 얻은 가장 가치있었던 배움은 '새로운 것에 대한 두려움을 극복하는 법'입니다. 저는 새로운 경험을 시도하는 것을 어려워하는 편이었습니다. 한 번도 해본 적 없는 것들에 대한 자신감이 부족했 기 때문입니다. 그러나 캠프에서 접한 기술들은 모두 처음 배우는 것들이었습니다. '프론트엔드 개발', '백엔드 프레임워크 개발', 'Git 협업' 등 모든 것이 낯설었고, 처음에는 실수할까 봐 걱정이 많았습니다. 그래서 팀원들에게 피해를 주지 않기 위해 더 많이 공부했고, 주어진 시간 내에 충분히 따라가지 못하면 밤 늦게까지 남아 부족한 부분을 메꾸려 노력했습니다. 이러한 끈기와 노력 덕분에 4개의 프로젝트를 성공적으로 마칠 수 있었고, 더불어 이러한 경험은 제게 "처음 해보는 것이라도 노력하면 못할 건 없으니 두려워 말자"는 용기도 심어주었습니다. 저는 이 프로그램을 통해 'LLM API 활용', '백엔드 프레임워크 개발' 등 학교 수업만으로는 접하기 어려웠을 다양한 새로운 경험들을 해보았습니다. 이런 경험들은 단순히 프로그래밍 실력을 키워줬을 뿐 아니라, 저를 내적으로도 많이 성장시켜 주었습니다. 이제는 모르는 것이 나와도 해결할 수 있다는 자신감이 생겼습니다. 이러한 태도는 새로운 기술들이 쏟아지고 있는 인공지능 시대에서 AI 소프트웨어 연구 개발을 수행하는 데 있어 중요한 자산이 될 것이라 생각합니다.
- 본 프로그램으로 배우고자하는 부분
[배운 것들을 바탕으로 한 적용]
지금까지 학부 강의, 연구실 인턴십, 그리고 개인 프로젝트를 통해 많은 지식을 쌓아왔습니다. 대표적으로는 다음과 같은 활동들을 진행하였습니다.
- 학부생 연구 프로그램
UGRP에서 PEFT 기법을 활용하여 감정 그림 Classification task의 정확도를 향상시키는 연구를 1년간 진행하였습니다. 제한된 GPU 환경에서도 효율적으로 모델을 튜닝할 수 있도록 PEFT 기법을 적용하였고, 기존 방식보다 성능을 개선하여 장려상을 수상하였습니다.
- 컴퓨터 비전 연구실 학부생 연구원
컴퓨터 비전 연구실에서 학부생 연구원으로써 Video Instance Segmentation, Object Tracking 연구를 진행하였습니다. Recurrent module을 사용하여 context(맥락)를 이용해 VIS와 객체 추적을 효과적으로 하는 방식을 제안했습니다. 실험을 위해 backbone으로 DVIS라는 모델을 선택하였고, Pytorch Al framework를 이용해서 DVIS에 recurrent module을 붙여 실험을 진행해 보았습니다. 최종적으로 일부 세그멘테이션 메트릭에서 DVIS 보다 향상된 결과를 얻었습니다.
많은 것들을 배워왔지만 이것들을 실무 환경에서 어떻게 적용할지에 대한 경험은 여전히 부족하다고 느끼고 있습니다. 이번 프로그램을 통해, 이론적 지식을 실제 문제 해결에 적용하는 능력을 키우고, 연구 개발자로서의 역량을 한 단계 더 성장시키고 싶습니다.
[대규모 데이터를 사용한 모델 학습]
그동안 GPU 자원의 제약으로 인해 최대 2,883개의 고해상도 비디오 수준의 제한된 데이터셋으로만 모델 학습을 진행할 수 있었습니다. 이번 프로그램에서는 오픈소스 LMM학습, 대규모 데이터셋을 활용한 학습 등 학교에서 경험하기 힘든 기술들을 경험하고자 합니다. 이 외에도 모델이 실제 환경에서 어떻게 사용되고, 실질적인 문제를 해결하는 데에는 어떤 기술이 필요한지 알아가고 싶습니다.
- 지원동기 및 포부
[지원동기]
개발자, 연구자는 끊임없이 자신의 부족한 점을 찾아 발전해 나아가야 한다고 생각합니다. 이번 방학에는 실무를 경험하고 있는 개발자, 연구자분들 가까이서, 더 많은 것을 배우고 싶다는 생각으로 지원하게 되었습니다. 또한 학교에서 경험해 보지 못했고, 경험할 수 없는 다양한 기술들을 배워보고, 활용해 보고 싶어 지원하게 되었습니다.
[기여하는 사람]
지금까지의 배움을 바탕으로, 저는 단순히 배우는 사람이 아닌, 한 명의 연구 개발자로서 회사에 기여할 것입니다. 특히, 이번 인턴십에서는 제가 작성한 코드가 실제 모델의 성능을 개선하고, 기업이 활용하는 시스템의 일부로 자리 잡는 것을 최종 목표로 삼고 있습니다. 이를 통해 이론적 지식을 활용하는 경험을 쌓고, 더 나아가 기업의 가치를 함께 높여 나가고자 합니다.
- 주식회사 엑스와이지
- 주식회사 유니바
- 포피엠엑스 주식회사
중간보고서
부여 받은 과제(임무)
- LLM 논문 리뷰
첫 번째 과제로 BERT, GPT, LLaMA 등 LLM(Large-Language Model)에 관련된 논문 리뷰 및 정리를 부여 받았습니다.
- RAG 성능 향상 연구 및 벤치마크 테스트
RAG는 Retrieval-Augmented Generation에 약자로 외부 지식 베이스(PDF, web …)를 활용하여 LLM의 성능을 올리는 기술입니다. 저는 두 번째 과제로 RAG 성능 향상 연구(특히 PDF 지식 베이스에서의)와 이를 바탕으로 한 벤치마크 제작 및 테스트를 진행하였습니다.
- OCR 모델 성능 테스트
세 번째 과제로는 OCR 모델 성능 테스트를 진행하였습니다. OCR 모델을 찾아 직접 프롬프트를 바꿔가며 원하는 형태의 출력(e.g. markdown, html)을 잘하는 모델을 찾는 과제를 진행하였습니다.
과제 해결 방안 (아이디어)
- RAG 성능 향상 연구 및 벤치마크 테스트
RAG에서의 핵심은 데이터 베이스에서 올바른 문서 블럭(chunk)을 검색해 LLM에게 전달하는 것입니다. 저는 다음 4가지를 적용해서 RAG의 성능을 향상시키고자 하였습니다.
- Hybrid Search: 기존에는 vector 유사도 검색만을 이용해서 문서 블록을 찾는 vector retriever 방식을 사용하고 있었습니다. text 유사도 검색(BM25)를 함께 활용하는 hybrid retriever 방식의 성능이 좋다는 글을 보았고, 이를 적용해 보았습니다.
- Sementic Chunking: PDF를 블럭 단위로 나누는 chunking 방식도 RAG 성능에 영향을 미칠 수 있기 때문에, 총 네 가지 방법의 chunking(naive Chunking, recursive chunking, markdown-based chunking, semantic chunking) 방식을 테스트 해보았습니다.
- Contexual Chunk: Anthropic(Claude ai)의 리포트에서는 chunk에 맥락을 더해주면 chunk 검색 능력이 향상 된다고 언급하고 있습니다. 저도 이를 바탕으로 LLM을 통해 각 chunk에 맥락을 더하는 contextual chunk를 적용해 보았습니다.
- rerank: vector, 또는 hybrid retriever 이후 cross encoder 등의 reranker로 재검색을 한다면 성능이 더 올라갑니다. 따라서 이를 적용해 보았습니다.
다음 두 가지 벤치마크를 구성하여 테스트를 진행하였습니다.
- generation benchmark(End-to-End benchmark): chunk 검색과 LLM의 답변을 End-to-End 방식으로 평가하는 벤치마크(open ai의 simpleqa 벤치마크를 벤치마킹하여 코드를 구성하였습니다)
- retriever benchmark: chunk 검색 능력을 평가하는 벤치마크
해당 벤치마크에 사용된 데이터는 다음과 같습니다.
다양한 주제와 형식(논문, 뉴스 등)으로 구성된 10-100페이지 사이의 한글/영어 PDF 20개
- OCR 모델 성능 테스트
- hugging face의 상위 모델 6개를 선택하여 사수님이 주신 base prompt를 적용해 성능 테스트를 진행해 보았습니다.
- prompt를 고도화하여 성능 테스트를 진행해 보았습니다.
- OCR 모델 구조를 알아보고, 이를 바탕으로 이미지 전처리(padding 등)를 하여 성능 테스트를 진행해 보았습니다.
전반기 진행 경과 및 후반기 계획
- 전반기 진행 경과: RAG 성능 향상 연구 및 벤치마크 테스트
현재 벤치마크 테스트를 진행했고, reranker와 contextual chunk가 RAG 성능 향상에 유의미하다는 결론을 얻었습니다. 이를 바탕으로 실제 프로덕션 적용을 시도해보았고, 프로덕션에서도 좋은 결과를 보이는지는 아직 확인하지 못하였습니다.
- 전반기 진행 경과: OCR 모델 성능 테스트
GLM-4.1V-9B-Thinking 모델의 성능이 좋게 나옴을 확인하였습니다.
- 후반기 계획
테스트를 바탕으로 OCR과 RAG를 하나의 파이프라인으로 구성할 계획입니다. (OCR을 통한 PDF 인식 → RAG → LLM 출력)