- 일반적인 software ? → 입력동일 == 출력동일
- ML? ⇒ 알고리즘으로 데이터의 패턴을 분석해 입력이 들어왔을때 패턴에 따른 출력추출
- ML이다
- 데이터를 기반으로 패턴을 학습하고 예측을 수행하는 컴퓨터 과학 분야
- ex) 스팸필터, 음성인식 ,이미지 분류 등
- ML은 인공지능 하위분야, 기계학습을 통해 AI시스템 개발
- 소비자를 위한 AI는 정확도와 Latency가 좋아야한다.
- 기업에서 사용할때는 latency가 좋을 필요는 없음
- 연구초점은 SOTA : 성능의 측면에서 개발을 함
- 상품의 초점은 다양한 : 고려해야할것이 많음
- 이해관계자의 다양성
- 이해관계자들은 본인의 역할에 따라 ML에 다양한 목표를 추구한다.
- DS & ML Engineer
- 모델 개발 및 훈련 담당
- 목표 : 모델 성능 높이고 최신기술과 알고리즘사용하여 예측 결과 성능 증가
- 모델 개발 및 훈련 담당
- 영업팀:
- AI제품의 광고 및 비즈니스 모델에 관여
- 목표 : 소비자에게 어필할수 있는 부분을 관심갖고 비즈니스모델에서 돈을 벌수 있도록 예측 결과를 내놓는 모델
- AI제품의 광고 및 비즈니스 모델에 관여
- 제품 관리자
- 사용경험과 제품 기능 관리
- 목표 :사용자 만족도 높이고 빠른추론 및 좋은 사용자 경험 제시
- 인프라 엔지니어 , 벡앤드 엔지니어
- 모델 운영과 인프라 담당
- 목표: 모델을 안정적으로 운영하고 확장 가능한 시스템 구축하여 성능 유지
- 관리자
- 프로젝트 조율과 리소스 할당 관리
- 목표 : 조율을 통해 모든 이해관계자의 목표를 조화롭게 조율하고 프로젝트를 성공적으로 마무리
- 실무는 모델 B경향 을 더 선호함 , 프로덕트 레벨에서
- ML 최적화의 함정
- 모델 성능 최적화를 위해 앙상블 모델을 구성하거나 반복적인 모델 훈련 및 너무복잡한 모델 개발
- 실제 적용시 inference 속도가 느려져 사용하기 어렵다
- 대기시간 vs 처리량
- 대기시간 : 사용자가 특정 작업 요청후 실제 결과 반환받기까지 걸리는 시간 ⇒ production분야에서 중요
- 처리량 : 특정 시간동안 시스템이 처리하는 요청 또는 작업의 양 ⇒ 리서치에서 중요
- research ML은 깔끔함
- 데이터셋이 매우 깨끗하고 잘정리되어 있어 모델 개발과 훈련에 집중가능
- 연구 공동체에서 새로운 알고리즘 기술과 벤치마킹하기 위해 정적인 특성을 가지고 있음
- 다양한 많은 사람들이 함께 객관적ㅇ로 논의할수 있는 환경 제공
- Production ML은 Data의 노이즈가 많고 구조가 복잡하며 매번 데이터가 지속적으로 변한다.
- 데이터가 매우 한쪽으로 편향되어있을수 있으며 어떤식으로 동작하는지도 알기 어렵다
- 잘못된 데이터들이 상당히 많을 수 있으며 정답 label이 존재하지 않는 경우가 대다수
- 사용자데이터 다루는 경우 개인정보 보호와 규제 문제를 고려해야한다.
- 상품화되는 모델의 공정성
- AI의 추론결과가 모든 인간에 대해 동등하게 적용되어야 한다
- 하지만 ML은 학습 데이터로부터 패턴을 파악하므올 불균형 데이터나 편향을 반영할수 있음. 이로인해 모델은 다른 그룹을 차별적으로 대할수 있음
- 구인 AI에서 성별에 따른 불평등한 선택
- 금융서비스에서 특정 인족에 대한 대출 거절 및 높은 금리 제공
- Fairness 향상
- 다양한 훈련데이터 수집
- 편견 감지 및 수정
- 투명성과 해석가능성 강화
- 사용자 참여
- 기업의 브랜드 이미지 ,비즈니스 성패가 달려 있음
- AI 결정과정을 인간이 이해할수 있도록 만드는 과정
- AI 모델이 왜 그런 결정을 내렸는지 설명할수 있는 능력
- 신뢰성 : 모델의 결정을 신뢰할수 있어야함
- 투명성 : 모델이 내린 결정을 설명가능하게
- 편향식별 : 모델 내 잠재적인 편향을 식별하고 수정해야함
- 법적 및 윤리적 이슈 : 규정 및 윤리적 요구 사항을 준수하기 위해 모델 작동방식을 이해해야함
- 의료진단
- 금융예측
- 자율주행 등
- 모델 개발시 사용된 feature 와 결과간의 상관관계 분석
- 모델 내부의 결정 및 예측을 시각화하고 설명하는데 도움을 주는 도구를 활용
- LIME : 모델에 대한 직역적 해석 가능성을 제공하는 기술
- SHAP : 게임이론의 hapley값 개념을 기반으로 해석하는 기술
- LRP : 딥러닝 신경망의 예측해석을 위한 방법중 하나
- 컴퓨터 프로그램, 데이터 및 사용자 인터페이스 결합으로 구성
- 명시적인 규칙과 알고리즘에 따라 동작, 일련의 작업 수행
- 예측 가능성, 정확한 규칙에 따라 동작하므로 결과를 예측가능
- 일관된 성능을 제공하며 , 오류가 발생할때 예외 처리가 가능
- 예상치 못한 상황에 적응이 어려움
- 새로운 규칙이나 변경될 경우 , 수정하고 컴파일 및 통합 필요
- 다양한 어려움들이 존재하고 버그들을 계속 고치고 배포 및 협력에 따른 관리의 어려움
- 개발과 운영의 통합
- Development와 Operation의 합성어
- 소프트웨어 개발 미 운영을 효과적으로 하는 방법론
- 전통적인 소프트웨어 개발 및 운영 프로세스 간의 협력과 자동화 강조
- 자동화
- 개발 및 운영작업 자동화하여 오류 줄이고 반복잡업 효율화
- 협력
- 개발팀과 운영팀간의 협력강화하여 프로젝트 수명주기 단축 및 품질 향상
- 코드 관리
- 코드와 인프라구성을 버젼관리하여 이력 추적
- 지속적 통합
- 변경사항을 자동으로 통합하고 빌드하여 품질검증 수행
- 지속적 배포 :
- 변경사항을 자동으로 테스트 및 프로덕션 환경에 배포
- 소프트웨어를 빠르게 개발, 테스트, 전달하고 고객요구사항 빠르게 충족시키는것
- 빠른 릴리즈 : 변경사항을 더 빨리 배포할수 있어 고객요규를 신속하게 충족
- 자동화된 프로세스 : 자동화는 오류를 줄이고 품질 향상
- 협력 강화 : 팀간의 협력을 강조해서 문제를 신속하게 해결하고 효율성 향상
- 학습
- 데이터로부터 학슴 , 모델이 패턴과 관계파악
- 예측
- 새로운 데이터에 대한 예측 수행
- 일반화
- 학습데이터를 기반으로 새로운 데이터에 대한 일반적인 패턴을 찾음
- 데이터 수집 저장
- 데이터 전처리
- 모델 선택
- 모델 학습
- 모델 평가
- 예측
- 데이터 품질, 과적합, 해석가능성, 데이터 양등 다양한 도전적인 측면
- 항상 최상의 예측을 제공하지 않을수 있으며 모델의 한계를 이해하는 것이 중요
- 모델 개발 ,배포 , 운영을지원하는 시스템
- 모델의 생애주기 전반을 처리하고 최적화하기 위한 접근 방식
- 자동화
- 협력
- 지속적 통합
- 지속적 배포
- 모델 모니터링
- 모델 버젼 관리
- 공통점
- 차이점