책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9791158396046
· 쪽수 : 392쪽
· 출판일 : 2025-04-24
책 소개
《머신러닝 엔지니어링 with 파이썬》은 ML옵스(MLOps) 엔지니어와 머신러닝(ML) 엔지니어가 실제 문제에 대한 해결책을 구축하는 것을 돕는 실용적인 안내서다. 이 책은 빠르게 발전하는 이 분야에서 앞서 나가는 데 필요한 기술을 제공한다.
이 책은 예제 중심으로 접근해 기술을 개발하는 데 도움을 주며, 필요한 기술적 개념, 구현 패턴 및 개발 방법론을 다룬다. ML 개발 수명주기의 주요 단계를 탐색하고 모델 훈련 및 재훈련을 위한 표준화된 '모델 팩토리'를 만드는 방법을 배운다. CI/CD 개념을 활용하고 다양한 유형의 드리프트를 감지하는 방법도 배운다.
또한 이 책에서는 최신 배포 아키텍처를 실습하고 솔루션 확장 방법을 배운다. 최신 오픈소스 및 클라우드 기반 기술에 중점을 두고 ML 엔지니어링과 ML옵스의 모든 측면을 깊이 다룬다. 여기에는 고급 파이프라인 및 오케스트레이션 기법에 대한 완전히 새로운 접근 방식이 포함되어 있다.
딥러닝, 생성형 AI, LLM옵스를 다루는 장에서는 랭체인, 파이토치, 허깅 페이스와 같은 도구를 사용해 LLM의 강력한 능력을 활용하는 분석 방법을 배운다. 깃허브 코파일럿 등 AI 어시스턴트를 활용해 생산성을 높이는 법을 배우고, 딥러닝 작업의 엔지니어링 고려 사항을 심층적으로 살펴본다.
★ 이 책에서 다루는 내용 ★
◎ 엔드투엔드 ML 개발 프로젝트의 계획 및 관리
◎ 생성형 AI를 활용하기 위한 딥러닝, LLM, LLM옵스
◎ 파이썬을 이용한 ML 도구의 패키징과 솔루션 확장
◎ 아파치 스파크, 쿠버네티스, 레이 활용
◎ 아파치 에어플로, 젠ML, 쿠브플로를 활용한 ML 파이프라인 구축과 실행
◎ 드리프트 감지 및 재훈련 메커니즘을 솔루션에 통합
◎ 제어 흐름 및 취약점 스캐닝을 통한 오류 처리 개선
◎ AWS를 활용한 ML 마이크로서비스와 배치 프로세스 구축 및 운영
목차
▣ 01장: 머신러닝 엔지니어링 소개
1.1 기술 요구 사항
1.2 데이터 관련 직무 분류
__1.2.1 데이터 과학자
__1.2.2 ML 엔지니어
__1.2.3 ML옵스 엔지니어
__1.2.4 데이터 엔지니어
1.3 효과적인 팀으로 일하기
1.4 실제 환경에서의 머신러닝 엔지니어링
1.5 머신러닝 솔루션은 어떤 모습인가?
__1.5.1 왜 파이썬인가?
1.6 고수준 머신러닝 시스템 설계
__1.6.1 예제 1: 배치 이상 탐지 서비스
__1.6.2 예제 2: 예측 API
__1.6.3 예제 3: 분류 파이프라인
1.7 요약
▣ 02장: 머신러닝 개발 프로세스
2.1 기술 요구 사항
2.2 도구 설정
__2.2.1 AWS 계정 설정
2.3 개념에서 솔루션까지의 4단계
__2.3.1 CRISP-DM과 비교
__2.3.2 발견
__2.3.3 플레이
__2.3.4 개발
__2.3.5 배포
2.4 요약
▣ 03장: 모델에서 모델 팩토리까지
3.1 기술적 요구사항
3.2 모델 팩토리 정의하기
3.3 학습이란 무엇인가
__3.3.1 목표 정의하기
__3.3.2 손실 최소화하기
__3.3.3 데이터 준비하기
3.4 머신러닝을 위한 특징 공학
__3.4.1 범주형 특징 처리하기
__3.4.2 수치형 특징 처리하기
3.5 훈련 시스템 설계하기
__3.5.1 훈련 시스템 설계 옵션
__3.5.2 훈련-실행
__3.5.3 훈련-보관
3.6 드리프트와 재훈련
__3.6.1 데이터 드리프트 감지
__3.6.2 개념 드리프트 탐지하기
__3.6.3 한계 설정하기
__3.6.4 드리프트를 진단하기
__3.6.5 드리프트 대응 방안
__3.6.6 모니터링을 위한 다른 도구
__3.6.7 훈련 자동화하기
__3.6.8 자동화의 계층
__3.6.9 하이퍼파라미터 최적화
3.6.10 오토ML
3.7 모델 영속화하기
3.8 파이프라인으로 모델 팩토리 구축하기
__3.8.1 사이킷런 파이프라인
__3.8.2 스파크 ML 파이프라인
3.9 요약
▣ 04장: 패키징
4.1 기술적 요구사항
4.2 좋은 파이썬 코드 작성하기
__4.2.1 파이썬 기초 다지기
__4.2.2 유용한 기법
__4.2.3 파이썬 코딩 관례
__4.2.4 PySpark 코딩 스타일
4.3 코딩 스타일 선택하기
__4.3.1 객체 지향 프로그래밍
__4.3.2 함수형 프로그래밍
4.4 코드 패키징하기
__4.4.1 패키지를 만드는 이유
__4.4.2 어떤 코드를 패키지로 만들까?
__4.4.3 패키지 설계하기
4.5 패키지 빌드하기
__4.5.1 Makefile로 환경 관리하기
__4.5.2 Poetry로 시작하기
4.6 테스팅, 로깅, 보안 및 오류 처리
__4.6.1 테스팅
__4.6.2 솔루션 보안
__4.6.3 코드의 보안 문제 분석하기
__4.6.4 의존성 패키지의 보안 점검
__4.6.5 로깅
__4.6.6 오류 처리
4.7 바퀴를 재발명하지 않기
4.8 요약
▣ 05장: 배포 패턴과 도구
5.1 기술적 요구사항
5.2 시스템 설계
__5.2.1 시스템 설계 원칙
5.3 대표적인 머신러닝 패턴
__5.3.1 데이터 레이크
__5.3.2 마이크로서비스
__5.3.3 이벤트 기반 설계
__5.3.4 일괄 처리
5.4 컨테이너화
5.5 AWS에서 자체 마이크로서비스 호스팅
__5.5.1 ECR로 푸시하기
__5.5.2 ECS에 배포하기
5.6 Airflow를 활용한 일반 파이프라인 구축
__5.6.1 Airflow
__5.6.2 MWAA
__5.6.3 Airflow를 위한 CI/CD 파이프라인 구축
5.7 고급 ML 파이프라인 구축
__5.7.1 ZenML
__5.7.2 Kubeflow
5.8 배포 전략 선택
5.9 요약
▣ 06장: 스케일링
6.1 기술적 요구사항
6.2 스파크로 확장하기
__6.2.1 스파크 팁과 트릭
__6.2.2 클라우드상의 스파크, AWS EMR
6.3 서버리스 인프라 구축
6.4 쿠버네티스로 대규모 컨테이너화하기
6.5 Ray로 확장하기
__6.5.1 ML을 위한 Ray 시작하기
__6.5.2 Ray의 컴퓨팅 확장
__6.5.3 Ray를 활용한 서빙 계층 확장
6.6 대규모 시스템 설계
6.7 요약
▣ 07장: 딥러닝, 생성형 AI, LLM옵스
7.1 딥러닝
__7.1.1 파이토치 기초
__7.1.2 딥러닝 확장과 프로덕션 적용
__7.1.3 미세 조정과 전이 학습
7.2 대규모 언어 모델
__7.2.1 LLM 기본 개념과 구조
__7.2.2 API를 통한 LLM 활용
__7.2.3 LLM으로 코딩하기
7.3 LLM 검증과 프롬프트 관리·운영
__7.3.1 LLM 검증하기
__7.3.2 프롬프트옵스(PromptOps)
7.4 요약
▣ 08장: 예제 ML 마이크로서비스 구축
8.1 기술 요구사항
8.2 예측 문제 이해
8.3 예측 서비스 설계
8.4 도구 선택
8.5 훈련 스케일링
8.6 FastAPI로 모델 서빙하기
__8.6.1 응답 및 요청 스키마
__8.6.2 마이크로서비스에서 모델 관리하기
__8.6.3 모든 구성 요소 통합하기
8.7 쿠버네티스를 활용한 컨테이너화와 배포
__8.7.1 애플리케이션 컨테이너화
__8.7.2 쿠버네티스로 확장하기
__8.7.3 배포 전략
8.8 요약
▣ 09장: ETML(추출, 변환, 머신러닝) 사례 연구
9.1 기술 요구사항
9.2 일괄 처리 문제 이해
9.3 ETML 솔루션 설계
9.4 도구 선택하기
__9.4.1 인터페이스와 저장소
__9.4.2 모델 확장
__9.4.3 ETML 파이프라인 스케줄링
9.5 빌드 실행
__9.5.1 고급 Airflow 기능을 사용한 ETML 파이프라인 구축
9.6 요약