나는 리뷰어다 2023_한빛미디어

[서평]트랜스포머를 활용한 자연어 처리

주식회사 올딩 2023. 3. 26.
728x90
반응형

「트랜스포머를 활용한 자연어 처리(허깅페이스 개발팀이 알려주는 자연어 애플리케이션 구축) 책은 최근 ChatGPT에 관심을 갖는 분들 중 AI가 어떻게 답변을 해주고 대화를 이어가는지 그 원리를 궁금해 하는 분들이 관심을 가지고 직접 구축해 보는 실용서라고 할 수 있다.

 

2년 전에 국내 기업들 중에서도 취업을 희망하는 신입, 경력직들의 이력서를 자연어 처리와 데이터 분석툴의 개발을 통해 컨설팅을 하려는 기업에 R&D 강의를 진행한 적이 있다.

 

해당 기업의 연구원들이 해결하고자 했던 그리고 궁금해하던 내용들을 해외논문이나, 해외의 서적들을 통해 강의교안을 만들었는데, 한빛미디어에서 출판된 트랜드포머를 활용한 자연어 처리 책 한권으로 모든 것을 해결할 수 있다는 판단이 들었다.

 

앞으로 더 많은 기업들이 AI와 ChatGPT 등을 활용하거나 다양한 애플리케이션을 구축하고 기업들의 서비스에 적목할 것이다. 그에 앞서 연구진들이 가장 먼저 봐야 할 책을 추천한다면 바로 이 책을 추천하고자 한다.

 

책소개

챗GPT처럼 자연어를 찰떡같이 알아듣는 트랜스포머 완벽 해부

 

 트랜스포머는 우리 주변에 가득하다! 트랜스포머 아키텍처는 순식간에 자연어 처리 분야를 지배했고, 챗GPT가 전 세계를 강타했다. 이 책은 데이터 과학자나 프로그래머가 트랜스포머 모델을 훈련하고 확장하도록 허깅페이스의 트랜스포머스 라이브러리를 활용하는 실용적인 방법을 안내한다. 트랜스포머스 라이브러리를 개발한 엔지니어들이 직접 코드를 설명하며 트랜스포머의 작동 원리와 문제 해결법, 애플리케이션 도입법까지 차근차근 소개한다. 나만의 트랜스포머를 훈련시키는 방법을 배우고 자연어 처리를 정복해보자.

 

 

저자소개

저자

루이스 턴스톨

허깅페이스의 머신러닝 엔지니어입니다. 스타트업과 기업을 위해 NLP, 위상 기반 데이터 분석(topological data analysis), 시계열 분야의 머신러닝 애플리케이션을 만들었습니다. 이론 물리학으로 박사 학위를 받고 호주, 미국, 스위스에서 연구를 수행했습니다. 현재는 NLP 커뮤니티를 위한 도구를 개발하며 이를 효율적으로 사용하는 방법을 가르치는 일에 열중합니다.

 

저자

레안드로 폰 베라

허깅페이스 오픈소스 팀의 머신러닝 엔지니어입니다. 산업 분야에서 NLP 프로젝트를 제품화하는 데 머신러닝 스택 전반에 걸쳐 다년의 경험을 쌓았으며, 트랜스포머와 강화 학습을 결합해 인기 있는 파이썬 라이브러리 TRL을 만들었습니다.

 

저자

토마스 울프

허깅페이스의 최고 과학 책임자이자 공동 설립자입니다. 그가 이끄는 팀은 NLP 연구를 촉진하고 민주화하는 임무를 수행합니다. 허깅페이스를 공동 설립하기 전에 물리학 박사 학위를 취득하고 나중에 법학 학위를 받았습니다. 한때 물리학 연구원과 유럽 변리사로 일했습니다.

 

역자

박해선

기계공학을 전공했으나 졸업 후에는 줄곧 코드를 읽고 쓰는 일을 했다. 지금은 머신러닝과 딥러닝에 관한 책을 집필하고 번역하면서 소프트웨어와 과학의 경계를 흥미롭게 탐험하고 있다. 『혼자 공부하는 머신러닝+딥러닝』(한빛미디어, 2020)과 『Do it! 딥러닝 입문』(이지스퍼블리싱, 2019)을 집필했고, 『케라스 창시자에게 배우는 딥러닝(개정 2판)』(길벗, 2022), 『핸즈온 머신러닝(2판)』(한빛미디어, 2020)을 포함한 다수의 머신러닝 책을 우리말로 옮겼다.

 

목차

CHAPTER 1 트랜스포머 소개

_1.1 인코더-디코더 프레임워크

_1.2 어텐션 메커니즘

_1.3 NLP의 전이 학습

_1.4 허깅페이스 트랜스포머스

_1.5 트랜스포머 애플리케이션 둘러보기

__1.5.1 텍스트 분류

__1.5.2 개체명 인식

__1.5.3 질문 답변

__1.5.4 요약

__1.5.5 번역

__1.5.6 텍스트 생성

_1.6 허깅페이스 생태계

__1.6.1 허깅페이스 허브

__1.6.2 허깅페이스 토크나이저

__1.6.3 허깅페이스 데이터셋

__1.6.4 허깅페이스 액셀러레이트

_1.7 트랜스포머의 주요 도전 과제

_1.8 결론

 

CHAPTER 2 텍스트 분류

_2.1 데이터셋

__2.1.1 허깅페이스 데이터셋 처음 사용하기

__2.1.2 데이터셋에서 데이터프레임으로

__2.1.3 클래스 분포 살펴보기

__2.1.4 트윗 길이 확인

_2.2 텍스트에서 토큰으로

__2.2.1 문자 토큰화

__2.2.2 단어 토큰화

__2.2.3 부분단어 토큰화

__2.2.4 전체 데이터셋 토큰화하기

_2.3 텍스트 분류 모델 훈련하기

__2.3.1 트랜스포머를 특성 추출기로 사용하기

__2.3.2 트랜스포머 미세 튜닝하기

_2.4 결론

 

CHAPTER 3 트랜스포머 파헤치기

_3.1 트랜스포머 아키텍처

_3.2 인코더

__3.2.1 셀프 어텐션

__3.2.2 피드 포워드 층

__3.2.3 층 정규화 추가하기

__3.2.4 위치 임베딩

__3.2.5 분류 헤드 추가하기

_3.3 디코더

_3.4 트랜스포머 유니버스

__3.4.1 트랜스포머 가계도

__3.4.2 인코더 유형

__3.4.3 디코더 유형

__3.4.4 인코더-디코더 유형

_3.5 결론

 

CHAPTER 4 다중 언어 개체명 인식

_4.1 데이터셋

_4.2 다중 언어 트랜스포머

_4.3 XLM-R 토큰화

__4.3.1 토큰화 파이프라인

__4.3.2 SentencePiece 토크나이저

_4.4 개체명 인식을 위한 트랜스포머

_4.5 트랜스포머 모델 클래스

__4.5.1 바디와 헤드

__4.5.2 토큰 분류를 위한 사용자 정의 모델 만들기

__4.5.3 사용자 정의 모델 로드하기

_4.6 NER 작업을 위해 텍스트 토큰화하기

_4.7 성능 측정

_4.8 XLM-RoBERTa 미세 튜닝하기

_4.9 오류 분석

_4.10 교차 언어 전이

__4.10.1 제로 샷 전이가 유용할 때

__4.10.2 다국어에서 동시에 미세 튜닝하기

_4.11 모델 위젯 사용하기

_4.12 결론

 

CHAPTER 5 텍스트 생성

_5.1 일관성 있는 텍스트 생성의 어려움

_5.2 그리디 서치 디코딩

_5.3 빔 서치 디코딩

_5.4 샘플링 방법

_5.5 탑-k 및 뉴클리어스 샘플링

_5.6 어떤 디코딩 방법이 최선일까요?

_5.7 결론

 

CHAPTER 6 요약

_6.1 CNN/DailyMail 데이터셋

_6.2 텍스트 요약 파이프라인

__6.2.1 요약 기준 모델

__6.2.2 GPT-2

__6.2.3 T5

__6.2.4 BART

__6.2.5 PEGASUS

_6.3 요약 결과 비교하기

_6.4 생성된 텍스트 품질 평가하기

__6.4.1 BLEU

__6.4.2 ROUGE

_6.5 CNN/DailyMail 데이터셋에서 PEGASUS 평가하기

_6.6 요약 모델 훈련하기

__6.6.1 SAMSum에서 PEGASUS 평가하기

__6.6.2 PEGASUS 미세 튜닝하기

__6.6.3 대화 요약 생성하기

_6.7 결론

 

CHAPTER 7 질문 답변

_7.1 리뷰 기반 QA 시스템 구축하기

__7.1.1 데이터셋

__7.1.2 텍스트에서 답 추출하기

__7.1.3 헤이스택을 사용해 QA 파이프라인 구축하기

_7.2 QA 파이프라인 개선하기

__7.2.1 리트리버 평가하기

__7.2.2 리더 평가하기

__7.2.3 도메인 적응

__7.2.4 전체 QA 파이프라인 평가하기

_7.3 추출적 QA를 넘어서

_7.4 결론

 

CHAPTER 8 효율적인 트랜스포머 구축

_8.1 의도 탐지 예제

_8.2 벤치마크 클래스 만들기

_8.3 지식 정제로 모델 크기 줄이기

__8.3.1 미세 튜닝에서의 지식 정제

__8.3.2 사전 훈련에서의 지식 정제

__8.3.3 지식 정제 트레이너 만들기

__8.3.4 좋은 스튜던트 선택하기

__8.3.5 옵투나로 좋은 하이퍼파라미터 찾기

__8.3.6 정제 모델 벤치마크 수행하기

_8.4 양자화로 모델 속도 높이기

_8.5 양자화된 모델의 벤치마크 수행하기

_8.6 ONNX와 ONNX 런타임으로 추론 최적화하기

_8.7 가중치 가지치기로 희소한 모델 만들기

__8.7.1 심층 신경망의 희소성

__8.7.2 가중치 가지치기 방법

_8.8 결론

 

CHAPTER 9 레이블 부족 문제 다루기

_9.1 깃허브 이슈 태거 만들기

__9.1.1 데이터 다운로드하기

__9.1.2 데이터 준비하기

__9.1.3 훈련 세트 만들기

__9.1.4 훈련 슬라이스 만들기

_9.2 나이브 베이즈 모델 만들기

_9.3 레이블링된 데이터가 없는 경우

_9.4 레이블링된 데이터가 적은 경우

__9.4.1 데이터 증식

__9.4.2 임베딩을 룩업 테이블로 사용하기

__9.4.3 기본 트랜스포머 미세 튜닝하기

__9.4.4 프롬프트를 사용한 인-컨텍스트 학습과 퓨-샷 학습

_9.5 레이블링되지 않은 데이터 활용하기

__9.5.1 언어 모델 미세 튜닝하기

__9.5.2 분류기 미세 튜닝하기

__9.5.3 고급 방법

_9.6 결론

 

CHAPTER 10 대규모 데이터셋 수집하기

_10.1 대규모 데이터셋 수집하기

__10.1.1 대규모 말뭉치 구축의 어려움

__10.1.2 사용자 정의 코드 데이터셋 만들기

__10.1.3 대용량 데이터셋 다루기

__10.1.4 허깅페이스 허브에 데이터셋 추가하기

_10.2 토크나이저 구축하기

__10.2.1 토크나이저 모델

__10.2.2 토크나이저 성능 측정하기

__10.2.3 파이썬 코드를 위한 토크나이저

__10.2.4 토크나이저 훈련하기

__10.2.5 허브에 사용자 정의 토크나이저 저장하기

_10.3 밑바닥부터 모델을 훈련하기

__10.3.1 사전 훈련 목표

__10.3.2 모델 초기화

__10.3.3 데이터로더 구축하기

__10.3.4 훈련 루프 정의하기

__10.3.5 훈련 실행

_10.4 결과 및 분석

_10.5 결론

 

CHAPTER 11 향후 방향

_11.1 트랜스포머 확장

__11.1.1 규모의 법칙

__11.1.2 규모 확장의 어려움

__11.1.3 어텐션 플리즈!

__11.1.4 희소 어텐션

__11.1.5 선형 어텐션

_11.2 텍스트를 넘어서

__11.2.1 비전

__11.2.2 테이블

_11.3 멀티모달 트랜스포머

__11.3.1 스피치-투-텍스트

__11.3.2 비전과 텍스트

_11.4 다음 목적지는?

 

출처 : 한빛미디어

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

 

728x90
반응형
사업자 정보 표시
올딩 | 서항주 | 경기도 성남시 중원구 성남동 3313번지 B동 101호 | 사업자 등록번호 : 119-18-42648 | TEL : 02-6901-7078 | Mail : jason@allding.co.kr | 통신판매신고번호 : 제2012-경기성남-1364호 | 사이버몰의 이용약관 바로가기

댓글

💲 추천 글