목록[AI]/[네이버 BoostCamp 회고] (13)
개발자로 후회없는 삶 살기
서론 OCR 프로젝트를 마무리하며, 프로젝트에서 가장 고민이었던 부분을 기록합니다. 본론 - 버전 이슈로 인한 학습 속도 차이 OCR 모델을 학습하기 위한 데이터 로딩 과정에서 geometry map과 score map을 구하는 시간이 굉장히 오래 걸려서 총 100장의 데이터인데 1에폭당 10분이 걸렸습니다. 실제로 학습되는 시간을 10초 내외였는데 로딩 과정에서만 시간이 오래 걸리는 문제가 있었습니다. -> 버전 차이 🚨 numpy나 opencv는 이미지 처리 및 수치 계산에 사용되는 라이브러리라서 최적화 개선에 따른 속도 차이 有 라이브러리들 간에 호환성 문제로 인한 성능 저하 그러던 중 캠퍼 한 분께서 버전을 낮추면 3배 가까운 속도 향상이 있다는 정보를 공유해 주셨고, 라이브러리 버전 차이로 인해..
서론 레벨 2, 3 프로젝트를 병행하며 한 주를 회고합니다. 본론 - 팀원들과 원활한 협업을 위한 프로젝트 셋팅(Jira) 레벨 3 프로젝트 일정 관리를 위해 Jira를 팀에 제안했습니다. 하지만, 사용 경험이 부족했기에 팀원들에게 제 경험을 전달하기 위한 세미나를 진행했습니다. -> 자아 성찰 ✅ 요즘 부스트캠프 팀원들에게 상당히 많은 정보 공유를 하고 있는 것 같습니다. 촉박한 커리큘럼 내에서 시간을 할애하면서까지 세미나를 하고 자료를 만들고 있습니다. 과거의 저는 지식 공유를 블로그 혹은 구두로 하는 것이 전부였습니다. 팀원들에게 도움이 되는 것을 즐기고 있는 것을 새삼 깨달으며, 더 성숙한 개발자로 전진하고 있는 것 같아 기분이 좋습니다. - 데이터 제작 대회의 목적 -> 데이터 제작 대회? ✅ ..
서론 레벨 2 프로젝트가 끝이 나고 동시에 부캠의 50%가 지났습니다. 절반까지 열심히 달려오느라 수고했다고 팀원들과 격려하고 있습니다. 본론 - GPU Pool로 알게 된 로컬, 서버, 원격, 배포의 개념 로컬 : 작업을 하는 공간으로 새로운 기능을 만들거나 버그를 잡을 때 실제 코드를 작성하는 곳 깃허브 원격 : 로컬에서 작업한 내용을 배포하는 곳으로 서버와 로컬의 연결 다리 서버 : 원격의 내용을 반영하여 실제 서비스를 운영하는 곳 배포의 개념은 로컬에서 기능이 다 완료됐으니 운영하자! 였습니다. 웹 어플리케이션에서는 이러한 것을 물리 서버와 WAS가 자동으로 너무 잘해줘서 자연스럽게 이해가 됐었는 데 컴퓨터 2대와 깃허브만 받은 채로 직접 위 구조를 만들어 본 것은 처음입니다. 이번에 아주 값진 ..
서론 객체 탐지 대회 도중 사용한 mmdetection 라이브러리 활용 경험을 회고합니다. 본론 - mmdetection의 편리한 학습 파이프라인 강의에서는 mmdetection을 코드 조각으로 조합해서 원하는 모델을 만들 수 있다고 하였습니다. 당시에는 매우 추상적이라서 '유용한 기술이겠다'라고 생각만 하고 넘어갔는데 실제로 만들어 보니 굉장한 기술력을 가질 수 있다는 것을 체감했습니다. configs/faster_rcnn 수정 _base_/models 수정 datasets 수정 _base_/datasets/coco_detection 수정 위 4가지를 테스크에 맞게 수정하면 원하는 모델을 만들 수 있을 뿐만 아니라, 학습, 테스트 파이프라인 자체를 커스터마이즈 할 수 있습니다. 앞으로 주기적으로 업데이..
서론 객체 탐지 레벨 2 미션에서 배운 것을 기록합니다. 이번주는 EDA와 데이터 클리닝에 집중했습니다. 본론 - 객체 탐지의 데이터 클리닝 레벨 1 미션에서 크게 느낀 것은 데이터 클리닝의 중요성입니다. 라벨링 오류 수정 배경 제거 위 항목 등이 이미지 분류 문제에서 하면 좋은 클리닝 기법들이었습니다. 🚨 객체 탐지에서 좋은 데이터란? 정확한 Localization 라벨링 규칙의 일관성 분류 문제에서 좋은 데이터는 명확했습니다. 정답이면 T, 거짓이면 F로 제대로 라벨링 되어 있으면 되는 것이었습니다. 하지만, 탐지 영역에서 좋은 데이터가 무엇일까 모르겠던 찰나, 팀원들과 토의를 통해 위처럼 정의할 수 있었습니다. ✅ 객체 탐지에서 데이터 클리닝 팀 전원이 데이터를 열어서 데이터에 대한 의견을 제시하고..
서론 레벨 1이 끝나고 레벨 2를 맞이해야 할 단계입니다. 이 과정에서 느끼고 배운 점을 기술합니다. 본론 - 복잡한 MLOps MLOps는 생각보다 훨씬 할 게 많은 것 같습니다. 위 그림은 데이터 분야에 들어온 순간부터 수도 없이 많이 봐온 AI 서비스 구축에 대한 것인데 큼직큼직한 제목 뒤에 고려해야 할 점들이 복잡하게 얽혀 있습니다. 예상 트래픽 서버의 GPU, CPU 메모리 성능 인프라 규모 서빙 방식 실험 관리 학습, 서빙 시점의 데이터 검증 학습 자동화 모니터링 위 예시들은 모두 MLOps를 구축할 때 반드시 필요한 것들이며 각 항목에서도 회사의 상황, 서비스의 규모, 사용 대상에 따라 달라질 수 있습니다. ✅ 변성윤 멘토님 : 라이브러리를 익히는 것보다 방법론에 초점을 둬라 위 말씀이 혼란..
서론레벨 1 프로젝트 기간 동안 느낀점을 회고합니다. 본론- 프로젝트 마무리와 함께 정리 시작23.12.21 레벨 1프로젝트를 마무리하고 최종 순위가 발표되었습니다. 수고했기도 하고 아쉽기도한 상태에서 그 동안 달려가느라 정리하지 못했던 항목들을 정리해야겠다는 생각을 하였습니다. 대부분 협업, 느낀점 관련한 것들로 다음과 같습니다. 1. 발생한 이슈 정리2. gpu 풀, 클라이언트-서버 형식의 GPU 서버 활용 개선 방안3. 랩업 리포트4. 완디비 팀 프로젝트 개선 방안5. 레벨 1 ML 프로젝트 진행 방식에 대한 고찰6. 프로젝트 릴리즈7. 코드 리팩토링8. 느낀점 정리생각보다 많은 분량에 줄일까도 고민했지만, 그만큼 알차고 배운게 많은 프로젝트라고 되새기며 팀원들과 고민거리들을 공유하였습니다. 특히 ..
서론 CV 마스크 분류 프로젝트를 시작하였습니다. 그 과정에서 겪었던 마음 가짐과 배움을 정리해 봅니다. 본론 - 내 지식을 모두와 공유하는 긍정적인 마인드 해당 프로젝트의 운영진 및 개발자 분들은 커뮤니티 활동을 통해 적극적인 소통을 강조합니다. 대신 이슈나 오류가 발생했을 경우 도움을 요청하는 것 외에 본인이 적용한 방법론, 논리적 추론 등 문제를 해결한 방법에 대해 공유하는 것을 재차 강조합니다. 저는 지금까지 개인 공부를 위해 블로깅을 해 왔고, 다시 한 번 정리하면서 복습하는 효과를 얻고 새롭게 알게 되는 것들도 있었습니다. 하지만 제가 아는 지식들이 사실인지는 증명할 수 없었습니다. 부스트코스는 이러한 쟁점을 극복하기 위해 지식을 공유하여 사실로 만들라는 취지로 성공 케이스를 공유하라고 하는 ..