본문 바로가기

개발 일기

AI 개발자 트렌드, 실무에서 중요한 점, 딥러닝 모델 발전과정

1. 딥러닝 모델의 발전과 경량화

RNN의 한계와 발전

  • RNN의 문제점: 과거 정보를 잘 기억하지 못함.
  • LSTM의 등장: RNN의 한계를 극복하지만 모델이 무거움.
  • GRU의 개발: LSTM보다 경량화된 모델로 성능 유지.

트랜스포머와 LLM의 시대

  • 트랜스포머 논문(2017): 구글에서 번역에 초점을 맞춰 발표.
  • GPT로의 발전: 트랜스포머 구조가 GPT 모델로 발전.
  • LLM 시대의 도래: 대규모 언어 모델이 AI 트렌드를 주도.

2. 이미지와 영상 처리의 진화

이미지 처리 모델

  • MLP-CNN의 발전: LeNet, ResNet부터 ViT(2020~)까지 발전.
  • 경량화의 필요성: 복잡한 모델보다 속도가 중요한 경우 경량화된 CNN 사용.
  • ResNet 활용: CNN으로 검증 후 ResNet을 적용.

영상 처리 모델

  • 시간적 정보의 포함: 이미지에서 시간 요소를 포함한 모델 필요.
  • 3D-CNN(2015~): 시간적 정보를 처리하지만 모델이 무거움.
  • Video Transformer(2021~): 경량화된 영상 처리 모델로 부상.

3. 음성 및 기타 데이터 처리

음성 처리 모델의 발전

  • RCNN에서 WaveNet으로: 음성 처리 모델의 성능 향상.
  • Audio Transformer(2020~): 최신 음성 처리 모델로 등장.

그래프 신경망(GNN)

  • 인과관계 분석: 그래프 이론을 활용한 모델링.
  • 사람의 바디 파트 모델링: 주요 관절을 노드와 엣지로 표현.
  • GCN과 GAT의 활용: 그래프 형태의 데이터 처리에 사용.

4. 트랜스포머의 중요성과 구현

  • 트랜스포머 심층 학습 추천: 코드와 논문을 깊게 다루는 것이 필수.
  • 모델 구현의 필요성: 트랜스포머 모델을 직접 구현해보기.

5. 추론에 필수적인 세 가지 요소

  1. 설계도: 모델의 전체적인 구조.
  2. 하이퍼파라미터: 최종 모델의 세부 설정 값.
  3. 웨이트 값: 학습 결과로 얻어진 모델의 가중치.

6. 논문 연구와 평가 방법

  • 논문의 가치: 이전 연구보다 개선된 점을 명확히 해야 함.
  • 평가 척도 활용: 이전 평가 정보를 가져와 비교.
  • 재현율: 전체 정답 중 맞춘 개수로 성능 평가.

7. 실무에서 중요한 점

연구와 실무의 차이

  • 데이터 사용 제한: 라이선스 문제로 연구 데이터 사용이 실무에서 제한될 수 있음.
  • 평가 방법의 차이: 연구는 벤치마크 데이터를 사용하지만 실무는 다름.(실무는 기업 자체 수집 데이터 및 상업용 외부 데이터셋 구매 , 또는 공개 api 활용 실시간 데이터 특정 정보 수집)

사용자 중심의 모델 개발

사용자가 선호하는 모델 성능이 중요: 사용자들은 성능이 낮더라도 빠르고 저렴한 모델을 선호할 수 있음.

데모데이: 코드 작업 후 결과물에 대해 투표를 받아야 하며, 이 과정에서 주관이 개입될 수 있음.

  • 성능보다 사용자 만족도: 모델의 정확도보다 속도와 비용이 중요할 수 있음.
  • 비용 효율성: 빠르고 저렴한 모델이 선호될 수 있음.

평가 방식의 전환

  • 정량 평가의 한계: 최신 논문 추적 시에만 유용.
  • 성능 평가의 중요성: 실제 사용 환경에서의 성능이 중요.
  • A/B 테스트 활용: 사용자 반응을 직접 테스트.

사용자의 창의성 대응

  • 예상치 못한 사용 방식: 예를 들어, 나이 맞추기 앱에 동물을 넣는 경우.
  • 유연한 모델 설계: 다양한 사용자 행동에 대응할 수 있어야 함.
  • 실제 앱 배포 시 사용자 피드백을 반영하여 개선 필요.

8. 논문 분석과 활용

옛날 논문의 현대적 해석

  • ICLR 2015 논문: 현재 트렌드와는 다를 수 있음. 
  • ICLR 2015 논문의 VGG16, VGG19 모델: 기본적인 구조 이해에 도움.

논문 읽는 방법

  • 요점 파악: 애스트릭(*)과 표를 중심으로 읽기.
  • 모듈 이해와 변형: 모듈을 변형하여 새로운 모델 개발.

최신 논문의 구현

  • ViT 논문: 방대한 내용이지만 구현해볼 가치가 있음.
  • 트랜스포머의 중요성: 현대 딥러닝 모델의 기본이 됨.

9. 좋은 모델 개발을 위한 전략

문제의 분할과 개선

  • 작은 문제로 쪼개기: 전처리 부분에서 4% 개선, 다른 부분에서 4% 개선 등.
  • 점진적 성과 추구: 작은 성과를 모아 전체 성능 향상.

최신 정보의 습득

  • 아카이브 활용: 월요일 아침마다 새로운 논문 확인.
  • 데이터셋 업데이트: 2~3일에 한 번씩 새로운 데이터셋 확인.

팀 내 지식 공유

  • 키워드 공유: 비슷한 작업을 하는 동료에게 도움.
  • 지식의 자산화: 팀 전체의 역량 향상에 기여.

10. 함께 일하고 싶은 AI 연구원

성과와 전문성

  • 점진적 성과: 문제를 작게 쪼개어 성과를 내는 능력.
  • 넓은 시야: 다양한 논문을 읽고 필요한 부분에 가이드를 제공.

소통과 협업

  • 이슈 포인트 정리: 모델 개발 중 발생하는 이슈를 체계적으로 정리.
  • 중간 결과물 공유: 작업 내용을 정리하여 팀원들과 공유.

11. 백엔드와의 협업

인터페이스 정의

  • 명확한 데이터 교환: 입력과 출력 형식에 대한 명확한 정의.
  • 업무 분담의 효율성: 각자의 역할을 명확히 하여 간섭 최소화.

예시: 달리(DALL·E) 모델

  • 입력 정보: 사용자 정보, 입력 텍스트, 시간, 지역 등.
  • 필요 정보 전달: 텍스트, 화풍, 생성 개수 등 필요한 정보를 명확히 전달.
  • 출력 형식 정의: 이미지의 형식(PNG 등)과 전달 방식 정의.

12. 논문 리뷰와 실무 적용

논문 선택과 분석

  • 유용한 논문 식별: 여러 논문 중 실무에 적용 가능한 것 선택.
  • 핵심 내용 전달: 팀원들에게 논문의 주요 포인트 공유.

회사에의 기여도 평가

  • 실무 적용성 검토: 논문이 회사에 어떻게 도움이 될지 고민.
  • 데이터 활용 가능성: 회사에서 보유한 데이터로 구현 가능한지 평가.

13. 모델 구현 경험의 중요성

  • 바닥부터의 구현: 트랜스포머 등 주요 모델을 직접 구현해보는 경험.
  • 실무 영향력: 입사 시에는 큰 영향이 없지만 학습 차원에서 유용.

14. 프론트엔드와 백엔드 지식

개념 이해의 장점

  • 데이터 처리 효율성: 필요한 데이터만 효율적으로 로드.
  • 모델 접근성 향상: 전반적인 시스템 이해로 작업 효율 향상.

15. 회사에서의 모델 운영과 비용 관리

클라우드 서비스 활용

  • Azure, AWS 사용: 자체 서버 구축 대신 클라우드 서비스 활용.
  • 비용 최적화: 모델 운영에 드는 비용을 최소화하는 방법 고민.

16. 협업 방식과 업무 분담

효율적인 협업 구조

  • 모듈별 작업 분담: 각자 작은 모듈이나 기능을 맡아 진행.
  • 자율성 보장: 각자의 업무에 대한 자유도를 높여 효율성 증대.

코드 일관성 유지

  • 역할 명확화: 동일한 기능을 두 사람이 동시에 개발하지 않도록 조율.
  • 코드 관리: 코드의 일관성을 유지하기 위한 협의 필요.