ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [책 리뷰] 인사이드 머신러닝 인터뷰
    BOOK 2024. 4. 9. 17:00
    반응형

    인사이드 머신러닝 인터뷰 / 펑 샤오 / 한빛미디어 (2024)

    총평

    알고리즘 인터뷰 책과 강의는 수도 없이 쏟아지는데,
    머신러닝 엔지니어를 위한 인터뷰는 도대체 언제 나올까? → 나왔다.

    혼자 준비하기 답답했던 ML 엔지니어들에게 한 줄기 빛 같은 책이다. 본인도 최근 구직을 하면서 각종 구글링과 지인 네트워크를 통해 겨우겨우 정보를 얻어 준비했었고, 앞으로 머신러닝 엔지니어의 공급은 더 많아질 텐데 언제쯤 나올까 했던 책이 드디어 나왔다! 전형을 마무리한 후에 이 책을 보게 된 건 슬프지만, 인터뷰 준비 뿐만 아니라 옆에 두고 ML essential 다지기에도 너무 괜찮은 책이다.

    저자의 이름이 재미있게도(?) 최근에 화제가 되는 샤오미 전기차의 이름과 동일한데, 이 분 굉장히 대단한 분이다. Amazon 등 빅테크에서 ML 엔지니어로 활동했으며 중간에 Roxy Device라는 스타트업을 창업을 하고 개발팀이 트위터(현 X)에 인수되어 ML ranking, modeling, serving 등 전반적인 ML 업무를 맡으며 천 명에 가까운 지원자를 면접봤다고 한다. 얼마나 많은 경험과 노하우가 들어있을지 기대하며 책을 폈었다.

    고등학교 때 남들이 수학의 정석을 보는 반면 본인은 수학의 바이블을 굉장히 좋아했는데, 오랜만에 마음에 드는 전공 서적을 찾은 느낌이었다. 몇 번의 ML면접을 경험해본 바 정말 필요한 내용들이 집약적으로 담겨 있다. 해당 전형이 왜 필요한지, 무엇이 중심 내용인지부터 스토리텔링으로 이해와 암기를 자연스럽게 연결시켰다. 이 책은 사기적이다. 정말 솔직히 말하면 포트폴리오와 논문 실적이 어느정도 존재한다는 가정 하에, 이 책을 달달 외운다면 왠만한 IT기업은 다 뚫지 않을까 싶다. 개인적으로 요즘은 AI 인재 포화상태라고 생각하며 인터뷰도 기본 3-4번 보고 신중하게 뽑는 추세여서 면접 기준이 점점 더 높아지고 있는데, 주변의 ML 엔지니어 구직자에게 이 책을 강력 추천하고 싶다! 

    너무 찬사를 남발했는데 요즘 한국 사회 한정으로 육각형을 갖춘 이상형을 다들 원하고 찾지만 실제로는 없듯이 아쉬운 점이 있다면, 일반적인 ML 엔지니어를 대상으로 하고 있기 때문에 세부 분야인 NLP, CV, Multi-Modal 등에 대해서는 깊게 다루고 있지 않다. 최근에는 단순 ML 엔지니어 외에도 특정 분야의 전문가를 영입하기 위해 NLP 중에서도 LLM 전문가, Multilingual 전문가, Prompting 전문가 등 JD를 꽤나 구체적으로 적어서 뽑는 추세인데 분량상 이 부분까지 커버하기는 버거운 것 같다. (개인적으로 Part.2가 나왔으면 하는 바램도 있다.) 또한  비교적 최근에 출간한 도서라 LLM까지 다루고 있지만, ChatGPT의 RLHF, instruction fine-tuning까지만 담겨 있는 것도 참고 바란다.

     


     

    책갈피

    다음 질문을 생각해 봅시다. "분류 문제 X에 가장 유용한 피처를 어떻게 찾을 수 있나요?"
    질문에 답하기 위해 지원자는 전공 지식이나 업계에서 배운 경험을 활용합니다. 전공 지식이 있다면 카이제곱 검정이나 정보 이득과 같은 통계 기법을 거론할 테고 반대로 업계 경험이 있다면 피처값을 교란하거나 절제 연구를 수행하는 등의 직접적인 접근 방식을 제안할 수 있겠죠. 또한 지원자는 피처의 유효성만 고려할 것이 아니라 시스템 제약 아래 오프라인 수집이 용이한지, 프로덕션 환경의 온라인 추론을 위해 빠르고 안정적으로 수화(hydration, ML pipeline에서 피처값들이 얼마나 막힘없이 잘 '흐르는지'에 대한 개념)가 가능한지도 고려해야 한다는 점을 알 수 있습니다.
    - 지은이의 말 中

    <경사하강법 최적화>
    Q. 경사하강법을 어떻게 최적화하나요?
    A. 경사하강법의 문제를 해결하는 최적화 알고리즘은 다음과 같습니다.
    - 모멘텀(Momentum) : 이전 시간 스템의 가중치 업데이트량의 일부를 현재 가중치 업데이트에 추가합니다. 손실함수의 경사에 적응하는 것으로 볼 수도 있습니다. 더 빨리 수렴하도록 하지만 잘못된 방향으로 방황할 수도 있습니다.
    - 네스테로프 모멘텀(Nesterov Momentum) : 모멘텀 기법의 일종으로, 가중치에 모멘텀 업데이트를 적용한 후 경사를 계산합니다. 수렴 속도를 희생하지 않으면서 가중치 업데이트의 정확성을 높이기 위해 모멘텀에 수정을 가하는 것으로 볼 수 있습니다.
    - 그 외 에이다그래드(AdaGrad), 에이다델타(AdaDelta)와 RMSProp, 애덤(Adam) 등이 있습니다. (후략)
    p50: ML 기본 지식

    <모델 최적화>
    Q. 매우 짧은 지연 시간을 갖도록 학습한 모델을 최적화하는 방법에는 무엇이 있나요?
    A. 피처 선택, 레이어 수 감소시키기, 레이어 크기 감소시키기 등 기존 기법은 이미 적용되었다고 가정할 때 서빙을 위해 모델을 추가로 최적화하는 기법은 다음과 같습니다.
    - 모델 정리 : 모델의 예측 경로에 존재하는 불필요한 구성 요소를 제거합니다. 예를 들어 사용되지 않는 노드, 중복 노드, 학습에 필요했지만 예측에는 더 이상 필요하지 않은 기타 구성 요소 등이 있습니다. 또 다른 단계는 항상 상수 표현식으로 평가되는 모델 내 하위 그래프를 찾는 것입니다. 이러한 하위 그래프는 해당 상숫값으로 대체될 수 있습니다. 또한 배치 정규화의 곱셈을 이전 레이어의 가중치 곱셈에 통합시키는 것도 도움이 됩니다.
    - 입력 압축 : 프로덕션 랭킹 모델은 수천~수만 개의 입력 피처를 사용하는 경우가 많습니다. 다양한 소스에서 피처를 수화하고 네트워크를 통해 모델 서버로 전송해야 하므로 추론 중에 상당한 지연 시간이 발생하기도 합니다. 이 문제를 해결하기 위해 학습 중에 대상 및 후보 피처에 대한 밀집 임베딩을 저장해뒀다가 추론 시에 그 임베딩들만 가져옵니다. (중략)
    - 그 외 효율적 캐싱 전략, 일괄 추론, 투 타워, 양자화(quantization), 효율적인 신경망 제품군, 모델 압축 등이 있습니다. (후략)
    p256: ML 인프라 설계

     

    목차

    1장 ML 면접에 임하기
    테크니컬 폰 스크린
    ML 기본 지식 면접
    ML 코딩 면접
    ML 시스템 설계 면접
    기타 면접
    우수한 답변의 필수 요소

    2장 ML 기본 지식
    Q2.1 데이터셋 수집 단계
    Q2.2 데이터 수집 시 문제
    Q2.3 데이터 수집 시 고려 사항
    Q2.4 레이블 불균형 처리
    Q2.5 누락된 레이블 처리
    Q2.6 입력 피처 유형
    Q2.7 피처 선택과 중요도
    Q2.8 피처 선택 방법
    Q2.9 누락된 피처값
    Q2.10 모델링 알고리즘
    Q2.11 로지스틱 회귀 작동 방식
    Q2.12 로지스틱 회귀 손실 함수
    Q2.13 경사하강법 최적화
    Q2.14 하이퍼파라미터 튜닝
    Q2.15 모델 과적합 처리
    Q2.16 정규화 기법
    Q2.17 선형 회귀와 로지스틱 회귀
    Q2.18 신경망 활성화 함수
    Q2.19 의사 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 결정 트리
    Q2.20 부스팅과 배깅
    Q2.21 비지도 학습 기법
    Q2.22 k-평균 작동 방식
    Q2.23 준지도 학습 기법
    Q2.24 손실 함수 유형
    Q2.25 손실 함수 볼록성
    Q2.26 분류 모델 평가 지표
    Q2.27 회귀 모델 평가 지표
    Q2.28 모델 최적화
    Q2.29 모델 성능 개선

    3장 ML 코딩
    Q3.1 k-평균
    Q3.2 k-최근접 이웃
    Q3.3 의사 결정 트리
    Q3.4 선형 회귀
    Q3.5 평가 지표
    Q3.6 저수지 샘플링
    Q3.7 확률 문제
    Q3.8 해시 테이블과 분산 프로그래밍 문제
    Q3.9 그래프 문제
    Q3.10 문자열 문제
    Q3.11 배열 문제

    4장 ML 시스템 설계 1 - 추천 시스템
    Q4.1 시스템 목적
    Q4.2 시스템 지표
    Q4.3 추천 콘텐츠 유형
    Q4.4 추천 콘텐츠 혼합
    Q4.5 시스템 운영 매개변수
    Q4.6 시스템 구성 요소
    Q4.7 콜드 스타트 문제
    Q4.8 데이터셋 유형
    Q4.9 데이터셋 수집 기법
    Q4.10 데이터셋 편향
    Q4.11 서빙 편향 완화
    Q4.12 위치 편향 완화
    Q4.13 추천 후보 출처
    Q4.14 추천 후보 생성 단계
    Q4.15 추천 후보 생성 알고리즘
    Q4.16 임베딩 기술
    Q4.17 대규모 추천 시스템의 후보 스코어링
    Q4.18 신규 콘텐츠 색인화
    Q4.19 추천 후보 병합 및 정리
    Q4.20 사전 랭킹 모델 학습
    Q4.21 사전 랭킹 모델 평가 지표
    Q4.22 사전 랭킹 모델 알고리즘
    Q4.23 사전 랭킹 모델 최적화
    Q4.24 랭킹 모델 주요 피처
    Q4.25 텍스트 또는 ID 기반 피처
    Q4.26 횟수 기반 피처
    Q4.27 헤비 랭킹 모델 학습
    Q4.28 헤비 랭킹 모델 알고리즘
    Q4.29 랭킹 모델 아키텍처
    Q4.30 랭킹 모델 예측값 보정
    Q4.31 랭킹 모델 평가 지표
    Q4.32 다중 작업 모델과 개별 모델
    Q4.33 모델 서빙 시스템
    Q4.34 캐싱
    Q4.35 모델 업데이트
    Q4.36 온라인 실험
    Q4.37 모델 로드
    Q4.38 모델 실험 고려 사항
    Q4.39 오프라인 평가 지표
    Q4.40 온라인 성능 저하

    5장 ML 시스템 설계 2 - 응용
    Q5.1 문서 파싱
    Q5.2 감성 분석
    Q5.3 토픽 모델링 기법
    Q5.4 문서 요약
    Q5.5 자연어 이해
    Q5.6 지도 학습 레이블
    Q5.7 비지도 학습 피처
    Q5.8 판별적 문제 피처
    Q5.9 생성 모델 피처
    Q5.10 정보 추출 모델 구축
    Q5.11 정보 추출 평가 지표
    Q5.12 분류 모델 구축
    Q5.13 회귀 모델 구축
    Q5.14 토픽 할당
    Q5.15 토픽 모델링 평가 지표
    Q5.16 문서 클러스터링 모델 구축
    Q5.17 클러스터링 평가 지표
    Q5.18 텍스트 생성 모델 구축
    Q5.19 텍스트 생성 평가 지표
    Q5.20 모델링 워크플로
    Q5.21 오프라인 예측

    6장 ML 인프라 설계
    Q6.1 모델 개발 가속화
    Q6.2 모델 학습 가속화
    Q6.3 모델 학습 분산
    Q6.4 모델 학습 파이프라인 평가
    Q6.5 분산 학습 오류
    Q6.6 모델 업데이트
    Q6.7 모델 최적화
    Q6.8 서빙 시스템 구성 요소
    Q6.9 서빙 시 문제
    Q6.10 피처 수화 개선
    Q6.11 지연 시간 개선
    Q6.12 많은 요청 처리하기
    Q6.13 서빙 시 모델 업데이트
    Q6.14 모델 배포와 롤백
    Q6.15 서버 모니터링
    Q6.16 서빙 시 성능 저하

    7장 고급 ML 문제
    Q7.1 지연된 레이블
    Q7.2 레이블 없이 학습하기
    Q7.3 가격 모델

    부록 A 생성 모델: 노이지 채널 모델에서 LLM까지
    A.1 기계 번역(MT)
    A.2 자동 음성 인식(ASR)
    A.3 트랜스포머로의 수렴
    A.4 현실의 과제를 위한 미세 조정

     

    한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공 받아 작성된 서평입니다.
    반응형

    댓글

Written by Emily.